為什麼要謹慎使用Linux find命令?
最近有朋友提醒我有一個有用的選項來更加謹慎地執行 find 命令,它就是 -ok。除了一個重要的區別之外,它的工作方式與 -exec 相似,它使 find 命令在執行指定的操作之前請求許可權。
這有一個例子。如果你使用 find 命令查詢檔案並刪除它們,你可能使用的是下面的命令:
$ find . -name runme -exec rm {} \;
在當前目錄及其子目錄中中任何名為 “runme” 的檔案都將被立即刪除 —— 當然,你要有許可權刪除它們。改用 -ok 選項,你會看到類似這樣的東西,但 find 命令將在刪除檔案之前會請求許可權。回答 y 代表 “yes” 將允許 find 命令繼續並逐個刪除檔案。
$ find . -name runme -ok rm {} \;
< rm ... ./bin/runme > ?
-execdir 命令也是一個選擇
另一個可以用來修改 find 命令列為,並可能使其更可控的選項是 -execdir 。-exec 會執行指定的任何命令,而 -execdir 則從檔案所在的目錄執行指定的命令,而不是在執行find` 命令的目錄執行指定的命令。這是兩個它的例子:
$ pwd
/home/shs
$ find . -name runme -execdir pwd \;
/home/shs/bin
$ find . -name runme -execdir ls \;
ls rm runme
到現在為止還挺好。但要記住的是,-execdir 也會在匹配檔案的目錄中執行該命令。如果執行下面的命令,並且目錄包含一個名為 “ls” 的檔案,那麼即使該檔案沒有執行許可權,它也將執行該檔案。使用 -exec 或 -execdir 類似於透過 source 來執行命令。
$ find . -name runme -execdir ls \;
Running the /home/shs/bin/ls file
$ find . -name runme -execdir rm {} \;
This is an imposter rm command
$ ls -l bin
total 12
-r-x------ 1 shs shs 25 Oct 13 18:12 ls
-rwxr-x--- 1 shs shs 36 Oct 13 18:29 rm
-rw-rw-r-- 1 shs shs 28 Oct 13 18:55 runme
$ cat bin/ls
echo Running the $0 file
$ cat bin/rm
echo This is an imposter rm command
-okdir 選項也會請求許可權
要更謹慎,可以使用 -okdir 選項。類似 -ok,該選項將請求許可權來執行該命令。
$ find . -name runme -okdir rm {} \;
< rm ... ./bin/runme > ?
你也可以小心地指定你想用的命令的完整路徑,以避免像上面那樣的冒牌命令出現的任何問題。
$ find . -name runme -execdir /bin/rm {} \
find 命令除了預設列印之外還有很多選項,有些可以使你的檔案搜尋更精確,但謹慎一點總是好的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69940641/viewspace-2658524/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 為什麼要謹慎使用Arrays.asList、ArrayList的subList?
- java流操作要謹慎Java
- 謹慎使用toLocaleString!!!
- 【Lambda、SteamAPI】謹慎使用流API
- API介面公司要考察的核心,讓你謹慎合作API
- 謹慎 try-finally
- 在 Linux中find命令使用技巧Linux
- Linux是什麼系統?為什麼要學習Linux?Linux
- Linux學習之linux的find命令如何使用?Linux
- BMJ:止疼藥和避孕藥,謹慎同時使用!
- 技術人,請謹慎跳槽!
- 為什麼要虛擬化,為什麼要容器,為什麼要Docker,為什麼要K8S?DockerK8S
- Linux系統下find、locate命令如何使用?Linux
- 為什麼要學習Linux?學習Linux有什麼好處?Linux
- 為什麼要學習Linux系統?Linux
- 為什麼學習python要掌握Linux?PythonLinux
- Windows如此普及,為什麼要學LinuxWindowsLinux
- 請謹慎使用 avaliable 方法來申請緩衝區
- Linux find 命令詳解Linux
- linux中file命令和find命令Linux
- 自媒體培訓行業水很深,入行新人要謹慎選擇行業
- 謹慎處理 Service Worker 的更新
- Linux系統中find命令語法格式是什麼?作用有哪些?Linux
- Linux管道命令是什麼?如何使用?Linux
- linux每日命令(20):find命令概覽Linux
- 線上pdf請你謹慎開啟
- 投資有風險入市需謹慎
- 什麼是Nginx?Linux為什麼使用Nginx?NginxLinux
- 為什麼要學習Linux?如何學習Linux技術?Linux
- Linux dump命令有什麼作用?如何使用?Linux
- Linux apt命令有什麼作用?如何使用?LinuxAPT
- Linux type命令有什麼作用?如何使用?Linux
- Linux netstat命令作用是什麼?如何使用?Linux
- 為什麼要選擇學習Linux呢?Linux發展如何?Linux
- 【Linux入門第1天】我為什麼要學習LinuxLinux
- 高峰期謹慎編譯業務物件編譯物件
- Linux/Unix重要find命令詳解Linux
- linux 查詢檔案命令 findLinux