在本文中,我們將解釋兩個簡單的命令列提示,讓您只列出今天的所有檔案。
Linux 使用者在命令列上遇到的常見問題之一是尋找特定名稱的檔案,當您實際知道檔案名稱時,這將變得更容易。
然而,假設您忘記了您在當天早些時候創建的檔案名稱(在您的home
資料夾中包含數百個檔案),但您卻急需使用。
1. 使用ls 命令,您可以像下面這樣僅列出今天在您的 home 資料夾中的檔案,其中:
-a
– 列出所有檔案,包括隱藏檔案-l
– 啟用長列表格式--time-style=FORMAT
– 以指定的 FORMAT 顯示時間+%D
– 以 %m/%d/%y 格式顯示/使用日期
# ls -al --time-style=+%D | grep 'date +%D'

另外,您可以按字母順序排序結果清單,通過加入 -X
旗帜:
# ls -alX --time-style=+%D | grep 'date +%D'
您也可以根據大小(從大到小)列印,使用 -S
旗帜:
# ls -alS --time-style=+%D | grep 'date +%D'
2. 同樣,您可以使用尋找命令,這比ls 命令更具有弹性並提供許多選項,用於相同目的。
-maxdepth
等級用於指定從起點(目前目錄)以下幾層(在子目錄方面)的搜索操作。-newerXY
,如果時間戳X比時間戳Y新,這將不起作用。X 和 Y 代表以下字母的任何一個:- a – 文件引用
- c – 引用文件
的存取時間
B – 文件引用的出生時間的 inode 狀態更改時間
m – 文件引用的修改時間
t – 直接將引用解釋為時間
這意味著,只有2016-12-06修改过的文件將被考慮:
# find . -maxdepth 1 -newermt "2016-12-06"

重要:在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" OR # find . -maxdepth 1 -newermt "12/06/16"

您可以在我們以下的系列文章中取得ls
和find
命令的更多使用資訊。
在本文中,我們解釋了如何利用ls
和find
命令列出今天的文件的兩個重要提示。請利用下方反饋表單傳送任何有關主題的問題或評論。您也可以告知我們任何達到相同目標的命令。
Source:
https://www.tecmint.com/find-recent-modified-files-in-linux/