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

推薦する

一般的でない js 演算演算子の概要

目次2. カンマ演算子3. JavaScript Null 結合演算子 (??) 4. JavaSc...

Vue3におけるキーの役割と動作原理についての簡単な説明

このキー属性の機能は何ですか?まずは公式の説明を見てみましょう。 kekey 属性は主に、新しいノー...

MySQL で戻り値ありと戻り値なしのストアド プロシージャを書く 2 つの方法

プロセス1: 戻り値あり: proc_addNum が存在する場合はプロシージャを削除します。 プロ...

Vue はカスタム「モーダル ポップアップ ウィンドウ」コンポーネントのサンプル コードを実装します

目次序文レンダリングサンプルコード要約する序文ダイアログ ボックスは非常に一般的なコンポーネントであ...

ページ内のリストプルダウン効果を実現するための純粋なCSS

次のような効果がよく見られます。 そうです、ページ上でよく使われる「展開と折りたたみ」のインタラクシ...

一定期間の日ごと、時間ごとの統計データを取得するMySQLの詳しい説明

毎日の統計情報を取得するプロジェクトを実行する際、プロジェクト ログを分析する必要があります。要件の...

HTMLにおける絶対パスと相対パスの違いの分析

図に示すように: 1 つのページには多数のファイルが接続されているため、ファイルを参照するときには、...

JavaScript を使用してページに動的な検証コードを実装する例

導入:現在、プログラム攻撃を防ぐために、ユーザーがログインまたは登録するときに多くの動的検証テクノロ...

Linux サーバーのグラフィック カードのクラッシュの解決策

ログインインターフェースの解像度が特に大きい場合、グラフィカルインターフェース全体が特に大きくなり、...

HTML フォームとフォーム内部タグの使用

コードをコピーコードは次のとおりです。 <html> <ヘッド> <t...

Linux コンパイル最適化で習得しなければならないいくつかの姿勢のまとめ

01. コンパイルオプションとカーネルコンパイルLinux カーネル (英語: linux kern...

WeChatアプレット開発の章:落とし穴の記録

最近、会社初のミニプログラムの開発に参加しました。開発経験は基本的にWebViewをベースとしたハイ...

MySQL のデータ型とフィールド属性の原理と使用法の詳細な説明

この記事では、MySQL のデータ型とフィールド属性について説明します。ご参考までに、詳細は以下の通...

キープアライブキャッシュをクリアする方法の詳細なグラフィック説明

目次オープニングシーンv-for を使用した直接レンダリングカスタムコンポーネントで直接レンダリング...

5つのクールで実用的なHTMLタグと属性の紹介

実はこれもクリックベイトのタイトルであり、「派手」とは言えません。ただ私が無知で、こうしたラベルを見...