隠しファイルや隠しディレクトリ

Linuxを使い始めると、どのような勉強の仕方をするかにもよるのが、早い段階で隠しファイルや隠しディレクトリ(ドットファイル、ドットディレクトリ)と呼ばれるファイルやディレクトリの存在を知ることになるだろう。

隠しファイルや隠しディレクトリは名前がドット(.)から始まっており、デフォルトではlsコマンドの実行によって表示されないため、隠しファイルや隠しディレクトリといったような呼ばれ方をする。

  • ホームディレクトリ以下には隠しファイルや隠しディレクトリがいっぱい

    ホームディレクトリ以下には隠しファイルや隠しディレクトリがたくさん

これらファイルはユーザーが自発的に作らなくても最初から用意されており、コマンドを使ったり、アプリケーションを実行したりすると、徐々に増えていく。

  • 隠しファイルや隠しディレクトリは徐々に増えていく

    隠しファイルや隠しディレクトリは徐々に増えていく

そもそもどのような場合に使われるファイルなのかということになるが、隠しファイルは設定ファイルとして使われ、ホームディレクトリ直下に置かれることが多い。設定ファイルは設定する時は見えたほうがよいが、一旦設定したらあとは見る必要がないことが多い。こうした隠しファイルは、lsコマンドにおいて-aなどを指定しない限り表示されないので、目障りにならない。

隠しディレクトリは設定ファイルが複数存在する場合、複数のソフトウェアの設定ファイルをまとめる場合に使われることが多い。隠しディレクトリの下にさらにソフトウェア名ごとのディレクトリが作成され、そこにさらに設定ファイルや履歴データが保存されるといった具合だ。

こうしたファイルやディレクトリはコマンドやアプリケーションによって自動的に作成されることも多く、記憶にないファイルやディレクトリがホームディレクトリ直下にはたくさん存在している。

こうしたファイルは考えずに削除してはいけない

さて、隠しファイルや隠しディレクトリの存在を知り、そうしたファイルやディレクトリを削除する方法がわかってくると、とりあえず削除してみたくなる人もいるだろう。いったんすべてをデフォルトの状態にリセットしたい時、「とりあえず設定ファイルを削除してみるか」となるのも当然という気もする。

しかし、ファイルの中身を知らないのであれば、削除はしないほうがよい。どうしても削除したいなら、バックアップを取ってから少しづつファイルを削除しみるとよいだろう。

隠しファイル、ディレクトリを削除するコマンド

rm -r ~/.???*

隠しファイルや隠しディレクトリには、設定ファイルやアプリケーションデータが保存されていることが多く、それを削除すると最悪の場合アプリケーションで作成した成果物が一気に消えることもある。

また、自分がセットアップした環境ではなく管理者が用意した環境には、必要になる設定が含められている可能性がある。もしかしたらサーバにアクセスするためのsshの鍵が含まれているかもしれない。その場合、sshの鍵を削除してしまったらもう二度と作業用のサーバにログインできなくなってしまうだろう。

UNIX系オペレーティングシステムで使われるコマンドやアプリケーションは、歴史的にホームディレクトリ以下に隠しファイルや隠しディレクトリを作成して利用する。ここを隠しファイルや隠しディレクトリが存在しない場所にすることは、事実上困難だ。デフォルトではlsコマンドによって表示されないので、積極的に削除するものではなく、そこに置いておくものだと考えておいたほうが無難だと思う。