ARC(1)

πŸ“¦
version 5.21q Β· 3 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– ARC(1) πŸ’–

okay bestie, welcome to the arc page from LOCAL COMMANDS β€” yes the manual name is right there in the header, we're being transparent, we're being honest πŸ’…


✨ NAME ✨

arc β€” the pc archive utility. short name, huge power, main character energy fr fr πŸ‘‘

✨ SYNOPSIS ✨

arc a|m|u|f|d|x|e|r|p|l|v|t|c [ biswnoq ] [ gpassword ] archive [
filename ...]

✨ DESCRIPTION ✨

so Arc is a general archive AND file compression utility β€” it's giving both, it's giving versatile 🌈. You use it to maintain a compressed archive of files. An archive is literally just one single file that combines many files together, which reduces storage space and lets you handle a whole squad of files as if they were one. And the way Arc picks a compression method for each file? It tries out several and uses whichever one gives the smallest result. it's doing the most so you don't have to 🫢

✨ INSTRUCTIONS ✨

ngl the easiest tutorial ever: just run arc with no arguments at all and it gives you fairly verbose, usable instructions. it literally explains itself. iconic behaviour honestly.

✨ COMMAND SWITCHES ✨

  • a β€” add files to archive. Copies the files you named into the archive. ✨
  • m β€” move files to archive. Same as the a switch, EXCEPT the files get deleted from the directory as they're moved into the archive. they're gone bestie, they live in the archive now πŸ’€
  • u β€” update files in archive. This one replaces archived files when the named file is newer than the archived copy. And new files? They get added automatically. so generous.
  • f β€” freshen files in archive. Same as u except new files will not be added. it only refreshes what's already there, no new friends allowed πŸ™ˆ
  • d β€” delete files in archive. The named files are removed from the archive. bye bye πŸ’…
  • x, e β€” extract files from archive. The named files get extracted from the archive and created in the current directory in an uncompressed state. two letters, one vibe.
  • r β€” run one file with arguments from archive. Any program may be executed directly from the archive. The parameters given after the program name are passed to the program without modification. no edits, no notes, just straight through.
  • p β€” copy files from archive to standard output. Super useful with I/O redirection. And heads up: a form-feed is appended after each file, to ease use with printers. πŸ–¨οΈ
  • l β€” list files in archive. This is the limited information listing of files contained in an archive. Displays the filename, original length, and date last modified. And if you're using the n option (scroll down bestie, it's there), only the filename is displayed.
  • v β€” verbose listing of files in archive. The complete information listing of files contained in an archive. Displays the filename, original length, storage method, storage factor (% savings), compressed size, date, time, and CRC. all of it. every crumb. πŸ“
  • t β€” test archive integrity. Computes CRC values for each member of the archive and compares them against the previously saved value. it's the vibe check for your archive ✨
  • c β€” convert entry to new packing method. Converts files stored with older methods to newer methods that are more efficient. Also useful for files previously archived with the s option. glow-up for your files πŸ’…

✨ OPTIONS ✨

  • b β€” retain backup copy of archive. Keeps the original archive file and renames it to .BAK. This switch may be used with the following commands: a, m, u, f, d, c. safety net, we love her πŸŽ€
  • i β€” suppress image mode. This switch causes files to be treated as text files, and will translate their end-of-line sequence. (That's Unix's '\n' vs. the '\r\n' used on many other systems.) The default is to perform no translation when compressing or extracting files. This option makes dealing with text files much nicer, though the tr command can also be used. (and honestly, '\r' in makefiles and C source code is such a nuisance...) 😭
  • s β€” suppress compression. This forces new files to be saved using Method 2 (no compression). This switch may be used with the following commands: a, m, u, f, c.
  • w β€” suppress warning messages. This switch will keep warning messages from being displayed, which is the default. Most warnings concern the deletion or existence of files with the same name. πŸ”‡
  • n β€” suppress notes and comments. This switch will keep useful notes from being displayed, which is the default. Most notes indicate what stage of compression is being run (analyze, compaction, storage).
  • o β€” overwrite existing files when extracting. This switch will make existing files silently get overwritten, instead of asking for confirmation, which is the default. no take-backs, no questions asked πŸ™ˆ
  • q β€” force Squash compression method. This switch causes the Squash compression method to be used, instead of Crunch, which is the default.
  • g β€” encrypt/decrypt archive entry. This is used to encode files so that others may not read them. > BE CAREFUL! This must be the last parameter in the switches because everything following is part of the password. so like. don't put anything after it. fr fr. πŸ”

✨ PROGRAMMING NOTES ✨

Arc Version 2 differs from version 1 in that archive entries are automatically compressed when they're added to the archive, which makes a separate compression step unnecessary. The nature of the compression is indicated by the header version number</> placed in each archive entry, and here's the whole lore drop:

1 = Old style, no compression
2 = New style, no compression
3 = Compression of repeated characters only
4 = Compression of repeated characters plus Huffman SQueezing
5 = Lempel-Zev packing of repeated strings (old style)
6 = Lempel-Zev packing of repeated strings (new style)
7 = Lempel-Zev Williams packing with improved hash function
8 = Dynamic Lempel-Zev packing with adaptive reset
9 = Squashing
  • Type 5, Lempel-Zev packing, was added as of version 4.0.
  • Type 6 is Lempel-Zev packing where runs of repeated characters have been collapsed, and was added as of version 4.1.
  • Type 7 is a variation of Lempel-Zev using a different hash function which yields speed improvements of 20-25%, and was added as of version 4.6.
  • Type 8 is a different implementation of Lempel-Zev, using a variable code size and an adaptive block reset, and was added as of version 5.0.
  • Type 9 is another variation of Lempel-Zev, using a larger hash table. This method was developed by Phil Katz, and is not supported by the "official" ARC programs. πŸ’€

Arc will look for environment variables named ARCTEMP or TMPDIR, which, if present, indicate the pathname where temporary files should be created. This is typically the location of a RAMdisk on a microcomputer, "/tmp/" or left unset. so basically: set it, or don't, it's flexible like that 🌸

See the included documentation file for more details. πŸ“„

✨ HISTORY ✨

Arc has been in use in the CP/M and MSDOS world for many years. Thom Henderson developed the original version, but it is important to note that arc is based on the file compression theories developed by Huffman, Welch, Knott, Knuth, and many other scientists. This implementation is based on version 5.21 of the MSDOS program. shoutout to the scientists, they ate πŸ”₯

✨ BUGS ✨

Arc behaves just like the PC version of the program; all functions of the "usage" display are working. Full compatibility with PC ARC files is maintained, and the price for that is that arc doesn't like long filenames, and can only archive files with names of up to 12 characters. It will sometimes do The Right Thing with them, but I suggest you put long-winded filenames in a "shar" before arcing them. πŸ™ˆ

There shouldn't be any problems, (hah!) but if you find any, please send them to me at:

hyc@hanauma.jpl.nasa.gov

✨ AUTHORS ✨

  • Original MSDOS program by Thom Henderson
  • COPYRIGHT(C) 1985-87 by System Enhancement Associates. You may copy and distribute this program freely, under the terms of the General Public License.
  • Original Lempel-Zev code derived from compress 4.0. Modified to support Squashing by Dan Lanciani (ddl@harvard.edu). Ported from MSDOS by Howard Chu, with help from John Gilmore (hoptoad!gnu), James Turner (daisy!turner) and others. 🫢

and that's the whole page bestie!! this one was written by Howard Chu@JPL on 11 Nov 1991, and it lives in the ARC(1) manual. go archive something slay πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from