Shellbefehle

Aus OE-Alliance Support Wiki
Wechseln zu: Navigation, Suche

Verzeichnis Operationen

"cd" = Wechselt in das angegebene Verzeichnis (bsp: "cd /tmp/")
"ls" = Zeigt den Inhalt des aktuellen oder des angegebenen Verzeichnisses an. ("ls -l" macht das noch übersichtlicher)
"mkdir" = Legt ein neues Verzeichnis an.
"pwd" = Zeigt das aktuelle Verzeichnis an.
"rmdir" = Loescht ein Verzeichnis.

Editoren

"vi" = Standard Unix-Editor zum bearbeiten von Datein.

Datei Operationen

"basename" = Gibt einen Dateinamen ohne Pfadangaben aus.
"cat" = Verbindet mehrere Dateien und gibt das Ergebnis auf Standardausgabe aus. (bsp: "cat /proc/cpuinfo")
"chgrp" = Gruppenzugehoerigkeit einer Datei aendern.
"chmod" = Zugriffsrechte aendern. (rwx)
"chown" = Eigentuemer einer Datei aendern.
"cmp" = Vergleicht zwei Dateien auf Uebereinstimmung.
"cp" = Kopiert Dateien und Verzeichnisse.
"cpio" = Kopiert Dateien in bzw. aus Archiven
"dirname" = Gibt nur den Pfad zu einer Datei aus
"file" = Zeigt den Dateitypen einer Datei an.
"head" = Gibt die ersten Zeilen einer Datei aus.
"less" = Eine bestimmte Anzahl Zeilen einer Datei anzeigen.
"ln" = Erstellt einen Link zu einer Datei/Verzeichnis (bsp: "ln -s /media/sdb1/picon /usr/share/*******")
"mkdir" =Erstellt eine Verzeichnishierarchie.
"more" = Durch einen Text scrollen. (nur nach unten).
"mv" = Verschiebt Dateien und Verzeichnisse. (bennennt auch um)
"rm" = Loescht Dateien und Verzeichnisse.
"split" = Datei aufteilen. (zB zum Transport per Mail oder Usbstick...)
"tail" = Gibt die letzten Zeilen einer Datei aus.
"touch" = Aendert den Zeitstempel von Dateien. Wenn eine Datei nicht existiert, wird sie mit einer Groesse von 0 Byte angelegt.


System Infos

"df" = Zeigt die Speicherauslastung der Partitionen des Systems an. ("df -h" noch schöner")
"free" = Zeigt die Speicherauslastung des Systems an. Geteilt in RAM und SWAP-Space.
"dmesg" = zeigt den verlauf des Bootvorgangs. (um zu sehen ob zb Hdd richtig erkannt worden sind oder andere geräte)
"du" = Zeigt den Speicherverbrauch einzelner Verzeichnisse an.
"uptime" = Zeigt die Uptime der Maschine an. Die Uptime ist die Zeit seit dem letzten Reboot.

Prozess Management

"top" = Zeigt Prozesse in einer sich staendig aktualisierenden Liste an. Die Prozesse, die die meiste CPU-Zeit brauchen, werden zu oberst :angezeigt.
"ps" = Zeigt alle Prozesse mit ihrer PID, der User-ID des ausfuehrenden Users, die Terminal-ID etc. an.
"kill" = Beendet den Prozess mit der uebergebenen Prozess-ID. (PID siehe in top)
"killall" = Beendet alle Prozesse mit dem uebergebenen Namen.
"killproc" = Beendet den Prozess, dessen ausfuehrbare Datei im uebergebenen Pfad zu finden ist.
"nice" = Setzt die Prioritaet eines Prozesses
"nohup" = Startet ein Programm immun gegen SIGHUPs
"pidof" = Gibt die PID(s) des Prozesses mit dem uebergebenen Namen aus


Netzwerk Management


"ifconfig" = Konfiguriert Netwerk-Schnittstellen, bzw gibt deren Konfiguration und Status aus.
"netstat" = Gibt Informationen ueber Netzwerkverbindungen, Routingtabellen ua aus.
"ping" = Sendet kleine Datenpakete an die angegebene IP-Adresse bzw. den angegebenen DNS-Namen und wartet auf eine Antwort der Gegenstelle. :Zum ueberpruefen einer Netzverbindung. (bsp: "ping www.heise.de")
"route" = Manipuliert die Routen zu entfernten Rechnern. Normalerweise zum Erstellen einer statischen Route zu einem speziellen Rechner.
"telnet" = oeffnet eine Telnet-Session zum angegebenen Rechner (IP oder DNS). Per Telnet kann ein anderer Rechner ""ferngesteuert"" werden."
"tty" = Zeigt das device an, ueber das man angemeldet ist


Partitions Management

"badblocks" = Durchsucht einen Partition nach beschaedigten Bloecken. (BadBlocks)
"dd" = Kopiert Partitionen/Dateisysteme bytegenau.
"e2fsck" = Prueft und repariert Linux ext2 Dateisysteme.
"e2label" = Weist einem Dateisysten ein Label (Bezeichnung) zu, bzw gibt das Label aus.
"fdisk" = Legt Partitionen an und loescht sie. Anzeige der aktuellen Partitionstabelle.
"fsck" = Prueft und repariert Linux Dateisysteme.
"hdparm" = Programm zum Einstellen verschiedener Parameter einer Festplatte.
"mke2fs" = Erzeugt ein ext2 Dateisystem auf der angegebenen Partition.
"mkfs" = Frontend zu verschiedenen Filesystem-Erstellern.
"mkswap" = Erzeugt eine Linux Swap-Partition auf der angegebenen Partition.
"mount" = Haengt ein Dateisystem (eine Partition, Diskette..) in den Verzeichnisbaum ein. (an einen Mountpoint) ("mount /dev/sda1 /media/hdd")
"umount" = Loest ein Dateisystem aus dem Verzeichnisbaum. ("umount /dev/sda1")


Suchen

"find" = Umfangreiches Suchtool.
"locate" = Sucht Dateien mittels eines Indexes, der durch updatedb erstellt wird.
"whereis" = Sucht das Binary (ausfuehrbare Datei), den Quellcode und die man-Page eines Programmes.
"which" = Gibt den ersten gefunden Pfad eines Programmes im Pfad (echo $PATH) an.


Komprimierung

"ar" = Archiv- und Bibliotheksverwaltung.
"gzip" = Komprimiert und dekomprimiert Dateien im Lempel-Ziv Verfahren.
"tar" = Komprimiert und dekomprimiert Archive mehrerer Dateien.
"unzip" = Dekomprimiert zip-Archive.

Verschiedenes

"reboot" = Neu starten des Systems.
"init" = Runlevel wechseln.
"shutdown" = Runterfahren, bzw. Reboot des Systems.
"cal" = Zeigt einen Kalender an.
"clear" = Loescht den Inhalt der Konsole.
"crontab" = Zeigt die userspezifische Cron-Tabelle an, bzw. oeffnet sie zum editieren.
"date" = Gibt das aktuelle Datum aus.
"echo" = Gibt einen Text auf der Konsole aus.
"env" = Gibt alle Umgebungsvariablen aus.
"expr" = Auswerten von Ausdruecken.
"find" = Durchsucht den Verzeichnisbaum, ausgehend vom aktuellen Verzeichnis, nach einer Datei.
"fold" = Bricht ueberlange Zeilen um.
"grep" = Sucht nach einer Zeichenfolge in einer Datei, oder einer umgeleiteten Ausgabe. (echo test.txt | grep blafasel)
"halt" = Runterfahren des Systems.
"hostname" =Zeigt den Namen des Rechners an.
"rev " =Zeichenfolge umkehren.
"sleep" = Eine Anzahl von Sekunden warten.
"sort" = Sortiert die Ausgabe von Programmen, bzw Dateien.
"strings" = Extrahiert alle (lesbaren) Zeichenfolgen aus einer Datei/Eingabe.
"type" = Zeigt den Typen einer Datei und die Interpretation des Dateinamens als Parameter an.
"uniq" = Entfernt doppelte Zeilen in einer Datei.
"wc" = Zaehlt Buchstaben, Zeilen und Woerter der Eingabe.

User Infos

"groups" = Gibt die Gruppenzugehoerigkeit eines Users aus.
"id" = Gibt den eigenen Login-Namen inklusive Gruppe aus.
"last" = Zeigt die letzten Logins an.
"logname" = Gibt den eigenen Login-Namen aus.
"who" = Gibt die Login-Namen der momentan eingelogten User zusammen mit den Terminal-IDs und dem Login-Zeitpunkt aus.
"whoami" = Gibt den eigenen Login-Namen aus

User-Account Management


"chfn" = Aendern der User-Informationen eines AccountsRoom-NumberWork-PhoneHome-Phone.
"chsh" = Aendern der Login-Shell eines Useraccounts.
"exit" = Aktuelle Session verlassen (auslogen).
"groupadd" = Anlegen einer neuen User-Gruppe.
"groupdel" = Loeschen einer bestehenden User-Gruppe.
"groupmod" = Aendern der Daten einer bestehenden User-Gruppe.
"login" = Als Benutzer anmelden bzw. neu anmelden.
"newgrp" = Aendern der aktuellen Gruppe.
"passwd" = Festlegen bzw. Aendern des Passwortes eines Useraccounts.
"su" = Neue Session mit anderem Account aufmachen (su - : root-Account).
"sudo" = Befehl als root ausfuehren.
"useradd" = Anlegen eines neuen Useraccounts. Zumindest der Login-Name muss angegeben werden.
"userdel" = Loeschen eines Useraccounts.
"usermod" = Aendern eines bestehenden Useraccounts.


Erklärung zu chmod

Mit dem Befehl chmod kann man die Rechte von Verzeichnissen bzw. von Dateien setzen.

Hierzu ein Beispiel:

Mit dem Befehl

ls -l /usr/bin/build-combi.sh

kann ich mir die Rechte des Files build-combi.sh welches im Verzeichnis /usr/bin liegt anzeigen lassen.

Die Ausgabe sieht hier dann so aus:

-rwxr-xr-x    1 root     root


Nun was bedeutet das;

Die ersten drei Zeichen also rwx gehören dem User (also dem Eigentümer des Files -> beim CT ET9x00 ist das klar der root).

Die nächsten Zeichen also r-x (hier haben wir kein w dabei) gehören der Group also der Gruppe ( die Gruppe ist hier ebenfalls root).

Die letzten drei Zeichen r-x (wieder kein w dabei) gehören den Others (also einfach den Anderen).


Nun zu den Zeichen und deren Bedeutung;

r = readable (also lesbar) und deren zugewiesene Zahl ist immer --------------> 4

w = writeable (also schreibbar) und deren zugewiesene Zahl ist immer ------> 2

x = executable (also ausführbar) und deren zugewiesene Zahl ist immer ----> 1


Besonderheit bei Verzeichnissen:

Bei Verzeichnissen steht das Execute-Bit, dafür dass die jeweilige Gruppe in das Verzeichnis wechseln darf.


Für obiges Beispiel zur build-combi.sh ergibt sich dann folgendes;

Der User also der root besitzt die Rechte rwx das ist dann ----> 7

Die Group auch root besitzt die Rechte r-x das ist dann --------> 5

Die Others besitzen die Rechte r-x das ist dann --------------------> 5

ergibt also insgesammt die Zahl 755


Würde man nun also zum Beispiel die gleichen Rechte für /usr/bin/grab setzen wollen wär der Befehl dazu dann dieser;

chmod 755 /usr/bin/grab

Würde man /usr/bin/grab hingegen nur zum Beispiel lesbar und schreibbar für den User also den root

und für die Group und Others nur lesbar machen wollen wäre das dann dieser Befehl;

chmod 644 /usr/bin/grab


Ach ja, eines noch das executable (ausführbar) Recht also x wird z.b: für Scripts oder

auch binarys (Programme) gebraucht denn die müssen unbedingt ausführbar sein.


Da gäbs sicher noch mehr dazu zu sagen, aber für den CT ET9x00 reicht das vollkommen aus und man sollte

sich jetzt leicht selbst ausrechnen können welche Rechte man mit welchen Zahlen setzen kann.