Kir*_*irt 8 unix command-line undo
我感觉有一天我会需要它,就像我刚刚删除了一些我不应该拥有的东西,或者重命名了一些东西但不记得它应该叫什么等等。
Rob*_*ans 11
消极的。Linux 中没有神奇的撤销按钮。
Unix 本身不提供撤消功能。哲学是,如果它消失了,它就消失了。如果它很重要,它应该被备份。
您可以将文件移动到临时“垃圾”目录,而不是删除文件。一些桌面环境使他们的“删除”命令将文件移动到垃圾箱。但请注意,只有少数应用程序会使用它;其他人只会删除该文件。
许多命令可以反转,例如,可以通过将文件移回来撤消文件移动。删除或覆盖文件的命令根本无法轻易撤消;其中一些可以通过外壳设置更强大以防止意外数据丢失。特别是:
在命令行,cp并mv会覆盖任何现有的目标文件,但是你可以让他们的提示:
alias cp='cp -i'
alias mv='mv -i'
Run Code Online (Sandbox Code Playgroud)
我推荐这两个别名,因为没有它们,cp并mv做两项工作:复制/移动和删除。不拥有cp和mv删除文件更符合 Unix 哲学(一个命令完成一项工作)并且不易出错。(这完全不同于rm -i,它在执行工作之前要求确认 - 这样的系统提示往往会触发自动响应,从而成为无用的烦恼。)
您可以让>重定向操作符只接受创建文件,这样您就必须写入>|foo以允许覆盖现有文件foo。
set -o noclobber
Run Code Online (Sandbox Code Playgroud)有一个FUSE文件系统可以自动保留旧版本的副本:copyfs,可用于大多数unices(*BSD、Linux、OS X、Solaris)。当然,这会占用大量资源。
如果您已将文件移动到其他目录并记住其名称(部分)但不记得其位置,则可以使用该locate命令来查找它。
防止此类事故的最佳方法是使用版本控制系统(cvs、bazaar、darcs、git、mercurial、subversion 等)。学习需要一点时间,但从中长期来看,它会带来巨大的回报。
| 归档时间: |
|
| 查看次数: |
48507 次 |
| 最近记录: |