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 クイックスタートチュートリアル

推薦する

フォアマン Ubuntu16 クイックインストール

クイックスタートガイドForeman インストーラーは、完全に機能する Foreman セットアップ...

Alibaba CloudがCloud Shieldから無料のSSL証明書(https)を申請

プロジェクトでは https サービスを使用する必要があるため、Alibaba Cloud では無料...

Docker パッケージング ノード プロジェクトのプロセスの説明

バックエンド プログラマーとして、フロントエンドのものをいじらなければならないこともあります。そこで...

vueプロジェクトのマルチ環境設定(.env)の実装

目次マルチ環境構成とは何ですか? また、なぜそれが必要なのですか? .env ファイルはどこで設定さ...

JavaScript 配列の include と Reduce の基本的な使用法

目次序文配列.プロトタイプ.includes文法パラメータ戻り値例配列プロトタイプの削減文法パラメー...

Linux Zabbixカスタム監視およびアラーム実装プロセスの分析

ターゲットzabbix フロントエンド監視の iostat コマンドでデータの 1 つを表示します。...

JavaScript 中断要求に対するいくつかの解決策の詳細な説明

目次1 約束呼び出しチェーンを中断する約束を破る中止メソッドのラッピング - Axios の Can...

CSSカスケーディングメカニズムについての簡単な説明

CSS にカスケード メカニズムがあるのはなぜですか? CSS では、同じ要素の特定のプロパティに同...

MySQL マルチテーブルクエリの詳細な説明

よく食べて十分に休息を取るというのは簡単なことのように思えますが、実際に実行するのはそれほど簡単では...

HTML タグに類似: strong および em、q、cite、blockquote

XHTML には似た機能を持つタグがいくつかあります。もちろん、ここでの類似性とは意味の類似性を指...

MySQL の int、char、varchar のパフォーマンスを比較する

インターネットには、真実のように見える「噂」がたくさんあります。もちろん、悪意のあるものではありませ...

MySql インデックスはクエリ速度を向上させる一般的な方法のコード例

インデックスを使用してクエリを高速化する1. はじめにWeb 開発には、ビジネス テンプレート、ビジ...

Docker5フル機能の港湾倉庫構築プロセス

Harbor は、Docker イメージを保存および配布するためのエンタープライズ レベルのレジスト...

Vue で手ぶれ補正を実装するためのサンプルコード

手ぶれ防止: 繰り返しのクリックによるイベントのトリガーを防止まず、揺れとは何でしょうか? 震えるの...

この記事では、CSSの2列レイアウトと3列レイアウトの具体的な使い方をまとめます。

序文大規模なフロントエンドの開発に伴い、UI フレームワークが次々と登場し、フロントエンド開発におけ...