TTTAR(1)
π TTTAR(1) / tttar (user cmd) β process files and ToolTalk objects in an archive π
πΈ NAME πΈ
tttar β process files and ToolTalk objects in an archive. periodt.
β¨ SYNOPSIS β¨
tttar c [t] [x] [EfhpSv] [tarfile] [pathname] [...]
tttar c [t] [xfL] [EhpRSv] [tttarfile] [ [-rename oldname | newname
] | ... ] [pathname] [...]
tttar [-h] [-help]
tttar [-v]
π¦ DESCRIPTION π¦
okay so tttar has two fundamentally different modes, and that is literally the whole vibe. Highkey iconic, iykyk.
- Without the
Lfunction modifier,tttaracts as a ToolTalk-aware wrapper fortar(1), archiving (or extracting) multiple files and their ToolTalk objects onto (or from) a single archive, called atarfile. - With the
Lfunction modifier,tttardoes not invoketarto archive actual files, but instead archives (or extracts) only ToolTalk objects onto (or from) a single archive, called atttarfile. Since without theLfunction modifiertttaracts like a ToolTalk-awaretar(1), the description below is phrased as if theLfunction modifier is in effect. That is, the text refers totttarfilesinstead oftarfiles, and it describes archiving and de-archiving only βthe ToolTalk objects of the named filesβ rather than archiving and de-archiving both βthe named files and their ToolTalk objects.β
The actions of tttar are controlled by the first argument, the key, a string of characters containing exactly one function letter from the set ctx, and one or more of the optional function modifiers listed under OPERANDS. Other arguments to tttar are file or directory names that specify which files to archive or extract ToolTalk objects for. By default, the appearance of a directory name refers recursively to the files and subdirectories of that directory.
A file does not have to exist for a ToolTalk object to be associated with its pathname. When tttar descends into a directory, it does not attempt to archive the objects associated with any files that do not exist in the directory.
β οΈ When extracting from a tar archive that is given totttareither on magnetic tape or on the standard input, the current working directory must be writable, so that thetttarfilecan be placed there temporarily. No cap, this one matters.
π OPTIONS π
The following options are available:
-h,-helpβ write a help message for invokingtttarand then exit.-rename oldname newnameβ interpret the next two arguments as anoldnameand anewname, respectively, and rename any entry archived asoldnametonewname. Ifoldnameis a directory, thentttarrecursively renames the entries as well. If more than one-renameoption applies to an entry (because of one or more parent directories being renamed), the most specific-renameoption applies.-vβ write the version number oftttarand then exit.
π OPERANDS π
The following operands are supported:
π key
The key operand consists of a function letter followed immediately by zero or more modifying letters.
The function letter is one of the following:
cβ create a new archive and write the ToolTalk objects of the named files onto it.tβ write to standard output the names of all the files in the archive.xβ extract the ToolTalk objects of the named files from the archive. If a named file matches a directory with contents in the archive, this directory is (recursively) extracted. The owner and modification time of the ToolTalk objects are restored (if possible). If no filename arguments are given, the ToolTalk objects of all files named in the archive are extracted.
The following characters can be appended to the function letter. Appending the same character more than once produces undefined results.
fβ use the next argument as the name of thetttarfile. Iftttarfileis given as-,tttarwrites to the standard output or reads from the standard input, whichever is appropriate.hβ follow symbolic links as if they were normal files or directories. Normally,tttardoes not follow symbolic links.pβ Preserve. Restore the named files to their original modes, ignoring the presentumaskvalue (seeumask(2)). Thetttarutility also extracts setUID and sticky information for the super-user. This option is only useful with thexfunction letter, and has no meaning if theLfunction letter is given.Lβ Do not invoketar(1). This modifier must be used with theffunction modifier, since reading and writing antttararchive directly to or from magnetic tape is unimplemented.Rβ Do not recurse into directories. This modifier is valid only with theLfunction modifier.vβ Verbose. Write to standard error the name of each file processed, preceded by a string indicating the operation being performed, as follows:- Key letter
cβ string"a " - Key letter
xβ string"x "
- Key letter
The file name may be followed by additional information, such as the size of the file in the archive or file system, in an unspecified format. When used with the t function letter, v writes to standard output more information about the archive entries than just the name.
The following functions and modifiers are not supported:
- The
randufunction letters oftar(1), for incrementally updating an archive. - The
XandFfunction modifiers and the-Ioption oftar(1), for including or excluding files from being archived based on SCCS status or being listed in a special file. - The
wfunction modifier and the-Coption oftar(1), for pausing or changing directories between the files listed on the command line. - Writing and reading
tttarfiles(that is, archives produced with theLfunction modifier) directly to and from magnetic tape.
π pathname
A pathname of a regular file or directory to be archived (when the c function letter is used), extracted (x) or listed (t). When pathname is the pathname of a directory, the action applies to all of the files and (recursively) subdirectories of that directory. When the f letter is used in the key operand, the initial pathname operand is interpreted as an archive name, as described previously.
ποΈ tarfile
A pathname of a regular file to be read or written as an archive of files.
π§ ttarfile
A pathname of a regular file to be read or written as an archive of ToolTalk objects.
π STDIN π
When the f modifier is used with the t or x function letter and the pathname is -, the standard input is an archive file formatted as described in EXTENDED DESCRIPTION. Otherwise, the standard input is not used.
π INPUT FILES π
The files identified by the pathname operands are regular files or directories. The file identified by the tarfile operand is a regular file formatted as described in tar(1). The file identified by the tttarfile operand is a regular file formatted as described in EXTENDED DESCRIPTION.
π ENVIRONMENT VARIABLES π
The following environment variables affect the execution of tttar:
LANGβ Provide a default value for the internationalization variables that are unset or null. IfLANGis unset or null, the corresponding value from the implementation-specific default locale will be used. If any of the internationalization variables contains an invalid setting, the utility behaves as if none of the variables had been defined.LC_ALLβ If set to a non-empty string value, override the values of all the other internationalization variables.LC_MESSAGESβ Determine the locale that is used to affect the format and contents of diagnostic messages written to standard error and informative messages written to standard output.NLSPATHβ Determine the location of message catalogues for the processing ofLC_MESSAGES.TZβ Determine the timezone used with date and time strings.
π₯ RESOURCES π₯
None. Literally none, bestie β slay.
π¦ ASYNCHRONOUS EVENTS π¦
The tttar utility takes the standard action for all signals.
π STDOUT π
- When the
-hoption is used,tttarwrites to standard output a help message in an unspecified format. - When the
-voption is used,tttarwrites to standard output a version number in an unspecified format. - When the
fmodifier is used with thecfunction letter and the pathname is-, the standard output is an archive file formatted as described in EXTENDED DESCRIPTION. - Otherwise, the standard output is not used.
π STDERR π
The standard error is used for diagnostic messages and the file name output described under the v modifier (when the t function letter is not used).
π OUTPUT FILES π
Output files are created, as specified by the archive, when the x function letter is used.
π EXTENDED DESCRIPTION π
okay so the archive file that tttar produces and reads is formatted exactly as described in tar(1), with one extra little bonus file named tttarfile. iconic behavior β¨
π«Ά heads up bestie: if one of the user files being archived is also named tttarfile, the results are unspecified. not a vibe.
The tttarfile contains all the ToolTalk spec information for the ToolTalk objects in the other files in the archive. The contents of tttarfile are written according to the referenced XDR specification (RFC 1014). The only XDR data types used are:
intβ A four-octet signed integer, most significant octet firststringβ A four-octet unsigned integer length, most significant octet first, followed by the characters of the string, followed by sufficient (0to3) residual zero octets to make the total number of octets a multiple of four.
The tttarfile starts with two integers. The first is always 1, to mark this as the header record. The second is always 1, indicating this is version 1 of the tttarfile format. Any future revisions of the tttarfile format should increment the version number so older programs processing the tttarfile can diagnose the incompatibility. future-proofing, we love to see it π
The end of the tttarfile is a integer 3, marking the end-of-file record.
In between, there is one logical record for each spec. Each logical record starts with an integer 2, marking it as a spec record. Other integer values are reserved for assignment to future data types. iykyk π¦
After the record identifier, the spec record contains, in sequence:
- A string giving the Tooltalk object identifier (
objid) of the object represented by the spec - A string giving the name of the file (as found in the archive table of contents) that contains the contents of the ToolTalk object represented by the spec
- A string giving the ToolTalk object type identifier (
otid) of the ToolTalk object represented by the spec - An integer giving the number of properties for this object
The properties of the object immediately follow the number of properties. Each property consists of:
- A string giving the name of the property
- An integer, which is always zero (for historical compatibility)
- An integer giving the number of values for this property
- A string for each value
After the values, the next property is found, until all properties for the object have been accounted for; then the next spec is found, until all specs for objects associated with files in the archive are accounted for. thatβs the whole nested-little-record situation, bestie π
β¨ EXIT STATUS β¨
The following exit values are returned:
0β All files and ToolTalk objects were moved successfully. slay.>0β An error occurred or the invokedtar(1)command exited with a non-zero value. oop, something went sideways.
π CONSEQUENCES OF ERRORS π
Default. thatβs literally what it says, no extra lore π
π FILES π
/mountpoint/TT_DBβ The directory used as a database for the ToolTalk objects of files in the file system mounted at/mountpoint.
πΈ APPLICATION USAGE πΈ
None. nothing to add, moving on π
π¦ EXAMPLES π¦
None.
π SEE ALSO π
tar(1)Caretttcp(1)ttsession(1)
okay bestie, thatβs the whole tttar(user cmd) page β footer source/version cuteness and its date, all wrapped up. go archive something iconic, mwah π
πβ¨
π¦ where this page comes from
- nixos 26.05: cde 2.5.3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms