GNU shar erstellt sogenannte Shell-Archive aus vielen Dateien und bereitet sie für die Übertragung z.B. per email vor. Ein Shell-Archiv ist eine Sammlung von Dateien, die mit /bin/sh entpackt werden kann. Eine breite Auswahl von Features sorgt für hohe Flexibilität beim Erstellen von Shars und beim Einstellen der Intelligenz von Shar. Beispielsweise kann Shar Dateien komprimieren, Binärdateien mit uuencode kodieren, lange Dateien aufteilen und Mails aus mehreren Teilen konstruieren, die korrekte Reihenfolge bei unshar sicherstellen und einfache Prüfsummen bereitstellen. GNU unshar geht durch eine Sammlung von Emails und sucht nach dem Anfang der Shell-Archive. Es entfernt automatisch die Mailheader und anderen einleitenden Text. Die Archive werden dann von einer Kopie der Shell entpackt. unshar kann auch Dateien verarbeiten, die aneinandergehängte Shell-Archive enthalten. (non)