Permissions
Linux 聖經第 10 版:為什麼 -exec cp 即使擁有超級使用者權限也無法複製文件?
我在第 130 頁閱讀了*“Linux 聖經第 10 版”*。練習 7:
創建一個**/tmp/FILES目錄。找到/usr/share** 目錄下所有大於5MB小於10MB的文件,複製到**/tmp/FILES**目錄下。
我的命令看起來像
find /usr/share -type f -size +5M -size -10M -exec cp {} /tmp/FILES \;
. 我像普通使用者一樣執行它並得到了cp: error copying '/bla/bla' to '/lol/kek': Input/output error find: '/usr/share/bla-bla': Permission denied
之後我嘗試以超級使用者身份執行它並得到錯誤(沒有
Permission denied
):cp: error copying '/bla/bla' to '/lol/kek': Input/output error
請向我解釋一下,即使我以超級使用者身份執行它,錯誤的原因是什麼。謝謝你。
PS 請解釋為什麼帶有 of 的命令
-exec
應該為空{}
?
EIO
“輸入/輸出錯誤”表示讀取源文件或寫入目標文件時的低級 I/O 錯誤 ( )。這意味著您的儲存有問題;dmesg
會給你更多的資訊。此類錯誤與特權或權限無關,這就是為什麼
cp
以 root 身份執行不會使它們消失(與“權限被拒絕”錯誤不同)。了解
find
的 -exec 選項解釋了{}
with的使用-exec
。