Bashプログラミング
 Computer >> コンピューター >  >> プログラミング >> Bashプログラミング

Linux でのハード リンクとシンボリック リンクをマスターする:ステップバイステップ ガイド

Linux などの Unix 系オペレーティング システムでは、「すべてがファイル」であり、ファイルは基本的に i ノード (名前と実際の内容以外のファイルに関するすべてを保存するデータ構造) へのリンクです。

ハード リンクは、別のファイルと同じ基礎となる i ノードを指すファイルです。ファイルを 1 つ削除すると、基になる i ノードへのリンクが 1 つ削除されます。一方、シンボリック リンク (ソフト リンクとも呼ばれる) は、ファイル システム内の別のファイル名へのリンクです。

こちらもお読みください :ファイルとディレクトリの管理を実行する方法

2 つのタイプのリンクのもう 1 つの重要な違いは、ハード リンクは同じファイル システム内でのみ機能するのに対し、シンボリック リンクは異なるファイル システム間で動作できることです。

Linux でハード リンクを作成する方法

Linux でハード リンクを作成するには、ln ユーティリティを使用します。 。たとえば、次のコマンドは tp という名前のハード リンクを作成します。 ファイル topprocs.sh に .

$ ls -l
$ ln topprocs.sh tp
$ ls -l
Linux でのハード リンクとシンボリック リンクをマスターする:ステップバイステップ ガイド ファイルへのハード リンクを作成する

ls コマンドを使用して上記の出力を見ると、新しいファイルはリンクとして示されず、通常のファイルとして表示されます。これは、tp を意味します。 これは、topprocs.sh と同じ基礎となる i ノードを指す、単なる別の通常の実行可能ファイルです。 .

ハード リンクを直接ソフト リンクにするには、-P を使用します。 このようなフラグを立てます。

$ ln -P topprocs.sh tp

Linux でシンボリック リンクを作成する方法

Linux でシンボリック リンクを作成するには、同じln ユーティリティを使用します。 -s を使用 スイッチ。たとえば、次のコマンドは topps.sh という名前のシンボリック リンクを作成します。 ファイル topprocs.sh に .

$ ln -s ~/bin/topprocs.sh topps.sh
$ ls -l topps.sh
Linux でのハード リンクとシンボリック リンクをマスターする:ステップバイステップ ガイド ファイルへのシンボリック リンクの作成

上記の出力から、ファイル権限セクションから topps.sh が示されていることがわかります。 l: で示されるリンクです。 つまり、別のファイル名へのリンクです。

シンボリック リンクがすでに存在する場合、エラーが発生する可能性があります。操作を強制するには (既存のシンボリック リンクを削除するには)、-f を使用します。 オプション。

$ ln -s ~/bin/topprocs.sh topps.sh
$ ln -sf ~/bin/topprocs.sh topps.sh
Linux でのハード リンクとシンボリック リンクをマスターする:ステップバイステップ ガイド シンボリック リンクを強制的に作成する

詳細モードを有効にするには、-v を追加します。 フラグを使用して、リンクされた各ファイルの名前を出力に出力します。

$ ln -sfv ~/bin/topprocs.sh topps.sh
$ $ls -l topps.sh
Linux でのハード リンクとシンボリック リンクをマスターする:ステップバイステップ ガイド コマンド出力の詳細を有効にする

それがそれです!次の関連記事をぜひチェックしてください。

<オル>
  • fdupes – Linux で重複ファイルを検索して削除するコマンドライン ツール
  • Linux でファイルの種類とシステム時間を管理するための 5 つの便利なコマンド
  • この記事では、Linux でハード リンクとシンボリック リンクを作成する方法を学びました。以下のフィードバック フォームを使用して、このガイドについて質問したり、ご意見を共有したりできます。

    Linux スキルを次のレベルに引き上げましょう

    ルート メンバーは、すべてのコース、認定準備トラック、および毎月新しいコースが追加される増大する実践的な Linux コンテンツのライブラリに完全にアクセスできます。

    得られるもの

    すべてのプレミアム記事に広告なしでアクセス

    すべてのコースへのアクセス:Linux、Linux 用 AI、Bash スクリプト、Ubuntu ハンドブック、Golang などを学習します。

    Linux 認定資格 (RHCSA、RHCE、LFCS、LFCA) へのアクセス

    リリース時に新しいコースにアクセス

    週刊ニュースレターにアクセスしてください

    コメント内の優先ヘルプ

    プライベート Telegram コミュニティ

    Linux コミュニティとつながる

    Linux でのハード リンクとシンボリック リンクをマスターする:ステップバイステップ ガイド

    Aaron Kili は、Linux と F.O.S.S の愛好家であり、将来の Linux システム管理者、ウェブ開発者であり、現在は TecMint のコンテンツ クリエイターでもあります。コンピュータでの作業が大好きで、知識を共有することを強く信じています。

    TecMint の各チュートリアルは、経験豊富な Linux システム管理者のチームによって作成されています そのため、当社の高品質基準を満たしています。


    1. Linux chmod Recursive:ファイルのパーミッションを再帰的に変更する方法

      Linuxの場合chmod コマンドを使用すると、すべてのファイルとディレクトリのファイル権限を再帰的に変更できます。このガイドではその方法について説明します。 以前に次のエラーが発生した可能性があります。 111 [Permission Denied] "Linux-Screw" [Permission Denied] "Linux-Screw" [readonly] どのシステムファイルでも、sudoを使用してファイルを編集することをお勧めします。これにより、すべてのシステムコンテキストを保持できます。ユーザーファイルで日常的に使用する場合は、権限を変更

    2. シェルスクリプトでの「Linux変数」の理解と記述–パート10

      Linuxシェルスクリプト言語は常にホットな話題であり、将来的には常にそうなるでしょう。シェルスクリプト言語は魔法のようで、他の言語と同じようにスクリプト言語でプログラムを実行するのはとても簡単です。ただし、私たちが行っていることと、その結果が期待されることについての深い知識が必要です。 私たちが読者のために書いたすべてのシェルスクリプトの記事は、最後の記事「Linux変数の洞察」を含めて高く評価されています。前回の記事を新しいレベルに拡張します。 変数属性 Linux環境の各変数には特定のオプションがあり、それらは「属性」と呼ばれます。これらのオプションまたは属性は、オンにすることがで