-1
我想知道這個命令的每串背後的含義:說明
find . -type f -exec chmod 644 {} \;
find . -type f
意味着找到這個文件夾中的所有文件-exec chmod 644
執行chmod 644
命令所有這些文件
爲什麼我們需要{}
和\;
?他們有什麼用途?
我想知道這個命令的每串背後的含義:說明
find . -type f -exec chmod 644 {} \;
find . -type f
意味着找到這個文件夾中的所有文件-exec chmod 644
執行chmod 644
命令所有這些文件爲什麼我們需要{}
和\;
?他們有什麼用途?
.
...開始搜索在當前目錄-type f
......找到類型爲 「文件」(相對於 「目錄」, 「鏈接」 等)-exec ... \;
的文件.. 。每個文件發現,運行命令...
chmod
...爲exec
命令將chmod
(對於文件更改訪問權限)644
......訪問權限會更改爲(讀取,寫入)文件的所有者和(讀取)給其他人。{}
......這部分將用實際文件名由find
爲什麼我們需要{}和\更換; ?他們的意思是什麼?
{}
將替換爲find
找到的文件名。
\;
終止-exec
動作find
。我們需要它,因爲-exec
中的命令可以與您想要的一樣長,然後在-exec
之後,您可能需要其他查找操作或謂詞。所以你需要一些方法來確定一個-exec
部分結束並且其他一些查找動作如下。在實踐中,這是由兩個終結符中的一個決定的,它們的含義有所不同(請閱讀查找的手冊頁),這兩個終結符分別爲;
或+
。但是因爲;
是shell中的一個元字符,所以我們需要通過轉義(或放入引號)來保護它免受shell攻擊。
感謝您提供詳細和翔實的解釋! –
您是否至少有[請閱讀文檔?](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html) –