Linux 下统计文件夹大小及文件数量

简介:

【查看文件夹大小】

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、海量文件拷贝(Windows/Linux)

2、查看Linux磁盘块大小


*** walker ***

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1958412如需转载请自行联系原作者


RQSLT

相关文章
|
11天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
45 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
35 3
|
1月前
|
Linux 开发工具 Perl
在Linux中,有一个文件,如何删除包含“www“字样的字符?
在Linux中,如果你想删除一个文件中包含特定字样(如“www”)的所有字符或行,你可以使用多种文本处理工具来实现。以下是一些常见的方法:
41 5
|
1月前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
52 6
|
1月前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
101 6
|
Linux Shell
Linux: 查看文件和文件夹大小的df和du命令
Linux: 查看文件和文件夹大小的df和du命令
643 0
Linux: 查看文件和文件夹大小的df和du命令