找到并删除用户目录中的所有临时文件


12

我经常使用vim,并且我所在的区域经常发生电源故障。因此,结果是我*.swp在PC上散布了许多文件。

我想一个别名rm,要么删除所有文件的命令.swp~.netrwhist.log.bak扩展系统范围内(或至少在我的主目录)。即使我在上,该命令也应删除文件系统范围/主目录~/Desktop

我该如何实施?


怎么样:find ./ -name \*\~ | xargs /bin/rm
伊曼纽尔·伯格

另外,如果~文件使您烦恼,则将ls别名为ls -B。至少您不会看到它们。
伊曼纽尔·伯格

find ./ -name \*\~ | xargs /bin/rm当我在〜/ Desktop上并且~主目录中有任何文件时,@ EmanuelBerg 不起作用。看看我的问题,我说了什么。
Santosh Kumar 2012年

3
三个字:不间断电源。如果没有计算机,我不会打开计算机。
cjm 2012年

2
@Santosh,那么您需要一个更好的UPS。最小运行时间应为5分钟。8秒甚至都没有给您时间关闭计算机(显然您已经注意到)。
cjm 2012年

Answers:


11

这将删除所有与结尾的名称的文件.swp~.netrwhist.log.bak在你的主目录下的任何地方。没有提示,没有确认,没有恢复,文件将永远消失。

find ~ -type f \( -name '*.swp' -o -name '*~' -o -name '*.bak' -o -name '.netrwhist' \) -delete

(我故意省略,*.log因为它听起来很危险,这不是临时文件的常见扩展名,并且有很多使用该名称的非临时文件。)

如果您的操作系统不是Linux,请替换-delete-exec rm {} +

您可能应该通过设置以下directory选项来配置Vim将其交换文件放在一个目录中:

set dir=~/tmp/vim-swap-files//,/var/tmp//

首先创建目录。将//在年底使交换文件名包括原始文件的目录位置,以便在不同的目录中的同名文件不会导致崩溃。

您可以使用backupdir选项对备份文件执行相同的操作,尽管它意义不大。

如果使用Emacs,请设置auto-save-file-name-transforms为将每个文件都指向一个目录。

(setq auto-save-file-name-transforms
      '("\\`.*\\'" "~/tmp/emacs-auto-save-files/\\&" t))

1

如果您专门针对vim文件,建议您使用该backupdir变量。:h backupdir说:

'backupdir' 'bdir'      string  (default for Amiga: ".,t:",
                                 for MS-DOS and Win32: ".,c:/tmp,c:/temp"
                                 for Unix: ".,~/tmp,~/")
                        global
                        {not in Vi}
        List of directories for the backup file, separated with commas.
        - The backup file will be created in the first directory in the list
          where this is possible.  The directory must exist, Vim will not
          create it for you.
        [... snip ...]

我在.vimrc中使用以下行:

set backupdir=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp

另外,如果还不存在〜/ .vim-tmp目录,则需要创建它,因为它不会为您创建该目录。


好,那很有用。但是gedit会生成*~文件。
Santosh Kumar 2012年

0

简短答案删除以〜结尾的时态

find . -type f \( -iname "*~" \) -delete

或其他诸如.swap等..

find . -type f \( -iname "*.swp" \) -delete
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.