-1

ファイルからコマンド入力をフィードし、コマンドがまだ実行されている間に同じファイルを削除するための単一行コマンドを誰かに教えてもらえますか?

編集: 単一行コマンドとは、このアクション全体を 1 つのコマンドで実行することを意味します。この動作は、プロセスとコマンドを同時に実行することに関係しています。したがって、コマンドライン入力にファイルが供給され、同じコマンドで同時プロセス実行の概念(フォアグラウンドとバックグラウンドの読み取り)を使用して、cmd入力がまだ読み取り中にファイルを削除するとどうなるかを確認したいと思います

私は試した

$ cat dummy_file.txt | rm -i
rm: missing operand
Try rm --help for more information

明らかに、私が試したコマンドは間違っています。コマンドの 1 つをバックグラウンド ジョブとして実行する必要があるかもしれませんが、よくわかりません

4

1 に答える 1

0

実際に何を達成しようとしているのかわかりません。ただし、コマンド例は、xargs を使用して「修正」できます。

echo "dummy_file.txt" > dummy_file.txt
cat dummy_file.txt | xargs rm -i

ところで。使用中のファイルを削除することが心配な場合: ファイルがプロセスによって使用されている (つまり、開いたままになっている) 間、その内容はディスクから削除されません。でファイルを削除してもrm、ディレクトリ構造内のファイル名だけが削除されます。実際のコンテンツ用のディスク領域は、ファイルがどのプロセスによっても開かれなくなったときにのみ解放されます。

于 2013-03-11T13:23:31.350 に答える