在本文中,我們將解釋兩個簡單的命令列小技巧,它可以幫你只列出所有的今天的檔案。
Linux 使用者在命令列上遇到的常見問題之一是定位具有特定名稱的檔案,如果你知道確定的檔名則可能會容易得多。
不過,假設你忘記了白天早些時候建立的檔案的名稱(在你包含了數百個檔案的 home
資料夾中),但現在你有急用。
下面用不同的方式只列出所有你今天建立或修改的檔案(直接或間接)。
1、 使用 ls 命令,只列出你的 home 資料夾中今天的檔案。
1 |
# ls -al --time-style=+%D | grep 'date +%D' |
其中:
-a
– 列出所有檔案,包括隱藏檔案-l
– 啟用長列表格式--time-style=FORMAT
– 顯示指定 FORMAT 的時間+%D
– 以%m/%d/%y
(月/日/年)格式顯示或使用日期
在Linux中找出最近的檔案
此外,你使用可以 -X
標誌來按字母順序對結果排序:
1 |
# ls -alX --time-style=+%D | grep 'date +%D' |
你也可以使用 -S
標誌來基於大小(由大到小)來排序:
1 |
# ls -alS --time-style=+%D | grep 'date +%D' |
2、 另外,使用 find 命令會更靈活,並且提供比 ls
更多的選項,可以實現相同的目的。
-
-maxdepth
級別用於指定在搜尋操作的起點下(在這個情況下為當前目錄)的搜尋層級(子目錄層級數)。 -
-newerXY
,用於所尋找的檔案的時間戳X
比參照檔案的時間戳Y
更新一些的檔案。X
和Y
表示以下任何字母: –a
– 參照檔案的訪問時間 –B
– 參照檔案的建立時間 –c
– 參照檔案的 inode 狀態改變時間 –m
– 參照檔案的修改時間 –t
– 直接指定一個絕對時間
下面的命令意思是隻找出 2016-12-06 這一天修改的檔案:
1 |
# find . -maxdepth 1 -newermt "2016-12-06" |
在 Linux 中找出今天的檔案
重要:在上面的 find 命令中使用正確的日期格式作為參照時間,一旦你使用了錯誤的格式,你會得到如下錯誤:
1 2 |
# find . -maxdepth 1 -newermt "12-06-2016" find: I cannot figure out how to interpret '12-06-2016' as a date or time |
或者,使用下面的正確格式:
1 2 3 |
# find . -maxdepth 1 -newermt "12/06/2016" 或者 # find . -maxdepth 1 -newermt "12/06/16" |
在 Linux 中找出今天修改的檔案
你可以在我們的下面一系列文章中獲得 ls
和 find
命令的更多使用資訊。
在本文中,我們解釋瞭如何使用 ls 和 find 命令幫助只列出今天的檔案。 請使用以下反饋欄向我們傳送有關該主題的任何問題或意見。 你也可以提醒我們其他可以用於這個目的的命令。
作者簡介:Aaron Kili是一名 Linux 和 F.O.S.S 的愛好者,未來的 Linux 系統管理員、網站開發人員,目前是 TecMint 的內容創作者,他喜歡用電腦工作,並樂於分享知識。