linux服务器/tmp目录查看隐藏文件按照大小排序

说实话,在Linux服务器上玩转/tmp目录的隐藏文件,这事儿挺有意思的。
我之前在搞一个测试环境,那/tmp下面简直像垃圾场一样堆满了各种残留文件,有些还是隐藏的。
这时候就得用点真本事了。

先说说ls方法。
ls -AlhS /tmp这命令用起来挺顺手,特别是-h选项,把那些GB、MB的数字变得好懂多了。
我上次用这个查某个脚本产生的临时文件,结果发现有个隐藏的.swp文件比整个脚本还大,当时我就懵了——这编辑器咋把备份文件放这么大?不过要注意啊,ls排序文件夹时有点坑,它只看文件夹自身体积,不像du那么实在。

du方法更复杂点,但胜在精确。
先用du -ah /tmp把所有文件大小都列出来,然后用grep过滤出隐藏文件,最后sort排序。
我试过这个在分析某个服务崩溃时的临时日志,发现有个隐藏的缓存文件占了将近1 G,这帮程序猿真会攒垃圾。
不过用这个要注意,有时候会多出些.和..这些特殊文件,得手动删掉。

find方法是我个人比较喜欢的。
find /tmp -maxdepth 1 -name "." -exec du -h {} + | sort -rh这串命令记了好久才搞明白。
maxdepth 1 保证只在当前层找,不会钻进子目录里,避免混乱。
我上次用这个清理系统日志产生的临时文件,效率很高。
不过用find的时候权限问题最头疼,记得加上sudo,不然连自己创建的隐藏文件都看不到。

有意思的是,这三种方法各有各的妙用。
ls简单直接,适合快速查看;du最靠谱,算大小绝对准;find控制最细,能精确到只看当前层。
我后来总结出,如果只是临时看看谁在占地方,ls就行;要是真要精确分析,还得用du。
你想想看,系统管理员天天跟这些隐藏文件打交道,不掌握点门道可不行。

linux查看文件按时间顺序

嘿,咱们聊一下Linux系统里的文件查看和排序,这个事儿可有意思了。
首先,你想看看文件,得用个命令叫ls,对吧?然后加个参数-lt,它就能按修改时间来排序,最新改的文件在最前头,挺实用。
你要是想反过来,按旧的文件在前,就加个-ltr。

说起来还有个ls-lu,它按访问时间排序,还有ls-lc,这个是按文件的更改时间排序,这个时间有点儿玄乎。
然后你说你想用find命令,对吧?那你可以find/path/to/directory-typef-printf&3 4 ;%T@%pn&3 4 ;|sort-n,这玩意儿有点复杂,但功能强大,它能找文件按时间戳排。

再告诉你一个,find/path/to/directory-typef-mtime-1 -ls|sort-k8 ,这个是找最近一天内修改的文件,然后按时间排序。
stat命令结合sort,用stat-c&3 4 ;%Y%n&3 4 ;/path/to/directory/|sort-rn,这个命令能显示文件的时间戳和文件名,按时间戳逆序排。

还有个ll命令,通常是ls-l的别称,ll-th是按日期由新到旧排,ll-thr是按日期由旧到新排。

哎哟,注意事项可得记牢了,权限问题别弄错,特别是对大型目录,用less或more这样的分页工具,别一下全加载进来,电脑会卡死的。
哦,对了,我还忘了说,有的系统可能ll是别名,有的不是,得看情况。
嗯,就这么多,你还有什么要问的吗?