GNU/Linux >> Linux の 問題 >  >> Linux

Linuxのlnコマンド:ソフトリンクとハードリンクを作成する

リンクは別のファイルへの参照です。リンクは同じファイルに複数の名前を付け、2つ以上の場所に同時に存在できるようにします。

リンクには2つのタイプがあります:

  • ソフトリンクまたはシンボリックリンク:これは、元のファイルへのショートカットにすぎません。
  • ハードリンク:これは、元のファイルのメモリ位置を指します。

この写真は、2種類のリンクがどのように機能するかを示しています。

ハードリンクとソフトリンクの両方がlnコマンドで作成されます。

このチュートリアルでは、lnコマンドを使用してLinuxでさまざまなタイプのリンクを作成する方法を紹介します。

lnコマンドの例

lnコマンドの構文は単純です:

 ln [option] target_file link_name

lnコマンドを使用してLinuxでリンクを作成する例をいくつか紹介します。

ファイルへのハードリンクを作成するには、次のようなオプションなしでlnコマンドを使用できます。

 ln target_file link_name

ファイルへのシンボリックリンクを作成するには、オプション-sを使用します ターゲットファイル名とリンク名

 ln -s target_file link_name

ほとんどのLinux端末では、ソフトリンクがポイントする宛先とともに異なる色で表示されます。

また、リンクがlで始まることにも気付くでしょう。 通常の-の代わりに 長いリストビューのファイルの場合。

端末に異なる色のソフトリンクが表示されていない場合でも、この方法でリンクを識別できます。

ディレクトリへのソフトリンクを作成することは、ファイルへのシンボリックリンクを作成することと同じです。ターゲットファイル名/パスをディレクトリ名/パスに置き換えるだけです。

 ln -s target_directory link_name

Linuxターミナルでは、通常、ソフトリンクとハードリンクの色が異なることに気付くでしょう。ディレクトリへのハードリンクは(通常は)不可能です。

既存のリンクを上書きできます。デフォルトでは、既存のリンクを使用して新しいファイルをポイントしようとすると、エラーがスローされます:

ln: failed to create symbolic link 'soft-link-to-file': File exists

lnコマンドには、この目的のために2つのオプションがあります。

  • -i :インタラクティブモードでは、既存のリンクを上書きするかどうかを尋ねられます。
  • -f :強制モードは、確認なしで既存のリンクを更新するだけです。

シンボリックリンクを強制的に更新するとします。できることは次のとおりです。

ln -sf new_file existing_soft_link

sを追加してください ソフトリンクの場合は、ソフトリンクをハードリンクに変換します。

通常、-lでlsコマンドを使用する場合 オプションの場合、それが指すファイルが表示されます。

ただし、リンクのチェーンがある場合は、元のファイルは表示されません。たとえば、ファイルへのリンクを作成してから、最初のリンクへの別のリンクを作成します。長いリストでは、2番目のリンクは最初のリンクを指します。

リンクのチェーンから元のファイルを見つけるには、readlink -fを使用できます。 次のように:

readlink -f soft_link

-f optionsは、「followthechain」のように「follow」を表します。

この画像は例をよりよく説明しています:

リンクの作成方法がわかったところで、リンクが必要な理由を簡単に説明しましょう。それらはどのような実用的な目的を果たしますか?

いくつかのユースケースが考えられます。コードと実行可能ファイルが付属するソフトウェアをダウンロードしたとします。すべてを/optに保持します ディレクトリ。ただし、プログラムをどこからでも実行するには、その実行可能ファイルを/usr/binに配置する必要があります。 ディレクトリ。

実行可能ファイルをこのディレクトリに移動すると、一部のコードにアクセスする必要があり、/usr/binからこれらのファイルへのパスが見つからないため、機能しない場合があります。 ディレクトリ。ここで、/usr/binにこの実行可能ファイルへのリンクを作成できます。 ディレクトリ。

このようにして、プログラムはシステム上のどこからでも実行でき、プログラムの実行可能ファイルは元のプログラムフォルダに残ります。

リンクはLinuxの重要な部分です。それらはシステムの多くの場所で使用されています。 /libを見てください ディレクトリを作成すると、たくさんのソフトリンクが表示されます。

次は?

Linuxのリンクの概念に関連する次の記事を読むことを強くお勧めします。

  • ソフトリンクとは何ですか?
  • ハードリンクの詳細な説明
  • 壊れたシンボリックリンクを見つける
  • Linuxでのiノードの概念

このチュートリアルでlnコマンドを効果的に使用する方法を学んだことを願っています。質問や提案はいつでも歓迎します。


Linux
  1. Linuxでエイリアスを作成してエイリアスコマンドを使用する方法

  2. シンボリックリンクとハードリンクの違いは?

  3. Linuxでソフトリンクとハードリンクを作成する方法

  1. findコマンドを使用してLinux上のファイルとディレクトリを検索します

  2. Linux ファイル システムのソフト リンクとハード リンクとは

  3. Linuxのソフトリンクとハードリンクの違い

  1. Linuxでハードリンクとシンボリックリンクを作成する方法

  2. Linuxのハードリンクとソフトリンクの説明

  3. RHEL 7 – RHCSA 注:ハード リンクとソフト リンクを作成します。