シンボリックリンクの属性を取得する (file.lattrs)
宣言
属性テーブル, エラー情報 = file.lattrs(ディレクトリパス [, リクエストフィールド])
引数
- ディレクトリパス
文字列型 - リクエストフィールド
省略可能な引数。次の三つの方法で指定できます:- 省略:すべてのフィールドを含む属性テーブルを作成して返します
- テーブル(テーブル型)を渡す:新しいテーブルを作成せず、渡されたテーブルに属性を格納します
- 単一のフィールド名(文字列型)を渡す:そのフィールドの値を直接返します
- "dev":ファイルの inode が存在するデバイス
- "ino":ファイルの inode 番号
- "mode":ファイル種別。"file", "directory", "link", "socket", "named pipe", "char device", "block device" または "other" のいずれか
- "nlink":ハードリンク数
- "uid":ファイル所有者の ID
- "gid":ファイル所有者グループの ID
- "rdev":特殊ファイルの inode のデバイス種別
- "access":ファイルに最後にアクセスした時刻
- "modification":ファイルを最後に変更した時刻
- "change":ファイルの状態を最後に変更した時刻
- "size":ファイルサイズ。単位はバイト
- "permissions":ファイルの権限
- "blksize":ファイルシステム I/O のブロックサイズ
- "blocks":ファイルに割り当てられた 512 バイトブロックの数
- "target":シンボリックリンクが指すファイルのパス
戻り値
- 属性テーブル
テーブル型。操作に成功した場合は属性テーブル、失敗した場合は nil を返します - エラー情報
文字列型。操作に失敗した場合のエラー情報
説明
ファイルの属性を取得します。対象がシンボリックリンクの場合は、リンク先ではなく、シンボリックリンク自体の情報を返します。
lfs.symlinkattributesと同等です
この関数は 20250705 以降のバージョンで使用できます
使用例
local info, err = file.lattrs("/var/mobile/Media/1ferver/lua/scripts/")
if info then
sys.alert("文件信息:"..json.encode(info))
else
sys.alert("获取文件属性失败:"..err)
end
注:上記のコードでは、この章以外の関数 sys.alert を使用しています