linux查看文件夹占用空间和磁盘使用量

嗯...在Linux系统中...检查一个文件夹是否占用空间...以及它使用了多少磁盘空间...我猜...
看...使用du命令...du表示磁盘使用...它是磁盘使用...
例如...你想查看该目录中哪些文件夹占用了很多空间...你可以输入...
du -sh ./...这是对的...-s表示汇总...表示相加...无需递归子目录。
-h 是人类可读的...很容易理解...例如,使用 G 和 M。

如果你在系统中查看...例如 /var 或 /etc...这些目录...你可能没有权限...你必须添加 sudo...sudo du -sh /var...
另外...如果你想查看特定目录...例如 /home/user/downloads...有多大...你只需键入...
du -h --max-depth=1 /home/user/downloads...这个--max-depth=1 ...只看这一层...不看子目录...
然后...看整个磁盘...用df...df表示磁盘空闲...表示剩余磁盘...
df -h...这个-h...也是一种容易理解的格式。

看输出...会有几列...Filesystem...是磁盘分区...比如/dev/sda...Size...总大小...Used...使用了多少...Avail...还剩多少...Use%...使用了百分之多少...Mounted on...安装在哪个目录...
比如...看这个/dev/sda...使用了1 .2 T...可能8 0G或1 00G...剩余1 1 0G 或者1 00G...
还有...比如看网盘...用NFS...可能想看本地盘...就用df -l...-l就是本地...
好吧...那么...有几点要注意...
一个是权限...du看系统目录...必须sudo...df看所有挂载点...一般不需要sudo...
另外 是...du会进去逐个检查...特别对于大目录...你可能要等一段时间...很慢...你可以尝试添加一个--time参数...来限制时间...但不是所有版本都有这个...
另一件事...你想看某个子目录...比如叫tmp的...你可以使用--exclude参数... du -sh --exclude="tmp" 。
...这将排除 tmp 目录。

那么...让我给你举个例子...
看...du -sh 。
...输出可能是... ./Documents 2 .3 G... ./Downloads 4 5 0M... ./Pictures 1 2 G...
查看 df -h... 输出可能是...
使用的文件系统大小 Avail Use% Mounted on /dev/sda 1 2 00G 8 0G 1 1 0G 4 2 % // /dev/sdb 1 1 .8 T 1 .2 T 5 00G 7 0% /数据 tmpfs 3 2 G 3 2 G 0% /dev/shm /dev/shm 3 2 G 0% 3 2 G 0% /dev/shm
看...这是...你可以看到.../dev/sda 几乎使用了一半.../dev/sdb 已使用了 7 0%...
这样...就可以大概知道...哪里的空间满了...或者几乎满了...嗯...清理一下...或者考虑加个硬盘。

大概就是这样吧...

linux查看文件夹里有多少个文件

为了清楚起见,请使用查找。
- 输入 f | wc -l 非常准确。
需要明确的是,ls 组合方法很容易计算额外的目录。
树很困难,结果很乱。
我上周在做一个项目并使用了 find 命令。
简单明了。
这是第一个。

linux怎么统计文件夹里文件数量

那天我在一家咖啡馆,在电脑屏幕前统计代码文件,突然想到如何使用命令行来快速统计。
例如,我想查看我的项目目录中有多少个.py文件或者有多少个隐藏目录。

打开终端并 cd 进入项目目录。
先尝试一下没有子目录的情况。
类型 ls -l | grep '^-' | grep '^-' |厕所-l。
数字 3 5 出现在屏幕上。
我知道这是当前目录中常规文件的数量。
ls -l 列出所有文件和目录,每个文件占一行。
grep '^-' 如果您在行首看到 -,请保留它。
这些是文件,而不是目录。
wc -l 计算行数,即文件数。
这个数字很直观。

如果您想在子目录中包含文件怎么办?更改命令 ls -lR | grep '^-' | grep '^-' |厕所-l。
这次数字要高得多,为 1 4 2 ls -lR 将列出所有子目录中的所有内容。
grep '^-' 始终仅选择文件。
wc -l 统计总数。
数量很大,但是可以查出整个项目有多少个Python文件。

等等,还有一件事。
有时我想查看有多少个隐藏目录存在,例如.git和.venv。
命令变为 ls -lR | grep '^d' | grep '^d' |厕所-l。
这次 grep 使用 ^d 来查看该行的开头是否为 d,即目录。
wc -l 很重要。
例如,如果输出是5 ,我知道有5 个隐藏目录。

我突然想知道是否想知道所有以data开头的目录中每个目录下有多少个.txt文件?这需要再次改变。
首先列出所有以data开头的目录,然后使用find命令统计文件数。
或者直接使用 ls -lRa/ | grep '^-' | grep '^-' |厕所-l?看起来这会列出数据目录中的所有文件,然后对它们进行计数。
但是这个命令是不是有什么问题呢?应该是 ls -lRa/data/ | grep '^-' | grep '^-' |厕所-l?这样只会列出数据目录中的文件。
数字是2 8 ,这是正确的。

结合使用这些命令确实非常方便。
但有时输入的参数太多,看得眼花缭乱。
例如,ls -lR --color=auto | grep '^-' | grep '^-' | wc -l,添加颜色以看得更清楚。
或 ls -lR | grep -v '^d' | grep -v '^d' | grep -v '^d' | grep -v '^d' grep '^-' | grep '^-' | wc -l,使用-v排除目录,然后键入文件也能达到同样的效果。
该数字始终是 1 4 2
但是,每次我键入这些命令时,我总是必须考虑 ls 参数。
R 是递归的,-l 是长格式,grep 中的 '^-' 和 '^d' 代表什么。
有时会出现错误。
例如,如果将 grep '^d' 写成 grep '^f',结果是统计的是文件而不是目录,并且数字完全错误。
比如本来有5 个目录,我数了一下有1 4 2 个,所以我得赶紧查一下。

有时候我觉得虽然这些命令很强大,但用多了就感觉像是在背公式。
我想知道学习这些命令的其他人是否像我一样在咖啡店里打字和计数,然后突然意识到我可以编写一个小程序来做到这一点?但命令行有其简单性。
使用单个命令行解决的问题可能需要解决数十行代码。