Linuxのファイルシステムを操作していると、さまざまなファイルタイプに遭遇するはずです。 最も使用され、明白なファイル タイプは、通常のファイルとディレクトリです。 しかし、Linux オペレーティング システムには、さらに 5 つのファイル タイプが含まれているため、ファイル タイプの面でより多くのものを提供することができます。 この短い記事では、Linux オペレーティング・システム内の 7 つの異なるファイル・タイプをすべて認識するのに役立ちます。

Identifying Linux File types

知っておくべきコマンドは 1 つだけで、Linux システムで見つかる 7 つの異なるファイル・タイプをすべて識別および分類するのに役に立ちます。

$ ls -ld <ファイル名>

上記のコマンドの出力例です。

 $ ls -ld /etc/services 
-rw-r--1 root 19281 Feb 14 2012 /etc/services

ls コマンドはファイルのパーミッションを最初の文字として見つかったエンコード記号として、その種類を表示します。 この場合、それは「-」であり、「通常ファイル」を意味します。 Linuxのファイルタイプは、ファイル拡張子と間違えないようにすることが重要です。 Linuxの7種類のファイルタイプとlsコマンドの識別子を簡単にまとめると、

  1. – : 通常のファイル
  2. d : ディレクトリ
  3. c : キャラクタデバイスファイル
  4. b : block device file
  5. s : local socket file
  6. p : named pipe
  7. l : symbolic link
Linuxシステムアナリスト募集中!
The UAF Geophysical Institute, は、研究用サイバーインフラのアナリストとエンジニアのチームの一員として、経験豊富なLinuxシステム・アナリストを募集しています。 勤務地: Fairbanks, Alaska, USA
APPLY NOW

Regular file

通常ファイルはLinuxシステムで見られる最も一般的なファイルタイプです。 テキストファイル、イメージ、バイナリファイル、共有ライブラリなど、すべての異なるファイルを管理する。

$ touch linuxcareer.com
$ ls -ld linuxcareer.com
-rw-rw-- 1 lubos lubos 0 Jan 10 12:52 linuxcareer.com

ls コマンドの最初の文字、この場合 “-” は、通常のファイルの識別コードを示しています。

$ rm linuxcareer.com 
$

Directory

ディレクトリはLinuxで2番目に多いファイルタイプです。 ディレクトリはmkdirコマンドで作成できます。

$ mkdir FileTypes
$ ls -ld FileTypes/
drxwrxr-x 2 lubos lubos 4096 Jan 10 13:14 FileTypes/

先に述べたようにディレクトリはlsコマンド出力から「d」記号によって特定されることが可能です。

$ rmdir FileTypes

追加ファイルを含むディレクトリをrmdirコマンドで削除しようとすると、エラーメッセージが表示されます:

rmdir: failed to remove `FileTypes/': Directory not empty

この場合、コマンドを使用する必要があります:

$ rm -r FileTypes/

キャラクターデバイス

キャラクターおよびブロックデバイスファイルは、ユーザーやプログラムがハードウェア周辺デバイスと通信するために役立ちます。 例えば:

$ ls -ld /dev/vmmon 
crw------- 1 root root 10, 165 Jan 4 10:13 /dev/vmmon

この場合、キャラクタデバイスはvmwareモジュールデバイスです。

Block Device

ブロックデバイスはキャラクタデバイスと類似しています。

$ ls -ld /dev/sda
brw-rw---- 1 root disk 8, 0 Jan 4 10:12 /dev/sda

ローカルドメインソケット

ローカルドメインソケットは、プロセス間の通信に使用されます。 一般に、Xウィンドウズ、シスログなどのサービスで使用される。

$ ls -ld /dev/log
srw-rw-rw- 1 root root 0 Jan 4 10:13 /dev/log

ソケットはソケットシステムコールで作成でき、unlinkまたはrmコマンドで削除できる。

名前付きパイプ

ローカルソケットと同様に、名前付きパイプは 2 つのローカルプロセス間の通信を可能にする。 mknodコマンドで作成し、rmコマンドで削除することができます。

Symbolic Links

シンボリックリンクにより、管理者はファイルやディレクトリに複数の ID を割り当てることができる。 シンボリックリンクは、元のファイルへのポインタと考えることができます。 シンボリックリンクには 2 つのタイプがあります:

  • ハードリンク
  • ソフトリンク

ハードリンクとソフトリンクの違いは、ソフトリンクはファイル名を参照として使用し、ハードリンクは元のファイルへの直接参照を使用している点です。 さらに、ハードリンクはファイルシステムやパーティションをまたぐことができません。

$ echo file1 > file1
$ ln -s file1 file2
$ cat file2
file1
$ ls -ld file2
lrwxrwxrwx 1 lubos lubos 5 Jan 10 14:42 file2 -> file1

シンボリックソフトリンクを作成するには、ln -s コマンドを使用します。

結論

システム管理者は、主に通常のファイル、ディレクトリブロック、キャラクタデバイスを扱うことになります。 また、ソフトウェア開発者として、ローカルソケットや名前付きパイプを使用することもあります。

コメントを残す

メールアドレスが公開されることはありません。