有人可以告诉我一个单行命令从文件中提供我的cmd输入并在命令仍在运行时删除同一个文件吗?
编辑:我的意思是单行命令,在一个命令中执行整个操作。此行为与同时执行进程和命令有关。因此,我想看看当命令行输入被一个文件提供时会发生什么,并且在同一个命令中使用同时进程执行的概念(读取前台和后台)删除文件,而cmd输入仍在读取它
我试过
$ cat dummy_file.txt | rm -i
rm: missing operand
Try rm --help for more information
显然我试过的cmd是错的。也许我需要运行其中一个命令作为后台工作,但我不确定
答案 0 :(得分:0)
不确定你真正想要实现的目标;但是你的示例命令可以通过使用xargs:
以某种方式“修复”echo "dummy_file.txt" > dummy_file.txt
cat dummy_file.txt | xargs rm -i
顺便说一下。如果您担心在使用文件时删除文件:当某个进程正在使用(即保持打开)文件时,其内容将不会从磁盘中删除。即使用rm
删除文件,也只删除目录结构中的文件名;只有当任何进程不再保持文件打开时,才会释放实际内容的磁盘空间。