Diese Woche in der Konsole #5

Posted on August 2nd, 2009 in Konsole, Programmierung | 2 Comments »

Diese Woche in der Konsole

  1. Datei kopieren mit dem selben Namen aber neue Endung (.bkp).

    cp datei{,.bkp}
    
    ls datei*
    datei  datei.bkp
    
  2. FTP Passwort vergessen? Aber es befindet sich noch in einem Programm wie gftp? Dann kann ngrep helfen. Zuerst ngrep auf das Netzwerkdevice lauschen lassen, wie das lautet kann aus ifconfig ausgelesen werden und den FTP Port angeben. Danach kann man sich mit dem Server verbinden und sieht den Login im Klartext vorbeihuschen.
    sudo ngrep -d eth1 port 21
    
    interface: eth1 (192.168.1.0/255.255.255.0)
    filter: (ip or ip6) and ( port 21 )
    #
    T 912.103.134.87:21 -> 192.168.1.4:41085 [AP]
      220 ProFTPD 1.3.0 Server (Debian) [::ffef:912.103.134.87]..
    ##
    T 192.168.1.4:41085 -> 912.103.134.87:21 [AP]
      USER benutzerin..
    ##
    T 912.103.134.87:21 -> 192.168.1.4:41085 [AP]
      331 Password required for benutzerin...
    ##
    T 192.168.1.4:41085 -> 912.103.134.87:21 [AP]
      PASS supergeheim23..
    

    Wie wir hier sehen, ist das Passwort des Benuzters “benutzerin” “supergeheim23″.

  3. Vier Zeilen einer Datei, hier von /etc/passwd per Zufall auslesen.
    shuf /etc/passwd -n 4
  4. Das Ziel eines Symlinks (ln) abkürzen mit einem Punkt.
    Wenn das Ziel eines Symlinks (ln) sich im gerade aktuellen Ordner befindet und der Dateiname der selbe sein soll, braucht es keinen Dateinamen.

    ln -s config/database.yml
    
    ls -al database.yml
    lrwxrwxrwx 1 user user 19 2009-07-31 22:52 database.yml -> config/database.yml
    
  5. Wer so wie ich die Programme “dig” oder “host” unter Ubuntu sucht der findet sie im Paket dnsutils.
    aptitude install dnsutils
  6. Mit der Konsolenversion von HandBrake, ein Video in ein ipodtaugliches Video konvertieren.

    HandBrakeCLI -i video.avi -o video_ipod.mp4 -e x264b13  \
    -b 700 -R 44100 -B 128 -2 -w 320

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 #3

Posted on July 19th, 2009 in Konsole, Ubuntu | 5 Comments »

Diese Woche in der Konsole

  1. Sich die Arbeitsstunden und den Wert eines Projektes anhand der Projektdateien anzeigen lassen mit sloccount.

    $ sloccount ~/project1/
    
    SLOC    Directory       SLOC-by-Language (Sorted)
    35344   lib             php=35344
    1049    tests           php=1022,sh=27
    911     templates       php=911
    653     lang            php=653
    471     top_dir         php=471
    426     resources       php=316,perl=108,sh=2
    206     config          php=206
    139     external        php=139
    69      api             php=69
    0       css             (none)
    0       images          (none)
    0       js              (none)
    0       tmp             (none)
    
    Totals grouped by language (dominant language first):
    php:          39131 (99.65%)
    perl:           108 (0.28%)
    sh:              29 (0.07%)
    
    Total Physical Source Lines of Code (SLOC)                = 39,268
    
    Development Effort Estimate, Person-Years (Person-Months) = 9.44 (113.23)
    (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
    
    Schedule Estimate, Years (Months)                         = 1.26 (15.08)
    (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
    
    Estimated Average Number of Developers (Effort/Schedule)  = 7.51
    
    Total Estimated Cost to Develop                           = $ 1,274,625
    (average salary = $56,286/year, overhead = 2.40).
    
  2. Nur die Struktur (Schema) ohne Daten von einer MySQL-Datenbank erstellen.

    mysqldump -u user -ppasswort --no-data datenbankname > database_backup.sql
  3. Mit grep nach “foo” rekursiv in Dateien suchen ohne Unterordner von Subversion.

    grep foo -R  --exclude-dir='.svn' *
  4. Suche nach einem Text in allen Dateien inkl. Unterordner

    find . -name * -exec grep -i 'TEXT' '{}' ';'
  5. Zuletzt geänderten Datein rekursiv im aktuellen Ordner anzeigen.

    find . -printf "%T@ %p\n" | sort -n | tail

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