SHAR(1) FreeBSD General Commands Manual SHAR(1)


sharcreate a shell archive of files


shar file ...


The shar command writes a sh(1) shell script to the standard output which will recreate the file hierarchy specified by the command line operands. Directories will be recreated and must be specified before the files they contain (the find(1) utility does this correctly).

The shar command is normally used for distributing files by ftp(1) or mail(1).


To create a shell archive of the program ls(1) and mail it to Rick:

cd ls 
shar `find . -print` | mail -s "ls source" rick

To recreate the program directory:

mkdir ls 
cd ls 
<delete header lines and examine mailed archive> 
sh archive


The shar command appeared in 4.4BSD.


The shar command makes no provisions for special types of files or files containing magic characters. The shar command cannot handle files without a newline ('\n') as the last character.

It is easy to insert trojan horses into shar files. It is strongly recommended that all shell archive files be examined before running them through sh(1). Archives produced using this implementation of shar may be easily examined with the command:

egrep -v '^[X#]' shar.file
June 6, 1993 FreeBSD