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
跳过当前这次循环 下次循环会继续

#