GCP(1)
π GCP(1) β the General Commands Manual glow-up π
okay bestie, gather round, because we're talking about gcp, section 1 of the General Commands Manual, and she is that girl. π«Ά
β¨ NAME β¨
gcp β Advanced command-line file copier π
πΈ SYNOPSIS πΈ
gcp [OPTIONS] FILE DEST
gcp [OPTIONS] FILE1 [FILE2...] DEST-DIR
π¦ DESCRIPTION π¦
So gcp is a file copier, lowkey inspired by cp, but with high level functionalities, and honestly? it's giving main character energy:
- transfer progression indication π
- continuous copying when there's an issue β she just skips the problematic file and keeps going, no drama
- copy status logging, aka receipts on which files were actually copied
- name mangling to handle target filesystem limitations (like removing incompatible chars such as
"?"or"*"on FAT filesystems) β¨ - forced copy serialization: new files to copy get added to a global queue so we avoid hard drive head seeks (yes she's considerate like that)
- transfer list management:
gcpcan save a list of files to copy and reuse it later π - approximate option compatibility with
cpβ approximate, bestie, because the behaviour is not exactly the same, see below π
π OPTIONS π
These programs follow the usual GNU command line syntax, with long options starting with two dashes (`-`).
A summary of options is included below.
π General options
-h,--helpβ Show summary of options. π«Ά-V,--versionβ Show program version and copyright information and exit. π
π cp-like options
-f,--forceβ Overwrite existing files. no mercy, periodt.-L,--dereferenceβ Always follow symbolic links in sources.-P,--no-dereferenceβ Never follow symbolic links in sources.-pβ Same as--preserve=mode,ownership,timestamps--preserve=<attributes>β Preserve specified attributes. Attributes can bemode,ownershipandtimestamps. When several attributes are passed, they need to be separated by commas. Please note that timestamps preservation has some limits, see section LIMITATIONS. π-r,-R,--recursiveβ Copy directories recursively. she goes deep fr fr.-v,--verboseβ Display what is being done. narrating her own life, iconic.
π§ gcp-specific options
--fix-filenames=<force|auto|no>βgcphas the ability to modify the destination file name if the target file system would not accept the original file name. Offending characters will be replaced with similar-looking ones.
This option accept the following values:
auto(default) βgcpwill attempt to be smart, i.e. detect incompatibilities and fix them as-needed.forceβ Always fix file names that could cause problems on any known filesystem or OS. This is useful e.g. with NTFS, see NOTE ON NTFS below.noβ Renaming is disabled entirely.
Currently, gcp is only aware of FAT incompatibilities: Β΄\Β΄, Β΄:Β΄, Β΄*Β΄, Β΄?Β΄, Β΄"Β΄, Β΄<Β΄, Β΄>Β΄ and Β΄|Β΄.
--no-fs-fix(DEPRECATED) β Same as--fix-filenames=no. This option will be removed in a future release.
bestie she's deprecated π still works, but do not get attached.
--no-progressβ Disable progress bar. (why would you, but okay π)
π Sources saving
--sources-save=SOURCESβ Save the list of source files in a list namedSOURCES.--sources-replace=SOURCESβ Save the list of source files in a list namedSOURCES; the file is overwritten it already exists.--sources-load=SOURCESβ Use the list of source files namedSOURCES.--sources-del=SOURCESβ Delete the list of source files namedSOURCES.--sources-listβ List the names of source file lists.--sources-full-listβ List the names of source file lists, including their content. the full tea β
β EXIT STATUS β
The exit status can be:
0if files have been copied correctly or if another instance ofgcpis already running and will do the copy. slay. π1if at least one file has not been copied, or if something went wrong. π2if all files have been copied but with some issues. π
π LIMITATIONS π
Timestamps preservation with --preserve option is limited by the os Python module on POSIX systems. Currently, Python only returns timestamps in float format, which is a smaller precision than what POSIX provides. Progress on this issue can be seen at http://bugs.python.org/issue11457.
The --preserve option cannot currently be used without an attribute list (gcp --preserve foo bar will behave as gcp --preserve=foo bar). Use the -p switch instead.
not her fault, it's a Python thing, iykyk π«
π₯ NOTE ON NTFS π₯
NTFS will not enforce the same file name limitations than FAT, but files that would not be accepted on a FAT filesystem will still cause problems on Windows. Hence, it is recommended to use --fix-filenames=force when copying to NTFS (when Windows compatibility is desired, anyway).
π SEE ALSO π
πΈ AUTHOR πΈ
gcp was written by JΓ©rΓ΄me Poisson <goffi@goffi.org>. It is currently maintained by Matteo Cypriani <mcy@lm7.fr>.
This manual page was initially written by Thomas Preud'homme <robotux@celest.fr> for the Debian project (and may be used by others).
okay that's the whole page, bestie, and the very last line of the original says October 14, 2018 β that's the date, and this is from the General Commands Manual, so go forth and copy files like the icon you are. πβ¨ππ¦πΈπ π«Άππβπ
π¦ where this page comes from
- debian bookworm: gcp 0.2.1-1 Β· GPL-3.0-or-later
- debian trixie: gcp 0.2.1-1 Β· GPL-3.0-or-later
- ubuntu jammy: gcp 0.2.1-1 Β· GPL-3.0-or-later
- ubuntu noble: gcp 0.2.1-1 Β· GPL-3.0-or-later
- ubuntu resolute: gcp 0.2.1-1build1 Β· GPL-3.0-or-later
- ubuntu stonking: gcp 0.2.1-1build1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms