Linux lnコマンドの使用

Linux lnコマンドの使用

1. コマンドの紹介

ln コマンドは、ファイルのリンクを作成するために使用されます。リンクは、ハード リンクとソフト リンク (シンボリック リンク) に分かれています。デフォルトではハード リンクが作成されます。ソフト リンクを作成する場合は、-s オプションを使用する必要があります。この記事では GNU バージョンの実装について説明します。他のバージョン (POSIX バージョンなど) では実装が異なる場合があります。

知らせ:

(1)ハードリンクは独立したファイルではなく、単なるファイル名です。ファイルには複数のファイル名を付けることができ、ディスクから最後のファイル名を削除することによってのみファイルを削除できます。
(2) ソフトリンクはファイルシステムをまたぐことができますが、ハードリンクはファイルのエイリアスであり、独立したファイルではないため、ファイルシステムをまたぐことはできません。
(3) ディレクトリへのハードリンクを作成することはできません。ディレクトリへのハードリンクを作成すると、ディレクトリのinodeと物理ブロックがループを形成する可能性があるためです。この時点でディレクトリを削除すると、ディレクトリ エンティティ ブロックはシステムからアクセスできなくなり、分離されたディレクトリ (ルート ディレクトリからアクセスできなくなる) になります。
(4)ハードリンクを作成する場合、各ターゲットが存在している必要がある。ソフト リンクを作成する場合、ターゲット ファイルが存在する必要はありません。
(5) ソフトリンクは、Windows のショートカットと同様に、パス情報を含む独立したファイルです。そのプロパティの多くは元のファイルに依存するため、ソフトリンクファイルに権限を設定することは意味がありません。

2. コマンド形式

ln [オプション]... [-T] ターゲットリンク名 (第 1 形式)
ln [オプション]...ターゲット(第2形式)
ln [オプション]... ターゲット... ディレクトリ (3番目の形式)
ln [オプション]... -t ディレクトリターゲット... (4番目の形式)

最初の形式では、指定されたターゲット ファイルに指定された名前のリンクが作成されます。これは最も一般的に使用される形式です。
2 番目の形式では、指定されたターゲット ファイルに対して現在のディレクトリに同じ名前のリンクが作成されます。
3 番目と 4 番目の形式では、各ターゲット ファイルに対して指定されたディレクトリに同じ名前のリンクが作成されます。

3. オプションの説明

長いオプションの必須引数は、短いオプションでも必須です。

--backup[=コントロール]
	既存のターゲットファイルをすべてバックアップする -b
	--backup に似ていますが、-d、-F、--directory パラメータは受け付けません。
	スーパーユーザーがディレクトリのハードリンクを作成できるようにします (注: システムの制限により、スーパーユーザーでも失敗する場合があります)
-f、--force は、
	ファイルまたはディレクトリへのリンクを強制的に作成します。リンクと同じ名前のファイルまたはディレクトリは上書きされます -i, --interactive
	既存のファイルを上書きする前にユーザーに確認する -L, --logical
	ハードリンクを作成するときに、ターゲットファイルがソフトリンクの場合は、それを逆参照してソフトリンクのターゲットファイルを指すようにします -n、--no-dereference
	ソフトリンクを通常のファイルとして扱い、参照解除しない -P, --physical
	ハードリンクを作成するときは、ソフトリンクのターゲットファイルではなく、ソフトリンク自体を直接ポイントします(デフォルト)
-r, --相対
	リンクの場所に相対的なシンボリックリンクを作成します -s, --symbolic
	ハードリンクの代わりにソフトリンクを作成します -S, --suffix=SUFFIX
	バックアップ ファイルのサフィックスを変更します。 -bパラメータを使用してターゲットファイルをバックアップした後、バックアップファイルのサフィックスはデフォルトで~になります。
-t, --target-directory=ディレクトリ
	リンクファイルが保存されているディレクトリを指定します -T, --no-target-directory
	LINK_NAME をリンクファイルを含むディレクトリではなくリンクファイルとして扱う -v, --verbose
	コマンド実行プロセスを表示する --help
	ヘルプを表示して終了 --version
	バージョンを表示して終了

オプション --backup のパラメータ CONTROL は、バックアップ後にファイルのバージョンが生成される方法を制御します。可能な値は次のとおりです。

なし、ゼロ
	番号をバックアップしないでください。
	スクロールするには数値サフィックスを使用します。バックアップファイル名のサフィックスは、~1~の順に増加します。
既存、なし
	数字のサフィックスが使用されている場合は、その数字を使用し、そうでない場合は、単純なバックアップ方法を使用します。つまり、一度だけ簡単にバックアップし、
	シンプルなバックアップ方法のみを使用する

オプション -s を使用してソフト リンクを生成する場合、オプション -L および -P は無視され、ハード リンクが作成されます。-P オプションは、ハード リンクをソフト リンク自体にポイントするためにデフォルトで使用され、これはソフト リンクにエイリアスを付与することと同じです。

4. 一般的な例

(1)/etc/passwdファイルへのソフトリンクを作成します。

ln -s /etc/passwd passwdSoftLink

ll パスワードソフトリンク
lrwxrwxrwx 1 root root 11 11月13日 22:21 passwdSoftLink -> /etc/passwd

(2)ファイル/etc/passwdに複数のソフトリンクを作成します。ソフトリンクの名前は同じで、数字はバックアップファイルのバージョン番号を表すために使用されます。バックアップが複数ある場合、バージョン番号は順番に増加します。

ln -s --backup=番号付き /etc/passwd passwdSoftLink

ll パスワードソフトリンク*
lrwxrwxrwx 1 root root 11 11月14日 10:36 passwdSoftLink -> /etc/passwd
lrwxrwxrwx 1 root root 11 11月14日 10:36 passwdSoftLink.~1~ -> /etc/passwd

(3)存在しないファイルへのソフトリンクを作成する。

ln -s nofile nofileソフトリンク

ll コマンドを使用してソフト リンクを表示すると、ソフト リンク名は赤になり、存在しないターゲット ファイル名は赤い背景に白いテキストで継続的に点滅します。

ソフトリンク nofileSoftLink にコンテンツを書き込んで保存すると、ファイル nofile が生成されます。

(4)/etc/passwdのハードリンクを作成します。

ln /etc/passwd passwdHardLink

ll -i /etc/passwd passwdHardLink
787795 -rw-r--r-- 2 ルート ルート 1552 2019年1月4日 /etc/passwd
787795 -rw-r--r-- 2 ルート ルート 1552 2019年1月4日 passwdHardLink

ll コマンドを使用して 2 つのファイルを表示すると、最初の列の inode 番号は同じで、3 番目の列のハード リンクの数は 2 であり、ファイルのデータ エンティティを指すファイル名が 2 つあることがわかります。

(5)/etc/passwdと同じ名前のソフトリンクを作成し、そのソフトリンクを現在のディレクトリに配置します。つまり、3 番目と 4 番目のコマンド形式を使用して、ファイルへのリンクを作成します。

ln -s /etc/passwd 。

# または ln -s -t . /etc/passwd

# ll パスワードを表示
lrwxrwxrwx 1 root root 11 11月14日 10:43 passwd -> /etc/passwd

ターゲット ファイルを書き込むときは、パスをターゲット ディレクトリに対して相対的にするか、絶対パスを使用する必要があることに注意してください。そうしないと、ソフト リンクはターゲット ファイルを指すことができません。

(6)作成したリンクファイルと同じ名前のファイルが存在する場合は、バックアップせずに強制的に上書きします。

ln -sf /etc/passwd passwdSoftLink

(7)ソフトリンクを新しいターゲットファイルを指すように変更します。ソフト リンク passwdSoftLink を /usr/bin/passwd にポイントし、ソフト リンクを再確立して、元のソフト リンク passwdSoftLink を強制的に上書きします。

ln -sf /usr/bin/passwd passwdSoftLink

ll パスワードソフトリンク
lrwxrwxrwx 1 root root 15 Nov 14 10:52 passwdSoftLink -> /usr/bin/passwd

上記は Linux ln コマンドの使用に関する詳細な内容です。Linux ln コマンドの詳細については、123WORDPRESS.COM の他の関連記事をご覧ください。

以下もご興味があるかもしれません:
  • Linux gzipコマンドの使用
  • Linux userdel コマンドの使用法
  • Linuxのdateコマンドの使用
  • Linuxコマンドをバックグラウンドで実行する方法
  • Linux statコマンドの使用
  • Linux lsコマンドの使用
  • Linux の cut コマンドの説明
  • Linux bzip2 コマンドの使用

<<:  MySql の 4 つのトランザクション分離レベルについて簡単に説明します。

>>:  Vue + OpenLayers クイックスタートチュートリアル

推薦する

HTML シンプルな Web フォーム作成例の紹介

<input> はユーザー情報を収集するために使用され、終了ステートメントはありません。...

MySQL はどのようにしてマスターとスレーブの一貫性を確保するのでしょうか?

目次MySQLマスタースレーブの基本原理3つのbinlog形式の比較混合形式のバイナリログが存在する...

Windows Server 2016 に Docker をインストールする方法

最近、Microsoft は Docker をネイティブにサポートする Windows Server...

MySQL での varchar 型の日付の比較、並べ替え、その他の操作の実装

MySQL を使用する場合、日付は通常、datetime や timestamp などの形式で保存さ...

MySQL 最適化 Zabbix パーティション最適化

zabbix を利用する上での最大のボトルネックはデータベースです。zabbix のデータストレージ...

Docker を使用してスタンドアロン Pulsar とクラスター化された Redis をデプロイする方法 (開発アーティファクト)

目次1. はじめに: 2. ドッカー: 1 カスタムネットワーク2 展開を開始する3 ネットワークを...

ウェブサイトのテキストはまだデザインする必要がありますか?

多くの人が、ウェブサイト上のテキストはデザインする必要があるのか​​と疑問に思うかもしれません。多く...

XHTML の珍しいが便利なタグ

Xhtml には、あまり使用されないが非常に便利なタグが多数あります。半分の労力で 2 倍の結果を達...

VMware Tools を最初からインストールするための詳細な手順 (グラフィック チュートリアル)

VMware Tools は VMware 仮想マシンに付属するツールで、VirtualBox (...

LeetCode の SQL 実装 (197. 気温上昇)

[LeetCode] 197.気温上昇Weather テーブルが指定されている場合、前の日付 (昨...

安全な構成のためにDockerでTLSを有効にする手順

序文以前、Docker の 2375 Remote API を有効にしていました。会社のセキュリティ...

CentOS/RHEL システムで VLAN タグ付きイーサネット カードを使用する方法

シナリオによっては、Linux サーバー (CentOS/RHEL) の同じイーサネット カード (...

vue keep-alive の簡単な概要

1. 機能主にコンポーネントの状態を保持したり、再レンダリングを回避したりするために使用されます。 ...

sql_mode を変更する際の MySQL エラーの解決方法

目次ERR 1067による殺人事件2番目の問題の原因はsql_modeです3. sql_modeを設...

Vue のドロップダウン ボックスのセカンダリ リンク効果を実装するためのサンプル コード

1. 成果を達成する 2. バックエンドから返されるデータ形式 「リスト」: [ { "i...