特定の拡張子のファイルを非表示にする方法

特定の拡張子のファイルを非表示にする方法

フォルダー内に.bak拡張子付きの一時ファイル セットを作成しました。Ubuntu でそれらをデフォルトで非表示にするにはどうすればよいでしょうか?

ファイル内のエントリとして *.bak を含む .hidden ファイルを追加しようとしましたが、機能しません。ご協力いただければ幸いです...

答え1

この.hiddenファイルはワイルドカードをサポートしていません。実際のファイル名を入力する必要がありますが、これはもちろんプロジェクトごとに異なります。このプロセスをより便利にするために、.hidden現在のフォルダーにある LaTeX 中間ファイルの名前を使用してファイルを動的に作成できる Bash エイリアスを思いつきました。

alias hidetex='ls *?(aux|bbl|blg|brf|lof|log|lot|out|toc) -1 > .hidden'

この行を~/.bash_aliasesファイルなので、cd非表示にしたいファイルのあるフォルダーに移動して、と入力するだけですhidetex

これは特定のフォルダーで実行されることを目的としていますが、より汎用的にして (たとえば、.bakファイル用)、タスクを再帰的に実行し、.hidden特定のルート フォルダーの各サブフォルダーにファイルを追加するように変更することもできますが、これは少し複雑です。

答え2

ホームディレクトリにというファイルを作成できます.hidden。このファイルには、非表示にしたいすべてのファイルの名前を 1 行に 1 つずつ記述できます。

答え3

ファイル名の先頭にピリオド (終止符) を置くと、ファイル名が非表示になります。例:

.helloworld.txt

隠しファイルを表示するには、Nautilus で「表示」をクリックし、「隠しファイルを表示する」にチェックを入れます。

答え4

あなたとプログラムがファイル名を気にしない場合は、次のコマンドを試してください。

for annoyingbak in *.bak; do mv "$annoyingbak" ."$annoyingbak"; done

.baks に悩まされたらいつでもこれを実行してください。これは、 という名前bla.bakのすべてのファイルを に移動します.bla.bak

頻繁に実行する必要がある場合は、次のコードを の末尾に追加します.bashrc

function deannoy {
    for annoyingbak in *.bak; do 
        mv "$annoyingbak" ."$annoyingbak"
    done
}

その後、deannoyDropbox フォルダに入力するだけで、それらは削除されます。

関連情報