UNIXおよびLinuxユーザーは、リンク、特にシンボリックリンクの多くの用途を見つけます。シンボリックリンクを使用する1つの方法は、さまざまなIT機器の構成バックアップを管理することです。
ネットワーク上のコンピューターとデバイスのドキュメント、更新、およびその他のファイルに関連するすべてのものを保持するためのディレクトリ構造があります。デバイスには、ルーター、アクセスポイント、NASサーバー、ラップトップなどがあり、多くの場合、ブランドやバージョンが異なります。構成のバックアップ自体は、ディレクトリツリーの奥深くにある可能性があります。 /home/alan/Documents/network/device/NetgearRL5000/config
。
バックアッププロセスを簡素化するために、自宅にConfiguration
というディレクトリがあります。 。このディレクトリからのシンボリックリンクを使用して、特定のデバイスディレクトリを指します:
:~/Configuration/ $ ls -F1
Router@
Accesspoint@
NAS@
注 :-F
ls
のオプション コマンドは、そのタイプを表すために各ファイル名に特殊文字を追加します。上記のように、@
記号は、これらがリンクであることを示します。
リンクの作成
シンボリックリンクルーター config
を指します NetgearRL5000のディレクトリ。それを作成するコマンドはln -s:
です。
$ ln -s /home/alan/Documents/network/device/NetgearRL5000/config Router
次に、確認してls -l:
で確認します
:~/Configuration/ $ ls -l
Router -> /home/alan/Documents/network/device/NetgearRL5000/config
NAS -> /home/alan/Documents/network/device/NFSBox/config
...
利点は、このデバイスでメンテナンスを実行するときに、~/Configuration/Router
を参照するだけでよいことです。 。
このルーターを新しいモデルに交換することにした場合、シンボリックリンクを使用することの2番目の利点が明らかになります。古いルーターをアクセスポイントとして再タスクする可能性があります。したがって、そのディレクトリは削除されません。代わりに、新しいルーターに対応する新しいディレクトリ、おそらくASUSDF-3760があります。ディレクトリを作成し、その存在を確認します:
$ mkdir -p ~/Documents/network/device/ASUSDF-3760/config
:~/Documents/network/device/ $ ls
NetgearRL5000
ASUSDF-3760
NFSBox
...
もう1つの例は、オフィス全体に複数のアクセスポイントがある場合です。シンボリックリンクを使用して、ap1
などの一般的な名前でそれぞれを論理的に表すことができます。 、ap2
、など、またはap_floor2
などの説明的な単語を使用できます 、ap_floor3
、など。このように、物理デバイスは時間の経過とともに変化するため、実際のデバイスディレクトリではなくリンクをアドレス指定しているため、それらを管理している可能性のあるプロセスを継続的に更新する必要はありません。
リンクの更新
メインルーターが変更されたので、ルーターのシンボリックリンクがそのディレクトリを指すようにします。 rm
を使用できます およびln
新しいシンボリックリンクを削除して作成するコマンドですが、ln
のみを使用して1つのステップでこれを行う方法があります いくつかのオプションを含むコマンド:
:~/Configuration/ $ ln -vfns ~/Documents/network/device/ASUSDF-3760/config/ Router
'Router' -> '/home/alan/Documents/network/device/ASUSDF-3760/config/'
:~/Configuration/ $ ls -l
Router -> /home/alan/Documents/network/device/ASUSDF-3760/config
NAS -> /home/alan/Documents/network/device/NFSBox/config
その他のLinuxリソース
- Linuxコマンドのチートシート
- 高度なLinuxコマンドのチートシート
- 無料のオンラインコース:RHELの技術概要
- Linuxネットワーキングのチートシート
- SELinuxチートシート
- Linuxの一般的なコマンドのチートシート
- Linuxコンテナとは何ですか?
- 最新のLinux記事
マニュアルページによると、オプションは次のとおりです。
-v、-verbose
リンクされた各ファイルの名前を印刷する
-f、-force
宛先ファイルを削除します(リンクがすでに存在するため必要です)
-n、-no-dereference
ディレクトリへのシンボリックリンクである場合は、LINK_NAMEを通常のファイルとして扱います
-s、-symbolic
ハードリンクの代わりにシンボリックリンクを作成する
まとめ
リンクは、UNIXおよびLinuxファイルシステムの最も強力な機能の1つです。他のオペレーティングシステムはこの機能を模倣しようとしましたが、ファイルシステムに基本的なリンク設計がないため、それらはうまく機能しなかったか、使用可能でした。
上記のデモンストレーションは、実際の本番環境で絶えず変化するディレクトリ構造をシームレスにナビゲートするためにリンクを利用する多くの可能性の1つにすぎません。リンクは、長い間静的になることのない組織に必要な柔軟性を提供します。