X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=doc%2Fgrmlzshrc.t2t;h=621a3849095b72287cdb08366d7e4767043ff4dc;hb=8670ff0bf352897e0a40ec84a1029336a6ab65e1;hp=d87f9beef08167d98bcb2de94b6fecd9c695b900;hpb=c46a31df37b335196b6f5d9d0eff0b84b431fdd2;p=grml-etc-core.git diff --git a/doc/grmlzshrc.t2t b/doc/grmlzshrc.t2t index d87f9be..621a384 100644 --- a/doc/grmlzshrc.t2t +++ b/doc/grmlzshrc.t2t @@ -1,6 +1,6 @@ GRMLZSHRC -August, 2009 +June, 2010 %!target: man %!postproc(man): "^(\.TH.*) 1 " "\1 5 " @@ -43,6 +43,62 @@ Or by setting them permanently in **zshrc.pre** (See AUXILIARY FILES below). If set to a value greater than zero and //acpi// installed, //grmlzshrc// will put the battery status into the right hand side interactive prompt. +: **COMMAND_NOT_FOUND** +A non zero value activates a handler, which is called when a command can not +be found. The handler is defined by GRML_ZSH_CNF_HANDLER (see below). + +: **GRML_ALWAYS_LOAD_ALL** +Enables the whole grml setup for root, if set to a non zero value. + +: **GRML_ZSH_CNF_HANDLER** +This variable contains the handler to be used by COMMAND_NOT_FOUND (see above) +and defaults to "/usr/share/command-not-found/command-not-found". + +: **GRMLSMALL_SPECIFIC** +Set this to zero to remove items in zsh config, which do not work in +grml-small. + +: **HISTFILE** +Where zsh saves the history. Default: ${HOME}/.zsh_history. + +: **HISTSIZE** +Number of commands to be kept in the history. On a grml-CD this defaults to +500, on a hard disk installation to 5000. + +: **MAILCHECK** +Sets the frequency in seconds for zsh to check for new mail. Defaults to 30. +A value of zero turns off checking. + +: **NOCOR** +Non zero values deactivate automatic correction of commands. + +: **NOMENU** +If set to zero (default), allows selection from a menu, if there are at least +five possible options of completion. + +: **NOPRECMD** +A non zero value disables precmd and preexec commands. These are functions +that are run before every command (setting xterm/screen titles etc.). + +: **REPORTTIME** +Show time (user, system and cpu) used by external commands, if they run longer +than the defined number of seconds (default: 5). + +: **SAVEHIST** +Number of commands to be stored in ${HISTFILE}. Defaults to 1000 on a grml-CD +and to 10000 on an installation on hard disk. + +: **watch** +As in tcsh(1) an array of login/logout events to be reported by the shell +builtin "log". For details see zshparam(1). Defaults to (notme root). + +: **ZSH_NO_DEFAULT_LOCALE** +Import "/etc/default/locale", if set to zero (default). + +: **ZSH_PROFILE_RC** +A non zero value causes shell functions to be profiled. The results can be +obtained with the zprof builtin command (see zshmodules(1) for details). + = FEATURE DESCRIPTION = This is an in depth description of non-standard features implemented by @@ -229,6 +285,41 @@ available via the usual history lookup widgets. = REFERENCE = +== ENVIRONMENT VARIABLES == +//grmlzshrc// sets some environment variables, which influence the +behaviour of applications. + +: **BROWSER** +If X is running this is set to "firefox", otherwise to "w3m". + +: **COLORTERM** +Set to "yes". Some applications read this to learn about properties +of the terminal they are running in. + +: **EDITOR** +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. + +: **PAGER** +Set less(1) as default pager, if not already set to something different. + +: **QTDIR** +Holds the path to shared files for the C++ application framework QT +(version 3 or 4). + +: **SHELL** +Set explicitly to /bin/zsh, to prevent certain terminal emulators to +default to /bin/sh or /bin/bash. + + == OPTIONS == Apart from zsh's default options, //grmlzshrc// sets some options that change the behaviour of zsh. Options that change Z-shell's default @@ -343,6 +434,11 @@ Converts plaintext files to HTML using vim. The output is written to If 915resolution is available, issues a warning to the user to run it instead to modify the resolution on intel graphics chipsets. +: **accessed()** +Lists files in current directory, which have been accessed within the +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. + : **agoogle()** Searches for USENET postings from authors using google groups. @@ -353,10 +449,22 @@ Sets all ulimit values to "unlimited". 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 +else start a new screen. This is especially useful for roadwarriors using GNU +screen and ssh. + : **audioburn()** Burns the files in ~/ripps (see audiorip() below) to an audio CD. Then prompts the user if she wants to remove that directory. You might need @@ -379,11 +487,21 @@ The brltty(1) program provides a braille display, so a blind person can access the console screen. This wrapper function works around problems with some environments (f. e. utf8). +: **cdiff()** +Runs a recursive diff(1) over two given directories trying to find the +smallest set of changes. Three lines of context will be printed and binary +files filtered out. + : **cdrecord()** If the original cdrecord is not installed, issues a warning to the user to use the wodim binary instead. Wodim is the debian fork of Joerg Schillings cdrecord. +: **changed()** +Lists files in current directory, which have been changed within the +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. + : **check_com()** Returns true if given command exists either as program, function, alias, builtin or reserved word. If the option -c is given, only returns true, @@ -397,6 +515,28 @@ grml systems with autologin. Changes current directory to the one supplied by argument and lists the files in it, including file names starting with ".". +: **cvsa()** +Adds and commits the given files using cvs(1). The commit message will be +'initial checkin'. + +: **cvsd()** +Shows a cvs diff of the arguments in $PAGER. + +: **cvsl()** +Shows the cvs log in $PAGER. + +: **cvsq()** +Runs a cvs update. + +: **cvsr()** +Generates a changelog using rcs2log and shows it in $PAGER. + +: **cvss()** +Shows cvs status of given files. + +: **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. @@ -408,6 +548,11 @@ Shows bug report for debian given by number in mailbox format. 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. @@ -415,10 +560,34 @@ 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/ 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. + : **fir()** Opens given URL with Firefox (Iceweasel on Debian). If there is already an instance of firefox running, attaches to the first window found and opens the @@ -429,6 +598,9 @@ Switches the key combinations for changing current workspace under fluxbox(1) 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-[,] + +: **makereadable()** +Creates a PostScript and a PDF file (basename as first argument) from +source code files. + +: **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. +: **mdiff()** +Diffs the two arguments recursively and writes the +output (unified format) to a timestamped file. + +: **memusage()** +Prints the summarized memory usage in bytes. + +: **mggogle()** +Searches Google Groups for a USENET message-ID. + : **minimal-shell()** -Spawns a absolute minimal Korn shell. It references no files in /usr, so -that file system can be unmounted. +Spawns a minimally set up MirBSD Korn shell. It references no files in /usr, +so that file system can be unmounted. : **mkaudiocd()** Renames all mp3 files in ~/ripps (see audiorip above) to lowercase and @@ -540,13 +741,41 @@ Creates an iso9660 filesystem image with Rockridge and Joliet extensions enabled using mkisofs(8). Prompts the user for volume name, filename and target directory. +: **mkmaildir()** +Creates a directory with first parameter as name inside $MAILDIR_ROOT +(defaults to $HOME/Mail) and subdirectories cur, new and tmp. + : **mmake()** Runs "make install" and logs the output under ~/.errorlogs/; useful for a clean deinstall later. +: **modified()** +Lists files in current directory, which have been modified within the +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". @@ -554,6 +783,10 @@ 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. @@ -580,6 +813,9 @@ findings in default pager. On exit of the pager the user is prompted for a 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. @@ -594,6 +830,9 @@ Shows the content of a zip archive in default pager. 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. @@ -602,7 +841,7 @@ Compresses/archives the file given as first parameter. Takes an optional second argument, which denotes the compression/archive type as typical filename extension; defaults to "tar.gz". -: **smartindent()** +: **smart-indent()** Indents C source code files given; uses Kernighan & Ritchie style. : **sshot()** @@ -612,23 +851,56 @@ so you have plenty of time to switch desktops/windows. Then makes a screenshot of the current desktop. The result is stored in ~/shots to a timestamped jpg file. -: **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 -/usr/bin/startx directly. +: **ssl-cert-fingerprints** +Prints the SHA512, SHA256, SHA1 and MD5 digest of a x509 certificate. +First and only parameter must be a file containing a certificate. Use +/dev/stdin as file if you want to pipe a certificate to these +functions. + +: **ssl-cert-info** +Prints all information of a x509 certificate including the SHA512, +SHA256, SHA1 and MD5 digests. First and only parameter must be a file +containing a certificate. Use /dev/stdin as file if you want to pipe a +certificate to this function. + +: **ssl-cert-sha512(), ssl-cert-sha256(), ssl-cert-sha1(), ssl-cert-md5()** +Prints the SHA512, SHA256, SHA1 respective MD5 digest of a x509 +certificate. First and only parameter must be a file containing a +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 +``` : **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 hows some information about current status. +: **uopen()** +Downloads and displays a file using a suitable program for its +Content-Type. + : **uprint()** Works around the "print -l ${(u)foo}"-limitation on zsh older than 4.2. @@ -651,20 +923,41 @@ line options, she always wants, in her .zshrc.local. : **vman()** Use vim(1) as manpage reader. +: **whatwhen()** +Searches the history for a given pattern and lists the results by date. +The first argument is the search pattern. The second and third ones are +optional and denote a search range (default: -100). + +: **weather()** +Retrieves and prints weather information from "http://weather.noaa.gov". +The first and only argument is the ICAO code for the desired station. +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. -: **xinit()** -Initializes an X session using xinit(1) if /etc/X11/xorg.conf exists, else -issues a Warning to use the grml-x(1) script. Can be overridden by using -/usr/bin/xinit directly. - : **xsource()** Tries to source the file(s) given as parameter(s). Always returns true. See zshbuiltins(1) for a detailed description of the source command. See also xunfunction() below. +: **xtrename()** +Changes the title of xterm window from within screen(1). Run without +arguments for details. + : **xunfunction()** Removes the functions salias, xcat, xsource, xunfunction and zrcautoload. @@ -757,10 +1050,19 @@ while watching a movie. : **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. @@ -780,6 +1082,10 @@ can watch videos on a virtual tty. : **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. @@ -792,6 +1098,9 @@ Scans for new devices and updates /etc/fstab according to the findings. : **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. @@ -811,6 +1120,9 @@ Runs the function H-Glob() to expand or explain wildcards. : **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. @@ -841,6 +1153,9 @@ if available. Includes file names starting with "." except "." and : **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 @@ -885,11 +1200,30 @@ Lists only executable files. : **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 @@ -911,6 +1245,12 @@ anybody else. 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 @@ -927,11 +1267,25 @@ escape sequence. 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 @@ -941,6 +1295,19 @@ available). 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 @@ -1113,19 +1480,29 @@ possibly inclusion. = STATUS = -This manual page is supposed to be a **reference** manual for //grmlzshrc//. +This manual page is the **reference** manual for //grmlzshrc//. + That means that in contrast to the existing refcard it should document **every** -aspect of the setup. That is currently **not** the case. Not for a long time -yet. Contributions are highly welcome. +aspect of the setup. + +This manual is currently not complete. If you want to help improving it, visit +the following pages: + +http://wiki.grml.org/doku.php?id=zshrcmanual + +http://lists.mur.at/pipermail/grml/2009-August/004609.html + +Contributions are highly welcome. = AUTHORS = -This manpage was written by Frank Terbeck and Joerg Woelke -. +This manpage was written by Frank Terbeck , Joerg Woelke +, Maurice McCarthy and Axel +Beckert . = COPYRIGHT = -Copyright (c) 2009, grml project +Copyright (c) 2009-2010 grml project This manpage is distributed under the terms of the GPL version 2.