Mini-HowTos: Unterschied zwischen den Versionen

Aus lugvswiki
Zur Navigation springenZur Suche springen
(wget -c hinzugefügt)
(gepacktes disk image und screen)
Zeile 28: Zeile 28:
 
<pre>$dd if=/dev/cdrom of=/tmp/datei.iso &
 
<pre>$dd if=/dev/cdrom of=/tmp/datei.iso &
 
$watch -n 1 "ls -l /tmp/datei.iso"</pre>
 
$watch -n 1 "ls -l /tmp/datei.iso"</pre>
 +
 +
 +
* Partition als Image sowie komprimiert mit bzip sichern sichern
 +
<pre>dd if=/dev/hda1 | bzip2 -9 > /tmp/partition_image.bzip2</pre>
  
  
Zeile 41: Zeile 45:
 
* Einen Text z.B. in allen ''*.html'' Dateien ab den aktuellen Verzeichnis und allen Unterverzeichnissen zu ersetzten (hier wird der Text ''<Zu ersetzender Text>'' durch den Text ''<Neuer Text>'' ersetzt
 
* Einen Text z.B. in allen ''*.html'' Dateien ab den aktuellen Verzeichnis und allen Unterverzeichnissen zu ersetzten (hier wird der Text ''<Zu ersetzender Text>'' durch den Text ''<Neuer Text>'' ersetzt
 
<pre>$find . -iname "*.html" -exec sed -i -e "s/<Zu ersetzender Text>/<Neuer Text>/g" {} \;</pre>
 
<pre>$find . -iname "*.html" -exec sed -i -e "s/<Zu ersetzender Text>/<Neuer Text>/g" {} \;</pre>
 +
 +
 +
===Screen===
 +
Möchte man remote auf einen anderen Liunx PC lange laufende Prozesse starten, sollte man sich an der Console wieder abmelden können. Dieses kann man mit dem befehl '''screen ''' machen.
 +
 +
* Einen Prozess mit Namen '''image''' im Hintergrund starten
 +
<pre>screen -d -m -S image</pre>
 +
 +
 +
* Prozesse auflisten
 +
<pre>screen -list</pre>
 +
 +
 +
* In den Prozess '''image''' wechseln
 +
<pre>screen -r image</pre>
 +
 +
 +
* Alternativ kann man auch in die Prozess-ID welche '''screen -list''' liefert wechseln (z.B. There is a screen on: 19215.image (Detached))
 +
<pre>screen -r 19215</pre>
 +
 +
 +
* Aus einem '''screen''' Hintergrund-Prozess wieder auf die Kommandozeile zurück wechseln (z.B. um sich dort remote wieder abzumelden)
 +
<pre>ctrl+a gefolgt von d</pre>
 +
bzw.
 +
<pre>strg+a gefolgt von d</pre>
 +
  
  

Version vom 13. Februar 2010, 11:13 Uhr

Dateisystem

  • Platzbedarf eines Verzeichnisses inklusive aller Unterverzeichnisse anzeigen:
$du -hs


  • Freien sowie belegten Platz auf allen gemounteten Partitionen anzeigen
$df -h


  • Gut lesbare anzeigen aller Inhalte eines Verzeichnisses mit allen Infos sowie die neueste Datei zuletzt:
$ls -altrh


  • CDROM Image mit dd erstellen
$dd if=/dev/cdrom of=/tmp/datei.iso


  • dd Fortschritt erfragen (wobei Prozess-Id die Prozess-Id des laufeneden dd Prozesses ist)
$kill -SIGUSR1 Prozess-Id


  • dd Fortschritt erfragen (aller zur Zeit laufenden dd Prozesse)
$kill -SIGUSR1 $(pidof dd)


  • CDROM Image mit dd erstellen (dito mit einer Art Statusanzeige)
$dd if=/dev/cdrom of=/tmp/datei.iso &
$watch -n 1 "ls -l /tmp/datei.iso"


  • Partition als Image sowie komprimiert mit bzip sichern sichern
dd if=/dev/hda1 | bzip2 -9 > /tmp/partition_image.bzip2


  • Image Datei /tmp/datei.iso ins Dateisystem an die Stelle /mnt/isofiles mounten
$mount -o loop /tmp/datei.iso /mnt/isofiles


  • Image Datei /tmp/datei.iso ins Dateisystem an die Stelle /mnt/isofiles mounten (dito Dauerhaft)
$echo -e "\n#/tmp/datei.iso an /mnt/isofiles mounten\n/tmp/datei.iso /mnt/isofiles iso9660 ro,loop 0 0" >> /etc/fstab
$mount /mnt/isofiles


  • Einen Text z.B. in allen *.html Dateien ab den aktuellen Verzeichnis und allen Unterverzeichnissen zu ersetzten (hier wird der Text <Zu ersetzender Text> durch den Text <Neuer Text> ersetzt
$find . -iname "*.html" -exec sed -i -e "s/<Zu ersetzender Text>/<Neuer Text>/g" {} \;


Screen

Möchte man remote auf einen anderen Liunx PC lange laufende Prozesse starten, sollte man sich an der Console wieder abmelden können. Dieses kann man mit dem befehl screen machen.

  • Einen Prozess mit Namen image im Hintergrund starten
screen -d -m -S image


  • Prozesse auflisten
screen -list


  • In den Prozess image wechseln
screen -r image


  • Alternativ kann man auch in die Prozess-ID welche screen -list liefert wechseln (z.B. There is a screen on: 19215.image (Detached))
screen -r 19215


  • Aus einem screen Hintergrund-Prozess wieder auf die Kommandozeile zurück wechseln (z.B. um sich dort remote wieder abzumelden)
ctrl+a gefolgt von d

bzw.

strg+a gefolgt von d


Hardware

  • Anzeigen der gefundenen USB-Devices (evtl. nur als root möglich bzw. Pfad mit angeben):
$lsusb -v


  • Anzeigen der gefundenen PCI-Devices:
$lspci -v


Netzwerk

  • Netzwerkkarte von Hand die neue IP Adresse 192.168.0.2 zuordnen und das default Gateway mit IP 192.168.0.1 setzen
$ifconfig eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255 up
$route add default gw 192.168.0.1


  • Das default Gateway ändern
$route del default
$route add default gw 192.168.0.99 (neue gateway ip)


  • Einen Nameserver gibt man in /etc/resolv.conf an:
$nameserver 192.168.0.1


  • Den Weg von Datenpaket im Netzwerk ansehen (im Beispiel zu web.de)
$traceroute web.de


  • Komplette Websites lokal auf den Rechner in das aktuelle Verzeichnis laden
$wget -r http://www.homepage.de


  • (Große) Datei lokal auf den Rechner in das aktuelle Verzeichnis laden. Download fortsetzen, falls abgebrochen (timeout) und unterstützt
$wget -c ftp://www.homepage.de/grosse-datei.tgz


  • Meist will man nicht die komplette Website (das kann sehr, sehr viel sein...), sondern nur eine bestimmte Seite inklusive der verwendeten Bilder. Dann gibt man die Suchtiefe mit -l an:
$wget -r -l 1 http://www.homepage.de


  • Das /home Verzeichnis des Quellrechners (rekursiv) über eine SSH-Verbindung auf den Ziel-Rechner name.zielrechner.local in das Verzeichnis /datengrab und den Dateinamen "home_2007-03-23.tgz" (wenn das Datum des Quellrechners auf den 23.03.2007 steht) speichern
$tar czv /home | ssh name.zielrechner.local "cat > /datengrab/home_$(date +%F).tgz"


  • Sollte mal z.B. der Displaymanager nicht mehr richtig funktionieren oder sonst der (Grafische) Login nicht funktionieren, kann man dem Kernel auch anweisen eine andere Shell zu starten. Dazu muß man dann z.B. beim Booten den GRUB mit der <ESC>-Taste in den Textmode wechseln und dort mit der <e>-Taste die angewählte Taste editieren. Hängt man an das Ende der Kernel Zeile mit vmlinuz den Parameter
    init=/bin/sh
    bzw. wenn man die Bash verwenden möchte eben
    init=/bin/bash
    so bootet Linux auf diese Shell (ohne abfrage des root Passwortes). Anschließend kann man mit der <ENTER>-Taste wieder in die Übersicht zurück wechseln und anschließend mit der <b>-Taste den geänderten Bootablauf booten.


  • Aufbau eines Servers für für ein Heimnetz (Debian Basiert) findet Ihr hier.