If not already set, sets the default editor. Falls back to vi(1),
if vim(1) is not available.
+: **LESS_TERMCAP_***
+Some environment variables that add colour support to less(1) for viewing
+man pages. See termcap(5) for details.
+
: **MAIL**
The mailbox file for the current user is set to /var/mail/$USER, if not
already set otherwise.
Prints a colored table of available ansi color codes (to be used in escape
sequences) and the colors they represent.
+: **any()**
+Lists processes matching given pattern.
+
: **aoeu(), asdf(), uiae()**
Pressing the 'asdf' keys toggles between dvorak or neon and us keyboard
layout.
+: **apache2-ssl-certificate()**
+Advices the user how to create self signed certificates.
+
: **asc()**
Login on the host provided as argument using autossh. Then reattach a GNU screen
session if a detached session is around or detach a currently attached screen or
Presents a numbered listing of the directory stack. Then changes current
working directory to the one chosen by the user.
+: **dchange()**
+Shows the changelog of given package in $PAGER.
+
: **debbug()**
Searches the Debian bug tracking system (bugs.debian.org) for Bug numbers,
email addresses of submitters or any string given on the command line.
Tells the user to use grml-debootstrap, if she wants to install debian to
harddisk.
+: **deswap()**
+A trick from $LINUX-KERNELSOURCE/Documentation/power/swsusp.txt. It brings
+back interactive responsiveness after suspend, when the system is swapping
+heavily.
+
: **dirspace()**
Shows the disk usage of the directories given in human readable format;
defaults to $path.
: **disassemble()**
Translates C source code to assembly and ouputs both.
+: **dmoz()**
+Searches for the first argument (optional) in the Open Directory Project
+(See http://www.dmoz.org/docs/en/about.html).
+
+: **dnews()**
+Shows the NEWS file for the given package in $PAGER.
+
: **doc()**
Takes packagename as argument. Sets current working directory to
/usr/share/doc/<packagename> and prints out a directory listing.
+: **dwicti()**
+Looks up the first argument (optional) in the german Wiktionary
+which is an online dictionary (See: http://de.wiktionary.org/).
+
+: **edalias()**
+Edit given alias.
+
+: **edfunc()**
+Edit given shell function.
+
+: **ewicti()**
+Looks up the first argument (optional in the english Wiktionary
+which is an online dictionary (See: http://en.wiktionary.org/).
+
: **exirename()**
Renames image files based on date/time informations in their exif headers.
from Alt-[0-9] to Alt-F[0-9] and vice versa by rewriting $HOME/.fluxbox/keys.
Requires the window manager to reread configuration to take effect.
+: **freload()**
+Reloads an autoloadable shell function (See autoload in zshbuiltins(1)).
+
: **genthumbs()**
A simple thumbnails generator. Resizes images (i. e. files that end in ".jpg",
".jpeg", ".gif" or ".png") to 100x200. Output files are named "thumb-<original
//Warning:// On start genthumbs() silently removes a possibly existing "index.html"
and all files and/or directories beginning with "thumb-" in current directory!
-: **getair()**
-Tries to download, unpack and run AIR (imaging software) version 1.2.8.
+: **get_tw_cli()**
+Fetches 3ware RAID controller software using get_3ware(1).
-: **getgizmo()**
-Tries to download and install Gizmo (VoIP software) for Debian.
+: **gex()**
+Performs an exact (i. e. quoted) web search using Google.
-: **getskype()**
-Tries to download and install Skype (VoIP software) for Debian.
+: **ggogle()**
+Searches the arguments on Google Groups, a web to USENET gateway.
-: **getskypebeta()**
-Downloads and installs newer version of Skype.
-
-: **getxlite()**
-Tries to download and unpack X-lite (VoIP software) from counterpath.com into
-~/tmp.
+: **google()**
+Searches the search engine Google using arguments as search string.
: **greph()**
Searches the zsh command history for a regular expression.
Prints the hexadecimal representation of the number supplied as argument
(base ten only).
+: **hgdi()**
+Use GNU diff with options -ubwd for mercurial.
+
+: **hgstat()**
+Displays diffstat between the revision given as argument and tip (no
+argument means last revision).
+
: **hidiff()**
Outputs highlighted diff; needs highstring(1).
Queries IMAP server (first parameter) for its capabilities. Takes
port number as optional second argument.
+: **ipv6-tunnel()**
+Sets up an IPv6 tunnel on interface sit1. Needs one argument -
+either "start", "stop" or "status".
+
: **is4()**
Returns true, if zsh version is equal or greater than 4, else false.
: **isutfenv()**
Returns true, if run within an utf environment, else false.
+: **iwclient()**
+Searches a wireless interface and runs dhclient(8) on it.
+
: **lcheck()**
Lists libraries that define the symbol containing the string given as
parameter.
: **man2()**
Displays manpage in a streched style.
+: **manzsh()**
+Shows the zshall manpage and jumps to the first match of the regular
+expression optionally given as argument (Needs qma(1)).
+
: **mcd()**
Creates directory including parent directories, if necessary. Then changes
current working directory to it.
: **memusage()**
Prints the summarized memory usage in bytes.
+: **mggogle()**
+Searches Google Groups for a USENET message-ID.
+
: **minimal-shell()**
Spawns a minimally set up MirBSD Korn shell. It references no files in /usr,
so that file system can be unmounted.
last N days. N is an integer to be passed as first and only argument.
If no argument is specified N is set to 1.
+: **netcraft()**
+Asks netcraft.com for informations about the site given as argument.
+
+: **nt()**
+A helper function for the "e" glob qualifier to list all files newer
+than a reference file.
+\
+Example usages:
+```
+% NTREF=/reference/file
+% ls -l *(e:nt:)
+% # Inline:
+% ls -l *(e:'nt /reference/file':)
+```
+
: **ogg2mp3_192()**
Recodes an ogg file to mp3 with a bitrate of 192.
+: **oleo()**
+Translates the given word using the english - german online
+dictionary dict.leo.org.
+
: **peval()**
Evaluates a perl expression; useful as command line
calculator, therefore also available as "calc".
: **plap()**
Lists all occurrences of the string given as argument in current $PATH.
+: **profile()**
+Runs a command in $SHELL with profiling enabled (See startup variable
+ZSH_PROFILE_RC above).
+
: **purge()**
Removes typical temporary files (i. e. files like "*~", ".*~", "#*#", "*.o",
"a.out", "*.core", "*.cmo", "*.cmi" and ".*.swp") from current directory.
number. The shells readline buffer is then filled with the corresponding
command line.
+: **setenv()**
+Reimplementation of the csh(1) builtin setenv.
+
: **show-archive()**
Lists the contents of a (compressed) archive with the appropriate programs.
The choice is made along the filename extension.
Tries to uncompress/unpack given file with the appropriate programs. The
choice is made along the filename ending.
+: **sll()**
+Prints details of symlinks given as arguments.
+
: **slow_print()**
Prints the arguments slowly by sleeping 0.08 seconds between each character.
certificate. Use /dev/stdin as file if you want to pipe a certificate
to this function.
+: **Start(), Restart(), Stop(), Force-Reload(), Reload()**
+Functions for controlling daemons.
+```
+Example usage:
+% Restart ssh
+```
+
: **startx()**
Initializes an X session using startx(1) if /etc/X11/xorg.conf exists, else
issues a Warning to use the grml-x(1) script. Can be overridden by using
: **status()**
Shows some information about current system status.
+: **swiki()**
+Searches articles in the german Wikipedia for the term given as argument.
+
: **swspeak()**
Sets up software synthesizer by calling swspeak-setup(8). Kernel boot option
swspeak must be set for this to work.
: **trans()**
Translates a word from german to english (-D) or vice versa (-E).
+: **uchange()**
+Shows upstreams changelog of a given package in $PAGER.
+
: **udiff()**
Makes a unified diff of the command line arguments trying hard to find a
smaller set of changes. Descends recursively into subdirectories. Ignores
For a list of ICAO codes see
"http://en.wikipedia.org/wiki/List_of_airports_by_ICAO_code".
+: **wikide()**
+Looks up the argument on Wikipedia (german).
+
+: **wikien()**
+Looks up the argument on Wikipedia (english).
+
+: **wodeb()**
+Searches the list of official debian packages for the term given as
+first argument. The optional second argument denotes the distribution
+(stable, testing or unstable) and defaults to unstable.
+
: **xcat()**
Tries to cat(1) file(s) given as parameter(s). Always returns true.
See also xunfunction() below.
: **CO** (//./configure//)
Prepares compilation for building program from source.
+: **cp** (//nocorrect cp//)
+cp(1) without spelling correction.
+
: **da** (//du -sch//)
Prints the summarized disk usage of the arguments as well as a grand total
in human readable format.
+: **dbp** (//dpkg-buildpackage//)
+Builds binary or source packages from sources (See: dpkg-buildpackage(1)).
+
+: **debs-by-size** (//grep-status -FStatus -sInstalled-Size,Package -n "install ok installed" | paste -sd " \n" | sort -rn//)
+Prints installed Packages sorted by size (descending).
+
: **default** (//echo -en [ escape sequence ]//)
Sets font of xterm to "-misc-fixed-medium-r-normal-*-*-140-*-*-c-*-iso8859-15"
using escape sequence.
: **g** (//git//)
Revision control system by Linus Torvalds.
+: **ge** (//grep-excuses//)
+Searches the testing excuses files for a specific maintainer (See:
+grep-excuses(1)).
+
: **grep** (//grep --color=auto//)
Shows grep output in nice colors, if available.
: **grml-version** (//cat /etc/grml_version//)
Prints version of running grml.
+: **hbp** (//hg-buildpackage//)
+Helper program to maintain Debian packages with mercurial.
+
: **http** (//python -m SimpleHTTPServer//)
Basic HTTP server implemented in python. Listens on port 8000/tcp and
serves current directory. Implements GET and HEAD methods.
: **hide** (//echo -en [ escape sequence ]//)
Tries to hide xterm window using escape sequence.
+: **hidiff** (//histring -fE '^Comparing files .*|^diff .*' | histring -c yellow -fE '^\-.*' | histring -c green -fE '^\+.*'//)
+If histring(1) is installed, highlight important stuff in diff(1) output.
+
: **huge** (//echo -en [ escape sequence ]//)
Sets huge font in xterm ("-misc-fixed-medium-r-normal-*-*-210-*-*-c-*-iso8859-15")
using escape sequence.
: **ll** (//ls -l --color=auto//)
Lists files in long colored output format.
+: **llog** (//$PAGER /var/log/syslog//)
+Opens syslog in pager.
+
: **ls** (//ls -b -CF --color=auto//)
Lists directory printing octal escapes for nongraphic characters.
Entries are listed by columns and an indicator for file type is appended
: **md** (//mkdir -p//)
Creates directory including parent directories, if necessary
+: **mdstat** (//cat /proc/mdstat//)
+Lists all active md (i.e. linux software raid) devices with some information
+about them.
+
: **medium** (//echo -en [ escape sequence ]//)
Sets medium sized font
("-misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-15") in xterm
using escape sequence.
+: **mkdir** (//nocorrect mkdir//)
+mkdir(1) without spelling correction.
+
+: **mq** (//hg -R $(readlink -f $(hg root)/.hg/patches)//)
+Executes the commands on the versioned patch queue from current repository.
+
+: **mv** (//nocorrect mv//)
+mv(1) without spelling correction.
+
+: **rd** (//rmdir//)
+Short rmdir(1) (remove directory).
+
+: **rm** (//nocorrect rm//)
+rm(1) without spelling correction.
+
: **screen** (///usr/bin/screen -c ${HOME}/.screenrc//)
If invoking user is root, starts screen session with /etc/grml/screenrc
as config file. If invoked by a regular user, start a screen session
Grants read, write and execute permission of a file to the owner and
read-only plus execute permission to anybody else.
+: **S** (//screen//)
+Short for screen(1).
+
+: **s** (//ssh//)
+Short for ssh(1).
+
: **semifont** (//echo -en [ escape sequence ]//)
Sets font of xterm to
"-misc-fixed-medium-r-semicondensed-*-*-120-*-*-*-*-iso8859-15" using
If user is running a grml live-CD, dont ask for any password, if she
wants a root shell.
+: **term2iso** (//echo 'Setting terminal to iso mode' ; print -n '\e%@'//)
+Sets mode from UTF-8 to ISO 2022 (See:
+http://www.cl.cam.ac.uk/~mgk25/unicode.html#term).
+
+: **term2utf** (//echo 'Setting terminal to utf-8 mode'; print -n '\e%G'//)
+Sets mode from ISO 2022 to UTF-8 (See:
+http://www.cl.cam.ac.uk/~mgk25/unicode.html#term).
+
: **tiny** (//echo -en [ escape sequence ]//)
Sets tiny xterm font
("-misc-fixed-medium-r-normal-*-*-80-*-*-c-*-iso8859-15") using escape
sequence.
+: **tlog** (//tail -f /var/log/syslog//)
+Prints syslog continuously (See tail(1)).
+
+: **top10** (//print -l ? ${(o)history%% *} | uniq -c | sort -nr | head -n 10//)
+Prints the ten most used shell commands.
+
: **truec** (//truecrypt [ mount options ]//)
Mount a truecrypt volume with some reasonable mount options
("rw,sync,dirsync,users,uid=1000,gid=users,umask=077" and "utf8", if
Performs a system update followed by a system upgrade using aptitude; run
by sudo, if necessary. See au and ag above.
+: **url-quote** (//autoload -U url-quote-magic ; zle -N self-insert url-quote-magic//)
+After calling, characters of URLs as typed get automatically escaped, if necessary, to
+protect them from the shell.
+
+: **0** (//return 0//)
+Gives a clean prompt (i.e. without $?).
+
+: **$(uname -r)-reboot** (//kexec -l --initrd=/boot/initrd.img-"$(uname -r)" --command-line=\"$(cat /proc/cmdline)\" /boot/vmlinuz-"$(uname -r)"//)
+Reboots using kexec(8) and thus reduces boot time by skipping hardware initialization of BIOS/firmware.
+
+: **...** (//cd ../..///)
+Changes current directory two levels higher.
+
: **?** (//qma zshall//)
Runs the grml script qma (quick manual access) to build the collected man
pages for the z-shell. This compressed file is kept at