ps命令的基本语法
常用的grep命令选项
-e:显示所有进程,包括其他用户的进程。
-f:显示完整的进程信息,包括进程的命令行参数。
-l:使用长格式显示进程信息。
-u <user>:显示指定用户的进程信息。
-p <pid>:显示指定PID的进程信息。
-a:显示终端上的所有进程,包括其他用户的进程。
-x:显示没有控制终端的进程。
ps aux --sort -%mem
ps aux --sort -%mem | head -n 10
ps aux --sort -%cpu
ps aux --sort -%cpu | head -n 10
sort命令:
命令参数及描述:
参数 描述
-b 忽略行首的空白字符
-d 按字典顺序进行排序,忽略非字母数字字符
-f 忽略大小写
-g 按一般数值进行排序
-i 不区分大小写进行排序
-M 按月份进行排序
-n 按数值进行排序
-r 反向排序
-t 指定字段分隔符
-k 指定要排序的字段
uniq命令
uniq(选项)(参数)
-c或——count:在每列旁边显示该行重复出现的次数;
-d或--repeated:仅显示重复出现的行列;
-f<栏位>或--skip-fields=<栏位>:忽略比较指定的栏位;
-s<字符位置>或--skip-chars=<字符位置>:忽略比较指定的字符;
-u或——unique:仅显示出一次的行列;
-w<字符位置>或--check-chars=<字符位置>:指定要比较的字符。
[ -e a.txt ] && echo yes || echo no
echo -e 支持反斜线控制的字符转换
echo -n 取消输出后行末的换行符(输出不换行)
history
-c 清空历史命令
-w 把缓存的历史命令保存到文件
wc
-l 统计字节数
-w 统计单词数
-c 统计行数
; 多个命令顺序执行 没有逻辑关系
&& 命令1&&命令2 1 ($?=0)正确执行才会执行 2
|| 命令1||命令2 命令1 没有正确执行($?不等于0)命令2才会执行
$n $0命令本身 $1-$9 第几个参数 十个以上的参数需要用大括号 ${10}
$* 所有参数 所有参数看成一个整体
$@ 所有参数 每个参数区分对待
$# 所有参数个数
$? 最后一次执行的命令的返回状态 0 执行正确 非0其他数字则执行有误
$$ 当前进程的进程号
$! 后台运行的最后一个进程的进程号
条件判断
按文件类型(判断文件是否存在 且)
-b 是否是块设备
-c 是否是字符设备文件
-d 是否是目录文件
-e 文件是否存在
-f 是否为普通文件
-L 是否为符号链接文件
-p 是否为管道文件
-s 是否为非空(非空为真)
-S 是否为套接字文件(是则为真)
按文件权限判断 (判断文件是否存在 且)
-r 是否该文件有读权限
-w 写权限
-x 执行权限
-u SUID权限
-g SGID权限
-k SBit权限
两个文件进行比较
文件1 -nt 文件2 1的修改时间是否比2的新
文件1 -ot 文件2 1的修改时间是否比2的旧
文件1 -ef 文件2 1和2d的Inode号是否相同,即文件是否一样,可用来判断硬链接
两个整数之间比较
整数1 -eq 整数2 相等
整数1 -ne 整数2 不相等
整数1 -gt 整数2 大于
整数1 -lt 整数2 小于
整数1 -ge 整数2 大于等于
整数1 -le 整数2 小于等于
字符串比较
-z 字符串 判断是否为空
-n 字符串 判断是否为非空(不是空的 为真)
字符串1 == 字符串2 判断字符串是否相等
字符串1 != 字符串2 判断字符串不相等
多重条件判断
判断1 -a 判断2 逻辑与 都成立则为真
判断1 -o 判断2 逻辑或 有其中之一成立则为真
流程控制
if [];then
xxx
else
xxx
fi
---------------
if [];then
xxx
elif [];then
xxx
else
xxx
fi
---------------
for i in a b c d e ;
do
xxxxxxxxxx ;
done
---------------
for ((i=0;i<=100;i++))
do
xxxxxxxxxxxx
done
---------------
case $xxx in
"xxx")
xxxxxx
;;
"yyy")
yyyyyy
;;
*)
******
;;
esac
---------------
while []
do
xxxxxxxxxx
done
---------------
until []
do
xxxxxxxxxx
done
---------------
函数
定义函数:
function hanshu(){
xxxxxxxx
}
调用函数
hanshu
-------------
特殊流程控制语句
exit
exit 0
exit 1
exit 2
break
跳出当前整个循环
continue
跳过当前这次循环 下次循环会继续
#