grmlzshrc.t2t: Docs for apt related aliases.
[grml-etc-core.git] / doc / grmlzshrc.t2t
index fca1cd9..d9c68f8 100644 (file)
@@ -395,6 +395,56 @@ life. A few aliases (like those involving //grep// or //ls//) use the option
 implementations of these tools, and will only be used if such an implementation
 is detected.
 
+: **acp** (//apt-cache policy//)
+With no arguments prints out the priorities of each source. If a package name
+is given, it displays detailed information about the priority selection of the
+package.
+
+: **acs** (//apt-cache search//)
+Searches debian package lists for the regular expression provided as argument.
+The search includes package names and descriptions. Prints out name and short
+description of matching packages.
+
+: **acsh** (//apt-cache show//)
+Shows the package records for the packages provided as arguments.
+
+: **adg** (//apt-get dist-upgrade//)
+Performs an upgrade of all installed packages. Also tries to automatically
+handle changing dependencies with new versions of packages. As this may change
+the install status of (or even remove) installed packages, it is potentially
+dangerous to use dist-upgrade; invoked by sudo, if necessary.
+
+: **ag** (//apt-get upgrade//)
+Downloads and installs the newest versions of all packages currently installed
+on the system. Under no circumstances are currently installed packages removed,
+or packages not already installed retrieved and installed. New versions of
+currently installed packages that cannot be upgraded without changing the install
+status of another package will be left at their current version. An update must
+be performed first (see au below); run by sudo, if necessary.
+
+: **agi** (//apt-get install//)
+Downloads and installs or upgrades the packages given on the command line.
+If a hyphen is appended to the package name, the identified package will be
+removed if it is installed. Similarly a plus sign can be used to designate a
+package to install. This may be useful to override decisions made by apt-get's
+conflict resolution system.
+A specific version of a package can be selected for installation by following
+the package name with an equals and the version of the package to select. This
+will cause that version to be located and selected for install. Alternatively a
+specific distribution can be selected by following the package name with a slash
+and the version of the distribution or the Archive name (stable, testing, unstable).
+Gets invoked by sudo, if user id is not 0.
+
+: **ati** (//aptitude install//)
+Aptitude is a terminal-based package manager with a command line mode similar to
+apt-get (see agi above); invoked by sudo, if necessary.
+
+: **au** (//apt-get update//)
+Resynchronizes the package index files from their sources. The indexes of
+available packages are fetched from the location(s) specified in
+/etc/apt/sources.list. An update should always be performed before an
+upgrade or dist-upgrade; run by sudo, if necessary.
+
 : **cmplayer** (//mplayer -vo fbdev//)
 Video player with framebuffer as video output device, so you can watch
 videos on a virtual tty. Hint: Using fbdev2 allows you to use the shell
@@ -404,6 +454,10 @@ while watching a movie.
 Prints the summarized disk usage of the arguments as well as a grand total
 in human readable format.
 
+: **dir** (//ls -lSrah//)
+Lists files (including dot files) sorted by size (biggest last) in long and
+human readable output format.
+
 : **fblinks** (//links2 -driver fb//)
 A Web browser on the framebuffer device. So you can browse images and click
 links on the virtual tty.
@@ -425,6 +479,18 @@ Case insensitive grep with colored output.
 Basic HTTP server implemented in python. Listens on port 8000/tcp and
 serves current directory. Implements GET and HEAD methods.
 
+: **insecscp** (//scp -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile=/dev/null"//)
+scp with possible man-in-the-middle attack enabled. This is convenient, if the targets
+host key changes frequently, for example on virtualized test- or development-systems.
+To be used only inside trusted networks, of course.
+
+: **insecssh** (//ssh -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile=/dev/null"//)
+ssh with possible man-in-the-middle attack enabled
+(for an explanation see insecscp above).
+
+: **j** (//jobs -l//)
+Prints status of jobs in the current shell session in long format.
+
 : **l** (//ls -lF --color=auto//)
 Lists files in long output format with indicator for filetype appended
 to filename. If the terminal supports it, with colored output.
@@ -433,6 +499,9 @@ to filename. If the terminal supports it, with colored output.
 Lists files in long colored output format. Including file names
 starting with ".".
 
+: **lad** (//ls -d .*(/)//)
+Lists the dot directories (not their contents) in current directory.
+
 : **lh** (//ls -hAl --color=auto//)
 Lists files in long and human readable output format in nice colors,
 if available. Includes file names starting with "." except "." and
@@ -441,15 +510,15 @@ if available. Includes file names starting with "." except "." and
 : **ll** (//ls -l --color=auto//)
 Lists files in long colored output format.
 
-: **j** (//jobs -l//)
-Prints status of jobs in the current shell session in long format.
-
 : **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
 to each file name. Additionally the output is colored, if the terminal
 supports it.
 
+: **lsa** (//ls -a .*(.)//)
+Lists dot files in current working directory.
+
 : **lsbig** (//ls -flh *(.OL[1,10])//)
 Displays the ten biggest files (long and human readable output format).
 
@@ -459,12 +528,19 @@ Shows directories.
 : **lse** (//ls -d *(/^F)//)
 Shows empty directories.
 
+: **lsl** (//ls -l *(@)//)
+Lists symbolic links in current directory.
+
 : **lsnew** (//ls -rl *(D.om[1,10])//)
 Displays the ten newest files (long output format).
 
 : **lsold** (//ls -rtlh *(D.om[1,10])//)
 Displays the ten oldest files (long output format).
 
+: **lss** (//ls -l *(s,S,t)//)
+Lists files in current directory that have the setuid, setgid or sticky bit
+set.
+
 : **lssmall** (//ls -Srl *(.oL[1,10])//)
 Displays the ten smallest files (long output format).
 
@@ -499,6 +575,10 @@ anybody else.
 Grants read, write and execute permission of a file to the owner and
 read-only plus execute permission to anybody else.
 
+: **up** (//aptitude update ; aptitude safe-upgrade//)
+Performs a system update followed by a system upgrade using aptitude; run
+by sudo, if necessary. See au and ag above.
+
 
 = AUXILIARY FILES =
 This is a set of files, that - if they exist - can be used to customize the
@@ -543,6 +623,111 @@ your **$fpath**), you can browse and download them at:
 
 http://git.grml.org/?p=grml-etc-core.git;a=tree;f=usr_share_grml/zsh;hb=HEAD
 
+= ZSH REFCARD TAGS =
+If you read //grmlzshrc//'s code you may notice strange looking comments in
+it. These are there for a purpose. grml's zsh-refcard is automatically
+generated from the contents of the actual configuration file. However, we need
+a little extra information on which comments and what lines of code to take
+into account (and for what purpose).
+
+Here is what they mean:
+
+List of tags (comment types) used:
+: **#a#**
+Next line contains an important alias, that should be included in the
+grml-zsh-refcard. (placement tag: @@INSERT-aliases@@)
+
+: **#f#**
+Next line contains the beginning of an important function. (placement
+tag: @@INSERT-functions@@)
+
+: **#v#**
+Next line contains an important variable. (placement tag:
+@@INSERT-variables@@)
+
+: **#k#**
+Next line contains an important keybinding. (placement tag:
+@@INSERT-keybindings@@)
+
+: **#d#**
+Hashed directories list generation: //start//: denotes the start of a list of
+'hash -d' definitions. //end//: denotes its end. (placement tag:
+@@INSERT-hasheddirs@@)
+
+: **#A#**
+Abbreviation expansion list generation: //start//: denotes the beginning of
+abbreviations. //end//: denotes their end.
+\
+Lines within this section that end in '#d .*' provide extra documentation to
+be included in the refcard. (placement tag: @@INSERT-abbrev@@)
+
+: **#m#**
+This tag allows you to manually generate refcard entries for code lines that
+are hard/impossible to parse.
+Example:
+\
+```
+#m# k ESC-h Call the run-help function
+```
+\
+That would add a refcard entry in the keybindings table for 'ESC-h' with the
+given comment.
+\
+So the syntax is: #m# <section> <argument> <comment>
+
+: **#o#**
+This tag lets you insert entries to the 'other' hash. Generally, this should
+not be used. It is there for things that cannot be done easily in another way.
+(placement tag: @@INSERT-other-foobar@@)
+
+
+All of these tags (except for m and o) take two arguments, the first
+within the tag, the other after the tag:
+
+#<tag><section># <comment>
+
+Where <section> is really just a number, which are defined by the @secmap
+array on top of 'genrefcard.pl'. The reason for numbers instead of names is,
+that for the reader, the tag should not differ much from a regular comment.
+For zsh, it is a regular comment indeed. The numbers have got the following
+meanings:
+
+: **0**
+//default//
+
+: **1**
+//system//
+
+: **2**
+//user//
+
+: **3**
+//debian//
+
+: **4**
+//search//
+
+: **5**
+//shortcuts//
+
+: **6**
+//services//
+
+
+So, the following will add an entry to the 'functions' table in the 'system'
+section, with a (hopefully) descriptive comment:
+\
+```
+#f1# Edit an alias via zle
+edalias() {
+```
+\
+It will then show up in the @@INSERT-aliases-system@@ replacement tag that can
+be found in 'grml-zsh-refcard.tex.in'. If the section number is omitted, the
+'default' section is assumed. Furthermore, in 'grml-zsh-refcard.tex.in'
+@@INSERT-aliases@@ is exactly the same as @@INSERT-aliases-default@@. If you
+want a list of **all** aliases, for example, use @@INSERT-aliases-all@@.
+
 
 = CONTRIBUTING =
 If you want to help to improve grml's zsh setup, clone the grml-etc-core