Command-Line
找到並刪除使用者目錄中的所有臨時文件
我經常使用vim,我所在的地區經常斷電。所以結果是我得到許多
*.swp
文件分散在我的電腦上。我想要一個命令的別名,它
rm
可以刪除系統範圍內*(或至少在我的主目錄中)*.swp
具有、~
、或副檔名的所有文件。該命令應該刪除文件系統範圍/主目錄,即使我在..netrwhist``.log``.bak``~/Desktop
我該如何實施?
這將刪除所有名稱以
.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))