
正文
linuxdu命令排序 linux如何排序
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
linux命令:du、sort、more、cat、less
一个比较经典的问题:
如果线上机器的磁盘占用率超级高,怎么办?
这时候优先想到的肯定是,定位到占用磁盘空间最大的那些文件,然后把可以删的给删掉。
那么,问题来了,如何定位到占用磁盘空间最大的文件?
一个办法是执行如下命令:
里面涉及三个指令:du、sort、more
既然用到了,就顺便多了解一下这三个指令的用法,算是做下个人笔记。
首先是du
作用:用来查看文件所占用的磁盘情况。
格式:du [选项] [文件]
可用选项(如下为du --help展示的内容):
操作示例:
对几个比较常用的选项单独拿出来,在机器上实际操作,效果如下:
首先,当前目录如下:
du:
其实吧,从图里面可以看到,使用“du”的时候,最后一行就当前目录的磁盘使用总量,所以,感觉一般情况下-c这个选项并没有什么用。
du -s:只计算总量
不过,注意:-s与-a不能同时存在,会报错的。
sort
作用:对输出的结果进行排序
可用选项:
-r:代表逆序排序
-n:按照字符串数值排序
-g:按照常规数值排序
-f:忽略字母大小写
实测效果:
首先是测试文件的原始状态:
测试一:sort
可以发现:
空行排在了第一位;
不管数字有多大,字符串都会排在数字的后面;
数字之间排序的时候,优先考虑首位数字(感觉是把数字也当成了一个字符串进行排序);
more
作用:用于一页一页地展示文件内容。
几个常用操作:
空格:翻到下一页
b:翻到上一页
/:启动字符串搜索(类似于vim)
此外:
more +n XXX:从XXX文件的第n行开始展示
more -n XXX:展示XXX文件,并且将n行视为一页,也就是按空格时,只会显示后续的N行
cat
作用:一次性的展示所有文件内容
cat有两个比较有用的选项:
-n:输出所有行号
-b:只对非空行输出行号
此外,
cat支持同时输出多个文件的内容:cat XXX YYYY ZZZZ
并且,cat可以与more结合使用:cat XXX | more 或者 cat XXX YYYY ZZZZ | more 或者 cat -n XXX | more
less:
作用:对文件或者输出内容进行分页展示,并且less可以用于打开多个文件
常用操作:
j:向上滚动一行
k:向下滚动一行(类似于vim)
g:跳到第一行
G:跳到最后一行
b:向上翻一页
空格:翻页
n%:跳转到整个文件的n%处
:e :在使用less打开多个文件时,使用“:e”选择跳转到其他文件去
/:进行字符串搜索
v:启动编辑
常用选项:
-N:在每一行前面都显示行号
-m:显示读取文件的百分比
-M:显示读取文件的百分比、行号和总行数
注意:
其他两个比较简单的指令:
head:显示一个文件的前N行
用法:head -n 行数 文件名
tail:显示一个文件的最后N行
用法:tail -n 行数 文件名
不过,使用tai的时候,因为-f选项可以自动显示新增加的内容,所以经常会使用如下方式:
tail -f 文件名
相关问答
Q1: Linux常用命令集du
du [选项][文件]
显示每个文件和目录linuxdu命令排序的磁盘使用空间。
-a或-all 显示目录中个别文件linuxdu命令排序的大小。
-b或-bytes 显示目录或文件大小时linuxdu命令排序,以byte为单位。
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k或--kilobytes 以KB(1024bytes)为单位输出。
-m或--megabytes 以MB为单位输出。
-s或--summarize 仅显示总计,只列出最后加总的值。
-h或--human-readable 以K,M,G为单位,提高信息的可读性。
-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-L符号链接或--dereference符号链接 显示选项中所指定符号链接的源文件大小。
-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
-X文件或--exclude-from=文件 在文件指定目录或文件。
--exclude=目录或文件 略过指定的目录或文件。
-D或--dereference-args 显示指定符号链接的源文件大小。
-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
-l或--count-links 重复计算硬件链接的文件。
命令linuxdu命令排序:
du
输出:
说明:
只显示当前目录下面的子目录的目录大小和当前目录的总的大小,最下面的11536当前目录的总大小。
命令:
du hello.i
输出:
命令:
du ./process
输出:
命令:
du -s
输出:
命令:
du -h
命令:du -ah
命令 du -c hello.i ./use_code
输出
命令:
du -h |sort -nr|more
输出:
命令:
du -h --max-depth=1
输出:
Q2: 顺便问多你一个问题,linux 文件按时间排序和按大小排序的命令是什么?
ll -ltr
时间
大小 自己要calulate再根据大小细排:
du -s * |sort
等等。。。。
Q3: Linux里面du命令作用是什么?
du是统计目录或文件所占磁盘空间大小的命令。
我们在统计目录时,不是想看父目录下的子目录名和子文件名到底占用了多少空间,而是想看父目录下的子目录和子文件的总磁盘占用量大小,这时就需要使用 du
命令才能统计目录的真正磁盘占用量大小。
du命令的格式如下:
du [选项] [目录或文件名]
选项:
-a:显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
-h:使用习惯单位显示磁盘占用量,如KB、MB或GB等;
-s:统计总磁盘占用量,而不列出子目录和子文件的磁盘占用量
通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。
查询当前目录总大小可以使用du -sh,其中s代表统计汇总的意思,即只输出一个总和大小。
通过命令du -h –max-depth=0 *,可以只显示直接子目录文件及文件夹大小统计值。
如果只想查看指定目录的总大小,可以使用du -sh 目录名称。
对于指定文件夹也可以指定显示层次深度,如du -h --max-depth=0 software/及du -h --max-depth=1
software/
使用du命令和df命令去统计分区的使用情况时,得到的数据是不一样的。那是因为df命令是从文件系统的角度考虑的,通过文件系统中未分配的空间来确定文件系统中已经分配的空间大小。也就是说,在使用df命令统计分区时,不仅要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间)。
而du命令是面向文件的,只会计算文件或目录占用的磁盘空间。也就是说,df命令统计的分区更准确,是真正的空闲空间。
Q4: Linux命令--du
du命令是查看磁盘使用空间linuxdu命令排序的命令。du命令可以显示每个文件和目录linuxdu命令排序的磁盘使用情况。英文原意为disk used。
1、du命令默认只显示文件夹大小。
2、指定文件或目录
3、显示所有目录和文件
4、显示指定文件夹下文件或目录大小(不看目录下一级)
5、显示指定文件夹下文件或目录大小(不看目录下一级) 从小到大排列
关于linuxdu命令排序和linux如何排序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








