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ホスティングアカウントでソフトリンクとハードリンクを作成してみてください!