Mini-HowTos: Unterschied zwischen den Versionen
Ulf (Diskussion | Beiträge) (Partitionierung und Formatierung ergänzt) |
Ulf (Diskussion | Beiträge) (Referenzen verlinkt) |
||
Zeile 1: | Zeile 1: | ||
Hier findet sich eine Sammlung von Befehlen die auf der Linux Text Konsole (meist auch Terminal genannt) verwenden lassen, um Aufgaben zu vereinfachen oder aber einfach per Markieren und Kopieren (manchmal mit kleinen Anpassungen z.B. Dateinamen) verwendbar sind. | Hier findet sich eine Sammlung von Befehlen die auf der Linux Text Konsole (meist auch Terminal genannt) verwenden lassen, um Aufgaben zu vereinfachen oder aber einfach per Markieren und Kopieren (manchmal mit kleinen Anpassungen z.B. Dateinamen) verwendbar sind. | ||
+ | |||
+ | |||
+ | '''Referenzen:'''<br> | ||
+ | Auf der Seite [[Nuetzliche_Scripte#Links_BASH_Programmierung|Nützliche Scripte]] finden sich einige Links zu BASH Einführungen | ||
+ | |||
'''Anmerkung:'''<br> | '''Anmerkung:'''<br> |
Version vom 17. März 2017, 23:16 Uhr
Hier findet sich eine Sammlung von Befehlen die auf der Linux Text Konsole (meist auch Terminal genannt) verwenden lassen, um Aufgaben zu vereinfachen oder aber einfach per Markieren und Kopieren (manchmal mit kleinen Anpassungen z.B. Dateinamen) verwendbar sind.
Referenzen:
Auf der Seite Nützliche Scripte finden sich einige Links zu BASH Einführungen
Anmerkung:
bitte Leerzeichen und Formatierungen beachten, diese können entscheidende Unterschiede machen so dass der Befehl nicht so funktioniert wie man es erwartet.
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"
- Erste partition der ersten Platte als Image sowie komprimiert mit bzip sichern sichern
dd if=/dev/hda1 | bzip2 -9 > /tmp/partition_image.bzip2
- MBR der ersten Platte sichern (größe ist immer 512byte * count=1)
dd if=/dev/hda of=~/hda.mbr bs=512 count=1
- Partitionstabelle der ersten Platte sichern
sfdisk -d /dev/hda > ~/hda.pt
- Partitionstabelle der ersten Platte wiederherstellen (siehe auch auf Linux Für Alle bzw. LinuxPedia)
sfdisk /dev/hda < ~/hda.pt
- 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" {} \;
- Die Partitionstabellen aller vorhandener Platten anzeigen
fdisk -l
- Die Partitionstabelle (hier als beispiel von sdb) bearbeiten
fdisk /dev/sdb
- Eine Partition (hier als beispiel sdb) mit ext4 formatieren
mkfs.ext4 /dev/sdb
- Die erstellte Tabelle (hier als beispiel sdb) dem Linux Kernel bekannt machen (siehe auch Beschreibung im UbuntuUsers Wiki)
partprobe /dev/sdb
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
- Weitere nützliche Tips zum rekursiven herunterladen via wget findet sich beim Linux-Community - Tipp der Woche.
- 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 ebeninit=/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.
Zurück zur Linux Hilfeseite