[英]Linux find command questions
我沒有運行正常的Linux系統來嘗試使用這些命令,因此我在這里詢問我計划做的事情是否正確。 (在我通過撥號速度更快的連接下載ISO時執行此操作)。
1,我試圖在/ var / log目錄和子目錄中找到所有帶有.log擴展名的文件,將標准輸出寫入logdata.txt,將標准輸出寫入logerrors.txt
我相信命令將是:
$查找/ var / log / -name * .log 1> logdata.txt 2> /home/username/logs/logerrors.txt。
2,在/ etc目錄中找到所有帶有.conf的文件。 標准輸出將是一個名為etcdata的文件,而標准錯誤將為etcerrors。
$ find / etc -name * .conf 1> etcdata 2> etcerrors
3,在/ var目錄中查找最近30分鍾內已修改的所有文件。 標准的做法是進入vardata,將錯誤放入varerrors。
會是:
$ find / var -mmin 30 1> vardata 2> varerrors。
這些正確嗎? 如果不是,我在做什么錯?
1,我試圖在/ var / log目錄和子目錄中找到所有帶有.log擴展名的文件,將標准輸出寫入logdata.txt,將標准輸出寫入logerrors.txt
干得好:
find /var/log/ -name '*.log' >logdata.txt 2>/home/username/logs/logerrors.txt
筆記:
find
之前將其展開。 1>file
, >file
就足夠了 2,在/ etc目錄中找到所有帶有.conf的文件。 標准輸出將是一個名為etcdata的文件,而標准錯誤將為etcerrors。
如前所述:
find /etc -name \*.conf >etcdata 2>etcerrors
為了舉例,在這里我以另一種方式逃脫了*
。 這等效於'*.conf'
。
3,在/ var目錄中查找最近30分鍾內已修改的所有文件。 標准的做法是進入vardata,將錯誤放入varerrors。
find /var -mmin -30 >vardata 2>varerrors
我將-mmin 30
更改為-mmin -30
。 這樣,它可以匹配30分鍾內修改的文件。 否則,它匹配的文件恰好在30分鍾前被修改。
在命令中使用通配符時,需要確保外殼程序不會解釋通配符。 因此,最好在引號中包含通配符的表達式。 因此,第一個將是:
find /var/log/ -name "*.log" 1>logdata.txt 2>/home/username/logs/logerrors.txt
對於第二個相同的注釋,應該在其中具有"*.conf"
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.