このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
リンクの活用方法
これまでにln
コマンドの使い方について解説してきました。最後に、作成したリンクが実際にどのように活用できるのかを見ていきましょう。リンクにはさまざまな利用方法がありますが、ここでは代表的な2つの利用例を紹介します。
長いパス名を省略する
深いディレクトリ構造の中にあるファイルやディレクトリに頻繁にアクセスする場合、毎回長いパスを入力するのは面倒です。そこで、シンボリックリンクを作成して短いパスでアクセスできるようにします。
例:深いディレクトリへのシンボリックリンク
以下の例では、work/local/project/code/source
という深いディレクトリに対して、source
というシンボリックリンクを作成しています。
手順
1.作業ディレクトリに移動
user01@ubuntu:~$ cd work
user01@ubuntu:~/work$
2.深いディレクトリを作成
user01@ubuntu:~/work$ mkdir -p local/project/code/source
3.シンボリックリンクを作成
user01@ubuntu:~/work$ ln -s local/project/code/source source
4.シンボリックリンクを使用してアクセス
user01@ubuntu:~/work$ cd source
user01@ubuntu:~/work/source$ touch file
user01@ubuntu:~/work/source$ ls
file
5.明示的に深いディレクトリにアクセスして確認
user01@ubuntu:~/work/source$ cd ..
user01@ubuntu:~/work$ cd local/project/code/source
user01@ubuntu:~/work/local/project/code/source$ ls
file
source
というシンボリックリンクを使うことで、深いディレクトリに簡単にアクセスできます。- 作成した
file
も同じ場所に存在していることが確認できます。
メリット
- 入力の手間を削減:長いパス名を毎回入力する必要がなくなります。
- 可読性の向上:簡潔なパス名でコマンドを実行できるため、スクリプトやドキュメントの可読性が上がります。
複数バージョンのプログラムを共存させる
システム管理や開発環境では、同じプログラムの異なるバージョンを共存させたい場合があります。バージョンごとにディレクトリ名を付けてインストールし、シンボリックリンクで現在使用するバージョンを切り替える方法が有効です。
例:複数バージョンをシンボリックリンクで管理
手順
1.作業ディレクトリに移動
user01@ubuntu:~/work/local/project/code/source$ cd
user01@ubuntu:~$ cd work
user01@ubuntu:~/work$
2.異なるバージョンのディレクトリを作成
user01@ubuntu:~/work$ mkdir program-1.0
user01@ubuntu:~/work$ mkdir program-2.0
3.各バージョンのrun.sh
を作成
3.1 program-1.0
ディレクトリにrun.sh
を作成
user01@ubuntu:~/work$ echo -e '#!/bin/bash\necho "Running Program Version 1.0"' > program-1.0/run.sh
3.2 program-2.0
ディレクトリにrun.sh
を作成
user01@ubuntu:~/work$ echo -e '#!/bin/bash\necho "Running Program Version 2.0"' > program-2.0/run.sh
3.3 実行権限を付与
user01@ubuntu:~/work$ chmod +x program-1.0/run.sh
user01@ubuntu:~/work$ chmod +x program-2.0/run.sh
4.現在のバージョンを指すシンボリックリンクを作成
user01@ubuntu:~/work$ ln -s program-1.0 program
5.プログラムを実行
user01@ubuntu:~/work$ ./program/run.sh
Running Program Version 1.0
6.新しいバージョンに切り替える
user01@ubuntu:~/work$ rm program
user01@ubuntu:~/work$ ln -s program-2.0 program
7.再度プログラムを実行
user01@ubuntu:~/work$ ./program/run.sh
Running Program Version 2.0
シンボリックリンクを更新するだけで、新しいバージョンに切り替えられます。
メリット
- バージョン管理が容易:複数のバージョンを同時に保持し、必要に応じて切り替えが可能。
- ダウンタイムの削減:シンボリックリンクの更新だけで切り替えられるため、サービスの停止時間を最小限に抑えられます。
- 安全なアップデート:問題が発生した場合でも、元のバージョンに簡単に戻すことができます。
不要なディレクトリとシンボリックリンクの削除
不要となったディレクトリとシンボリックリンクを削除します。
user01@ubuntu:~/work$ rm -r local program-* program source
user01@ubuntu:~/work$ ls
まとめ
- シンボリックリンクの活用により、ファイルシステムの柔軟性と効率性が向上します。
- 長いパス名の省略:深いディレクトリへのアクセスが容易になり、作業効率がアップします。
- 複数バージョンの管理:プログラムの異なるバージョンを共存させ、シームレスに切り替えられます。
- 運用の簡素化:リンクを活用することで、システム運用や管理がよりシンプルになります。
リンク機能を適切に活用することで、日々の作業やシステム管理が効率的になります。ぜひこれらの方法を試してみて、業務の改善に役立ててください。