📜  用于文件大小的 linux 命令 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:11:16.998000             🧑  作者: Mango

用于文件大小的 Linux 命令 - Shell-Bash

在 Linux 终端下,经常需要查看文件或目录的大小。以下是一些常用命令和技巧来查看文件和目录的大小。

常用命令
1. ls -lh

该命令可列出当前目录下所有文件和目录的大小,以更易读的方式显示文件大小。以下是示例输出:

$ ls -lh
total 12K
-rw-r--r-- 1 user user 4.4K Apr  2 14:04 file1.txt
-rw-r--r-- 1 user user 8.0K Apr  2 14:04 file2.txt
drwxr-xr-x 2 user user 4.0K Apr  2 14:04 dir1/

解释: -rw-r--r-- 表示文件权限,user 表示文件所有者,user 表示文件所属用户组,4.4K 表示文件大小,Apr 2 14:04 表示文件的修改时间,file1.txt 表示文件名。

2. du -h

该命令可计算当前目录和子目录中所有文件和目录的大小,并将结果以更易读的方式显示。以下是示例输出:

$ du -h
4.0K    ./dir1
4.4K    ./file1.txt
8.4K    .

解释: 4.0K 表示目录大小,./dir1 表示目录名或相对路径,4.4K 表示文件大小,./file1.txt 表示文件名或相对路径,8.4K 表示当前目录大小(即所有文件和目录的大小总和),. 表示当前目录。

3. df -h

该命令可列出当前系统中所有文件系统的大小和使用情况。以下是示例输出:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G   10G  8.6G  54% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            3.9G  4.0K  3.9G   1% /dev
tmpfs           787M  1.3M  785M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            3.9G   19M  3.8G   1% /run/shm
none            100M   48K  100M   1% /run/user
/dev/sdb1       199G   50G  140G  27% /mnt/data

解释: Filesystem 表示文件系统,Size 表示文件系统总大小,Used 表示已使用空间大小,Avail 表示可用空间大小,Use% 表示已使用空间占比,Mounted on 表示文件系统挂载路径。

技巧
1. 统计当前目录下所有文件和目录的数量
$ ls -1 | wc -l

解释:ls -1 表示列出当前目录下所有文件和目录的名称,每行一个,wc -l 表示计算行数,即文件和目录的总数。

2. 统计当前目录下所有文件的数量
$ ls -1 | grep -v -e "^\.$" -e "^\.\.$" | wc -l

解释: ls -1 表示列出当前目录下所有文件和目录的名称,每行一个,grep -v 表示反向查找,-e "^\.$" -e "^\.\.$" 表示不匹配 ...wc -l 表示计算行数,即文件的总数。

3. 统计当前目录下所有子目录的数量
$ find . -type d | wc -l

解释: find . 表示查找当前目录和子目录下所有文件和目录,-type d 表示只查找目录,| wc -l 表示计算行数,即目录的总数。

结论

以上就是一些常用的用于文件大小的 Linux 命令和技巧。希望本文可以帮助程序员更加方便地查看文件和目录的大小。