Linux中國

如何在 Linux 中找出最近或今天被修改的文件

1、 使用 ls 命令,只列出你的 home 文件夾中今天的文件。

# ls  -al --time-style=+%D | grep 'date +%D'

其中:

  • -a - 列出所有文件,包括隱藏文件
  • -l - 啟用長列表格式
  • --time-style=FORMAT - 顯示指定 FORMAT 的時間
  • +%D - 以 %m/%d/%y (月/日/年)格式顯示或使用日期

Find Recent Files in Linux

在Linux中找出最近的文件

此外,你使用可以 -X 標誌來按字母順序對結果排序

# ls -alX --time-style=+%D | grep 'date +%D'

你也可以使用 -S 標誌來基於大小(由大到小)來排序:

# ls -alS --time-style=+%D | grep 'date +%D'

2、 另外,使用 find 命令會更靈活,並且提供比 ls 更多的選項,可以實現相同的目的。

  • -maxdepth 級別用於指定在搜索操作的起點下(在這個情況下為當前目錄)的搜索層級(子目錄層級數)。
  • -newerXY,用於所尋找的文件的時間戳 X 比參照文件的時間戳 Y 更新一些的文件。 XY 表示以下任何字母: - a - 參照文件的訪問時間 - B - 參照文件的創建時間 - c - 參照文件的 inode 狀態改變時間 - m - 參照文件的修改時間 - t - 直接指定一個絕對時間

下面的命令意思是只找出 2016-12-06 這一天修改的文件:

# find . -maxdepth 1 -newermt "2016-12-06"

Find Today's Files in Linux

在 Linux 中找出今天的文件

重要:在上面的 find 命令中使用正確的日期格式作為參照時間,一旦你使用了錯誤的格式,你會得到如下錯誤:

# find . -maxdepth 1 -newermt "12-06-2016"
find: I cannot figure out how to interpret '12-06-2016' as a date or time

或者,使用下面的正確格式:

# find . -maxdepth 1 -newermt "12/06/2016"
或者
# find . -maxdepth 1 -newermt "12/06/16"

Find Todays Modified Files in Linux

在 Linux 中找出今天修改的文件

你可以在我們的下面一系列文章中獲得 lsfind 命令的更多使用信息。

在本文中,我們解釋了如何使用 ls 和 find 命令幫助只列出今天的文件。 請使用以下反饋欄向我們發送有關該主題的任何問題或意見。 你也可以提醒我們其他可以用於這個目的的命令。

作者簡介:Aaron Kili是一名 Linux 和 F.O.S.S 的愛好者,未來的 Linux 系統管理員、網站開發人員,目前是 TecMint 的內容創作者,他喜歡用電腦工作,並樂於分享知識。

via: http://www.tecmint.com/find-recent-modified-files-in-linux/

作者:Aaron Kili 譯者:geekpi 校對:jasminepeng

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


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國