Next: Extended Attributes, Previous: Truenames, Up: Information about Files [Contents][Index]
このセクションでは、ファイルの詳細な情報を取得する関数について説明します。それらの情報にはファイルの所有者やグループの番号、ファイル名の個数、inode番号、サイズやアクセス日時、変更日時が含まれます。
この関数は、ファイルfilename1がファイルfilename2より新しい場合は、t
をリターンする。filename1が存在しない場合はnil
、filename1は存在するがfilename2が存在しない場合はt
をリターンする。
以下の例では、aug-19が19日、aug-20が20日に書き込まれ、ファイルno-fileは存在しないものとする。
(file-newer-than-file-p "aug-19" "aug-20") ⇒ nil
(file-newer-than-file-p "aug-20" "aug-19") ⇒ t
(file-newer-than-file-p "aug-19" "no-file") ⇒ t
(file-newer-than-file-p "no-file" "aug-19") ⇒ nil
以下の2つの関数のfilename引数がシンボリックリンクの場合、これらの関数はそれをリンクターゲットで置き換えません。しかしどちらの関数も、親ディレクトリーのすべての階層において、シンボリックリンクを再帰的にフォローします。
この関数は、ファイルfilenameの属性(attributes)のリストをリターンする。オープンできないファイルが指定された場合は、nil
をリターンする。オプション引数id-formatは、属性UIDおよびGID(以下参照)にたいして望ましいフォーマットを指定し、有効な値は'string
および'integer
である。デフォルトは'integer
だが、わたしたちはこれの変更を計画しているので、リターンされるUIDまたはGIDを使用する場合は、id-formatにたいして非nil
値を指定するべきである。
リストの要素は順に:
t
、シンボリックリンクにたいしては文字列(リンクされる名前)、テキストファイルにたいしてはnil
。
add-name-to-file
を使用して作成できる(Changing Filesを参照)。
(sec-high sec-low microsec
picosec)
からなるリスト(これはcurrent-time
の値と似ている。Time of Dayを参照されたい)。いくつかのFATベースのファイルシステムでは、最終アクセスの日付だけが記録されるので、この時刻には常に最終アクセス日の真夜中が保持されることに注意。
(high
.
low)
という形式の値になる。ここでlowは下位16ビットである。それにたいしてさえinode番号が大きい場合、値は(high
middle
.
low)
という形式になる。ここでhigh
は上位ビット、middleは中位24ビット、lowは下位16ビットを保持する。
たとえば、以下はfiles.texiのファイル属性である:
(file-attributes "files.texi" 'string) ⇒ (nil 1 "lh" "users" (20614 64019 50040 152000) (20000 23 0 0) (20614 64555 902289 872000) 122295 "-rw-rw-rw-" t (5888 2 . 43978) (15479 . 46724))
この結果を解釈すると:
nil
ディレクトリーでもシンボリックリンクでもない。
1
(カレントデフォルトディレクトリー内で名前files.texiは)単一の名前をもつ。
"lh"
名前"lh"のユーザーにより所有される。
"users"
名前"users"のグループ。
(20614 64019 50040 152000)
最終アクセスがOctober 23, 2012, at 20:12:03.050040152 UTC。
(20000 23 0 0)
最終更新がJuly 15, 2001, at 08:53:43 UTC。
(20614 64555 902289 872000)
最終ステータス変更がOctober 23, 2012, at 20:20:59.902289872 UTC。
122295
バイト長は122295バイト(しかしマルチバイトシーケンスが含まれていたり、EOLフォーマットがCRLFの場合は122295文字が含まれないだろう)。
"-rw-rw-rw-"
所有者、グループ、その他にたいして読み取り、書き込みアクセスのモードをもつ。
t
単なるプレースホルダーであり、何の情報ももたない。
(5888 2 . 43978)
inode番号は6473924464520138。
(15479 . 46724)
ファイルシステムのデバイス番号は1014478468。
この関数は、ファイルfilenameがもつ名前(ハードリンク)の個数をリターンする。ファイルが存在しない場合、この関数はnil
をリターンする。シンボリックリンクは、リンク先のファイルの名前とは判断されないので、この関数に影響しないことに注意。
$ ls -l foo* -rw-rw-rw- 2 rms rms 4 Aug 19 01:27 foo -rw-rw-rw- 2 rms rms 4 Aug 19 01:27 foo1
(file-nlinks "foo") ⇒ 2
(file-nlinks "doesnt-exist") ⇒ nil
Next: Extended Attributes, Previous: Truenames, Up: Information about Files [Contents][Index]