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

Lnコマンドを使用してLinuxでシンボリックリンクを作成する方法

シンボリックリンクは一般にソフトリンクと呼ばれます またはシンボリックリンク 、これは別のファイルまたはディレクトリを参照する特殊なタイプのファイルです。

このガイドでは、lnコマンドを使用してLinuxでシンボリックリンクを作成し、ファイル間にリンクを作成する方法を学習します。

リンクの種類

Linuxには、ソフトリンクとハードリンクの2種類のリンクがあります。

ハードリンク: ハードリンクは、元のファイルのレプリカです。ターゲットファイル内のデータへのアクセスを提供します。ユーザーは、ファイルに対してのみ、ディレクトリのハードリンクを作成できません。さらに、ハードリンクされたファイルには共通のiノード番号があります。元のファイルが削除または削除されると、ハードリンクは引き続き機能し、削除されたファイルの内容が含まれます。ハードリンクは異なるファイルシステムにまたがらないことに注意することも重要です。

ソフトリンク: ハードリンクとは異なり、ソフトリンクは単にファイル名へのポインタであり、別のファイルの内容や参照されているターゲットファイルは含まれていません。ターゲットファイルが削除または削除されると、ソフトリンクは存在しなくなります。ソフトリンクの良い面は、ファイルまたはディレクトリへのリンクに使用でき、さまざまなファイルシステムにまたがることができることです。

lnコマンドの使用方法

lnコマンドは、ファイル間のリンクを作成するために使用されます。このコマンドは、デフォルトでハードリンクを作成します。ソフトリンクを作成するには、 -sを追加するだけです。 オプション(-シンボリック

構文:

ln [OPTION] TARGET LINK_NAME

混乱を避けるために、シンボリックリンクを作成するときは、ソースファイルとターゲットファイルの絶対パス(相対パス)を使用してください。

ファイルへのシンボリックリンクを作成する方法

ファイルへのシンボリックリンクを作成するには、次のコマンドを実行します。

$ ln -s { OPTIONS } file symlink

ファイルとシンボリックリンクの両方が定義されている場合、lnコマンドはファイルからリンクを作成します。 これは、2番目の引数シンボリックリンクで定義されたファイルの最初の引数です。 。

たとえば、ファイルへのシンボリックリンクを作成するには、構文

を使用します。
$ ln -s  original_file symlink

注:lnは、成功しても出力を返しません。

コマンドで、 original_fileを置き換えます シンボリックリンクとシンボリックリンクを作成する既存のファイルを使用します シンボリックリンク付き。

実際の例を見てみましょう:

$ ln -s  file1.txt   sample_link.txt

上記のコマンドは、現在のディレクトリにある既存のファイル「file1.txt」への「sample_link.txt」というシンボリックリンクを作成します。

リンクの作成を確認するには、次のようにlsコマンドを使用します。

$ ls -l sample_link.txt

出力は、以下のようになります。

lrwxrwxrwx 1 winnie  winnie 9 Jul 12 23:43 sample_link.txt -> file1.txt

権限では、l フラグは、これがシンボリックリンクであり、文字- >であることを示します。 シンボリックリンクがファイルfile1.txtを指していることを示します 。

パスの問題が原因でシンボリックリンクが機能しない場合があります。フルパスを使用することをお勧めします:

# absolute (full path)
ln -s /path/to/originals/originalfile1.txt backup/copy.txt

# relative
cd backup
ln -s ../originals/originalfile1.txt copy.txt

ディレクトリへのシンボリックリンクを作成する方法

ディレクトリへのシンボリックリンクの作成は、ファイルへのシンボリックリンクを作成するのと同じくらい簡単です。構文はほとんど同じです。最初の引数はディレクトリの名前を取り、シンボリックリンクは2番目の引数として指定されます。

以下の構文は、これを実行する方法の例です。

$ ln -s  /path/to/directory  ~/directory

たとえば、ディレクトリ / Downloads / music /からシンボリックリンクを作成するには 〜/ my_musicへ コマンドを実行します:

$ ln -s  /Downloads/music  ~/my_music

シンボリックリンクを上書きする方法

lnコマンドを呼び出すだけでシンボリックリンクを上書きする 追加の引数がないと、次のように常にエラーが発生します:

たとえば、次のコマンドをもう一度実行しようとすると:

$ ln -s  file1.txt   sample_link.txt

表示されるエラーが表示されます:

ln: failed to create symbolic link 'sample_link.txt': File exists

この問題の回避策は、別のオプションを導入することです -f または-force 図のようにシンボリックリンクの宛先パスを上書きするには:

$ ln -sf  file1.txt   sample_link.txt

今回は、ソフトリンクを上書きしてもエラーは発生しません。

シンボリックリンクを削除する方法

Linuxまたはシンボリックリンクのシンボリックリンクを削除するには、rmコマンドまたは unlinkのいずれかを使用できます。 指図。そして、それは非常に簡単です。 リンク解除の場合 コマンドで、以下の構文を使用してシンボリックリンクを削除します。

$ unlink symlink_to_be_removed

rmコマンドを使用してソフトリンクを削除することは、通常のファイルを削除または削除する場合とまったく同じです。

$ rm symlink_to_be_removed

シンボリックリンクは重要ですか?

次のいずれかを実行する場合は、通常、ファイルへのシンボリックリンクを作成することをお勧めします。

  1. 重複コピーを作成せずに、複数の場所からファイルにアクセスできます。これにより、必然的に多くのディスク容量が消費される可能性があります。
  2. ファイルの元のバージョンを保持し、リンクがファイルの最新バージョンを指していることを確認する場合。これが機能するのは、ファイルを同じファイル名の別のファイルに置き換えた後でも、シンボリックリンクがアクティブなままであるためです。

Linuxプログラムは、ユーザーが使用されているコードのバージョンを知る必要がないように、エイリアスとしてシンボリックリンクを使用します。

# which python
/usr/bin/python
# ls -l /usr/bin/python
lrwxrwxrwx. 1 root root 7 Feb 21 13:38 /usr/bin/python -> python2

結論

シンボリックリンクと標準のショートカットは似ていますが、2つの間にいくつかの違いがあります。

Windowsにあるような標準のショートカットは、特定のディレクトリ、ファイル、またはアプリケーションを指す通常のファイルです。このショートカットは通常、任意の場所に作成できるアイコンとして表示され、クリックすると元のファイル、ディレクトリ、またはアプリケーションが開きます。

シンボリックリンクは、実際には機能的な意味で元のファイルを表します。これは、ファイルなどのオブジェクトの直接の代替品です。 Linuxシステムは、Linuxシンボリックリンクをターゲットオブジェクトであるかのように読み取ります。通常のショートカットは、ファイルまたはディレクトリを参照するだけで、他には何もしません。

Linuxでシンボリックリンクを作成する方法については以上です。詳細については、lnmanを参照してください。読んで楽しんでいただければ幸いです。コメントや提案を残してください。


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

  2. Linuxコマンドのスクリプトを作成する方法

  3. Linux で mail コマンドを使用してファイルを添付するには?

  1. Linux で Snapper コマンドを使用してファイルシステムのスナップショットを作成する方法

  2. Linux で「split」コマンドを使用して iso またはファイルを分割する方法

  3. 「dd」コマンドを使用して Linux でスパース ファイルを作成する方法

  1. ターミナル/コマンドラインを使用してLinuxでファイルを作成する方法

  2. Lnコマンド:Linuxでシンボリックリンクを作成する方法

  3. Linuxでシンボリックリンクを作成する方法