shell常用命令

shell常用命令和函数的总结

一、常用命令

1.关机

power off

2.重启

reboot

3.目录切换

cd ~        切换到home目录
cd /        切换到根目录
cd /usr     切换到根目录下的usr目录
cd ../      切换到上一级目录 或者  cd ..
cd -        切换到上次访问的目录

4.移动/重命名

mv 要移动的目录或文件的路径 目标路径
例:把/home/test/app/下的1.txt移动到/home/test/中
mv /home/test/app/1.txt /home/test/

mv 要重命名的目录名和文件名 要修改的名字 
例:把/home/test/app/下的1.txt重命名位2.txt中
mv /home/test/app/1.txt /home/test/app/2.txt  

5.复制

cp -r 要复制目录或者文件的名称 目标位置

6.创建文件夹或文件

mkdir app               在当前目录下创建一个app目录
mkdir /home/test/app    在指定目录下创建一个app目录
touch 1.txt             在当前目录下创建一个1.txt文件

7.删除

rm -rf 要删除的目录或者文件

8.查看

cat/more/less/tail 带后缀的文件名称
例:查看home/test下的1.txt
cat /home/test/1.txt 只能显示最后一屏内容
more /home/test/1.txt 可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
less /home/test/1.txt 可以使用键盘上的PgUp和PgDn向上    和向下翻页,q结束查看
tail -10 /home/test/1.txt 指定行数[-10]或者动态查看[-f]

9.编辑

vi 带后缀的文件名称

810.解压和压缩

tar -cvf 要压缩成的包名 要压缩的文件或目录
例: 将home/test/下的app目录压缩
tar -cvf app.tar /home/test/app

tar -xvf 要解压的压缩包 
例:解压app.tar压缩包
tar -xvf app.tar
  c:打包文件
  x:代表解压
  v:显示运行过程
  f:指定文件名
  --strip-components: 解压压缩包的第几层开始 
  -C:要解压到哪个路径

11.修改权限

rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件
满权限示例 rwx-rwx-rwx
第一段(3位):代表拥有者的权限
第二段(3位):代表拥有者所在的组,组员的权限
第三段(最后3位):代表的是其他用户的权限

命令:chmod +x test.sh 为test.sh增加x可执行权限
    +增加权限
    -减少权限
    
8421法(0代表没有此权限,1代表有此权限)
rwx-rwx-rwx
111-111-111 满权限
二进制计算每3位算
7-7-7
所以满权限的命令是
命令: chmod 777 test.sh

二、进程命令

命令:ps -ef    查看所有正在运行的进程
命令:kill -9 pid  强制杀死进程,pid为进程号
     kill pid/kill -15 pid 普通终止进程

三、查找命令

1.grep命令是一种强大的文本搜索工具

ps -ef | grep java  查找指定ssh服务进程 
ps -ef | grep java | grep -v grep 查找指定服务进程,排除gerp身 
ps -ef | grep java -c 查找指定进程个数

2.find命令在目录结构中搜索文件,并对搜索结果执行指定的操作

find /home/test/ -name *.txt            查找指定目录下的所有txt
find /home/test/ -name *app* -type d    查找指定目录下的所有名字包含app的目录
find /home/test/ -maxdepth -name *.txt  查找指定目录下第一级目录下的所有txt
-maxdepth:指定遍历深度
-type d:指定查找类型为目录
-type f:指定查找类型为普通文件

3.whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置

whereis ssh 查找和ssh文件相关的文件

4.which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果

which java  查找path中java的路径

四、用户相关命令

1.su和sudo

su 用户名 #切换普通用户
sudo su  #切换root用户
exit或logout或使用快捷方式ctrl+d,可以退回到原来用户

2.添加/删除用户

useradd 选项 用户名
adduser +用户名(直接在/home下创建同名目录)
userdel -f 用户名(删除用户并删除主目录)
参数说明:
选项:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

用户名:指定新账号的登录名(不设置分组默认组名和用户名一致)
示例: useradd -d /home/test -m test
	  adduser test 3.设置密码和调整密码复杂度
passwd 用户名 设置密码

设置密码复杂度
vim /etc/pam.d/system-auth
minlen=12 密码最小长度为8个字符。
lcredit=-1 密码应包含的小写字母的至少一个
ucredit=-1 密码应包含的大写字母至少一个
dcredit=-1 将密码包含的数字至少为一个
ocredit=-1 设置其他符号的最小数量,例如@,#、! $%等,至少要有一个
enforce_for_root 确保即使是root用户设置密码,也应强制执行复杂性策略。

4.用户组管理

groupadd 选项 用户组 //增加
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同

groupdel 用户组  //删除
groupmod 选项 用户组   //修改
常用的选项有:
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n 新用户组 将用户组的名字改为新名字

5.sudo授权

vim /etc/sudoers  #该文件存放着sudo的相关用户
为test用户添加sudo权限,在文件中添加保存退出,但是默认没有写权限的 wq! 强制保存退出
test ALL=(ALL) ALL

五、系统相关

1.去除多余启动项

(1)查看内核程序.
rpm -qa | grep kernel

(2)删除多余的内核.
yum remove 内核名称(步骤1中显示的结果中的一条或多条,不是全部 )

(3)重启系统
reboot

2.SELinux的策略与规则管理相关命令

查看selinux状态	
sestatus
临时关闭
setenforce 0
永久关闭
可以修改配置文件/etc/selinux/config,将其中SELINUX设置为disabled。
为了http内部端口开放
查看http允许监听的端口:
semanage port -l | grep http_port_t
semanage port -a -t http_port_t  -p tcp 7777

每日一言

这个人很懒,什么都没有写……

...

...

00:00
00:00