gfal2-util CLI Reference
Help output captured from lxplus.cern.ch on 2026-03-18. Used as the authoritative
reference for CLI backwards-compatibility in this reimplementation.
gfal-ls
usage: gfal-ls [-h] [-V] [-v] [-D DEFINITION] [-t TIMEOUT] [-E CERT]
[--key KEY] [-4] [-6] [-C CLIENT_INFO] [--log-file LOG_FILE]
[-a] [-l] [-d] [-H] [--xattr XATTR]
[--time-style {full-iso,long-iso,iso,locale}] [--full-time]
[--color {always,never,auto}]
file
Gfal util LS command. List directory's contents.
positional arguments:
file file's uri
optional arguments:
-h, --help show this help message and exit
-V, --version output version information and exit
-v, --verbose enable the verbose mode
-D DEFINITION, --definition DEFINITION
override a gfal parameter
-t TIMEOUT, --timeout TIMEOUT
maximum time for the operation to terminate - default is 1800 seconds
-E CERT, --cert CERT user certificate
--key KEY user private key
-4 forces gfal2-util to use IPv4 addresses only
-6 forces gfal2-util to use IPv6 addresses only
-C CLIENT_INFO, --client-info CLIENT_INFO
provide custom client-side information
--log-file LOG_FILE write Gfal2 library logs to the given file location
-a, --all display hidden files
-l, --long long listing format
-d, --directory list directory entries instead of contents
-H, --human-readable with -l, prints size in human readable format (e.g., 1K 234M 2G)
--xattr XATTR query additional attributes. Can be specified multiple times.
Only works for --long output
--time-style {full-iso,long-iso,iso,locale}
time style
--full-time same as --time-style=full-iso
--color {always,never,auto}
print colored entries with -l
Note on --full-time: The help text says "same as --time-style=full-iso" but the
actual output from gfal2-util uses long-iso format (YYYY-MM-DD HH:MM).
Notes:
- The original only accepts a single file URI (not nargs="+"); our implementation accepts multiple (extension).
- The original has no -r/--reverse, -S, -U, --sort flags; our implementation adds these (extension).
gfal-copy (also invoked as gfal-cp on some systems)
usage: gfal-copy [-h] [-V] [-v] [-D DEFINITION] [-t TIMEOUT] [-E CERT]
[--key KEY] [-4] [-6] [-C CLIENT_INFO] [--log-file LOG_FILE]
[-f] [-p] [-n NBSTREAMS] [--tcp-buffersize TCP_BUFFERSIZE]
[-s SRC_SPACETOKEN] [-S DST_SPACETOKEN] [-T TRANSFER_TIMEOUT]
[-K CHECKSUM] [--checksum-mode {source,target,both}]
[--from-file FROM_FILE] [--copy-mode {pull,push,streamed}]
[--just-copy] [--disable-cleanup] [--no-delegation] [--evict]
[--scitag SCITAG] [-r] [--abort-on-failure] [--dry-run]
[src] dst [dst ...]
Gfal util COPY command. Copy a file or set of files.
positional arguments:
src source file
dst destination file(s). If more than one is given, they
will be chained copy: src -> dst1, dst1->dst2, ...
optional arguments:
-h, --help show this help message and exit
-V, --version output version information and exit
-v, --verbose enable the verbose mode
-D DEFINITION, --definition DEFINITION
override a gfal parameter
-t TIMEOUT, --timeout TIMEOUT
maximum time for the operation to terminate - default is 1800 seconds
-E CERT, --cert CERT user certificate
--key KEY user private key
-4 forces gfal2-util to use IPv4 addresses only
-6 forces gfal2-util to use IPv6 addresses only
-C CLIENT_INFO, --client-info CLIENT_INFO
provide custom client-side information
--log-file LOG_FILE write Gfal2 library logs to the given file location
-f, --force if destination file(s) cannot be overwritten, delete it and try again
-p, --parent if the destination directory does not exist, create it
-n NBSTREAMS, --nbstreams NBSTREAMS
specify the maximum number of parallel streams to use for the copy
--tcp-buffersize TCP_BUFFERSIZE
specify the TCP buffersize
-s SRC_SPACETOKEN, --src-spacetoken SRC_SPACETOKEN
source spacetoken to use for the transfer
-S DST_SPACETOKEN, --dst-spacetoken DST_SPACETOKEN
destination spacetoken to use for the transfer
-T TRANSFER_TIMEOUT, --transfer-timeout TRANSFER_TIMEOUT
global timeout for the transfer operation
-K CHECKSUM, --checksum CHECKSUM
checksum algorithm to use, or algorithm:value
--checksum-mode {source,target,both}
checksum validation mode
--from-file FROM_FILE
read sources from a file
--copy-mode {pull,push,streamed}
copy mode. N.B. supported only for HTTP/DAV to HTTP/DAV transfers,
if not specified the pull mode will be executed first with fallbacks
to other modes in case of errors
--just-copy just do the copy and skip any preparation
(i.e. checksum, overwrite, etc.)
--disable-cleanup disable the copy clean-up happening when a transfer fails
--no-delegation disable TPC with proxy delegation
--evict evict source file from disk buffer when the transfer is finished
--scitag SCITAG SciTag transfer flow identifier (number in [65-65535] range)
(available only for HTTP-TPC)
-r, --recursive copy directories recursively
--abort-on-failure abort the whole copy as soon as one failure is encountered
--dry-run do not perform any action, just print what would be done
Notes:
- --copy-mode {pull,push,streamed} maps to our --tpc-mode + --tpc flags:
pull/push → TPC with that direction; streamed → force client-side streaming.
- -n/--nbstreams, --tcp-buffersize, -s/--src-spacetoken, -S/--dst-spacetoken
are GridFTP/SRM-specific and accepted but ignored with a warning.
- Our implementation adds --tpc, --tpc-only as extensions.
gfal-rm
usage: gfal-rm [-h] [-V] [-v] [-D DEFINITION] [-t TIMEOUT] [-E CERT]
[--key KEY] [-4] [-6] [-C CLIENT_INFO] [--log-file LOG_FILE]
[-r] [--dry-run] [--just-delete] [--from-file FROM_FILE]
[--bulk]
[file ...]
Gfal util RM command. Removes files or directories.
positional arguments:
file uri(s) of the file(s) to be deleted
optional arguments:
-h, --help show this help message and exit
-V, --version output version information and exit
-v, --verbose enable the verbose mode
...common flags...
-r, -R, --recursive remove directories and their contents recursively
--dry-run do not perform any actual change, just print what would happen
--just-delete do not perform any check on the file (needed for HTTP signed URLs)
--from-file FROM_FILE
read surls from a file
--bulk use bulk deletion
gfal-cat
usage: gfal-cat [-h] [-V] [-v] ... [-b] file [file ...]
Gfal util CAT command. Sends to stdout the contents of files.
positional arguments:
file uri of the file to be displayed
optional arguments:
...common flags...
-b, --bytes handle file contents as bytes (only in Python3)
gfal-stat
usage: gfal-stat [-h] [-V] [-v] ... file
Gfal util STAT command. Stats a file.
positional arguments:
file uri of the file to be stat
Notes:
- The original accepts only a single file URI; our implementation accepts multiple (extension).
gfal-rename
usage: gfal-rename [-h] [-V] [-v] ... source destination
Gfal util RENAME command. Renames files or directories.
positional arguments:
source original file name
destination new file name
gfal-mkdir
usage: gfal-mkdir [-h] [-V] [-v] ... [-m MODE] [-p] directory [directory ...]
Gfal util MKDIR command. Makes directories. By default, it sets file mode 0755.
positional arguments:
directory Directory's uri
optional arguments:
...common flags...
-m MODE, --mode MODE file permissions (octal)
-p, --parents no error if existing, make parent directories as needed
gfal-chmod
usage: gfal-chmod [-h] [-V] [-v] ... mode file
Gfal util CHMOD command. Change the permissions of a file.
positional arguments:
mode new mode, in octal
file uri of the file to change permissions
gfal-sum
usage: gfal-sum [-h] [-V] [-v] ... file checksum_type
Gfal util SUM command. Calculates the checksum of a file.
positional arguments:
file file uri to use for checksum calculation
checksum_type checksum algorithm to use. For example: ADLER32, CRC32, MD5
gfal-xattr
usage: gfal-xattr [-h] [-V] [-v] ... file [attribute]
Gfal util XATTR command. Gets or set the extended attributes of files and directories.
positional arguments:
file file uri
attribute attribute to retrieve or set. To set, use key=value
gfal-save
usage: gfal-save [-h] [-V] [-v] ... file
Gfal util SAVE command. Reads from stdin and writes to a file.
If the file exists, it will be overwritten.
positional arguments:
file uri of the file to be written
gfal-bringonline
usage: gfal-bringonline [-h] [-V] [-v] ... [--pin-lifetime PIN_LIFETIME]
[--desired-request-time DESIRED_REQUEST_TIME]
[--staging-metadata STAGING_METADATA]
[--polling-timeout POLLING_TIMEOUT]
[--from-file FROM_FILE]
[surl]
Gfal util BRINGONLINE command. Execute bring online.
positional arguments:
surl Site URL
optional arguments:
...common flags...
--pin-lifetime PIN_LIFETIME
Desired pin lifetime
--desired-request-time DESIRED_REQUEST_TIME
Desired total request time
--staging-metadata STAGING_METADATA
Metadata for the bringonline operation
--polling-timeout POLLING_TIMEOUT
Timeout for the polling operation
--from-file FROM_FILE
read surls from a file
gfal-archivepoll
usage: gfal-archivepoll [-h] [-V] [-v] ... [--polling-timeout POLLING_TIMEOUT]
[--from-file FROM_FILE]
[surl]
Gfal util ARCHIVEPOLL command. Execute bring online.
positional arguments:
surl Site URL
optional arguments:
...common flags...
--polling-timeout POLLING_TIMEOUT
Timeout for the polling operation
--from-file FROM_FILE
read surls from a file
gfal-evict
usage: gfal-evict [-h] [-V] [-v] ... file [token]
Gfal util EVICT command. Evict file from a disk buffer.
positional arguments:
file URI to the file to be evicted
token The token from the bring online request
gfal-token
usage: gfal-token [-h] [-V] [-v] ... [--issuer ISSUER] [--validity VALIDITY]
[-w] path [activities ...]
Gfal util TOKEN command. Retrieve a SE-issued token.
positional arguments:
path URI to request token for
activities activities for macaroon request
optional arguments:
...common flags...
--issuer ISSUER token issuer URL
--validity VALIDITY token validity in minutes
-w, --write flag to request write access token
Common flags (all commands)
These appear on every command in the original gfal2-util:
| Flag | Description | Status in this implementation |
|---|---|---|
-h, --help |
show help | ✅ supported |
-V, --version |
show version | ✅ supported |
-v, --verbose |
verbose mode (-v/-vv/-vvv) | ✅ supported |
-t, --timeout |
operation timeout (default 1800s) | ✅ supported |
-E, --cert |
user certificate | ✅ supported |
--key |
user private key | ✅ supported |
--log-file |
write logs to file | ✅ supported |
-D, --definition |
override gfal2 parameter | ⚠️ accepted, ignored (gfal2-specific) |
-C, --client-info |
custom client-side info | ⚠️ accepted, ignored (gfal2-specific) |
-4 |
force IPv4 (GridFTP only) | ⚠️ accepted, ignored (GridFTP-specific) |
-6 |
force IPv6 (GridFTP only) | ⚠️ accepted, ignored (GridFTP-specific) |