Zsh – Die interaktive Shell

Ich verwende auf all meinen Linux Rechnern und unter OS X die zsh. Diese Shell war früher mal die Standard-Shell unter Mac OS X und ist natürlich immer noch vorhanden. OS X User brauchen sich also nur eine Konfiguration anlegen. Oder einer der vielen guten Konfigurationen die es so im Netz gibt kopieren. Man gehöhnt sich sehr schnell an die zsh, vor allem bash User werden kaum Problemen mit der Shell haben. Die Bedienung ist nahezu identisch. Sie kann nur mehr und ist meist schneller (wenn man die Globbng-Funktionen der zsh nutzt).

Installation Debian

Die Shell kann man sich einfach aus den Repositories installieren, sich die Konfiguration laden (wget), die zsh als eigene Shell setzen (chsh) und gleich mal antesten (zsh)

 root@schatzkiste ~ # apt-get install zsh
root@schatzkiste ~ # wget -O ~/.zshrc http://git.grml.org/f/grml-etc-core/etc/zsh/zshrc
root@schatzkiste ~ # chsh -s /bin/zsh
root@schatzkiste ~ # zsh

Die Shell hat eine ausgezeichnete vervolständigung von Befehlen. Einfach auf Tab klopfen und schon gehts los.

Das funktioniert mit nahezu allem, Paketnamen

root@schatzkiste ~ # agi sa<TAB>
completing package
sabayon                  sagasu                   sa-learn-cyrus           samba-doc                samplerate-programs      sary                     sawfish                  saydate
sac                      saidar                   salliere                 samba-doc-pdf            samtools                 sary-doc                 sawfish-data
sa-exim                  sailcut                  sam2p                    samba-tools              sanduhr                  sash                     sawfish-dbg
safecat                  sailcut-doc              samba                    samdump2                 sane                     sasl2-bin                sawfish-lisp-source
safecopy                 sakura                   samba-common             samhain                  sane-utils               sat4j                    sawfish-merlin-ugliness
safe-rm                  salasaga                 samba-common-bin         samidare                 sanitizer                satutils                 sawfish-pager
saga                     salasaga-common          samba-dbg                samizdat                 sapphire                 sauce                    sawfish-themes

Kommandooptionen

root@schatzkiste ~ # cp -<TAB>
completing option
--archive                 -a      -- same as -dpR
-b                                -- backup
--backup                          -- method
--copy-contents                   -- copy contents of special files when recursive
-d                                -- same as --no-dereference --preserve=link
--dereference             -L      -- always follow symbolic links
--force                   -f      -- remove and retry for destinations that cannot be opened
-H                                -- follow command-line symbolic links
--interactive             -i      -- prompt before overwrite
--link                    -l      -- link files instead of copying
--no-preserve                     -- attributes not to preserve
--one-file-system         -x      -- stay on this file system
-p                                -- same as --preserve=mode,ownership,timestamps
-P                                -- same as --no-dereference
--parents                         -- append source path to target directory
--preserve                        -- attributes to preserve
--recursive               -r  -R  -- copy directories recursively
--remove-destination              -- remove each existing destination file before attempting to open it
--reply                           -- how to handle the prompt about an existing destination file
--sparse                          -- when to create sparse files
--strip-trailing-slashes          -- remove any trailing slashes from each source argument
--suffix                  -S      -- backup suffix
--symbolic-link           -s      -- make symbolic links instead of copies of non-directories
--target-directory                -- target directory
--update                  -u      -- copy only when source is newer than destination or destination is missing
--verbose                 -v      -- explain what is being done
--help                                                                                             --version

agi ist ein Alias für apt-get install. Es kann unter umständen sein das ich in dem ein oder anderen Artikel vergesse zu erwähnen das ich die zsh und diverse Alias der Konfiguration von GRML verwende. Allerdings sind das meist recht übliche Alias-Befehle.

Links zu mehr Informationen

www.zsh.org/
zsh.sourceforge.net/
grml.org/zsh/ (Hier findet man die Konfiguration die ich verwende und ein Debian Repository der zsh-lovers)

About Florian