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;

Diese Woche in der Konsole #4

Posted on July 26th, 2009 in Konsole, Multimedia, Programmierung, Ubuntu | 2 Comments »

Diese Woche in der Konsole

  1. Immer wieder tauchen Base64 enkodierte Dateien auf, mit OpenSSL können sie einfach en/dekodiert werden:decode:
    openssl enc -base64 -in in_file -d

    encode:

    openssl enc -base64 -in in_file -e
  2. Website-Mirror ziehen:
    wget -m -k -K -E http://url/of/web/site
  3. Alle verwendeten IP Adressen anzeigen.
    ifconfig | ruby -n -e 'puts $1 if /addr:(\S+)/'
    192.168.1.4
    127.0.0.1
    
  4. Mp3-Datei in eine Wav-Datei mit ffmpeg umwandeln.
    ffmpeg -i datei.mp3 datei.wav
  5. Mit wget mp3s von example.org runterladen mit den Namen (0 bis 9).
    ruby -e '10.times{|i| %x"wget http://example.org/#{i}.mp3"}'
  6. ~/.bashrc editieren, abspeichern und sofort ausprobieren:
    source ~/.bashrc

    Das funktioniert mit .cshrc etc. natürlich auch…

Diese Woche in der Konsole #2

Posted on July 12th, 2009 in Konsole, Ubuntu | 2 Comments »

Diese Woche in der Konsole

  1. Shell-Ausgaben in die Zwischenablage bekommen mit xsel. Im Beispiel landet die Ubuntu Version in die Zwichenablage und kann mit CTRL v eingefügt werden.
    cat /etc/issue | xsel --clipboard
  2. Backup einer PostgreSQL Datenbank. Das Backup (dump.gz) wird mit gzip komprimiert.
    pg_dump meine_datenbank | gzip > dump.gz
  3. Nachschauen welches Programm den Port 1234 in Verwendung hat. Nützlich wenn man sich nicht sicher ist was da eigentlich läuft.

    netstat -plantu | grep :1234
  4. Vergleichen, mit vimdiff von einer lokalen (local.txt) und einer am Server (remote.txt) liegenden Datei.

    vimdiff local.txt scp://meinname@meinserver/remote.txt
  5. Nur bestimmtes Kommando für Benutzer auf Server über eine ssh-Verbindung zulassen.
    In ~/.ssh/authorized_keys wird vor den Schlüssel des Benutzers command und das Kommando eingetragen.

    command="/bin/ls -al" ssh-rsa AA...PmQ== benutzer@host
    

    Der Benutzer darf jetzt am Server, über ssh nur mehr ein ls -al ausführen.

Diese Woche in der Konsole #1

Posted on July 5th, 2009 in Programmierung, Ubuntu | 1 Comment »

Diese Woche in der Konsole

  1. Mit curl von der Komandozeile aus twittern:
    curl -u Benutzername:Passwort \
    -d status="Nachricht" http://twitter.com/statuses/update.xml
  2. Suchen und Ersetzen mit einem Ruby Einzeiler:
    ruby -i.bkp -pe "gsub(/suche/, 'ersetze')" *.php

    Hier werden alle PHP Dateien in dem aktuellen Ordner ersetzt und zusätzlich wird eine Backup Datei (.bkp) erstellt.

  3. Einen Ordner via ssh mittels rsync clonen:
    rsync -avz -e 'ssh -p portnummer' user@host /Quellordner /Zielordner

    Wird der Quellordner ohne abschliessenden / angegeben, so wird der Quellordner selbst kopiert. Ansonsten nur der Inhalt

  4. Datenbank von einem anderen Server via ssh übernehmen:
    ssh user@host mysqldump -u dbuser_server -p dbpwd_server databasename \
    --lock-tables | mysql --verbose -u dbuser_local -p dbpwd_local
  5. Verschlüsselte Text-Datei mit Vim anlegen:
  6. vim -x datei