2019年10月29日 星期二

Linux - ls 指令按檔案大小排序


-S  (Sort)

#ls -Sl   (由大到小排序, 小寫的L)
#ls -Slr  (由小到大排序)
#ls -h     (human readable format, 檔案大小會以 KB, MB, GB 等顯示)


#ls -R     (Recursive, 即顯示子目錄結構)

#ls -lt     (從新到舊排序)
#ls -ltr    (從舊到新排序)




Linux 為甚麼在系統裡刪除了大檔案, 硬碟容量卻沒有釋放出來?

小弟有些Server使用proftpd. 但proftpd有個壞處是, 隨時日過去, 他在 /var/log/裡的檔案會不斷增加, 總有一天會耗盡disk space.

不過重點不在這裡, 大檔案刪除後, 查 df -ha 卻看到空間沒有釋放. 主要原因是Processy還在使用這些檔案, 縱然這個檔案已經被刪除.


你可以做用以下指令:

/usr/sbin/lsof | grep deleted 

去查看是否檔案被進程lock住.

如果發現真的被進程Lock住, 可以graceful restart那個進程, 去釋放返被鎖住的檔案.

例如 systemctl restart proftpd. 


Google