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