博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 下统计文件夹大小及文件数量
阅读量:6839 次
发布时间:2019-06-26

本文共 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

你可能感兴趣的文章
驰骋工作流引擎设计系列05 启动流程设计
查看>>
Java 启动线程并保持
查看>>
CentOS7使用firewalld打开关闭防火墙与端口
查看>>
开启mysql远程访问的权限
查看>>
st2045 漏洞反弹root shell
查看>>
Debian 系统初体验
查看>>
将Unreal4打包后的工程嵌入到Qt或者桌面中
查看>>
TP 框架没有考虑完善的功能点:1、表达式查询不支持INSTR形式的查询
查看>>
你不可不知的家庭装修禁忌
查看>>
关于i++和++i
查看>>
如何处理win10系统内置Linux系统闪退问题
查看>>
在Ubuntu上通过命令行安装Elisa KDE音乐播放器
查看>>
CentOS下命令行和桌面模式的切换方法
查看>>
linux下socket编程
查看>>
android中解压文件
查看>>
如何进行大数据分析及处理?
查看>>
runtime运行时编程一些相关知识
查看>>
转基因和基因突变
查看>>
git 使用经验
查看>>
shell脚本参数"$10"问题
查看>>