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

Ruby on Rails in Jaunty Ubuntu 9.04 installieren.

Posted on May 7th, 2009 in Programmierung, Ubuntu | 1 Comment »

ruby on rails on jaunty

Es ist leider nicht möglich die aktuellste Version von Rails über aptitude zu installieren, darum hier eine kleine Anleitung die dabei helfen soll.

Zuerst wird das System aktualisiert:

sudo aptitude update

Pakete installieren die für Rails notwendig sind:

sudo aptitude --assume-yes install \
  build-essential \
  irb \
  irb1.8 \
  libmysql-ruby \
  libmysql-ruby1.8 \
  libopenssl-ruby \
  libopenssl-ruby1.8 \
  libreadline-ruby1.8 \
  libruby1.8 \
  rdoc \
  rdoc1.8 \
  ri \
  ri1.8 \
  ruby \
  ruby1.8 \
  ruby1.8-dev

Leider ist die Paket-Unterstützung etwas veraltet und so sollte rubygems und Rails selber nicht direkt
über aptitude installiert werden.Die aktuellste Version von rubygems findet man hier http://rubyforge.org/projects/rubygems/

wget http://rubyforge.org/frs/download.php/56227/rubygems-1.3.3.tgz
tar xzvf rubygems-1.3.3.tgz
cd rubygems-1.3.3
sudo ruby setup.rb
cd ..
rm -f rubygems-1.3.3.tgz
rm -rf rubygems-1.3.3

Verknüpfungen (symlinks) erzeugen:

sudo ln -s /usr/bin/gem1.8 /usr/local/bin/gem
sudo ln -s /usr/bin/ruby1.8 /usr/local/bin/ruby
sudo ln -s /usr/bin/rdoc1.8 /usr/local/bin/rdoc
sudo ln -s /usr/bin/ri1.8 /usr/local/bin/ri
sudo ln -s /usr/bin/irb1.8 /usr/local/bin/irb

Nun da die Basis geschaffen ist, kann Rails installiert werden:

sudo gem install rails

Des weiteren empfohlene gems:

sudo gem install rake
sudo gem install capistrano
sudo gem install capistrano-ext
sudo gem install ruby-debug
sudo gem install mongrel

Rails testen:

rails ~/meineseite
cd ~/meineseite
ruby script/server

Im Webbrowser sollte unter der Adresse http://0.0.0.0:3000 die Willkommensseite von Rails abrufbar sein.