sort命令是linux系统中非常常用的一个排序命令,sort的工作原理就是将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码进行比较,然后按照顺序输出。
sort常用选项:
-n:--number-sort 按字符串数值排序,与-g区别为不转为浮点数
-g:--general-number-sort按通用数值排序,支持科学计数法
-f:--gnore-case忽略大小写,默认大小写字母不同
-k:--key=POS1[,POS2] 排序从POS1开始,若指定POS2,则POS2结束,否则以pos1排序
-t:--field-separator=SEP指定列的分割符
-r:--reverse降序排序,默认为升序
-h:--human-numeric-sort使用易读性数字(例如: 2K 1G)
-u:--unique去除重复的行
-o:--output=FILE将输出写入文件
指定列排序:
sort -t ':' -k 3 -r /etc/passwd#-t指定分隔符为冒号,-k指定按照第3列排序,-r按照降序排列(默认是升序)
查看进程占用内存,并按照占用从大到小排序,显示最大的8个进程
ps aux|sort -gr -k 4 |head -n 8
查看目录占用情况,按照从大到小排序
du -h -d 1|sort -hr
du -h -d 1|sort -nr