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コマンドの識別子を簡単にまとめると、
- – : 通常のファイル
- d : ディレクトリ
- c : キャラクタデバイスファイル
- b : block device file
- s : local socket file
- p : named pipe
- l : symbolic link
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 コマンドを使用します。
結論
システム管理者は、主に通常のファイル、ディレクトリブロック、キャラクタデバイスを扱うことになります。 また、ソフトウェア開発者として、ローカルソケットや名前付きパイプを使用することもあります。