ドライブルートのすべてのファイルがmd5の合計を計算し、md5sumに基づいて出力をソートするようにrsync
2つのUSBデバイスを比較しています。たとえば、コマンド全体が次に展開されます。急いで、状況がどのように進行しているのか、つまり今どのようなファイルが処理されているのか疑問に思います。他のコマンドでパイプするので、atmをハッシュするファイルを見ることができるstdoutまたはstderrはありません。他のコマンドが実行するアクションを報告できるコマンドはありますか?md5sum /usb1/* /usb2/* | sort
md5sum /usb1/bigfile1 /usb1/bigfile2 /usb2/bigfile1 /usb2/bigfile2
今?
「シグナル」とマークしていますが、シグナルでmd5sumプロセスを簡単に中断することができるシグナルについて十分にはわかりません。dd
進行状況を報告するように信号を送信することが可能であったことを覚えておいてください。
答え1
あなたはそれを使用することができますprogress
そのために:
progress -p $(pgrep md5sum)
または継続的な監視が必要な場合md5sum
:
progress -m -p $(pgrep md5sum)
md5sum
外部ツールを使用せずに、現在Linuxでどのファイルにアクセスしているかを一覧表示して/proc/$(pgrep md5sum)/fd
確認できます。md5sum
/proc/$(pgrep md5sum)/fdinfo
ご存じのとおり、dd
進捗レポートは受信したとおりに印刷されますが、これはSIGUSR1
一般的な信号媒介機能ではなく実装された機能です。dd
デフォルトでSIGUSR1
プロセスに送信すると、そのプロセスは終了します。
答え2
別の同様のコマンドcat
は、pv
ファイルの内容をstdoutにポンピングし、別のプログラム(md5sum)にパイプし、stderrを介して進行状況表示を出力します。一度に1つのファイルにのみ適していますが。次のようなものを使用してくださいpv /usb1/bigfile1 | md5sum