Mini-HowTos: Unterschied zwischen den Versionen

Aus lugvswiki
Zur Navigation springenZur Suche springen
(wget rekursiv Link Tip hinzu)
K (→‎Dateisystem: Alternativen, pv, cat ..)
Zeile 2: Zeile 2:
  
 
* Platzbedarf eines Verzeichnisses inklusive aller Unterverzeichnisse anzeigen:
 
* Platzbedarf eines Verzeichnisses inklusive aller Unterverzeichnisse anzeigen:
<pre>$du -hs</pre>
+
<pre>
 +
$du -hs
 +
# Dateien / Verzeichnisse mit größtem Platzbedarf zuerst anzeigen:
 +
$du -hs .* * | sort -h
 +
</pre>
  
  
Zeile 15: Zeile 19:
 
* CDROM Image mit dd erstellen
 
* CDROM Image mit dd erstellen
 
<pre>$dd if=/dev/cdrom of=/tmp/datei.iso</pre>
 
<pre>$dd if=/dev/cdrom of=/tmp/datei.iso</pre>
 +
kürzere Alternative:
 +
<pre>$cat /dev/cdrom > /tmp/datei.iso</pre>
 +
  
  
 
* dd Fortschritt erfragen (wobei ''Prozess-Id'' die Prozess-Id des laufeneden dd Prozesses ist)
 
* dd Fortschritt erfragen (wobei ''Prozess-Id'' die Prozess-Id des laufeneden dd Prozesses ist)
 
<pre>$kill -SIGUSR1 Prozess-Id</pre>
 
<pre>$kill -SIGUSR1 Prozess-Id</pre>
 +
als Alternative kann auch pv verwendet werden (zeigt Fortschritt an)
 +
<pre> pv < /dev/cdrom > /tmp/datei.iso</pre>
  
  

Version vom 27. Juli 2013, 02:33 Uhr

Dateisystem

  • Platzbedarf eines Verzeichnisses inklusive aller Unterverzeichnisse anzeigen:
$du -hs
# Dateien / Verzeichnisse mit größtem Platzbedarf zuerst anzeigen:
$du -hs .* * | sort -h


  • 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

kürzere Alternative:

$cat /dev/cdrom > /tmp/datei.iso


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

als Alternative kann auch pv verwendet werden (zeigt Fortschritt an)

 pv < /dev/cdrom > /tmp/datei.iso


  • 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 (Achtung! 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.


Scripte

Die oben genannten Befehle, kann man auch in einer Datei zusammenfassen und nach dem Setzen des "Execute" Attributs als so genanntes Script ausführen. Hier finden sie einige Nützliche Skripte.