Einzeiler

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Einzeiler / Schnippsel

SPLIT

split -b 95 xx.tar.gz xx.tar.gz.split.

Erzeugt aus Eingabedatei xx.tar.gz einen Schwung Dateien mit 95 Bytes Größe und Dateinamen nach dem Muster xx.tar.gz.split.aa xx.tar.gz.split.ab xx.tar.gz.split.ac ...

Die Option -b gibt an, wie groß die Zieldateien in Bytes sein sollen.

cat xx.tar.gz.split.* > xx.tar.gz

Fügt die per split aufgeteilten Dateien wieder zu xx.tar.gz zusammen.

tar -xvzf xx.tar.gz

Extrahiert das Archiv xx.tar.gz. Die Optionen:

  • x - extract, aus Archiv extrahieren
  • v - verbose, "redselig" - ausführliche Informationen ausgeben
  • z - gzip als Kompressionsalgorithmus verwenden
  • f - den folgenden Parameter als Dateinamen interpretieren

FIND/LS

       ls -lahS $(find / -type f -size +10000k)
       find /video -follow -type d | grep -vEe ".(rec|del)$"
       find /cdrom/ -name *.deb -exec cp -v '{}' /var/cache/apt/archives ';'
       find / -type d -exec du -sh {}  \; > /tmp/dirsizes.lst

SED/EUMULATION

       cat          |  sed ':'
       cat -s       |  sed '/./,/^$/!d'
       tac          |  sed '1!G;h;$!d'
       grep         |  sed '/patt/!d'
       grep -v      |  sed '/patt/d'
       head         |  sed '10q'
       head -1      |  sed 'q'
       tail         |  sed -e ':a' -e '$q;N;11,$D;ba'
       tail -1      |  sed '$!d'
       tail -f      |  sed -u '/./!d'
       cut -c 10    |  sed 's/\(.\)\{10\}.*/\1/'
       cut -d: -f4  |  sed 's/\(\([^:]*\):\)\{4\}.*/\2/'
       tr A-Z a-z   |  sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'
       tr a-z A-Z   |  sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'
       tr -s ' '    |  sed 's/ \+/ /g'
       tr -d '\012' |  sed 'H;$!d;g;s/\n//g'
       wc -l        |  sed -n '$='
       uniq         |  sed 'N;/^\(.*\)\n\1$/!P;D'
       rev          |  sed '/\n/!G;s/\(.\)\(.*\n\)/&\2\1/;//D;s/.//'
       basename     |  sed 's,.*/,,'
       dirname      |  sed 's,[^/]*$,,'
       xargs        |  sed -e ':a' -e '$!N;s/\n/ /;ta'
       paste -sd:   |  sed -e ':a' -e '$!N;s/\n/:/;ta'
       cat -n       |  sed '=' | sed '$!N;s/\n/ /'
       grep -n      |  sed -n '/patt/{=;p;}' | sed '$!N;s/\n/:/'
       cp orig new  |  sed 'w new' orig

SED

       Einzelne Zeilen einer Datei können mit dem Kommando sed gelöscht werden.
       Das folgende Beispiel demonstriert, wie die erste, die letzte bzw.
       die zweite bis vierte Zeile aus einer Datei gelöscht werden.
       sed -e '1d' file
       sed -e '$d' file
       sed -e '2,4d' file
       sed -n '4p' file
       sed -i "1a ..........."
       sed -i "1i ..........."

CUT/TR

       cut -c 12-18      # die Zeichen 12 bis 18 jeder Zeile
       cut -f 2 -d ' '   # das 2.Feld, Feldtrenner ist ' '(blank)
       tr -s '[:blank:]' # sqeeze meherere blanks-> ein blank
       tr -d ' '         # alle blanks löschen

ZIP

       gzip file.diff [*.diff]      | führt zu file.diff.gz
       bzip2 -kv file.diff [*.diff] | führt zu file.diff.bz2
       tar cvIf dir.bz2 dir/*       | alle files in dir

WC/Emulation

       stringZ=abcABC123ABCabc
       echo ${#stringZ}

INFO

       awk '{ print $3 }' /proc/version
       awk '/model name/ {print $4}' < /proc/cpuinfo
       awk '/model name/ { print"" $4" "$5" "$6 }' < /proc/cpuinfo
       awk '/cpu MHz/ { print "MHz    " $4 }' < /proc/cpuinfo
       awk '{ print "Kernel "$3 }' /proc/version
       cat /proc/interrupts
       cat /proc/net/dev
       cat /proc/pci
       lspci -v
       uname
       lsmod
       dmesg

SCREEN

       import -window root screen-`date "+%Y-%m-%d_%H:%M:%S"`.png

DATE

       sh   | date +%s
       perl | perl -le 'print time'
       awk  | awk 'BEGIN {print systime()}'

SUBSTITUTION

       a=/a/b/c/d
       b=b.xxx
       csh        bash                result
       ----        --------        ------
       $a:h        ${a%/*}                /a/b/c
       $a:t        ${a##*/}        d
       $b:r        ${b%.*}                b
       $b:e        ${b##*.}        xxx
       ${VAR#pattern} removes the shortest matching pattern, anchored at
       the beginning of the string.
       ${VAR##pattern} removes the longest matching pattern, anchored at
       the beginning of the string.
       ${VAR%pattern} removes the shortest matching pattern, anchored at
       the end of the string.

       ${VAR%%pattern} removes the longest matching pattern, anchored at
       the end of the string.
       ${VARIABLE:-${WERT}} Nutzt den Wert von Variable. Falls die Variable nicht gesetzt ist, wird der Wert benutzt.
       ${VARIABLE:=${WERT}} Nutzt den Wert von Variable. Falls die Variable nicht gesetzt ist, wird der Wert benutzt, und Variable erhält den Wert.
       ${VARIABLE:?${WERT}} Nutzt den Wert von Variable. Falls die Variable nicht gesetzt ist, wird der Wert ausgegeben und die Shell beendet.
                            Wenn kein Wert angegeben wurde, wird der Text parameter null or not set ausgegeben.
       ${VARIABLE:+${WERT}} Nutzt den Wert, falls die Variable gesetzt ist, andernfalls nichts.

EXPANSION

       juergen@anna:~> line="foo bar cutoff baz cutoff fuz"
       juergen@anna:~> text='cutoff'
       juergen@anna:~> echo "${line#*$text}"
       baz cutoff fuz
       juergen@anna:~> echo "${line##*$text}"
       fuz

ssh

       ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N ""
       ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
       ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ""