Linux Kommandozeilenbefehle

 

Inhaltsverzeichnis

Allgemeines

Dies hier ist eine sehr ausführliche, wenn auch nicht vollständige, Auflistung der Befehle, die man im Terminal benutzen kann.

 

Befehle Basics

  • apropos -e [BEGRIFF]
    • durchsucht die Manual-Seiten (Namen und Beschreibungen) nach [BEGRIFF]
  • dir
    • anzeigen directory aktueller Standort
  • sudo mkdir /mnt/MOUNTPUNKT
    • Verzeichnis MOUNTPUNKT erstellen (in mnt nur mit root-Rechten / siehe auch 1.13 sudo)
  • cd VERZEICHNIS
    • change directory – relativer Pfad (= vom Standort aus)
  • cd /VERZEICHNIS
    • change directory – absoluter Pfad (= vom Dateisystem aus)
  • sudo mv /etc/network/if-down.d/SKRIPTNAME /etc/init.d
    • mv = move (verschieben) von /etc/network/if-down.d/ nach /etc/init.d
  • cp oder sudo cp
    • Befehl copy (sudo ist Ausführung als root-User)
  • clear
    • Anzeigeinhalt Terminalfenster löschen
  • history
    • zeigt History der Terminalbefehle an
  • startx
    • startet das X-Window-System und eine grafische Benutzeroberfläche
  • logout
    • ordnungsgemäßes Abmelden von der KonsoleUbuntu Stichwortsammlung
  • exit
    • Verlassen und schließen des Fensters der grafischen Konsole (=Terminal)
  • sleep n
    • n Sekunden warten
  • [BEFEHL] --help
    • gibt einen kurzen Hilfetext zum [BEFEHL] aus (zwei!! Minuszeichen)
  • man [BEFEHL]
    • zeigt die Manual-Page zum [BEFEHL] an (beenden mit „q“)
  • info [BEFEHL]
    • zeigt Dokument zu [BEFEHL] im Info-System an
  • shutdown -r now
    • Rechner neustarten
  • shutdown -h now
    • Rechner herunterfahren

 

  • Numlock einstellen

Terminal öffnen und eingeben:

gconf-editor 
strg+f (Bearbeiten-Suchen) 

und nach numlock suchen (beide Haken bei Schlüsselname und -werte setzen). Dort gibt es:

/desktop/gnome/peripherals/keyboard/remember_numlock_state
und
/desktop/gnome/peripherals/keyboard/host-dein_username/0/numlock_on

Bei beiden den Haken setzen.

Suchen

  • whereis [PROGRAMM]
    • sucht in den Verzeichnissen der Umgebungsvariablen PATH nach [PROGRAMM]
  • find . | grep [DATEI]
    • sucht ausgehend vom aktuellen Verzeichnis nach [DATEI]
  • grep [SUCHSTRING] [DATEI]
    • durchsucht DATEI nach dem Suchbegriff [SUCHSTRING]
  • locate [DATEI]
    • durchsucht die Locate-Datenbank nach [DATEI]

 

Programme starten

  • [PROG]
    • Programm [PROG], das sich im Pfad befindet, starten
  • ./[PROG]
    • Programm [PROG], das sich im aktuellen Verzeichnis befindet, starten
    >bearbeiten]
  • [PFAD]/[PROG]
    • Programm [PROG], das sich im Verzeichnis [PFAD] befindet, starten
  • sudo nautilus
    • Dateimanager als root-User (mit entsprechenden Rechten) starten
  • sudo gedit
    • Editor als root-User starten

 

Navigation im Dateisystem

  • pwd
    • gibt das aktuelle Verzeichnis aus
  • cd /
    • wechselt ins Hauptverzeichnis
  • cd ..
    • wechselt in das übergeordnete Verzeichnis
  • cd [VERZ]
    • wechselt ins Verzeichnis [VERZ] innerhalb des aktuellen Pfades
  • cd /Pfad/zum/[VERZ]
    • wechselt ins Verzeichnis [VERZ] im angegebenen Pfad
  • cd -
    • wechselt in das vorherige Verzeichnis
  • cd
    • wechselt ins Home-Verzeichnis des Benutzers

 

Dateien

  • cat [DATEI]
    • zeigt den Inhalt der Datei [DATEI] auf dem Bildschirm an
  • more [DATEI]
    • zeigt den Inhalt der Datei [DATEI] seitenweise an (nur beim „echten“ Terminal notwendig / das Terminal aus der „normalen“ Gnome-Oberfläche aufgerufen, ist ein grafisches Programm mit Mausfunktionen)
  • less [DATEI]>bearbeiten]
    • wie more, man kann aber auch nach oben blättern
  • cp [DATEI1] [DATEI2]
    • kopiert Datei [DATEI1] in Datei [DATEI2]
  • mv [DATEI1] [DATEI2]
    • benennt Datei [DATEI1] in [DATEI2] um
  • mv [DATEI] [VERZ]
    • verschiebt Datei [DATEI] ins Verzeichnis [VERZ]
  • rm [DATEI]
    • löscht die Datei [DATEI]
  • touch [DATEI]
    • erzeugt die leere Datei [DATEI]

Verzeichnisse

  • ls
    • kurze Liste des Verzeichnisinhaltes
  • ls -l
    • ausführliche Liste des Verzeichnisinhaltes
  • ls -la
    • alle Dateien des Verzeichnisses ausführlich auflisten, auch versteckte
  • mkdir [VERZ]
    • neues Verzeichnis [VERZ] erstellen
  • rmdir [VERZ]
    • das leere Verzeichnis [VERZ] löschen
  • rm -rf [VERZ]
    • Verzeichnis [VERZ] löschen inklusive aller Dateien/Verzeichnisse darin

Geräte partitionieren, formatieren, überprüfen, mounten

  • fdisk [DEVICE]
    • Partitionierung der Festplatte [DEVICE]
  • mke2fs [DEVICE]
    • Anlegen eines ext2-Dateisystems auf dem Gerät [DEVICE]
  • fsck [DEVICE]
    • Gerät [DEVICE] auf Fehler überprüfen
  • mount /mnt/cdrom
    • bindet eine eingelegte CD-ROM in das Dateisystem ein
  • umount /mnt/cdrom
    • entfernt eine CD-ROM aus dem Dateisystem
  • sudo dd if=/dev/hda of=mbr_backup bs=512 count=1
    • Sicherung MBR (Partitionstabelle und Bootcode) in eine Datei im akt. Verz. (dd = DataDump, kann natürlich auch Anderes sichern)
  • sudo dd if=/dev/hda of=bootcode_backup bs=446 count=1
    • wie 1.7.6, aber nur Bootcode (==> sichern auf Memorystick o. ä.)
  • sudo dd if=mbr_backup of=/dev/hda bs=512 count=1
    • Rücksicherung MBR

 

Zugriffsrechte

  • chmod [OPTIONEN] [DATEI]
    • ändert die Zugriffsrechte der Datei [DATEI] (weiteres unter 1.14 chmod)
  • chgrp [GRUPPE] [DATEI]
    • ändert die Gruppe der Datei [DATEI] in [GRUPPE]
  • chown [OWNER] [DATEI]
    • ändert den Eigentümer der Datei [DATEI] in [OWNER]

 

Systeminformationen

  • mount
    • Ausgabe aller gemounteter Partitionen/Geräte
  • df
    • Ausgabe der Nutzung der gemounteten Geräte / Speicherbelegung der Partitionen
  • du
    • Ausgabe der Nutzung / Speicherbelegung von Verzeichnissen
    • Beispieloptionen: -s (summarize), -h (in MB oder GB), -sh (beides)
  • date
    • Anzeige von Datum und Uhrzeit
  • free
    • gibt die Nutzung des Arbeitsspeichers (RAM und Swap) aus
  • uptime
    • zeigt die Prozessorauslastung und -laufzeit an
  • top
    • zeigt die höchsten Ressourcenverbraucher an
  • ps ax
    • zeigt Informationen über laufende Prozesse an (incl. PID)
  • kill [PID]
    • beendet den Prozess mit der Prozess-ID
  • [PID] killall [PROZESSNAME]
    • beendet alle Prozesse mit dem Namen [PROZESSNAME] (z. B. Mozilla)
  • uname -a
    • gibt Kernel-Informationen aus
  • arch
    • zeigt die Prozessorfamilie an

 

Systemkernel / Module

  • lsmod
    • geladene Module anzeigen
  • modinfo [MODULNAME]
    • Informationen über ein Modul anzeigen
  • insmod [MODULNAME]
    • Modul starten
  • modprobe [MODULNAME]
    • ohne : Modul laden
    • Beispiele für Optionen:
    • -v ausführliche Info über das Modul und was es macht
    • -a alle in der Zeile folgenden Module laden
    • -r Modul entladen

 

Benutzerverwaltung

  • id
    • gibt den Benutzernamen und die Gruppenmitgliedschaften aus
  • whoami
    • Wer bin ich? Ausgabe des Benutzernamens
  • who
    • Wer ist alles eingeloggt? Ausgabe der Benutzernamen, des Terminals und der Login-Zeit.
  • Last
    • letzte Log-ins
  • finger [USERNAME]
    • Info über Useraccount [USERNAME]
  • Passwd
    • ändert das Passwort des aktuellen Benutzers
  • useradd -m [USERNAME]
    • legt den neuen Benutzer [USERNAME] an und erzeugt ein Homeverzeichnis
  • passwd [USERNAME]
    • ändert das Passwort des Benutzers [USERNAME] (nur als root)
  • userdel -r [USERNAME]
    • löscht den Benutzer [USERNAME] und sein Homeverzeichnis
  • groupadd [GRUPPE]
    • erzeugt eine neue Gruppe [GRUPPE]
  • groupdel [GRUPPE]
    • löscht die Gruppe [GRUPPE]

 

sudo

Superuser do = ausführen mit root-Rechten

  • gksudo
    • der Befehl sudo mit grafischer Oberfläche
  • sudo chmod +x /etc/network/if-down.d/SKRIPTNAME
    • macht das Skript „SKRIPTNAME“ ausführbar (im Verzeichnis etc nur mit root-Rechten, daher sudo)
  • sudo mkdir /mnt/MOUNTPUNKT
    • Verzeicnis „MOUNTPUNKT“ erstellen (in mnt nur mit root-Rechten)
  • sudo mv /etc/network/if-down.d/SKRIPTNAME /etc/init.d
    • mv = move (verschieben) von /etc/network/if-down.d/ nach /etc/init.d

 

chmod

  • chmod +x SKRIPTNAME
    • macht das Skript „SKRIPTNAME“ ausführbar
  • sudo chmod +x /etc/network/if-down.d/SKRIPTNAME
    • macht das Skript „SKRIPTNAME“ ausführbar (im Verzeichnis etc nur mit root-Rechten, daher sudo)
  • chmod 600 USER/.smbcredentials
    • setzt Dateirechte Lesen+Schreiben nur für Owner auf die Datei .smbcredentials (der Punkt vorne heißt, die Datei ist versteckt)
  • chmod 777 DATEINAME
    • System: 1. Stelle: Owner, 2. Stelle: Gruppe, 3. Stelle: Alle
    • Ausführen: 1
    • Schreiben: 2
    • Lesen: 4
    • Kombinationen werden addiert (4+2+1=7)
    • Beispiele: Lesen+Schreiben=6 / alles drei = 7 /
    • 007 bedeutet: Alle dürfen alles
    • 700 bedeutet: Nur der Owner darf alles
    • 040 bedeutet: die Gruppe darf lesen
    • 740: Owner darf alles, Gruppe darf lesen, übrige ohne Zugriff

 

Editor

sudo oder gksudo / im Terminal unter Gnome kein Unterschied

  • sudo gedit /etc/network/if-down.d/SKRIPTNAME
    • öffnet im Editor mit root-Rechten die Datei „SKRIPTNAME“ oder bereitet im angegebenen Pfad die Speicherung einer Datei „SKRIPTNAME“ vor (wenn sie noch nicht existiert)
  • gksudo gedit /etc/fstab
    • öffnet im Editor mit root-Rechten die Datei „fstab“ (fstab siehe 1.16 Netzwerk)

 

Samba / cifs / Netzwerk

ACHTUNG: vorher Paket smbfs (oder cifs) installieren! Samba selbst ist bei Ubuntu 7.04 bereits installiert.

  • sudo smbpasswd -a USER
    • setzt ein Passwort für den User USER
  • sudo /etc/init.d/samba restart
    • startet Samba neu
  • sudo gedit /etc/samba/smb.conf
    • Falls Verbindung mit Windows-Rechnern im Netz in einer Arbeitsgruppe:
    • Hier nach workgroup suchen, die im Standard MSHOME heißt: gegebenenfalls auf den notwendigen „Arbeitsgruppen“-Namen ändern.
    • Alternativ im Menü unter System-Administration-Gemeinsame Ordner, Reiter „Allgemeine Eigenschaften“
  • ifconfig
    • entspricht etwa ipconfig aus Windows
  • netstat
    • Info über Netzwerkverbindungen, etc.
  • gksudo gedit /etc/fstab
    • in der fstab werden z. B. Netzwerkpfade gemountet
    • Beispiel Zusatzzeilen (hier sind es 3 Zeilen:
#Mounten der Win-Freigaben „FREIGABE$“ und „ WEITERE_FREIGABE“ auf „RECHNERNAME“ 
//RECHNERNAME/FREIGABE$ /mnt/MOUNTPUNKT smbfs credentials=/home/USER/.smbcredentials,uid=USER,gid=USER 0 0
//RECHNERNAME/WEITERE_FREIGABE /mnt/MOUNTPUNKT2 smbfs credentials=/home/USER/.smbcredentials,uid=USER,gid=USER 0 0
    • (zwischen „smbfs“ und „credentials“ ein Leerzeichen setzen!)
    • Die Datei USER/.smbcredentials muss angelegt sein und enthält zwei Zeilen:
USER=USER
PWD=PASSWORD
    • damit sie in der fstab nicht offen zugänglich für jeden stehen (dann noch chmod für die Dateirechte der .smbcredentials! Siehe 1.14.3)
    • Die Verzeichnisse mit dem Namen „MOUNTPUNKT“ und „MOUNTPUNKT2“ müssen vorher angelegt sein. Das Dollarzeichen in der Win-Freigabe steht für eine unter Windows unsichtbare Freigabe.
  • mount -t cifs //192.168.2.30/KFMB$ /mnt –o dom=DOMÄNE/WORKGROUP,user=USER,password=PW
    • mounten mit cifs anstatt smbfs

Skripte in Runlevels

(siehe auch Punkt 4) Achtung: Eingriff in Runlevels!

  • update-rc.d -f SKRIPTNAME stop 01 0 6 .
    • ergibt ein K01SKRIPTNAME-Skript in den Runlevels shutdown und restart (stop: K00-99=kill script / start: S00-99=start script)
  • update-rc.d -f SKRIPTNAME start 99 2 3 4 5 .
    • ergibt ein S99SKRIPTNAME-Skript in den Runlevels für startup
  • sudo update-rc.d -f SKRIPTNAME remove
    • löscht das Skript

 

Unison Dateiabgleich

Unison muss mindestens als Paket Terminalversion installiert werden, es gibt aber ein weiteres Paket mit grafischer Oberfläche.

  • unison doc topics
    • zeigt die Topics an
  • unison -help
    • ruft Hilfe auf
  • unison /home/USER/VERZEICHNISNAME /mnt/MOUNTPUNKT -rsync -silent
    • gleicht die benannten Pfade ab, nutzt das Protokoll rsync und gibt keine Bildschirmanzeige aus (gleichzeitig setzt silent den Befehl batch auf „true“, d. h. führt automatisch Standardaktionen aus). Silent oder batch aber erst setzen, wenn man sicher ist, was Unison macht!!
  • unison
    • Startet Unison mit dem Default-Profil (default.prf im versteckten Verzeichnis /home/USER/.unison)
  • unison NAME
    • Startet Unison mit dem Profil NAME, das vorher im Verzeichnis /home/USER/.unison angelegt worden sein muss.
    • Bei Abgleich mit einem Windows-Rechner muss in einer Zeile des Profils perms = 0 stehen (für Rechtevergabe und damit Zugriff auf Windows-Partitionen)
      • Beispiel für eine NAME.prf, nutzbar in der Terminal- und der Grafik-Version (# bedeutet: Erläuterungstext oder deaktivierte Zeile – diese Zeile wird nicht ausgeführt)

Groß- und Kleinschreibung beachten (!):

#Unison preferences file
#Dateirechte verändern zum Schreiben auf Win-Partitionen
perms = 0
#Automatisch Standardaktionen durchführen
#silent = true unterbindet die Anzeige und setzt automatisch batch = true
silent = true
#Alternativ (Anzeige im Terminal, aber automatisch Standardaktionen)
#batch = true
#Rsync-Protokoll verwenden
rsync = true
#Roots of the synchronization
root = /home/USER/VERZEICHNIS
root = /mnt/MOUNTPUNKT
#zu synchronisierende Pfade (bei Bedarf "#" löschen)
#path = current
#path = common
#path = .netscape/bookmarks.html
#zu ignorierende Pfade (bei Bedarf "#" löschen oder hinzufügen)
ignore = Name temp.*
ignore = Name *~
ignore = Name .*~
ignore = Path */pilot/backup/Archive_*
ignore = Name *.o
ignore = Name *.tmp
ignore = Path Eigene Videos
#ignore = Path SmartStore.biz Projekte
#ignore = Path Eigene Bilder
#Fensterhöhe (ohne Auswirkung in der Terminal-Version)
height = 18
#Eine Backup-Kopie zurückbehalten (gesamte Replic)
backup = Name *
#Anzeige von Differenzen
diff = diff -y -W 79 --suppress-common-lines
#Log actions (Mitschreiben in der Datei unison.log in /home/USER)
log = true“