このエントリーをはてなブックマークに追加


ハードリンクされている数を調べる方法・ls

lsコマンドの-lオプションを使用することによりハードリンク数を調べることができます。
statコマンドでも同様にハードリンク数を調べることができます。
statコマンドで調べる場合は「ハードリンクされている数を調べる方法・stat」を参照してください。

以下にlsコマンドのlオプションを使用してハードリンク数が変化する操作を以下に記します。


関連記事

lsのlオプションでハードリンク数を確認する

ハードリンク数はls -lで簡単に確認することができます。
先頭のパーミッション表示の次の数字になります。
実際にハードリンク数が変化することを以下の操作で確認してみます。

  1. テキストファイルhello.txtを作成しました。
    パーミッション(-rw-rw-r--)の次にある値は1になっているのが確認できます。
    [sakura@centos ~]$ echo "hello" > hello.txt
    [sakura@centos ~]$ ls -l
    合計 4
    -rw-rw-r-- 1 sakura sakura 6  6月  5 11:22 hello.txt
     
  2. lnコマンドでhello.txtのハードリンクを作成します。
    [sakura@centos ~]$ ln hello.txt hello2.txt
     
  3. ls -lの出力をみるとパーミッション(-rw-rw-r--)の次にある値は2になっているのが確認できます。
    つまり、リンク数は2つとなります。
    [sakura@centos ~]$ ls -l
    合計 8
    -rw-rw-r-- 2 sakura sakura 6  6月  5 11:22 hello.txt
    -rw-rw-r-- 2 sakura sakura 6  6月  5 11:22 hello2.txt
     
  4. 再度lnコマンドでhello.txtのハードリンクを作成します。
    [sakura@centos ~]$ ln hello.txt hello3.txt
     
  5. ls -lの出力をみるとパーミッション(-rw-rw-r--)の次にある値は3になっているのが確認できます。
    つまり、リンク数は3つとなります。
    [sakura@centos ~]$ ls -l
    合計 12
    -rw-rw-r-- 3 sakura sakura 6  6月  5 11:22 hello.txt
    -rw-rw-r-- 3 sakura sakura 6  6月  5 11:22 hello2.txt
    -rw-rw-r-- 3 sakura sakura 6  6月  5 11:22 hello3.txt
     
  6. lsのiオプションでiノードの値を確認すると、全て同一の値であることが確認できます。
    [sakura@centos ~]$ ls -1i
    109414195 hello.txt
    109414195 hello2.txt
    109414195 hello3.txt
     
  7. ハードリンクされているファイルの1つを削除します。
    [sakura@centos ~]$ rm hello.txt 
     
  8. ls -lの出力をみるとパーミッション(-rw-rw-r--)の次にある値は2になっているのが確認できます。
    つまり、1つファイルを削除したのでリンク数は2つとなります。
    [sakura@centos ~]$ ls -l
    合計 8
    -rw-rw-r-- 2 sakura sakura 6  6月  5 11:22 hello2.txt
    -rw-rw-r-- 2 sakura sakura 6  6月  5 11:22 hello3.txt
     

以上、lsのlオプションを使用したリンク数の確認方法でした。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:27:44