私はLinuxファイルのパーミッションと特別なパーマ(スティッキービット、SUID、GUID)に非常に精通しています
しかし、私は何のc
略か分からないのですか?それは許可なのでしょうか、それとも何か他のものですか?私はいくつかのグーグルを行ったが、それを理解することはできません。
これを含むデバイスファイルを次に示します。
steven@A215:~$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Dec 29 20:58 /dev/null
私はLinuxファイルのパーミッションと特別なパーマ(スティッキービット、SUID、GUID)に非常に精通しています
しかし、私は何のc
略か分からないのですか?それは許可なのでしょうか、それとも何か他のものですか?私はいくつかのグーグルを行ったが、それを理解することはできません。
これを含むデバイスファイルを次に示します。
steven@A215:~$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Dec 29 20:58 /dev/null
回答:
これは、ファイルがキャラクタースペシャルファイルであることを意味します。基本的には、シリアルアクセスを提供するデバイスファイルです(ディスクドライブなどのブロックスペシャルデバイスとは対照的です)。たとえば、端末とシリアルデバイスは、キャラクタスペシャルファイル(/dev/tty1
など/dev/ttyS0
)を介してインターフェースされます。
デバイスファイルの簡単な紹介については、Linux / UNIX:デバイスファイル [cyberciti.biz]を参照してください。より詳細な議論については、このstackexchangeの回答/ devとそのサブディレクトリとファイルについてを参照してください。基礎となるデータ構造の詳細については、The Linux Kernel Module Programming Guide:Character Device Files [tldp.org]の第4章を参照してください。
struct char_device
Cコードカーネルプログラミング)
キャラクターデバイスはc
、モード文字列の最初の文字としてでマークされます。同様に、ブロックデバイスにはb
、
$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Jan 21 21:50 /dev/null
$ ls -l /dev/sda
brw-rw---- 1 root disk 8, 0 Jan 21 21:50 /dev/sda
これらの特別なデバイス(すべてがLinuxのファイルであるという意味でのファイル)がさらにあります。
d : directory
s : socket
p : pipe
D : Door
l : symbolic link etc.
詳細については、このウィキペディアのページをご覧ください。
ls -l
一般に許可文字列として知られる情報の10シンボルUNIX文字列を出力します。例えば
-rw-rw-r-- 1 userName groupName 13200650 Dec 13 21:23 fileName
ファイル記述子と呼ばれる許可文字列またはモード文字列の最初の文字は、ファイルタイプを示し、3つのグループに分けられた残りの9つは、関連するファイルの許可を示します。
ここで、上記の例では、最初の文字/記号「-」は通常のファイルを示しています。
次の例では、
crw-rw-rw- 1 root root 1, 3 Dec 29 20:58 /dev/null
crw-rw-rw- 1 root root 1, 5 Jan 13 20:56 /dev/zero
許可文字列の最初の文字は「c」であり、上記のように、文字デバイスを示すファイルタイプのインジケータです。
以外に-
、c
いくつかの他のファイル記述子があります:
d
->ディレクトリl
->シンボリックリンクs
-> Unixソケットb
->ブロックデバイスp
->パイプラインD
->ドア
/dev
特別な許可を持っているようです。