Linux のソフト リンクとハード リンクに違いはありますか?

青灯夜游
リリース: 2021-11-22 18:13:17
オリジナル
18077 人が閲覧しました

Linux では、ソフト リンクとハード リンクには違いがあります。その違いは次のとおりです: 1. ソフト リンクはパスの形式で存在し、ハード リンクはファイル コピーの形式で存在します。2. ソフト リンクは次のとおりです。 ;3. ソフト リンクはディレクトリにリンクできますが、ハード リンクはできません。

Linux のソフト リンクとハード リンクに違いはありますか?

#このチュートリアルの動作環境: CentOS 6 システム、Dell G3 コンピューター。

ln は、Linux のもう 1 つの非常に重要なコマンドです。その機能は、別の場所にある特定のファイルに対する同期リンクを確立することです。別のディレクトリで同じファイルを使用する必要がある場合、ファイルは、必要なすべてのディレクトリに同じである必要があります。ファイルを固定ディレクトリに配置し、ln コマンドを使用して他のディレクトリにリンクするだけです。これを繰り返す必要はありません。占有されるディスク領域。

1.コマンド形式:

 ln [参数][源文件或目录][目标文件或目录]
ログイン後にコピー

2.コマンド機能:

Linux ファイル システムには、ファイルのエイリアスとみなすことができるいわゆるリンクがあり、リンクは 2 つのタイプに分類できます。ハード リンク (ハード リンク) とソフト リンク (シンボリック リンク)。ハード リンクは、ファイルに複数の名前を付けることができることを意味し、ソフト リンクは、コンテンツが別のファイルの場所を指す特別なファイルを生成します。ハード リンクは同じファイル システム内に存在しますが、ソフト リンクは異なるファイル システムにまたがることができます。

ソフト リンク:

  • ソフト リンクはパスの形式で存在します。 Windows オペレーティング システムのショートカットと同様です

  • ソフト リンクはファイル システムを横断できますが、ハード リンクはできません

  • ソフト リンクは別のファイルを横断できますシステム 既存のファイル名をリンクします

  • ソフト リンクでディレクトリをリンクできます

ハード リンク:

  • ハード リンクはファイル コピーの形式で存在します。しかし、実際のスペースは必要ありません。

  • #ディレクトリへのハード リンクを作成することはできません

  • #ハード リンクは同じファイル システム内でのみ作成できます
  • ここで注意すべき点が 2 つあります。

まず、ln コマンドは、リンクされた各ファイルの同期を維持します。つまり、どこを変更しても、他のファイルも同期します。同じ変更;

2 番目に、ln リンクはソフト リンクとハード リンクに分かれています。ソフト リンクは ln -s ソース ファイル ターゲット ファイルであり、選択した場所にのみファイルを生成します。ミラー、ディスク領域を占有しません。ソース ファイル、ターゲット ファイルにハード リンクします。パラメータ -s を指定しない場合、ソフト リンクかハード リンクかに関係なく、選択した場所にソース ファイルと同じサイズのファイルが生成されます。すべてが同期して変化し続けます。

ln コマンドは、ファイルまたはディレクトリをリンクするために使用されます。2 つ以上のファイルまたはディレクトリが同時に指定され、最終的な宛先が既存のディレクトリである場合、以前に指定されたすべてのファイルまたはディレクトリがコピーされます。このディレクトリにあります。複数のファイルまたはディレクトリを同時に指定し、最終的な宛先が既存のディレクトリではない場合、エラー メッセージが表示されます。

3.コマンドパラメータ: 必須パラメータ:

-b 以前に確立されたリンクを削除して上書きします

-d スーパー ユーザーがディレクトリへのハード リンクを作成できるようにします

-f

-i 対話モードを強制的に実行し、ファイルが存在する場合は上書きするかどうかをユーザーに確認します。

#-n シンボリック リンクを通常のディレクトリとして扱います

-s ソフトリンク (シンボリックリンク)

-v 詳細な処理プロセスの表示

パラメータの選択:

-S “-S” または “ --suffix=<サフィックス バックアップ文字列>"

-V "-V<バックアップ方法>" または "--version-control=<バックアップ方法>"

--helpヘルプ情報の表示

##--version バージョン情報の表示

##4.使用例:

例 1: ファイルへのソフト リンクを作成するソフト リンク作成の相対パスの問題を詳しく説明するために、まず次のことを行います。いくつかの詳細なポイントを作成します。 フォルダー

mkdir -p /app/a{1..3}/b{c..f}
ログイン後にコピー

おおよその階層構造を確認できます。app ディレクトリと etc ディレクトリは両方ともルート ディレクトリの下にあります。

#ルート ディレクトリを指定すると仮定します app/a1/bc をダウンロードし、ルート ディレクトリ内の /magedu/ZD/2g/login.bat の場所を指すソフト リンクを作成します。その後、ソフト リンクは次のように記述する必要があります

ln -s ../../../magedu/ZD/2g/login.bat /app/a1/bc/softlink1
ログイン後にコピー

多くの学生は、このターゲット パスについて混乱するでしょう。ファイルまたはフォルダーへの相対パスを記述する方法、ファイルまたはフォルダーへの相対パスは、ソフト リンクが配置されているフォルダーに基づいて指定する必要があります。このファイルを基準としたシステムへの相対パス。

この例では、ソフト リンクが配置されているディレクトリはルート ディレクトリの app/a1/bc です。この bc フォルダがベース フォルダです。ここから 1 つ上のレベルに進み、a1 に戻ります。構文は次のとおりです。 ../ を作成し、1 レベル上に移動します。アプリ フォルダーに移動し、別の ../ を追加します。magedu はルート ディレクトリにあるため、ルート ディレクトリの 1 レベル、つまり 3 つ目の ../ に戻る必要があります。ルート ディレクトリはそれを表現する方法を知っています。次のステップは、ソース ファイルへのポイントを順番に貼り付けることです。絶対パス アドレスです。多層ディレクトリの作成方法を知っていれば、浅いディレクトリについて話す必要はありません。

作成したリンクに問題があるかどうかを確認する方法は、ソフト リンク ディレクトリに移動し、ls をチェックして、ソフト リンク名のファイルが水色かどうかを確認します。

関連する推奨事項: 「Linux ビデオ チュートリアル

以上がLinux のソフト リンクとハード リンクに違いはありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート