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]