Linux命令:du命令和sort命令

1 du命令

1.1 du命令说明

du命令主要是用来查看目录或文件所占磁盘空间的大小。
如果工作中遇到磁盘使用率过大,可以通过这个命令找到是哪个文件或者目录占用过大,从而解决问题。所以是一个很实用的命令。

格式:du [OPTION]… [FILE]
常用参数:

  • -0,–null:输出内容不换行
  • -a,–all:显示所有文件或目录的磁盘使用情况,包括隐藏文件,以及子目录下的所有文件和目录
  • -c,–total:显示指定目录下所有文件和目录的磁盘使用情况,还有所有文件和目录的总和,一般和–max-depth一起使用
  • -d,–max-depth=N,显示该目录下最多多少深度的目录,比如–max-depth=2,当前目录为/,此时不仅会显示该目录下的所有文件及目录占用磁盘空间情况,还会显示 // 目录下的文件及目录的磁盘占用情况
  • –h, --human-readable:以人类可读格式打印尺寸,也就是说根据数字大小换算成合适的单位,如:1K 234M 2G
  • –inodes:显示inode号
  • -k:输出内容以 kb 单位显示磁盘使用量
  • -m:输出内容以 mb 单位显示磁盘使用量
  • l:统计硬链接的次数
  • L:取消对所有符号链接的引用
  • -s 或 --summarize:仅显示总计的磁盘使用量,不显示每个文件和目录的详细信息。
  • -S 或 --separate-dirs:显示每个目录的大小,不包含其子目录的大小。
  • -x, --one-file-system:跳过不同文件系统的目录
  • –help:显示帮助信息
  • –version:显示du的版本

## 1.2 实例

-a:显示当前目录下所有文件和目录

# 显示当前目录下所有文件和目录
du -ah

在这里插入图片描述

-s:显示当前目录下所有文件和目录总大小

# 显示当前目录下所有文件和目录总大小
du -hs
75M     .
# 不能和 -a 参数共用

–max-depth:显示当前目录,目录深度为1的,所有目录的总大小

# 注意:此处--max-depth 是双-
# 显示当前目录,目录深度为1的,所有目录的总大小
# 该命令多用于:如果工作中遇到磁盘占用过大时,查找是哪个文件或者目录占用过大
du -h --max-depth=1
8.0K    ./.ssh
20K     ./snap
4.0K    ./.cache
8.0K    ./.vim
12K     ./.local
70M     ./haproxy-2.8.5
75M     .
75M     total

du -Sh --max-depth=1
8.0K    ./.ssh
4.0K    ./snap
4.0K    ./.cache
8.0K    ./.vim
4.0K    ./.local
18M     ./haproxy-2.8.5
4.6M    .

du -ch --max-depth=1
8.0K    ./.ssh
20K     ./snap
4.0K    ./.cache
8.0K    ./.vim
12K     ./.local
70M     ./haproxy-2.8.5
75M     .
75M     total

-k:输出内容以 kb 单位显示磁盘使用量

# -k
du -k --max-depth=1
# 输出文件的大小都是kb为单位
8       ./.ssh
20      ./snap
4       ./.cache
8       ./.vim
12      ./.local
71268   ./haproxy-2.8.5
75972   .

2 sort命令

sort 命令是常用的文本排序工具,它可以根据指定的规则对文本文件的内容进行排序。通常和du命令结合使用来找到占用磁盘最大的文件。

2.1 sort 命令说明

作用:将所有文件的排序序列写入标准输出。如果没有FILE,或者当FILE为-时,读取标准输入。
使用:sort [OPTION]… [FILE]
常用参数:

  • 排序选项:
    • -b:忽略空白格,如果每行前面有空格,从非空格处开始排序
    • -d:在排位时仅根据字母、数字和空格来排位
    • -f:忽略大小写,不区分大小写
    • -M:按照月份缩写进行排序
    • -h:根据人类可读数字进行排序。例如:4k,1.2M,0.9G,如果不使用-h参数,排序结果为:0.9G、1.2M、4K;如果使用-h参数,排序结果为:4K、1.2M、0.9G。这个参数在查询文件大小时常用
    • -n:按照数字大小进行排序
    • r:倒序排。sort默认是顺序排,即从小到大;-r则为从大到小
    • –sort=WORD:按照指定的WORD进行排序,WORD的值为:-g:通用数字;-h:以人类可读数字;-M:月份;-n:数字;-R:随机;-V:版本
    • -V:版本号
  • 其他选项:
    • -c:检查文件是否已排序
    • -m:合并已经排序的文件
    • -o, --output=FILE :将结果写入文件而不是标准输出
    • -u:去重

2.2 实例

准备一个文件

vim test
dfghit903
Bdek568
eMdto 11
2098K
Sep
1.2G
248
 qertj
23.3M
bdild11
Bdek568
Oct
_a

默认排序

# 可以看出来,sort默认排序是顺序排序,不区分大小写
sort test
-----------
1.2G
2098K
23.3M
248
_a
Bdek568
Bdek568
bdild11
dfghit903
eMdto 11
Oct
 qertj
Sep

-M:按照月份缩写进行排序

sort -M test
1.2G
2098K
23.3M
248
_a
Bdek568
Bdek568
bdild11
dfghit903
eMdto 11
 qertj
Sep
Oct

-h:按照人类可读进行排序

sort -h test
_a
Bdek568
Bdek568
bdild11
dfghit903
eMdto 11
Oct
 qertj
Sep
248
2098K
23.3M
1.2G

-u:去重

sort -u test
1.2G
2098K
23.3M
248
_a
Bdek568
bdild11
dfghit903
eMdto 11
Oct
 qertj
Sep

-r:倒叙

sort -r test
Sep
 qertj
Oct
eMdto 11
dfghit903
bdild11
Bdek568
Bdek568
_a
248
23.3M
2098K
1.2G

-n:按数字排序

# 按照数字排序,并将结果输出到文件中
sort -n test -o a1
root@con01:~# cat a1
_a
Bdek568
Bdek568
bdild11
dfghit903
eMdto 11
Oct
 qertj
Sep
1.2G
23.3M
248
2098K

-c:检查文件是否排序

# 如下命令是检查文件是否排序
sort -c a1
sort: a1:10: disorder: 1.2G
# 输出内容表示:第十行内容:1.2G不符合排序
sort -c test
sort: test:2: disorder: Bdek568


# 下面是检查文件是否按照数字排序
sort -c -n test
sort: test:2: disorder: Bdek568
sort -c -n a1
# 无输出内容
# 在上一个实验中可以知道,a1文件为我们按数字排序后输出的内容,所以检查发现内容已经排序,所系无输出

总结

把du命令和sort命令写在一起,也是因为这两个命令在平常工作中经常一起使用,尤其是在查询磁盘空间使用过大时,这两个命令很实用。

#常用命令:
du -Sh --max-depth=1 |sort -hr
# 按照这个命令一级一级目录往下找,很容易找到占用过大的文件
  • 31
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux文件排序命令有很多,常用的有以下几种: 1. ls命令:ls命令可以按照文件名、文件大小、文件修改时间等进行排序。例如,ls -lS可以按照文件大小从大到小排序。 2. sort命令sort命令可以对文件内容进行排序。例如,sort -n可以按照数字大小排序,sort -r可以倒序排序。 3. find命令:find命令可以按照文件属性进行排序。例如,find . -type f -printf '%T@ %p\n' | sort -n可以按照文件修改时间排序。 4. du命令du命令可以按照文件大小进行排序。例如,du -sh * | sort -h可以按照文件大小从小到大排序。 5. awk命令:awk命令可以对文件内容进行排序和处理。例如,ls -l | awk '{print $5 " " $9}' | sort -n可以按照文件大小排序。 以上是常用的几种Linux文件排序命令,可以根据实际需求选择使用。 ### 回答2: Linux文件排序命令是一种非常重要的文件操作命令,可以帮助我们对文件进行按照名称、大小、时间等不同方式进行排序。下面是一些常见的Linux文件排序命令: 1. ls命令中的-S选项:按文件大小进行排序。使用ls -S命令可以将文件按照大小进行排序,从大到小。 2. ls命令中的-t选项:按时间进行排序。使用ls -t命令可以将文件按照修改时间进行排序,最新的文件排在前面。 3. ls命令中的-r选项:逆序排序。使用ls -r命令可以将文件逆序排列,从后往前。 4. sort命令:对文件行进行排序。sort命令用于对文件行进行排序,默认按照字典顺序进行排序。 5. du命令中的-s选项:按大小进行汇总。使用du -s命令可以将不同文件夹下所有文件的大小进行汇总,并按文件大小进行排序。 以上这些 Linux 文件排序命令都非常简单易用,但是对于不同的需求,我们可以结合这些命令进行组合使用,从而更加灵活的找到我们想要的排序结果。 ### 回答3: 在Linux操作系统中,有多种方法可以对文件进行排序。排序可以帮助我们更好地组织文件,提高文件的可读性和可用性。以下是一些常用的Linux文件排序命令。 1. sort sort命令可以按字母顺序对文本文件进行排序。如果想要按照数字排序,可以使用-n选项。如果想要排序结果去重,可以使用-u选项。sort命令还可以用于对文件的特定字段进行排序,例如使用-k选项。 2. ls ls命令可以列出当前目录下的文件列表。通过在ls命令中添加不同的选项,可以按照大小、修改时间等条件对文件进行排序。例如,使用-S选项按文件大小进行排序,使用-t选项按修改时间排序。 3. find find命令可以帮助我们查找特定目录下的文件,并可以按照不同的排序条件进行输出。例如,要按文件修改时间进行排序,可以使用-mtime选项,要按文件大小进行排序,可以使用-size选项。 4. du du命令可以计算文件夹占用的硬盘空间大小,并可以按照不同的排序条件进行显示。通过使用不同的选项,可以按文件大小、文件夹深度等条件进行排序。 以上是一些常用的Linux文件排序命令。使用这些命令可以轻松对文件进行排序和组织,提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值