通过终端删除文件时如何进行确认

通过终端删除文件时如何进行确认
cd Desktop/
rm bored.py

我希望它在删除之前进行确认。

(顺便说一下,我使用 konsole)

答案1

请参阅的手册页rm

   -i     prompt before every removal

   -I     prompt  once  before  removing more than three files, or when removing recursively.
          Less intrusive than -i, while still giving protection against most mistakes

因此,使用-iflag withrm将给出类似如下的提示:

$ rm -i bored.py
rm: remove regular file 'bored.py'? 

您可以Y按 确认删除。按N或任何其他键将拒绝删除。

.bashrc您可以在您的或中创建一个别名.bash_alias以使该标志永久生效:

echo "alias rm='rm -i'" >> ~/.bashrc
source ~/.bashrc

笔记-r:这仅在未与递归( )或强制(-f)标志一起使用时才对文件起作用。

答案2

您可以通过创建别名来rm包含交互式删除的标志来实现这一点。

就是这样:

  1. 打开 Konsole(如果尚未打开)
  2. 编辑.bash_aliases文件:
    {editor of choice} .bash_aliases
    
    笔记:请务必将“{editor of choice}”替换为您选择的编辑器。
  3. 添加别名rm
    alias rm="rm -i"
    
  4. 保存文件并退出
  5. 重新加载您的个人资料:
    source ~/.profile
    

现在,无论何时尝试删除文件,您都会看到类似以下内容:

$ rm bored.py 
rm: remove regular file 'bored.py'?

Y将会删除文件。按其他任何键都将被视为“否”,取消操作。

笔记:尽管有别名,你仍然可以使用其他标志,因此如果你打算删除大量文件,它rm -f *.py仍会按预期工作没有提示每个单独的文件。

相关内容