私は読んだ「Linux聖書10版」130ページ。練習#7:
作る/tmp/ファイル目次。このディレクトリ内のすべてのファイルを探す/usr/共有 5MBより大きく10MBより小さいディレクトリを次の場所にコピーします。/tmp/ファイル目次。
私のコマンドは次のとおりです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
ない理由を説明してください{}
。
答え1
EIO
「入出力エラー」とは、ソースファイルの読み込み中またはターゲットファイルの書き込み中に低レベルのI / Oエラー()が発生したことを意味します。これはストレージスペースに問題があることを意味し、dmesg
追加情報が提供されます。
これらのエラーは、権限または権限とは何の関係もありません。したがって、cp
rootとして実行してもエラーは消えません(「許可拒否」エラーとは異なります)。
「find」の-execオプションについて{}
withの使い方が説明されています-exec
。