有人可以告诉我一个单行命令,从文件中提供 cmd 输入并在命令仍在运行时删除同一文件吗?
编辑:我所说的单行命令是指在一个命令中执行整个操作。这种行为与同时执行进程和命令有关。因此,我想看看当命令行输入输入文件并在同一命令中使用同时进程执行(读取前台和后台)的概念删除文件而 cmd 输入仍在读取文件时会发生什么
我试过了
$ cat dummy_file.txt | rm -i
rm: missing operand
Try rm --help for more information
显然我尝试的cmd是错误的。也许我需要运行其中一个命令作为后台作业,但我不确定
最佳答案
不确定您实际上想要实现什么;但是您的示例命令可以通过使用 xargs 以某种方式“修复”:
echo "dummy_file.txt" > dummy_file.txt
cat dummy_file.txt | xargs rm -i
顺便说一句。如果您担心在使用文件时删除该文件:当进程正在使用文件(即保持打开状态)时,其内容将不会从磁盘中删除。即使用rm
删除文件,也只是删除目录结构中的文件名;仅当文件不再被任何进程保持打开状态时,才会释放实际内容的磁盘空间。
关于Linux - 使用文件提供命令输入并在命令运行时删除该文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15338313/