だから私はMac OSの「dot_bar」ファイルをコアファイルにマージしようとしました。私がしたいことの1つは、私のMac(M1 MacBook Air)ですべての「dot_bar」ファイルを見つけることです。照会に時間がかかりましたので、ファイルリストの出力を日付/時刻にまとめたいと思いました。
だから、いくつかの実験を経て実行しました。
(date "+%Y-%m-%d_%H-%M") && sudo -A find / -name "._*" 2>/dev/null &&
(date "+%Y-%m-%d_%H-%M")
開始日時と「dot_bar」ファイルは表示されますが、終了日時は表示できません。
コードを-に変更してください。
(date "+%Y-%m-%d_%H-%M") && sudo -A find /Volumes -name "._*" 2>/dev/null &&
(date "+%Y-%m-%d_%H-%M")
開始日時、ファイル一覧、終了日時を表示します。
したがって、唯一の違いは、検索パスが「/」なのか「/Volumes」なのかだけだと思います。
出力が異なる理由は何ですか?つまり、最初のオプションは終了日時を印刷せず、2番目のオプションは終了日時を印刷しますか?
ありがとう、
非常に混乱:)
答え1
これは&&
、「前のコマンドが正常に完了した場合にのみ、次のコマンドを実行します」を意味します。したがって、find
コマンドが失敗した場合、つまりゼロ以外の状態で終了すると、これが発生します。これは、ファイルが見つかったかどうかには関係がなく、find
実際に検索できない場合に発生し、検索できますが何も見つからない場合にも発生します。私の考えでは、再試行すると、2>/dev/null
2番目のコマンドがエラーを返すことがわかります。
表示するには:
$ find . -name file_that_does_not_exist && echo yes
yes
$ find directory_that_does_not_exist -name whatever && echo yes
find: ‘directory_that_does_not_exist’: No such file or directory
$
したがって、これはfind /
コマンドにエラーが発生したことを示します。実際、Kusalalanandaはコメントでsudo find /
、または、および、およびその他のアイテムのコンテンツに対してさまざまなエラーを返したと述べました。これは、コマンドがゼロ以外の終了コード(失敗)で終わったため、2番目のコマンドが実行されないことを意味します。Operation not permitted
No such file or directory
/Library/Caches
/System/Volumes
/private/var
date