次のコマンドを実行すると、すべてのファイルに対して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 :/data/code
のすべてのjarファイルをリストして削除する必要があります
実行中:
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