はじめに
これまでの連載で、.bashrc でプロンプトやエイリアスを設定し、LS_COLORS で色を変え、tmux を導入して……と、あなたのターミナルは最高に使いやすい「自分専用の環境」に育ちました。
しかし、ここで一つの問題が発生します。 「パソコンを買い替えたり、新しいサーバーを借りたりした時、これらすべての設定をもう一度最初からやり直すの?」
答えはノーです。そんな面倒なことはしませんし(したくありません)。 今回は、自分の育て上げた設定ファイル(通称:dotfiles)をスマートに一元管理し、一瞬で新しい環境に引っ越しできるようにするための第一歩、「設定ファイルのフォルダおまとめ術」を解説します。

1. 「dotfiles(ドットファイルズ)」とは?
Linuxのホームディレクトリ(~)にある、.bashrc や .vimrc、.tmux.conf(tmuxの設定ファイル)など、ファイル名が「.(ドット)」から始まる隠しファイルのことを、総称して「dotfiles」と呼びます。
これらは、あなたのツールや環境のカスタマイズ情報が詰まった「秘伝のタレ」です。
本来、これらのファイルはホームディレクトリにバラバラに散らばっています。これを別のPCに持っていくために、いちいち1つずつコピーして回るのは非常に面倒ですよね。 そこで、「専用のフォルダを1つ作って、そこに全部突っ込んでしまおう!」というのがdotfiles管理の基本思想です。
2. 管理用フォルダ ~/dotfiles を作る
まずは、すべての設定ファイルを入れるための専用フォルダをホームディレクトリに作成します。名前は何でも良いですが、慣例的に dotfiles と名付けることが多いです。(複数環境ある場合はdotfiles-serverとかdotfiles-workなどとつけるとよいでしょう.)
# ホームディレクトリに移動
cd ~
# dotfilesフォルダを作成
mkdir dotfiles次に、ホームディレクトリにある秘伝のタレ(.bashrc など)を、今作った dotfiles フォルダの中に移動(mv)させます。
.bashrc を dotfiles フォルダの中に移動する
# .bashrc を dotfiles フォルダの中に移動する
mv ~/.bashrc ~/dotfiles/(※必要に応じて、.tmux.conf や .vimrc など他の設定ファイルも一緒に移動させてください)
mvコマンドの基礎知識
【初心者向け】mvコマンド「ファイルやフォルダを移動させる」- コピペで試せるオプション理解 -【Linuxコマンド入門 #8】
ファイルやディレクトリを「移動」させたり、「名前を変更」したりする mvコマンドについて紹介します。動作について説明し、よく使うオプションを優先的に紹介します。
3. 【大問題】移動すると設定が読み込まれなくなる!?
ここで鋭い方は気づいたかもしれません。 「.bashrc って、ホームディレクトリの直下にあるからLinuxが起動時に読み込んでくれるんじゃないの? 別のフォルダに移動させたら、設定が反映されなくなっちゃうのでは?」
その通りです。大問題です。 実際にターミナルを再起動すると、せっかく設定した色やエイリアスが消えて、初期状態に戻ってしまいます。
この問題を解決し、「ファイルの実体は dotfiles フォルダの中にあるのに、Linuxからはホームディレクトリにあるように見せかける」という魔法のコマンドが、シンボリックリンクです。
4. リンクショートカット「シンボリックリンク(ln -s)」
Windowsの「ショートカット」や、Macの「エイリアス」をイメージしてください。 本物のファイルは別の場所に置きつつ、ホームディレクトリには「ここへのリンク(偽物)」だけを置いておくテクニックです。
シンボリックリンクを作るには、ln -s コマンドを使います。 (ln は link の略、-s は symbolic の略です。初回シリーズから追ってくれていた人ならlsのところでちょこっと触れたのを覚えているかもしれません)
# ln -s [本物のファイルの場所] [リンクを置きたい場所]
ln -s ~/dotfiles/.bashrc ~/.bashrc【実行結果の確認】 ホームディレクトリで ls -la を実行して確認してみましょう。
ls -la# 出力例
lrwxrwxrwx 1 tukumo tukumo 26 Feb 20 04:27 .bashrc -> /home/tukumo/dotfiles/.bashrc.bashrc の横に -> という矢印がついていますね. これが「ここにある .bashrc は偽物で、本物は ~/dotfiles/.bashrc にあるよ」という目印です。
これでLinuxは、ホームディレクトリにあるリンクを辿って、dotfiles フォルダの中にある本物の設定を読み込んでくれるようになります!(再読み込みは、source .bashrcのままで動作します)
まとめ
- dotfiles:
.から始まる環境設定ファイルの総称。 - 一元管理:
~/dotfilesという専用フォルダを作って、そこに実体をすべて集める。 - シンボリックリンク (
ln -s): ファイルの実体は専用フォルダに置きつつ、元の場所にショートカットを配置してOSに読み込ませるテクニック。
これで、あなたの設定ファイルはすべて ~/dotfiles という1つのフォルダに綺麗にまとまりました! もし新しいPCを買った時は、この dotfiles フォルダを丸ごとコピーして、新しいPCで ln -s を実行するだけで、一瞬でいつもの環境が復活します。
しかし、「USBメモリでフォルダをコピーする」というのもありっちゃありですが(研究室で共有するとか物理媒体で置いておくことも一理はある)、cloud上に置いておいて、環境構築の時にとってくるというのが便利です。
次回は、この dotfiles フォルダをクラウド上にバックアップし、世界中どこからでも一瞬で環境を同期できるようにする最強のバージョン管理ツール、「Git」の基本を解説します!
第四回”Linuxコマンド入門 Part4 ~自分好みの環境を整える~”では、linuxでの作業を効率化し自分好みの環境を作り上げる方法を紹介しています
13 記事
Linuxコマンド入門 Part4 ~ターミナル操作の効率化とシェル環境のカスタマイズ~
Linuxで、コマンドライン操作を効率化したり、自分好みにカスタマイズする方法を学ぼう。
ここまで読んでいただきありがとうございます。
では、次の記事で。 lumenHero