LINUX查找大文件用什么命令_LINUX查找大文件的常用命令与技巧

嘿,这东西写得挺详细啊,不过你要是想让我用的话,我得给你说说我实际咋操作的,可能跟你写的有出入哈。

就说上次我在公司服务器上找大文件吧,那真是抓狂。
系统是CentOS 7 的,文件堆在 /var/log/nginx/ 这个目录下面,日志越来越大,卡得不行。
我就想找个最快的办法先定位几个最大的。

我一般先干啥呢?先试试 du 配合 sort,这个最直接。
我在终端敲:
bash du -h /var/log/nginx/ | sort -hr | head -n 1 0
这个命令跑起来还挺快的,几秒钟就能看到占用空间最大的1 0个文件或目录。
上次那个服务器上,结果发现是个旧的日志压缩包 access.log.2 02 2 -01 .gz 竟然有 2 G 多!我就知道问题在这儿了,然后用 find 再确认下:
bash find /var/log/nginx/ -type f -size +2 G
这个也很快,一下子就定位到那个文件了。
然后直接删掉就好,或者用 ncdu 看看,虽然 ncdu 我用得没你说的多,主要是对整个磁盘做分析的时候会用。
比如 ncdu /var,会整个磁盘逛一遍,有颜色标出占用比例,看着挺直观。
但就找几个大文件,我觉得 du+sort 够了,省事儿。

要说这几个命令,我觉得重点是这样:
1 . 找特定的大文件(比如我知道是文件,而且大概知道大小),find 最准了,条件给细点,肯定能找到。
上次找那个 2 G 的压缩包就是 find 快。
2 . 快速看哪个目录占地方(不管是不是文件),du 配合 sort -hr 最实用,直接给你排个座次,头十名肯定跑不了。
我上次处理服务器慢,基本就是靠这个定位问题。
3 . 如果你就在某个目录里,想看看这下面啥最大,ls -lhS 也可以,但 du 的效果更全面,因为它统计的是目录里所有东西加起来占多少,不是像 ls 那样只看文件本身。
4 . ncdu 我觉得是备选,除非你想搞个交互式的,或者顺便删点文件。
如果只是找几个大文件定位问题,敲几行 du 命令比打开 ncdu 再点点点要快。

总结下我的选择:
要找 特定类型 且 大小大概知道 的文件,用 find。
要看 哪个目录或文件整体占空间最大,用 du -h | sort -hr。
其他情况,或者你 就在目标目录下,ls -lhS 也可以考虑。

反正你根据情况选就行,这几个命令都是好工具。
我就是喜欢 du 那个直接统计排序的方式,特别适合快速定位。
你写得已经很清楚了,我就是说说自己用的时候的偏好和习惯。

查看文件类型的linux命令

df命令看文件系统类型最常用。
加-T参数就行。

lsblk-f更直观。
分块设备全列出。

ls-l看文件类型。
第一个字符是关键。

-是文件,d是目录。
自己体会。

先这样。

linux查看文件的命令有哪几种

1 . find命令,强大但慢,适合深度搜索和复杂条件,比如2 02 3 年2 月1 日,在/home/user目录下,找所有以.log结尾的文件:find/home/user -name '.log'。

2 . locate命令,快但更新不及时,适合快速查找,比如2 02 3 年2 月2 日,在服务器上查找所有以config开头的文件:locate /var/config/。

3 . whereis命令,找程序文件,2 02 3 年2 月3 日,在本地搜索grep命令的相关文件:whereis grep。

4 . which命令,找可执行命令路径,2 02 3 年2 月4 日,查看grep命令的实际路径:which grep。

5 . type命令,区分命令类型,2 02 3 年2 月5 日,检查cd命令是shell内置还是外部命令:type cd。