Diese Woche in der Konsole #10

Posted on November 15th, 2009 in Konsole, Ubuntu | 2 Comments »

  1. BASH Befehlsübersicht

    Um alle Befehle der BASH Tools und Programme die in den Pfaden der Umgebungsvariable PATH sich befinden, anzeigen zu lassen reicht 2 mal Tabulator und ein y (oder j) in der Konsole.

  2. Online GeoIP Daten einer IP abfragen. Zurück kommt ein json-formatierter String.

    curl -s "http://geoip.pidgets.com?ip=212.69.178.148&format=json"
  3. Eine ganz bestimmte Zeile einer Datei anzeigen lassen.
    head -n 23 /etc/passwd | tail -n 1

    oder mit sed

    sed -n 23p /etc/passwd
  4. Eine Datei in mehrere aufteilen. Neue Dateien enthalten jeweils 10 Zeilen und beginnen mit dem
    Namen neu-.

    split --lines 10 /etc/passwd neu-
  5. Dateien rekursiv durchsuchen mit grep und nur Dateinamen wo etwas gefunden wurde ausgeben.
    grep -r -l suche-nach *
  6. Fortschritts-Anzeige (progress bar) bei Dateien abgleichen mit rsync.

    rsync -avx --progress --stats "/pfad/original/" "/pfad/kopie/"
  7. Eingebauten CPU Namen ermitteln.

    grep "model name" /proc/cpuinfo |uniq

Diese Woche in der Konsole #9

Posted on September 13th, 2009 in Konsole, Ubuntu | 8 Comments »

  1. Mit diff Unterschiede zwischen zwei Verzeichnissen anzeigen.

    $ diff folder1 folder2

    Das ganze geht auch über zwei per ssh erreichbare Server.

    $ diff <(ssh server01 "ls /tmp/") <(ssh server02 "ls /tmp/")
    1,8d0
    < lost+found
    < mysql.sock
    < orbit-root
    
  2. tinyurl von der Konsole aus verwenden.
    $ curl -s http://tinyurl.com/create.php?url=http://www.ubuntuverse.at/ | \
    grep -o "http:\/\/tinyurl.com\/[a-z0-9][a-z0-9]*" | uniq
    
  3. Mit time ist es möglich die Zeitdauer eines Befehls oder Skripts anzuzeigen (benchmark).

    $ time ruby script.rb
    
    real    0m0.017s
    user    0m0.008s
    sys     0m0.004s
    
  4. Datum in timestamp umwandeln.
    $ date --utc --date "2009-09-09 09:09:09" +%s
    1252487349
    
  5. Das gesamte interne Netzwerk nach erreichbaren IPs durchsuchen. nmap versucht dabei auch den Hersteller der Netzwerkkarte zu ermitteln.
    $ sudo nmap -sP 192.168.0.0/24
    
    Starting Nmap 4.76 ( http://nmap.org ) at 2009-09-03 18:28 CEST
    Host 192.168.1.122 appears to be up.
    MAC Address: 00:12:52:73:85:4C (Apple)
    Host 192.168.1.181 appears to be up.
    MAC Address: 00:0E:A8:D0:87:DE (Cisco Linksys)
    

Diese Woche in der Konsole #8

Posted on August 30th, 2009 in Konsole | 2 Comments »

  1. Wissenswerte Tastenkürzeln

    CTRL l Leert den gesamten Bildschirm, das selbe wie der Befehl clear.

    CTRL w Löscht nach links einzelne Wörter ab der Cursorposition.

    CTRL r Inkrementelle Suche durch die Liste der letzt ausgeführten Befehle (bash history).

    ! ! Den letzten Befehl wiederholen.

    CTRL d Um die Sitzung zu beenden, das selbe wie der Befehl exit.

  2. Wenn der letzte Befehl einen einfachen Schreibfehler hat wie hier eine “3″ wo ein “e” sein sollte, so ist es möglich eine Korrektur vorzunehmen:
    $ echo "F3hler"
    F3hler
    
    $ ^3^e
    echo "Fehler"
    Fehler
    
  3. Herausfinden welcher Prozess (Id) auf Port 31337 lauscht.

    $ sudo fuser 31337/tcp
    31337/tcp:           29883
    
  4. Dateien umbennen mit rename. Als Beispiel werden alle .htm zu .html Dateien umbenannt.
    $ rename htm html *htm
  5. In vim Deutsche Rechtschreibprüfung verwenden mit dem Paket vim-spell-de.
    :setlocal spell spelllang=de

    Danach sind alle falsch geschriebenen Wörter farblich markiert.

  6. Dateiinhalte von unten nach oben anzeigen lassen, ein verkehrtes cat eben :)

    $ tac datei.txt
  7. Kopf oder Zahl ohne Münze.
    $ ruby -e 'puts ["Kopf", "Zahl"][rand(2)]'
    Kopf
    

Diese Woche in der Konsole #7

Posted on August 16th, 2009 in Konsole, Ubuntu | 10 Comments »

  1. Einen SSH key auf den Server kopieren muss nicht unbedingt ein langwieriger Prozess sein, das geht auch mit einem Kommando.
    ssh-copy-id user@host
  2. Wieder mal genervt von Programmen die immer eine Eingabeaufforderung brauchen? Noch dazu immer ein Y Enter?
    Dann hilft das Programm yes, das nicht mehr macht als ein “Y” gefolgt von einen Enter zu senden.

    yes | nervende_anwendung
  3. Rar Datei mit einem Passwort öffnen.
    unrar e datei1.rar -pmeinpasswort
  4. Den Computer um Mitternacht runterfahren lassen. Hier wird der Befehl at verwendet der im Gegensatz zu cron nur einmalig gilt.
    sudo halt | at midnight

    Eine Alternative von HogBeard:

    sudo shutdown -hP 00:00
  5. Stresstest für einen Web-Server mit dem Apache Benchmarking Programm ab.

    -n : Anzahl der Anfragen (requests) pro Session.
    -c : Anzahl der multiplen Anfragen pro Durchgang.

    ab -n 1000 -c 1000 http://localhost
  6. Festplatten oder USB sticks sicher Überschreiben mit Nullen, sd23 bitte mit Laufwerknamen ersetzen.
    dd if=/dev/urandom of=/dev/sd23

Diese Woche in der Konsole #6

Posted on August 9th, 2009 in Konsole | 7 Comments »

Diese Woche in der Konsole

  1. Um die man pages mit Farbe zu versehen, können Farbwerte für less, am besten in der ~./bash_rc angegeben werden:
    export LESS_TERMCAP_mb=$'\E[01;35m'
    export LESS_TERMCAP_md=$'\E[0;34m'
    export LESS_TERMCAP_me=$'\E[0m'
    export LESS_TERMCAP_se=$'\E[0m'
    export LESS_TERMCAP_so=$'\E[01;44;33m'
    export LESS_TERMCAP_ue=$'\E[0m'
    export LESS_TERMCAP_us=$'\E[0m'
    

    hint für KDE Benutzer: im konqueror können auch man pages angeschaut werden, einfach ein man:ls in der URL-Leiste eingeben und man erhält eine schöne übersichtliche man page zum Befehl ls.

  2. Die pyc’s die Python erstellt können schnell nerven, darum ein find Kommando das alle pyc’s rekursiv vom aktuellen Ordner aus entfernt.

    find -name '*.pyc' -delete

    Das ganze könnte man sich auch mit einem alias in die ~/.bashrc schreiben damit man sich nicht das ganze Kommando merken muss.

    alias delpyc="find -name '*.pyc' -delete"
  3. Port von anderen Rechner auf lokalen Rechner weiterleiten (SSH Tunnel). Habe das die Woche gebraucht weil ich am Server eine Postgres Datenbank laufen habe, aber lokal mit einem Datenbankbrowser arbeiten wollte.

    ssh -L 54321:meinserver.at:5432 -N -f user@meinserver.at

    Danach konnte ich die Datenbank in pgadmin3 über localhost auf Port 54321 ansprechen.

  4. Menschen die sich an elektronischen Tönen erfreuen, können mal ausprobieren Dateiströme, wie ein cat auf syslog an /dev/dsp zu senden.
    cat /var/log/syslog > /dev/dsp

    und das erinnert ja schon ganz schön an Weißes Rauschen.

    cat /dev/urandom > /dev/dsp
  5. Testen ob Internetverbindung besteht.

    if ping -c2 google.at >/dev/null 2>&1; then echo "online"; fi;

    Der Tipp kommt von Willie; damit wird auch gleich angezeigt welche externe IP man verwendet.

    if ping -c2 google.com >/dev/null 2>&1; then \
    echo "Deine derzeitige IP ist: "`wget -q -O – http://showip.spamt.net/`; fi;