GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでソフトリンクとハードリンクを作成する方法

Linuxベースのオペレーティングシステムのリンクは、ファイルまたはディレクトリを指します。リンクを使用すると、複数のファイル名で同じファイルを参照できます。リンクには、ソフトリンクとハードリンクの2種類があります。簡単に言うと、ソフトリンクは元のファイルへの実際のリンクであり、ハードリンクは元のファイルのミラーコピーです。

元のファイルを削除した場合。ソフトリンクを介してそのコンテンツにアクセスすることはできません。一方、元のファイルを削除しても、ハードリンクを介してその内容にアクセスできます。ハードリンクのiノード番号とファイルのアクセス許可は同じですが、ソフトリンクのiノード番号とファイルのアクセス許可は異なります。

この投稿では、Linuxでソフトリンクとハードリンクを作成する方法を紹介します。

前提条件

  • Atlantic.Netクラウドプラットフォーム上の新しいUbuntu20.04サーバー
  • サーバーで構成されているrootパスワード

Atlantic.Netクラウドサーバーを作成する

まず、Atlantic.Netクラウドサーバーにログインします。 2GB以上のRAMを搭載したオペレーティングシステムとしてUbuntu20.04を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。

Ubuntu 20.04サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。

apt-get update -y

ソフトリンクを作成する

まず、次のコマンドを使用してsoftlinkという名前のディレクトリを作成します。

mkdir softlink

次に、normal_link.txtという名前のファイルを作成します:

cd softlink
echo "This is a softlink" > normal_link.txt

次に、ファイル normal_link.txtのソフトリンクを作成します :

ln -s normal_link.txt soft_link.txt

次に、両方のファイルの内容を確認します。

cat normal_link.txt

出力:

This is a softlink

そして

cat soft_link.txt

出力:

This is a softlink

ご覧のとおり、両方のファイルの内容は同じです。

次に、両方のファイルのiノード番号とアクセス許可を確認します。

ls -lia

両方のファイルのiノード番号と権限が異なることがわかります。

15866192 drwxrwxr-x  2 vyom vyom 4096 Apr 19 15:10 .
15466497 drwxrwxrwt 13 root root 4096 Apr 19 15:10 ..
15866186 -rw-rw-r--  1 vyom vyom   19 Apr 19 15:09 normal_link.txt
15866189 lrwxrwxrwx  1 vyom vyom   15 Apr 19 15:10 soft_link.txt -> normal_link.txt

次に、次のコマンドを使用して元のファイルを削除します。

rm -rf normal_link.txt

次に、ソフトリンクファイルの内容を確認します。

cat soft_link.txt

出力:

cat: soft_link.txt: No such file or directory

ご覧のとおり、そのようなファイルやディレクトリはありません。

ソフトリンクを削除する場合は、次のコマンドを実行します。

unlink soft_link.txt

ハードリンクを作成する

まず、次のコマンドを使用して、hardlinkという名前のディレクトリを作成します。

mkdir hardlink

次に、次のコマンドを使用してnormal_link.txtという名前のファイルを作成します。

cd hardlink
echo "This is a hard link" > normal_link.txt

次に、次のコマンドを使用してファイルのハードリンクを作成します。

ln normal_link.txt hard_link.txt

次に、両方のファイルの内容を確認します。

cat normal_link.txt

出力:

This is a hard link

そして

cat hard_link.txt

出力:

This is a hard link

次に、両方のファイルのiノードと権限を確認します。

ls -lia

両方のファイルに同じiノードと権限があることがわかります。

15866186 drwxrwxr-x  2 vyom vyom 4096 Apr 19 15:16 .
15466497 drwxrwxrwt 14 root root 4096 Apr 19 15:16 ..
15866190 -rw-rw-r--  2 vyom vyom   20 Apr 19 15:16 hard_link.txt
15866190 -rw-rw-r--  2 vyom vyom   20 Apr 19 15:16 normal_link.txt

次に、元のファイルにコンテンツを追加してみます。

echo "I am adding some content" >> normal_link.txt

次に、ハードリンクの内容を確認します:

cat hard_link.txt

元のファイルに加えた変更が両方のファイルで更新されていることを確認する必要があります。

This is a hard link
I am adding some content

次に、元のファイルを削除します:

rm -rf normal_link.txt

次に、ハードリンクの内容を確認します:

cat hard_link.txt

ファイルの内容は引き続き表示されます:

This is a hard link
I am adding some content

ハードリンクを削除する場合は、次のコマンドを実行します。

unlink hard_link.txt

結論

上記のガイドでは、Linuxでソフトリンクとハードリンクを作成する方法を学びました。 Atlantic.Netを使用してVPSホスティングアカウントでソフトリンクとハードリンクを作成してみてください!


Linux
  1. Linuxでハードリンクとシンボリックリンクを作成する方法

  2. シンボリック リンク (ソフト リンク) とは何か、および Linux でそれらを作成する方法

  3. Linuxのソフトリンクとハードリンクの違い

  1. Linuxのハードリンクとソフトリンクの説明

  2. Linuxでユーザーグループを作成および削除する方法

  3. Linux ファイル システムのソフト リンクとハード リンクとは

  1. Lnコマンド:Linuxでシンボリックリンクを作成する方法

  2. ハードリンクとソフトリンクを作成する–RHCSA試験の準備

  3. Linuxシステムでハードリンクとソフト(シンボリックリンク)リンクを作成する方法