本文共 2006 字,大约阅读时间需要 6 分钟。
【查看文件夹大小】
1 2 3 4 5 6 7 8 9 | # /lib 目录大小 du -sh /lib # /lib 子目录大小 du -sh /lib/ * # 查看 /lib 目录下普通文件大小 find /lib - type f -print0 | xargs -0 ls -la | \ awk -F ' ' 'BEGIN{sum=0} {sum+=$5} END{printf "%d bytes\n", sum}' |
【统计文件数量】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # 查看 /lib 目录的总文件数(包含7种文件类型、包含 /lib 目录自身) find /lib | wc -l # 查看/lib 目录中普通文件的数量 find /lib - type f | wc -l # 用 find、xargs、ls、cut、sort、uniq 等命令组合统计 /usr 目录每种类型的文件数量 # find 的 print0 参数与 xargs -0 参数是为了避免文件名中的特殊字符 # ls 命令带 d 参数是为了不列出目录内容,避免重复统计 find /usr -print0 | xargs -0 ls -lad | cut -c1 | sort | uniq -c # 用 find、xargs、ls、cut、awk 等命令组合统计 /usr 目录每种类型的文件数量 # find 的 print0 参数与 xargs -0 参数是为了避免文件名中的特殊字符 # ls 命令带 d 参数是为了不列出目录内容,避免重复统计 find /usr -print0 | xargs -0 ls -lad | cut -c1 | \ awk '{++array[$0]} END{for(key in array){print key, array[key]}}' # 用 rsync 统计 /lib 目录每种类型的文件数量 # 包含 /lib 目录自身 # --dry-run 空转 # ~/fake_dir 一个不存在的假目录 rsync -a --stats --dry-run /lib ~ /fake_dir | grep "^Number of files:" |
【Linux 的7种文件类型】
- | 普通文件(Regular file) | /etc/passwd | /etc/passwd |
d | 目录(Directory files) | /etc | /etc |
c | 字符设备文件(Character device file) | /dev/tty | /dev/tty |
b | 块设备文件(Block file,硬盘、CDROM) | /dev/sr0 | /dev/sr0 |
s | 套接字文件(Socket file) | /dev/log | /run/nscd/socket |
p | 管道文件 (Named pipe file or just a pipe file) | /dev/initctl | /run/systemd/initctl/fifo |
l | 符号链接文件(Symbolic link file) | /dev/cdrom | /dev/cdrom |
注:第三列为 CentOS 5.9 下的示例文件,第四列为 Ubuntu 16.04 下的示例文件。
find 关于文件类型 type 的说明:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $ lsb_release -ds Ubuntu 16.04.2 LTS $ LESS= "+/^\s+-type c" man find - type c File is of type c: b block (buffered) special c character (unbuffered) special d directory p named pipe (FIFO) f regular file l symbolic link; this is never true if the -L option or the -follow option is in effect, unless the symbolic link is broken. If you want to search for symbolic links when -L is in effect, use -xtype. s socket D door (Solaris) |
【相关阅读】
1、
2、
*** ***
本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1958412如需转载请自行联系原作者
RQSLT