新學習的指令 做個筆記 一些關於linux的find指令
1. 找出 . 底下的 php 檔案
find . -name "*.php"
2. 找出 . 底下非 php 副檔名檔案
find . -not -name "*.php"
3. 刪除 . 底下 php 檔案,有兩種作法 <有關刪除指令 請小心操作 先在測試的資料夾確定運作邏輯無誤>
# 系統詢問之後才刪除 # 先把 -exec 後面的東西先清掉, 用 -print 來先確認輸出 # rm 可以多用 -i 的參數來加以確認 find . -name "*.php" -exec rm -i {} \; # 系統直接刪除 find . -delete -name "*.php" find . -name "*.php" | xargs /bin/rm -rf
4. 如何刪除 7 天前資料呢?
find /path_name -type f -mtime +7 -exec rm '{}' \; find /path_name -type f -mtime +7 | xargs /bin/rm -rf find /path_name -delete -type f -mtime +7
5. 找出7天以內修改的資料
find . -type f -mtime -7 -name "*.php"
6. find 後只顯示目錄名稱不顯示路徑
find . -maxdepth 1 -type d -exec basename {} \; find . -maxdepth 1 -type d | awk -F"/" '{print $NF}' find . -maxdepth 1 -type d | sed 's!.*\/\([^\/]*\).*!\1!g'
7. find 後只顯示目錄名稱不顯示路徑,也不顯示第一個 . 目錄
find . -maxdepth 1 -mindepth 1 -type d -exec basename {} \;
8. -mmin (minutes) or -mtime (24 hour periods, starting from now) For example:
find . -mtime 0 # find files modified between now and 1 day ago # (i.e., within the past 24 hours) find . -mtime -1 # find files modified less than 1 day ago # (i.e., within the past 24 hours, as before) find . -mtime 1 # find files modified between 24 and 48 hours ago find . -mtime +1 # find files modified more than 48 hours ago find . -mmin +5 -mmin -10 # find files modifed between # 6 and 9 minutes ago
參考資料 http://content.hccfl.edu/pollock/Unix/FindCmd.htm http://www.linux.ie/newusers/beginners-linux-guide/find.php
來源: [Linux&FreeBSD] Find 指令用法教學 | 小惡魔 – 電腦技術 – 工作筆記 – AppleBOY