次のコマンドを実行すると、permission denied
すべてのファイルに関するメッセージが表示されます。
find /data/code/ -name "*.jar" -exec {} ls \;
find: `/data/code/project/shared/build/thirdparty/log4j-1.2.8/commons-logging-1.0.4.jar': Permission denied
しかし、私がそうするなら
ls /data/code/project/shared/build/thirdparty/log4j-1.2.8/commons-logging-1.0.4.jar
メッセージなしで正しい出力を提供して印刷されますpermission denied
。
/data/code/project/shared/build/thirdparty/log4j-1.2.8/commons-logging-1.0.4.jar
私は何が間違っていましたか?
ps:すべてのjarファイルをリストして削除する必要があります。/data/code
答え1
それをしながら:
find /data/code/ -name "*.jar" -exec {} ls \;
見つかったファイル(例:)を引数/data/code/project/shared/build/thirdparty/log4j-1.2.8/commons-logging-1.0.4.jar
として実行しようとしたため、権限拒否エラーが発生しました。ls
順序を変更してください。
find /data/code/ -name "*.jar" -exec ls {} \;
GNUにはオプションもfind
あるので-ls
、GNUでは次のfind
ことができます。
find /data/code/ -name "*.jar" -ls