Найти и удалить все временные файлы в каталоге пользователя

Я использую vim много, и моя область сильно сбой питания. Таким образом, я получаю много *.swp файлов, разбросанных по моему компьютеру.

Мне нужен псевдоним команды rm который удаляет все файлы с .swp , ~ , .netrwhist , .log или .bak системе (или, по крайней мере, в моем домашнем каталоге) . Команда должна удалять файлы в системном / домашнем каталоге, даже когда я нахожусь на ~/Desktop .

Как я могу это реализовать?

3 Solutions collect form web for “Найти и удалить все временные файлы в каталоге пользователя”

Это приведет к удалению всех файлов с именем, заканчивающимся на .swp , ~ , .netrwhist , .log или .bak любом месте вашего домашнего каталога. Нет подсказок, нет подтверждения, нет восстановления, файлы ушли навсегда.

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

(Я целенаправленно опускаю *.log потому что это звучит опасно, это не распространенное расширение для временных файлов, и есть много не временных файлов с этим именем.)

Если ваша ОС не является Linux, замените -delete на -exec rm {} + .

Возможно, вы должны настроить Vim, чтобы поместить свои файлы подкачки в один каталог, установив опцию directory :

 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)) 

Если вы специально нацеливаете файлы 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, если он уже не существует, потому что это не создает для вас.

Short Answer Удаляет временные интервалы, которые заканчиваются на ~

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

Или другие, такие как .swap и т. Д.

 find . -type f \( -iname "*.swp" \) -delete 
  • Не удалось удалить файл в Fedora
  • удалил бродячий файл и теперь вижу .nfs0000000000b869e300000001?
  • Как найти и опорожнить некоторые каталоги
  • Почему опция -v с rm показывает записи с обратным отсчетом и обычной цитатой?
  • Не удается (принудительно) удалить каталог в сборке Docker
  • Как далеко вы можете пойти с rm -rf / как root
  • Как удалить файлы и папки под определенной папкой
  • Удалите все файлы в папке, кроме последней (последней) 20
  • Поиск недостающих имен файлов между двумя каталогами в Linux
  • Удаление многих файлов, кроме одного типа
  • Как запустить сухой запуск rm, чтобы посмотреть, какие файлы будут удалены?
  • Linux и Unix - лучшая ОС в мире.