如何在Linux中找出最近或今天被修改的文件
在本文中,我們將解釋兩個(gè)簡(jiǎn)單的命令行小技巧,它可以幫你只列出所有的今天的文件。
Linux 用戶在命令行上遇到的常見(jiàn)問(wèn)題之一是定位具有特定名稱(chēng)的文件,如果你知道確定的文件名則可能會(huì)容易得多。
不過(guò),假設(shè)你忘記了白天早些時(shí)候創(chuàng)建的文件的名稱(chēng)(在你包含了數(shù)百個(gè)文件的 home 文件夾中),但現(xiàn)在你有急用。
下面用不同的方式只列出所有你今天創(chuàng)建或修改的文件(直接或間接)。
1、 使用 ls 命令,只列出你的 home 文件夾中今天的文件。
- # ls -al --time-style=+%D | grep 'date +%D'
其中:
- -a - 列出所有文件,包括隱藏文件
- -l - 啟用長(zhǎng)列表格式
- --time-style=FORMAT - 顯示指定 FORMAT 的時(shí)間
- +%D - 以 %m/%d/%y (月/日/年)格式顯示或使用日期
在Linux中找出最近的文件
此外,你使用可以 -X 標(biāo)志來(lái)按字母順序?qū)Y(jié)果排序:
- # ls -alX --time-style=+%D | grep 'date +%D'
你也可以使用 -S 標(biāo)志來(lái)基于大小(由大到小)來(lái)排序:
- # ls -alS --time-style=+%D | grep 'date +%D'
2、 另外,使用 find 命令會(huì)更靈活,并且提供比 ls 更多的選項(xiàng),可以實(shí)現(xiàn)相同的目的。
- -maxdepth 級(jí)別用于指定在搜索操作的起點(diǎn)下(在這個(gè)情況下為當(dāng)前目錄)的搜索層級(jí)(子目錄層級(jí)數(shù))。
- -newerXY,用于所尋找的文件的時(shí)間戳 X 比參照文件的時(shí)間戳 Y 更新一些的文件。 X 和 Y 表示以下任何字母: - a - 參照文件的訪問(wèn)時(shí)間 - B - 參照文件的創(chuàng)建時(shí)間 - c - 參照文件的 inode 狀態(tài)改變時(shí)間 - m - 參照文件的修改時(shí)間 - t - 直接指定一個(gè)絕對(duì)時(shí)間
下面的命令意思是只找出 2016-12-06 這一天修改的文件:
- # find . -maxdepth 1 -newermt "2016-12-06"
在 Linux 中找出今天的文件
重要:在上面的 find 命令中使用正確的日期格式作為參照時(shí)間,一旦你使用了錯(cuò)誤的格式,你會(huì)得到如下錯(cuò)誤:
- # 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"
在 Linux 中找出今天修改的文件
你可以在我們的下面一系列文章中獲得 ls和 find 命令的更多使用信息。
- 用 15 例子的掌握 Linux ‘ls’ 命令
- 對(duì) Linux 用戶有用的 7 個(gè)奇特技巧
- 用 35 個(gè)例子掌握 Linux ‘find’ 命令
- 在 Linux 中使用擴(kuò)展查找多個(gè)文件名的方法
在本文中,我們解釋了如何使用 ls 和 find 命令幫助只列出今天的文件。 請(qǐng)使用以下反饋欄向我們發(fā)送有關(guān)該主題的任何問(wèn)題或意見(jiàn)。 你也可以提醒我們其他可以用于這個(gè)目的的命令。
作者簡(jiǎn)介:Aaron Kili是一名 Linux 和 F.O.S.S 的愛(ài)好者,未來(lái)的 Linux 系統(tǒng)管理員、網(wǎng)站開(kāi)發(fā)人員,目前是 TecMint 的內(nèi)容創(chuàng)作者,他喜歡用電腦工作,并樂(lè)于分享知識(shí)。