TARDY(1)
okay so this is tardy, and it lives in the General Commands Manual (you know, section 1, the one you actually type into your shell) π
β¨ NAME β¨
tardy β a tar post-processor π
π¦ SYNOPSIS π¦
tardy [ option... ][ infile [ outfile ]]
tardy -Help
tardy -VERSion
πΈ DESCRIPTION πΈ
okay bestie, listen up, because tardy is that girl. She's a program that goes in and messes with the file headers inside archive files β like, the metadata part, not the actual contents. The archive formats she speaks are tar(1), cpio(1), and ar(1). β¨
Why would you even want this? Real talk: it's super handy when you're getting sources ready for Internet archive sites and you do not want the whole world seeing the details of your dev environment baked into your tar(1) file. Nobody needs to know your home directory is called /home/ur_mom_69. π
One of the most useful things she does is add a prefix to the names of the files inside the tar(1) file. Classic example: you've got a tar(1) file full of absolute paths, and you need to extract it with relative paths β so you add the prefix β.β and boom, fixed. π
She understands GNU tar format headers, extended names included. No cap.
Here's the input/output tea β:
- If no input file is named, or the special name
β-βis used, input gets read from standard input. - Same energy on the other side: if no output file is named, or the special name
β-βis used, output goes to standard output. - > β οΈ But note:
tardywill refuse to read from or write to a terminal, because if you're doing that, it means you made a mistake. She's protecting you. π«Ά
And the compression vibes:
- If the input is in
gzip(1)format, it will automatically begunzip(1)ed before processing. π§ - Same deal on the way out: if the output file name indicates that
gzip(1)should be used, that will happen automatically on output. π
π OPTIONS π
The following options are understood:
-Block_Sizenumber β use this to specify the block size, as a multiple of 512 bytes. The default is-bs=20, which gives you a 10kB block size.-Clean_Metaβ makes sure file names don't contain any shell meta characters. If any show up, they get replaced with a hyphen (-). > β οΈ Warning: this can result in duplicate file names. π-Clean_Printβ makes sure file names only contain printable ASCII characters. Any non-printable characters found get replaced with a hyphen (-). > β οΈ Warning: duplicate file names may result. π-Clean_Spaceβ makes sure file names contain no white space characters. Any that are found get replaced with a hyphen (-). > β οΈ Warning: duplicate file names may result. π-Cleanβ the terse way to say "all three of the above options, please". π-DownCaseβ forces file names to be all lower case. > β οΈ Warning: duplicate file names may result. π-EXcludepattern β completely removes files from the archive. Every file whose filename matches the given shell filename pattern gets removed. > β οΈ Be careful with wild cards β they match everything, including slash (/) characters. The exclude pattern is applied before all file-name-manipulating patterns. π₯-eXtractβ extracts the contents of an archive. β¨-Grouparg β sets both the group name and group number fields in the header of every file in the archive file. The argument can be either a string or a number. It is an error if a corresponding entry cannot be found in the/etc/groupfile.-Group_NAmestring β sets the group name field in the header of every file in the archive file. The string may be any arbitrary string β it is not restricted to a known group. π¦-Group_NAmenumber β sets the group name field in the header of every file in the archive file. The number is mapped to a group name through the/etc/groupfile. It is an error if a corresponding group cannot be found.-Group_NUmberstring β sets the group number field in the header of every file in the archive file. The string is mapped to a group number through the/etc/groupfile. It is an error if a corresponding group cannot be found.-Group_NUmbernumber β sets the group number field in the header of every file in the archive file. The number may be any arbitrary number β it is not restricted to a known group. π-Helpβ use this to get more information about how to use thetardyprogram. π«Ά-Input_ForMaTname β by default, the input file is examined to automatically detect the input archive file's format. This option lets you specify the input format to be used. The input format names are:tarβ this format understands all of the varioustar(1)formats. This is the default. βtarβbsdβ this format expects BSDtar(1)archives.ustarβ this format expectsustar(1)format archives.listβ the input is a text file containing one file name per line. The named files are read as if they were the input. It's common forfind(1)to be used to form the list of file names.directoryβ the input is a text file containing one file name per line. The named files are read as if they were an archive input. If any directories are found, they will be descended recursively. πcpioβ the file is expected to be in one of thecpio(5)formats, and will be examined to figure out which.cpioβbinβ this format expectscpio(5)βold binaryβ format archives.cpioβcrcβ this format expectscpio(5)βcrcβ format archives.cpioβnewβasciiβ this format expectscpio(5)βnew asciiβ format archives.cpioβoldβasciiβ this format expectscpio(5)βold asciiβ format archives.arβ the file is expected to be in one of thear(1)formats, and will be examined to figure out which.arβbsdβ this format expectsar(1)βBSDβ format archives.arβpdp11β this format expectsar(1)archives, in the ancient preβV7 format. πarβv7β this format expectsar(1)βUnix Version 7β format archives.
Any other format name will produce an error. π
-Listβ gives a terse listing of the file headers on the standard error as they are written to the output.-Mode_Clearbits β sets the mode of each file in the archive file, by clearing the specified bits in the mode. You should use an octal number with a leading zero as the argument; if you omit the leading zero it will be interpreted as decimal. β οΈ Order matters: the-Mode_Setoption is applied first, and the-Mode_Clearoption is applied second; if neither is specified, the mode of each file is unaltered.-Mode_Setbits β sets the mode of each file in the archive file, by setting the specified bits in the mode. Again: use an octal number with a leading zero as the argument; if you omit the leading zero it will be interpreted as decimal. β οΈ-No_Directoriesβ suppresses directories from the output. This is useful when the archive was created with directories in useless modes. π-Nowβ sets the lastβtimeβmodified field of the headers to the current time. Every file gets the same time. β°-Old_Typeβ by default,tardycorrects the old normal file type into the modern normal file type. This option requests that old normal file type indicators stay unaltered.-Output_ForMaTname β by default,tardytries to write the same format on output as it sees on input. This option lets you specify the output format to be used. The output format names are:arβ the archive will be written using thear(1)format, BSD variant. > Note that this format only supports simple files; it silently discards directories, and even discards directory portions of file names. πarβbsdβ the archive will be written using thear(1)format, BSD variant. Long file names are handled by a special file at the start of the archive full of file names.arβbsdβl2β the archive will be written using thear(1)format, BSD variant. Long file names are handled by special file name mangling in the archive, with the actual file name transparently injected into the start of the file data. β¨arβpdp11β the archive will be written using thear(1)format, in the most ancient preβV7 variant. (There are alsoarβpdp11βleandarβpdp11βlenames, if you need to select the byte order.) πarβport5β the archive will be written using thear(1)format, in the PORT5 variant. (There are alsoarβport5βleandarβport5βlenames, if you need to select the byte order.)arβv7β the archive will be written using thear(1)format, ancient Unix Version 7 variant. (There are alsoarβv7βleandposixβ the format that GNU tar uses.tarβbsdβ the format that BSDtar(1)uses.cpioβ the newcpio(5)ASCII format.cpioβbinβ thecpio(5)"old binary" format, using host byte order.cpioβbinβleβ thecpio(5)"old binary" format, using littlβ-endian byte order.cpioβbinβbeβ thecpio(5)"old binary" format, using bigβendian byte order.cpioβcrcβ thecpio(5)"crc ascii" format.cpioβoldβasciiβ the oldcpio(5)ASCII format.ustarβ this is the format that Joerg Schilling'sustar(1)uses.v7β the ancient UNIX V7tar(1)format.
Any other format name will produce an error. π
-Prefixstring β adds a prefix directory name to the name of every file in the archive file. π-PROgressβ okay so this one gives you a little progress indicator π bestie, it's cute. BUT it only works if you also passed-ifmt=list. Like, it needs that combo or it's just vibing for nothing.-Remove_Prefixnumber β this one strips a bunch of leading directories off the name of every file in the archive, if they're even there. And no cap, the prefixes get removed before whatever prefix you gave to-Prefixgets prepended. Order matters, periodt. β¨-Remove_Prefixstring β same energy, but it removes a prefix directory name from every file name in the archive, if present. You can pass this more than once and it'll remove as many of those prefixes as actually show up. Again: removed before the-Prefixone gets prepended.
π ngl this one can get lowkey ambiguous with the option right above it β like if the leading prefix you wanna nuke looks like a number. If that's your situation, just slap a slash (/) on the end of the prefix so it stops looking like a number. Problem solved, slay.
-UpCaseβ forces file names to be ALL UPPER CASE π. Warning though, and I mean it: duplicate file names may result. You have been warned, bestie. π-Userarg β sets both the user name and user number fields in the header of every file in the archive. The arg can be a string or a number, your call. But if a matching entry can't be found in/etc/passwd, that's an error. Sorry, them's the rules. π-User_NAmestring β sets the user name field in the header of every file in the archive. The string can be literally anything, it is not restricted to a known user. Free spirit energy. π¦-User_NAmenumber β also sets the user name field in the header of every file, but this time the number gets mapped to a user name via/etc/passwd. And if no matching user can be found? Error. No user, no service. π€-User_NUmberstring β sets the user number field in the header of every file. The string gets mapped to a user number through/etc/passwd, and again β if no corresponding user exists, it's an error. π«-User_NUmbernumber β sets the user number field in the header of every file. And this number can be any arbitrary number, it is not restricted to a known user. Do whatever, icon. β-VERSionβ prints the version of thetardyprogram you're currently running. That's it, that's the whole thing. πΈ
β¨ a lil note about how you're allowed to type these β¨
Every single option can be abbreviated, and the abbreviation is documented as the upper case letters. All the lower case letters and underscores (_) are optional. The catch: you have to use consecutive sequences of optional letters. Don't get cute and skip around. π
Also every option is case insensitive β upper case, lower case, a chaotic mix of both, it truly does not matter, case is not important here. We're not judging. π
For example: -help, -HELP and -h all mean the -Help option. But -hlp? Not understood. Because you didn't give consecutive optional characters, bestie. Read the room. π
Options and other command line arguments may be mixed arbitrarily on the command line β but only after the function selectors. Keep that order, iykyk. π
The GNU long option names are understood. And since every option name for tardy is long anyway, that basically means it just ignores the extra leading -. The --option=value convention is understood too. Fancy. π
π EXIT STATUS π
The tardy command will exit with a status of 1 on any error. And it will only exit with a status of 0 if there are no errors. Zero chill, zero grey area β either it ate or it didn't. π
π SEE ALSO π
ar(1)β Create, modify, and extract from archivesar(5)β Format ofar(1)archive files (heads up: not all systems have this man page) πcpio(1)β Copy files to and from archivescpio(5)β Format ofcpio(1)archive filesfind(1)β Search for files in a directory hierarchytar(1)β Store and extract files from a tape or disk archivetar(5)β Format oftar(1)archive files
π COPYRIGHT π
tardy version 1.28.D001
Copyright (C) 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2008, 2009, 2010, 2011, 2012, 2013 Peter Miller
π¨ Thetardyprogram comes with ABSOLUTELY NO WARRANTY; for details use thetardy-VERSion Licensecommand. This is free software and you are welcome to redistribute it under certain conditions; for details use thetardy-VERSion Licensecommand. Like, go read the license, bestie, it's right there. π«Ά
π¦ AUTHOR π¦
Peter Miller
- EMail:
pmiller@opensource.org.au - WWW:
http://miller.emu.id.au/pmiller/
/\/\*
and that's a wrap on tardy version 1.28.D001 β this page is TARDY(1) from section 1 of the manual, dated whenever your system's copy says it's dated π
β¨ go forth and archive responsibly, bestie ππ
π¦ where this page comes from
- debian trixie: tardy 1.28-1 Β· GPL-3.0-or-later
- ubuntu questing: tardy 1.28-1
- ubuntu resolute: tardy 1.28-1build1 Β· GPL-3.0-or-later
- ubuntu stonking: tardy 1.28-1build1 Β· GPL-3.0-or-later
- Copyright (C) 1993-2013 Peter Miller
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms