-1

有人可以告诉我一个单行命令来从文件中提供我的 cmd 输入并在命令仍在运行时删除同一个文件吗?

编辑:我的意思是单行命令,在一个命令中执行整个操作。这种行为与同时执行进程和命令有关。因此,我想看看当命令行输入被提供一个文件时会发生什么,并且在同一命令中使用同时进程执行(读取前台和后台)的概念删除文件,而 cmd 输入仍在读取它

我试过

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

显然我尝试的 cmd 是错误的。也许我需要将其中一个命令作为后台作业运行,但我不确定

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 回答