ユーザーディレクトリ内のすべての一時ファイルを見つけて削除する


12

私はvimを頻繁に使用しており、私の地域では停電が頻繁に発生しています。その結果、多くの*.swpファイルがPCに散らばってしまいます。

私はの別名たいrmいずれかですべてのファイルを削除するコマンドを.swp~.netrwhist.logまたは.bak拡張システム全体(あるいは、少なくとも私のホームディレクトリにあります)。コマンドを実行すると、ファイルシステム全体/ホームディレクトリが削除され~/Desktopます。

どうすれば実装できますか?


方法:find ./ -name \*\~ | xargs /bin/rm
エマニュエルベルク

また、~ファイルにバグがある場合は、lsをaliasにしls -Bます。少なくとも、それらは表示されません。
エマニュエルベルク

find ./ -name \*\~ | xargs /bin/rm〜/ Desktop にいて~、ホームディレクトリにファイルがある場合、@ EmanuelBerg は機能しません。私の質問、私が言ったことを見てください。
サントシュクマール

3
3つの単語:無停電電源装置。コンピュータがないとコンピュータの電源を入れません。
cjm

2
@Santosh、あなたはより良いUPSが必要です。最小実行時間は5分です。8秒では、コンピューターをシャットダウンする時間さえ与えられません(お気づきのとおりです)。
cjm

回答:


11

これは、で終わる名前を持つすべてのファイルを削除します.swp~.netrwhist.logまたは.bakどこでもあなたのホームディレクトリの下。プロンプトなし、確認なし、リカバリーなし、ファイルは永久に失われます。

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

*.logこれは危険に聞こえるので、意図的に省略します。これは一時ファイルの一般的な拡張子ではなく、その名前の非一時ファイルがたくさんあります。)

お使いのOSは、Linuxでない場合は、交換してください-deleteによる-exec rm {} +

次のdirectoryオプションを設定して、Vimのスワップファイルを1つのディレクトリに配置するように設定する必要があります

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

最初にディレクトリを作成します。//最後には、スワップファイル名が異なるディレクトリに同じ名前のファイルがクラッシュを起こさないように、元のファイルのディレクトリの場所が含まれます。

backupdiroptionを使用してバックアップファイルに対して同じことを行うことができますが、それはあまり意味がありません。

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ディレクトリが存在しない場合は作成する必要があるため、作成しないでください。


OK、それは便利です。ただし、geditは*~ファイルを生成します。
サントシュクマール

0

短い回答〜で終わる一時的なものを削除します

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

または.swapなどのような他のもの。

find . -type f \( -iname "*.swp" \) -delete
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.