web-dev-qa-db-ja.com

UNIXモード文字列の最初の文字は何を示していますか?

私はLinuxファイルのパーミッションと特別なパーマ(スティッキービット、SUID、GUID)に非常に精通しています。

しかし、cの意味がわかりませんか?それは許可ですか、それとも何か他のものですか?私はいくつかのグーグルを行ったが、それを理解することはできません。

これを含むデバイスファイルを次に示します。

steven@A215:~$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Dec 29 20:58 /dev/null
27
user169254

これは、ファイルが文字特殊ファイルであることを意味します-基本的には、シリアルアクセスを提供するデバイスファイル(block specialディスクドライブなどのデバイス)。たとえば、端末とシリアルデバイスは、キャラクタスペシャルファイル(/dev/tty1/dev/ttyS0など)を介してインターフェイスされます。

デバイスファイルの簡単な紹介については、 Linux/UNIX:デバイスファイル [cyberciti.biz]を参照してください。より詳細な議論については、このstackexchangeの答えを参照してください / devとそのサブディレクトリとファイルを理解する 。基礎となるデータ構造の詳細については、Linux Kernel Module Programming Guideの第4章を参照してください。 Character Device Files [tldp.org]

34
steeldriver

キャラクターデバイスは、モード文字列の最初の文字として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.

詳細については、この wikipedia ページを参照してください。

19
souravc

ls -lは、一般に許可文字列として知られる10シンボルのUNIX文字列を出力します。例えば.

-rw-rw-r--  1 userName groupName   13200650 Dec 13 21:23 fileName

許可文字列またはモード文字列の最初の文字は、ファイル記述子、ファイルタイプを示し、3つのグループに分けられた残りの9つは、関連するファイルのアクセス許可を示します。ここで、

  • 3文字の最初のグループ(10文字のうち最初の文字の後)は所有者の許可を示し、
  • 3つの2番目のグループは、グループの権限を指定します。
  • 最後の3つのグループは、他(または世界)の許可を指定します。

ここで、上記の例では、最初の文字/記号  "-" 通常のファイルを示します。

次の例では、

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->ドア

参照:

4
precise

最初の列の最初の文字、つまり上記のcrw-rw-rw-の「c」は、通知されたユーザーにファイルのタイプ(この場合はキャラクターデバイス)を伝えます。

1
Maythux