Linux - 使用文件提供命令输入,并在命令运行时删除该文件

时间:2013-03-11 12:13:52

标签: linux background-process io-redirection

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

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

我试过

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

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

1 个答案:

答案 0 :(得分:0)

不确定你真正想要实现的目标;但是你的示例命令可以通过使用xargs:

以某种方式“修复”
echo "dummy_file.txt" > dummy_file.txt
cat dummy_file.txt | xargs rm -i

顺便说一下。如果您担心在使用文件时删除文件:当某个进程正在使用(即保持打开)文件时,其内容将不会从磁盘中删除。即使用rm删除文件,也只删除目录结构中的文件名;只有当任何进程不再保持文件打开时,才会释放实际内容的磁盘空间。