ff(7)

DESCRIPTION
This is a list of all the attributes that are available. Attributes are provided by plugins. For more details on a specific plugin use 'ff --help <plugin>'. Please note that if you got this help text by using 'man 7 ff', the information you get is limited to the builtin plugins. Use 'ff --help-attributes' to get the full attribute list from all plugins that are available right now.

FILE PLUGIN
The "file" plugin provides all essential file attributes. Among these attributes are variations of the file's path name (e.g. dirname, basename, extension) and inode information from stat(2) (e.g. file size, file type, modification time). The leading 'file.' part is optional and can be omitted.

[file.]path
    Type: path ( = : ~ % )
    The full pathname of the file. It will be relative to the current working directory depending on the <directory> arguments that were given on the command line. This can be changed with the -a/--absolute path option.

[file.]root
    Type: path ( = : ~ % )
    The start directory the file was found in.

[file.]relpath
    Type: path ( = : ~ % )
    The pathname of the file relative to the start directory.

[file.]dir
    Type: path ( = : ~ % )
    The dirname portion of the file.

[file.]name
    Type: string ( = : ~ % )
    The basename portion of the file

[file.]ext
    Type: string ( = : ~ % )
    The file extension without the leading dot or the empty string if the file has no extension.

[file.]pathx
    Type: path ( = : ~ % )
    The file path without the extension.

[file.]namex
    Type: path ( = : ~ % )
    The file basename without the extension.

[file.]mode
    Type: mode ( = : ~ )
    The mode and permission bits of the file.

[file.]type
    Type: filetype ( = )
    The file type: one of 'd'/'directory', 'f'/'file', 'l'/'symlink', 's'/'socket', 'p'/'pipe'/'fifo', 'char', 'block', 'door', 'port', 'whiteout' or 'other'.

[file.]device
    Type: number ( += -= + - = )
    The number of the device the file is located.

[file.]inode
    Type: number ( += -= + - = )
    The number of the inode of the file.

[file.]samedev
    Type: boolean ( = )
    Whether the file is on the same device as the start directory.

[file.]depth
    Type: number ( += -= + - = )
    The depth of the file relative to the start directory.

[file.]exec
    Type: boolean ( = )
    Whether the file is executable or not.

[file.]size
    Type: size ( += -= + - = )
    The size of the file in bytes. All types except 'file' have a size of 0.

[file.]mtime
    Type: time ( += -= + - = )
    The modification time of the file in seconds since epoch.

[file.]ctime
    Type: time ( += -= + - = )
    The inode change time of the file in seconds since epoch.

[file.]atime
    Type: time ( += -= + - = )
    The access time of the file in seconds since epoch.

[file.]time
    Type: time ( += -= + - = )
    An alias for 'mtime'.

[file.]perm
    Type: mode ( = : ~ )
    The permission bits of the file without the file type bits.

[file.]links
    Type: number ( += -= + - = )
    The number of links to the inode.

[file.]uid
    Type: number ( += -= + - = )
    The user id of the owner of the file.

[file.]gid
    Type: number ( += -= + - = )
    The group id of the owner of the file.

[file.]user
    Type: string ( = : ~ % )
    The user name of the owner of the file.

[file.]group
    Type: string ( = : ~ % )
    The group name of the owner of the file.

[file.]hide
    Type: boolean ( = )
    Whether the the name of the file starts with a dot.

[file.]hidden
    Type: boolean ( = )
    Whether the file is "hidden" or not, i.e. if one of the path components contains a leading dot.

[file.]empty
    Type: boolean ( = )
    Whether the file or directory is empty or not.

[file.]link
    Type: path ( = : ~ % )
    The target path of a symbolic link relative to its parent directory. Empty if the file is not a symbolic link.

[file.]target
    Type: path ( = : ~ % )
    The full target path of a symbolic link. Empty if the file is not a symbolic link.

[file.]broken
    Type: boolean ( = )
    Whether the target of a symbolic link points to a file that does not exist.

[file.]mount
    Type: boolean ( = )
    Whether the entry is a mountpoint.

[file.]mpath
    Type: string ( = : ~ % )
    The path of the nearest mountpoint.

[file.]devname
    Type: string ( = : ~ % )
    The name of the device the file is located.

[file.]fstype
    Type: string ( = : ~ % )
    The type of the filesystem the file is located.

[file.]pseudofs
    Type: boolean ( = )
    Whether the file is located on a pseudo filesystem.

ELF PLUGIN
The "elf" plugin provides information extracted from ELF executable files. It requires the 'pyelftools' module.

elf.sonames
    Type: listofstrings ( = : ~ % )
    The names of all shared objects that are linked in this executable file.

FS PLUGIN
The "fs" plugin provides information on the filesystem that a file is located in.

fs.type
    Type: string ( = : ~ % )
    The name of the type of file system.

fs.remote
    Type: boolean ( = )
    Whether the file system is a remote file system.

GIT PLUGIN
The "git" plugin provides information about files that are inside a git(1) repository. It requires the 'git' executable.

git.tracked
    Type: boolean ( = )
    True if the file is tracked by a git repository.

git.dirty
    Type: boolean ( = )
    True if the file is tracked and has changed or if a directory contains a changed file.

git.repo_dir
    Type: string ( = : ~ % )
    The base directory of the git repository the file or directory is in.

git.repo
    Type: boolean ( = )
    True if the directory contains a git repository.

GREP PLUGIN
The "grep" plugin provides access to the lines and the line count of a text file. It is useful for finding files that contain certain lines or certain substrings.

grep.text
    Type: boolean ( = )
    Whether the file contains text or binary data.

grep.linecount
    Type: number ( += -= + - = )
    The number of lines in the file.

grep.lines
    Type: listofstrings ( = : ~ % )
    The lines of the file.

IGNORE PLUGIN
The "ignore" plugin shows whether files match patterns from .{,git,fd,ff}ignore files. It is useful e.g. inside working copies of git repositories.

ignore.ignored
    Type: boolean ( = )
    Whether the file matches patterns in a .{,git,fd,ff}ignore file.

ignore.path
    Type: string ( = : ~ % )
    The path to the ignore file that contained the matching pattern.

MEDIUM PLUGIN
The "medium" plugin provides access to information from media files like image, audio and video files, e.g. image format, running time, mp3 tags, etc. It requires the 'pymediainfo' module.

medium.duration
    Type: duration ( += -= + - = )
    The duration of a medium (audio, video) in seconds.

medium.artist
    Type: string ( = : ~ % )
    The artist audio tag of the file.

medium.album
    Type: string ( = : ~ % )
    The album audio tag of the file.

medium.title
    Type: string ( = : ~ % )
    The title audio tag of the file.

medium.genre
    Type: string ( = : ~ % )
    The genre audio tag of the file.

medium.date
    Type: string ( = : ~ % )
    The date audio tag of the file.

medium.format
    Type: string ( = : ~ % )
    The format of an image ('png', 'jpeg', etc.) in case the file is an image.

medium.width
    Type: number ( += -= + - = )
    The width of a visual medium (image, video) in pixel.

medium.height
    Type: number ( += -= + - = )
    The height of a visual medium (image, video) in pixel.

MIME PLUGIN
The "mime" plugin provides information about the content type of files. It uses 'libmagic' to guess the mime type and encoding. It requires the 'file-magic' module.

mime.mime
    Type: string ( = : ~ % )
    The full mime type of the file.

mime.type
    Type: string ( = : ~ % )
    The content type of the file, i.e. the first part of the mime type.

mime.subtype
    Type: string ( = : ~ % )
    The sub type of the file, i.e. the second part of the mime type.

mime.encoding
    Type: string ( = : ~ % )
    The encoding of the file.

mime.name
    Type: string ( = : ~ % )
    The full text description of the type of the file.

PACMAN PLUGIN
The "pacman" plugin provides information about which files were installed using the package manager pacman on an Arch Linux. It requires the 'pacman' executable.

pacman.installed
    Type: boolean ( = )
    Whether the file belongs to an Arch Linux system package installed by the package manager pacman.

pacman.pkgname
    Type: string ( = : ~ % )
    Name of package the file belongs to.

PY PLUGIN
The "py" plugin provides information about Python scripts.

py.imports
    Type: listofstrings ( = : ~ % )
    A list of module and package names that are imported in a Python file.

SHEBANG PLUGIN
The "shebang" plugin extracts the shebang line from a script, i.e. the first line of the file if it starts with '#!'.

shebang.shebang
    Type: string ( = : ~ % )
    The contents of the shebang line (#!).

TAR PLUGIN
The "tar" plugin provides information about tar archives. It is useful for finding file names inside tar archives. It currently uses the tarfile module from the Python Standard Library which limits the supported compression methods to gzip(1), bzip2(1), xz(1) and uncompressed.

tar.members
    Type: listofstrings ( = : ~ % )
    The list of file names that are stored in a .tar archive.

XATTR PLUGIN
The "xattr" plugin provides access to a file's extended attributes.

xattr.xattrs
    Type: listofstrings ( = : ~ % )
    A list of key=value pairs from the file's extended attributes.

SEE ALSO
ff(1)