使用 Find 命令來幫你找到那些需要清理的檔案

來源:互聯網
上載者:User

使用 Find 命令來幫你找到那些需要清理的檔案

Credit: Sandra H-S

有一個問題幾乎困擾著所有的檔案系統 -- 包括 Unix 和其他的 -- 那就是檔案的不斷積累。幾乎沒有人願意花時間清理掉他們不再使用的檔案和整理檔案系統,結果,檔案變得很混亂,很難找到有用的東西,要使它們運行良好、維護備份、易於管理,這將是一種持久的挑戰。

我見過的一種解決問題的方法是建議使用者將所有的資料碎屑建立一個檔案集合的總結報告或"概況",來報告諸如所有的檔案數量;最老的,最新的,最大的檔案;並統計誰擁有這些檔案等資料。如果有人看到五年前的一個包含五十萬個檔案的檔案夾,他們可能會去刪除哪些檔案 -- 或者,至少會歸檔和壓縮。主要問題是太大的檔案夾會使人擔心誤刪一些重要的東西。如果有一個描述檔案夾的方法能協助顯示檔案的性質,那麼你就可以去清理它了。

當我準備做 Unix 檔案系統的總結報告時,幾個有用的 Unix 命令能提供一些非常有用的統計資訊。要計算目錄中的檔案數,你可以使用這樣一個 find 命令。

  1. $ find .-type f | wc -l
  2. 187534

雖然尋找最老的和最新的檔案是比較複雜,但還是相當方便的。在下面的命令,我們使用 find 命令再次尋找檔案,以檔案時間排序並按年-月-日的格式顯示,在列表頂部的顯然是最老的。

在第二個命令,我們做同樣的,但列印的是最後一行,這是最新的。

  1. $ find -type f -printf '%T+ %p\n'| sort | head -n 1
  2. 2006-02-03+02:40:33./skel/.xemacs/init.el
  3. $ find -type f -printf '%T+ %p\n'| sort | tail -n 1
  4. 2015-07-19+14:20:16./.bash_history

printf 命令輸出 %T(檔案日期和時間)和 %P(帶路徑的檔案名稱)參數。

如果我們在尋找家目錄時,無疑會發現,history 檔案(如 .bash_history)是最新的,這並沒有什麼用。你可以通過 "un-grepping" 來忽略這些檔案,也可以忽略以.開頭的檔案,如所示的。

  1. $ find -type f -printf '%T+ %p\n'| grep -v "\./\."| sort | tail -n 1
  2. 2015-07-19+13:02:12./isPrime

尋找最大的檔案使用 %s(大小)參數,包括檔案名稱(%f),因為這就是我們想要在報告中顯示的。

  1. $ find -type f -printf '%s %f \n'| sort -n | uniq | tail -1
  2. 20183040 project.org.tar

統計檔案的所有者,使用%u(所有者)

  1. $ find -type f -printf '%u \n'| grep -v "\./\."| sort | uniq -c
  2. 180034 shs
  3. 7500 jdoe

如果檔案系統能記錄上次的訪問日期,也將是非常有用的,可以用來看該檔案有沒有被訪問過,比方說,兩年之內沒訪問過。這將使你能明確分辨這些檔案的價值。這個最後訪問(%a)參數這樣使用:

  1. $ find -type f -printf '%a+ %p\n'| sort | head -n 1
  2. FriDec1503:00:302006+./statreport

當然,如果大多數最近訪問的檔案也是在很久之前的,這看起來你需要處理更多檔案了。

  1. $ find -type f -printf '%a+ %p\n'| sort | tail -n 1
  2. WedNov2603:00:272007+./my-notes

要想層次分明,可以為一個檔案系統或大目錄建立一個總結報告,顯示這些檔案的日期範圍、最大的檔案、檔案所有者們、最老的檔案和最新訪問時間,可以協助檔案擁有者判斷當前有哪些檔案夾是重要的哪些該清理了。

Linux find 命令用法總結 

Linux下尋找檔案find命令 

Linux下find命令詳解

文本尋找利器find的使用

功能強大的find命令

Linux系統find命令詳解

via: Handy commands for profiling your Unix file systems

作者:Sandra Henry-Stocker 譯者:strugglingyouth 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

本文永久更新連結地址:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.