uudecode(1)
π uudecode β the manual page, bestie edition β¨
okay so this is the page for uudecode(1), which lives in the User Commands corner of the manual. it's giving "I turn your encoded nonsense back into real files." let's go π«Ά
πΈ NAME πΈ
uudecode β decode an encoded file. that's it. that's the whole job. iconic behavior honestly.
π SYNOPSIS π
uudecode [-flags] [-flag [value]] [--option-name[[=| ]value]]
[<file>...]
If no file(s) are provided, then standard input is decoded.
literally if you hand it nothing, it just reads from stdin like a good little listener. no cap. π
β¨ DESCRIPTION β¨
uudecode transforms uuencoded files into their original form. glow-up process. you give it the encoded mush, it hands you back the actual file. π
The encoded file(s) may be specified on the command line, or one may be read from standard input. The output file name is specified in the encoded file, but may be overridden with the -o option. It will have the mode of the original file, except that setuid and execute bits are not retained.
not me realizing setuid and execute bits get dropped π that's just how it is, bestie. them's the rules.
If the output file is specified to be /dev/stdout or -, the result will be written to standard output. If there are multiple input files and the second or subsquent file specifies standard output, the decoded data will be written to the same file as the previous output. Don't do that.
fr fr. don't do that. i'm not kidding and neither is the manpage. π
uudecode ignores any leading and trailing lines. It looks for a line that starts with "begin" and proceeds until the end-of-encoding marker is found. The program determines from the header line of the encoded file which of the two supported encoding schemes was used and whether or not the output file name has been encoded with base64 encoding. See uuencode(5).
the way it just skips the extra lines and sniffs out the header to figure out which of the two schemes you used? main character energy honestly β
π OPTIONS π
-o file,--output-file=fileβ direct output tofile.
If specified, decoded data are written to this file. When multiple inputs are specified on the command line, this option cannot be specified. All decoded data must be written to the file name encoded in the data.
so like... it's one or the other, bestie. pick a lane π
-c,--ignore-chmodβ ignorefchmod(3P)errors.
By default, if the output file permissions cannot be changed to the permissions specified in the encoded data, the file will not be written out and execution stops. This option will cause that error to be ignored. The resulting file will have all the data, but the incorrect mode settings.
fchmod() errors are also ignored if POSIXLY_CORRECT is set in the environment. RE: http://austingroupbugs.net/view.php?id=635
A warning is always emitted when fchmod() fails.
so even if you ignore the error, the warning still shows up. the program is nothing if not honest. π
-h,--helpβ Display usage information and exit.-!,--more-helpβ Pass the extended usage information through a pager.
extended lore, delivered by pager. obsessed. π
-R [cfgfile],--save-opts [=cfgfile]β Save the option state tocfgfile. The default is the last configuration file listed in the OPTION PRESETS section, below. The command will exit after updating the config file.-r cfgfile,--load-opts=cfgfile,--no-load-optsβ Load options fromcfgfile. Theno-load-optsform will disable the loading of earlier config/rc/ini files.--no-load-optsis handled early, out of order.
handled early, out of order β it simply does not wait its turn. queen shit. π
-v [{v|c|n --version [{v|c|n}]}]β Output version of program and exit. The default mode isv, a simple version. Thecmode will print copyright information andnwill print the full copyright notice.
π§ OPTION PRESETS π§
Any option that is not marked as not presettable may be preset by loading values from configuration ("RC" or ".INI") file(s). The file "$HOME/.sharrc" will be used, if present.
it checks $HOME/.sharrc and if it's there, it's there. if not, no drama. πΈ
π STANDARDS π
This implementation is compliant with P1003.2b/D11.
compliant. certified. valid. we love a standards girlie. β¨
π¦ FILES π¦
See OPTION PRESETS for configuration files.
π₯ EXIT STATUS π₯
One of the following exit values will be returned:
0(EXIT_SUCCESS)β Successful program execution. π1(EXIT_OPTION_ERROR)β The command options were misconfigured.2(EXIT_INVALID)β (warning) One or more input files contained no valid data4(EXIT_NO_INPUT)β (warning) The specified input file was not found8(EXIT_NO_OUTPUT)β (error) The specified output file could not be created; or else one of the output files could not be written or its access mode could not be changed (warnings). The accompanying message(s) will distinguish.9(EXIT_NO_MEM)β No process memory available66(EX_NOINPUT)β A specified configuration file could not be loaded.70(EX_SOFTWARE)β libopts had an internal operational error. Please report it toautogen-users@lists.sourceforge.net. Thank you.
The exit status codes are (mostly) warning codes. As such, each code is "or"-ed into the final exit code as the input files are processed. For example, an exit code of '6' is not listed above. It is the sum of EXIT_INVALID and EXIT_NO_INPUT. It would mean that at least one input file contained invalid data and also at least one input file could not be found at all.
okay this part is actually so smart β the codes STACK. 2 + 4 = 6 means "some files were garbage AND some files were missing." it's giving bitwise math homework but make it useful. π
π SEE ALSO π
π AUTHORS π
Free Software Foundation, Inc.
π COPYRIGHT π
Copyright (C) 1994-2015 Free Software Foundation, Inc. all rights reserved. This program is released under the terms of the GNU General Public License, version 3 or later.
π BUGS π
Please put sharutils in the subject line for emailed bug reports. It helps to spot the message.
put sharutils in the subject line, bestie, it helps them find your message in the pile π
If more than one name in the encoded files are the same, or if the second or following input files specifies standard output for the output file, then the result is probably not what is expected. Specifically, standard output will be appended to and named output files will be replaced.
this is the chaos clause. same names = collisions. stdout in later files = appending. named files = replaced. it is NOT what you expect and it is NOT apologizing. π
Please send bug reports to: bug-gnu-utils@gnu.org
β NOTES β
This manual page was AutoGen-erated from the uudecode option definitions.
and that's the whole page, bestie!! this whole thing ships as part of GNU sharutils, version 4.15.2, dated 30 May 2015 β yes it's a 2015 baby but she still eats π stay decoded, stay iconic, and remember: don't specify standard output on your second input file. mwah π«Άβ¨
π¦ where this page comes from
- alpine 3.22: sharutils-doc 4.15.2-r6 Β· GPL-3.0-or-later
- alpine 3.23: sharutils-doc 4.15.2-r6 Β· GPL-3.0-or-later
- alpine 3.24: sharutils-doc 4.15.2-r6 Β· GPL-3.0-or-later
- arch rolling: sharutils 4.15.2-6 Β· GPL-3.0-or-later
- centos-stream 10: sharutils 4.15.2-28.el10 Β· GPL-3.0-or-later AND (GPL-3.0-or-later AND BSD-4-Clause) AND (LGPL-3.0-or-later OR BSD-3-Clause) AND LGPL-2.0-or-later AND LGPL-3.0-or-later AND LicenseRef-Fedora-Public-Domain AND GFDL-1.3-or-later
- centos-stream 9: sharutils 4.15.2-21.el9 Β· GPLv3+ and (GPLv3+ and BSD) and (LGPLv3+ or BSD) and LGPLv2+ and Public Domain and GFDL
- debian bookworm: sharutils 1:4.15.2-9
- debian trixie: sharutils 1:4.15.2-12
- fedora 43: sharutils 4.15.2-30.fc43 Β· GPL-3.0-or-later AND (GPL-3.0-or-later AND BSD-4-Clause) AND (LGPL-3.0-or-later OR BSD-3-Clause) AND LGPL-2.0-or-later AND LGPL-3.0-or-later AND LicenseRef-Fedora-Public-Domain AND GFDL-1.3-or-later
- fedora 44: sharutils 4.15.2-31.fc44 Β· GPL-3.0-or-later AND (GPL-3.0-or-later AND BSD-4-Clause) AND (LGPL-3.0-or-later OR BSD-3-Clause) AND LGPL-2.0-or-later AND LGPL-3.0-or-later AND LicenseRef-Fedora-Public-Domain AND GFDL-1.3-or-later
- nixos 26.05: sharutils 4.15.2
- nixpkgs unstable: sharutils 4.15.2
- opensuse-leap 16.0: sharutils 4.15.2-160000.2.2 Β· GPL-3.0-or-later
- opensuse-leap 16.0: sharutils 4.15.2-160000.2.2 Β· GPL-3.0-or-later
- opensuse-leap 16.0: sharutils 4.15.2-160000.2.2 Β· GPL-3.0-or-later
- opensuse-leap 16.0: sharutils 4.15.2-160000.2.2 Β· GPL-3.0-or-later
- ubuntu jammy: sharutils 1:4.15.2-5build1
- ubuntu noble: sharutils 1:4.15.2-9
- ubuntu questing: sharutils 1:4.15.2-12
- ubuntu resolute: sharutils 1:4.15.2-13
- ubuntu stonking: sharutils 1:4.15.2-13
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms