linux 查看当前文件夹大小

直接用du -sh .最省事。

上周刚处理一个,就这仨命令就够了。

你用哪个?

linux怎么查看当前目录内容

ls:查看当前目录非隐藏文件和目录 ls-a:显示所有文件,包括隐藏文件 ls-l:详细列表格式,显示权限、所有者等 ll:类似ls-l,可能带颜色高亮 tree:树形结构显示目录和子目录 find:按条件搜索文件 ls-lh:以人类可读格式显示文件大小 ls-t:按修改时间排序 ls-r:反向排序 选择合适命令,如分析结构用tree,查找文件用find

Linux 查看目录大小及文件数量命令,你知道吗?

上周有个客人问我,Linux下怎么查看目录的大小和文件数量,我一下子就想起这些常用的命令了。
来,给你详细说说。

首先,查看目录大小,我们一般用du命令。
这个命令挺强大的,用法也多。
比如,你想查看当前目录的总大小,可以直接用du -sh,这样会显示总大小,但不会递归子目录。
如果你想看指定目录的大小,就输入du -sh /path/to/directory。
如果你只想看目录下的子目录大小,不递归,就用du -h --max-depth=1 /path/to/directory,这里的-d1 是旧版参数,但有些系统还是支持的。

另外,有时候我们还想看看磁盘的剩余空间,这其实和目录大小有点关系,所以df -h这个命令也经常用。

接下来,如果你要统计文件数量,可以用ls -l长格式列出文件信息,然后用grep "^-"过滤出普通文件(这些文件以-开头),最后用wc -l统计行数,这代表文件数量。
如果你想统计目录及子目录下的所有文件数,用find /path/to/directory -type f | wc -l,这个方法比ls -lR要高效。

还有统计特定后缀的文件数,比如统计.cpp文件的数量,你可以用find /path/to/directory -name ".cpp" | wc -l。

如果要统计代码的总行数,比如所有.h文件的总行数,你可以用find /path/to/directory -name ".h" | xargs wc -l,这里的xargs是用来将文件名传递给wc -l的。

最后,如果你想查看目录中的子目录数量,用ls -l | grep "^d" | wc -l就可以统计当前目录下的子目录数。
如果你要统计根目录下的子目录数,就在ls -l后面加个斜杠/,变成ls -l / | grep "^d" | wc -l。

注意事项嘛,如果你没有权限读取目录,需要用sudo,比如sudo du -sh /root。
du默认会统计链接指向的文件大小,如果你不想统计链接,可以加-L参数。

性能上,find命令比ls -lR要高效,尤其是在深层目录中。
通过这些命令的组合,你可以灵活地分析目录的空间占用和文件分布情况。
反正你看着办,这些命令挺有用的。
我还在想,下次得找个时间好好整理一下这些命令的用法,免得下次再有人问我。