LinuxなどのUnixライクなオペレーティングシステムでは、「すべてがファイル」であり、ファイルは基本的にiノード(名前と実際のコンテンツを除くファイルに関するすべてを格納するデータ構造)へのリンクです。
ハードリンクは、別のファイルと同じ基になるiノードを指すファイルです。 1つのファイルを削除すると、基になるiノードへのリンクが1つ削除されます。一方、シンボリックリンク(ソフトリンクとも呼ばれます)は、ファイルシステム内の別のファイル名へのリンクです。
また読む :ファイルとディレクトリの管理を実行する方法
2つのタイプのリンクのもう1つの重要な違いは、ハードリンクは同じファイルシステム内でのみ機能し、シンボリックリンクは異なるファイルシステム間を移動できることです。
Linuxでハードリンクを作成する方法
Linuxでハードリンクを作成するには、lnユーティリティを使用します。 。たとえば、次のコマンドはtp
という名前のハードリンクを作成します ファイルtopprocs.sh
に 。
$ ls -l $ ln topprocs.sh tp $ ls -l </ pre>![]()
![]()
上記の出力を見ると、lsコマンドを使用すると、新しいファイルはリンクとして示されておらず、通常のファイルとして示されています。これは、
tp
がtopprocs.sh
と同じ基になるiノードを指すもう1つの通常の実行可能ファイルです。 。ハードリンクを直接ソフトリンクにするには、
-P
を使用します このようなフラグ。$ ln -P topprocs.sh tpLinuxでシンボリックリンクを作成する方法
Linuxでシンボリックリンクを作成するには、同じlnユーティリティを使用します。
-s
を使用 スイッチ。たとえば、次のコマンドはtopps.sh
という名前のシンボリックリンクを作成します ファイルtopprocs.sh
に 。$ ln -s〜/ bin / topprocs.sh topps.sh $ ls -l topps.sh![]()
![]()
上記の出力から、ファイルパーミッションセクションから
topps.sh
であることがわかります。l:
で示されるリンクです 別のファイル名へのリンクであることを意味します。シンボリックリンクがすでに存在する場合は、エラーが発生する可能性があります。操作を強制する(既存のシンボリックリンクを削除する)には、
-f
を使用します。 オプション。$ ln -s〜/ bin / topprocs.sh topps.sh $ ln -sf〜/ bin / topprocs.sh topps.sh![]()
![]()
詳細モードを有効にするには、
-v
を追加します フラグを使用して、リンクされた各ファイルの名前を出力に出力します。$ ln -sfv〜/ bin / topprocs.sh topps.sh $ $ ls -l topps.sh![]()
![]()
それでおしまい!以下の関連記事をチェックしてください。
- fdupes –Linuxで重複ファイルを検索および削除するためのコマンドラインツール
- Linuxでファイルタイプとシステム時間を管理するための5つの便利なコマンド
この記事では、Linuxでハードリンクとシンボリックリンクを作成する方法を学びました。以下のフィードバックフォームから、このガイドについて質問したり、考えを共有したりできます。
Linux