makoto_blog

パパさん_blog

プログラミング勉強メモや雑記など。

Linux ls など

ls

ls -l

の結果の左1桁目。

  • - 通常ファイル
  • d ディレクト
  • l リンクファイル
  • c 特殊ファイル(キャラクタデバイスファイル)
  • b 特殊ファイル(ブロックデバイスファイル)

12桁目の数字は、リンク数。

ls -i

iノード番号の確認

ハードリンク作成

  • iノード番号とファイル名の対応付けをリンクという
  • iノード番号に複数のファイル名をリンクさせることが出来る←ハードリンクという
  • ハードリンクを使うと一つのファイルに複数のファイル名でアクセスすることができる
$ ls -i
15861155 shot.png

shot2.png というハードリンクを作成

ln shot.png shot2.png

結果の確認

$ ls -i
15861155 shot.png  15861155 shot2.png

iノードはパーティション(一つの物理的ディスクを論理的にわけた領域)ごとに管理。異なるパーティション間でハードリンクは作成できない。パーティションが異なると同じiノード番号でも実体は別々。ディレクトリのハードリンクは作れない。

シンボリックリンクにはこれらの制限はない。

シンボリックリンク

ファイルに別名をつける。Windowsでいうショートカット。

ln に -s オプション

$ ln -s shot.png shot3.png

結果

$ ls -i
15861155 shot.png  15861155 shot2.png  21759366 shot3.png

リンクの確認

mhaya@mhaya-V5-131:~/work/lpic$ date > today

mhaya@mhaya-V5-131:~/work/lpic$ ls
shot.png  shot2.png  shot3.png  today

mhaya@mhaya-V5-131:~/work/lpic$ cat today
2018年  9月  1日 土曜日 16:11:36 JST

mhaya@mhaya-V5-131:~/work/lpic$ ln today today.hard

mhaya@mhaya-V5-131:~/work/lpic$ ls -i
15861155 shot.png   21759366 shot3.png  21759367 today.hard
15861155 shot2.png  21759367 today

mhaya@mhaya-V5-131:~/work/lpic$ ln -s today today.sym

mhaya@mhaya-V5-131:~/work/lpic$ ls -i
15861155 shot.png   21759366 shot3.png  21759367 today.hard
15861155 shot2.png  21759367 today      21759386 today.sym
mhaya@mhaya-V5-131:~/work/lpic$ rm today

mhaya@mhaya-V5-131:~/work/lpic$ cat today
cat: today: そのようなファイルやディレクトリはありません

mhaya@mhaya-V5-131:~/work/lpic$ cat today.hard
2018年  9月  1日 土曜日 16:11:36 JST

mhaya@mhaya-V5-131:~/work/lpic$ cat today.sym
cat: today.sym: そのようなファイルやディレクトリはありません
  • もとファイルを削除しても、ハードリンクとファイル自体はリンクがされている。
  • シンボリックリンクは、あくまでファイルへのポインタを格納しているのでない。
  • ファイルを削除するとは、iノードとファイル名のリンクを切断すること。

cat

FILE の指定がなかったり, - であった場合, 標準入力から読み込みます.

less

  • 1ページずつ表示
  • スペースで進み、Ctrl + b で1画面戻る。