如何在Linux中查看文件和目录的大小?如果使用df -m,那么它会显示所有目录在顶层的大小,但是,对于目录内的目录和文件,我如何检查大小?


当前回答

您所需要的只是-l和——block-size标志

工作目录下所有文件和目录的大小(以mb为单位)

ls -l --block-size=M

工作目录下所有文件和目录的大小(单位:gb)

ls -l --block-size=G

指定文件或目录的大小

ls -l --block-size=M my_file.txt
ls -l --block-size=M my_dir/

ls——帮助 -l使用长列表格式 ——block-size=SIZE:在打印之前按SIZE缩放大小;例如, '——block-size=M'以。为单位打印大小 1048576个字节;参见下面的SIZE格式 “SIZE”为可选单位,取值为整型。例如:10M为10*1024*1024。 单位为K, M, G, T, P, E, Z, Y(1024的幂)或KB, MB,… (1000的幂)。


其他回答

还有一个很棒的ncdu实用程序-它可以显示目录大小和子文件夹和文件的详细信息。

安装

Ubuntu:

$ sudo apt-get install ncdu

使用

只需在命令行中输入ncdu [path]。经过几秒钟的路径分析后,你会看到如下内容:

$ ncdu 1.11 ~ Use the arrow keys to navigate, press ? for help
--- / ---------------------------------------------------------
.  96,1 GiB [##########] /home
.  17,7 GiB [#         ] /usr
.   4,5 GiB [          ] /var
    1,1 GiB [          ] /lib
  732,1 MiB [          ] /opt
. 275,6 MiB [          ] /boot
  198,0 MiB [          ] /storage
. 153,5 MiB [          ] /run
.  16,6 MiB [          ] /etc
   13,5 MiB [          ] /bin
   11,3 MiB [          ] /sbin
.   8,8 MiB [          ] /tmp
.   2,2 MiB [          ] /dev
!  16,0 KiB [          ] /lost+found
    8,0 KiB [          ] /media
    8,0 KiB [          ] /snap
    4,0 KiB [          ] /lib64
e   4,0 KiB [          ] /srv
!   4,0 KiB [          ] /root
e   4,0 KiB [          ] /mnt
e   4,0 KiB [          ] /cdrom
.   0,0   B [          ] /proc
.   0,0   B [          ] /sys
@   0,0   B [          ]  initrd.img.old
@   0,0   B [          ]  initrd.img
@   0,0   B [          ]  vmlinuz.old
@   0,0   B [          ]  vmlinuz

用d删除当前高亮显示的元素,用CTRL + c退出

您所需要的只是-l和——block-size标志

工作目录下所有文件和目录的大小(以mb为单位)

ls -l --block-size=M

工作目录下所有文件和目录的大小(单位:gb)

ls -l --block-size=G

指定文件或目录的大小

ls -l --block-size=M my_file.txt
ls -l --block-size=M my_dir/

ls——帮助 -l使用长列表格式 ——block-size=SIZE:在打印之前按SIZE缩放大小;例如, '——block-size=M'以。为单位打印大小 1048576个字节;参见下面的SIZE格式 “SIZE”为可选单位,取值为整型。例如:10M为10*1024*1024。 单位为K, M, G, T, P, E, Z, Y(1024的幂)或KB, MB,… (1000的幂)。


文件大小(MB)

ls -l --b=M  filename | cut -d " " -f5

文件大小(GB)

ls -l --b=G  filename | cut -d " " -f5

这是du命令。

目录和/或文件的大小,以一种人性化的方式:

$ du -sh .bashrc /tmp

我把它当成一个不存在的英语单词来记忆。


——-size命令行开关使它测量表观大小(ls显示的),而不是实际的磁盘使用量。

Du -sh [file_name]

可以完美地获取特定文件的大小。