メインコンテンツまでスキップ

シンボリックリンクの属性を取得する (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 を使用しています