Artikelformat
28. August 2007

Sammlung Linux Shell-Befehle

Linux Shell

Diese Sammlung ist ungeordnet und wird von mir mittelfristig einmal überarbeitet.

Linux Shell-Befehle geordnet

lynx homepage – Browser in der Kommandozeiele
who – Überblick über alle aktiven Benutzer
echo – Text auf dem Bildschirm anzeigen Bsp. Aufruf: echo text
less – Informationen seitenweise anzeigen
pwd – aktuelles Verzeichnis anzeigen

man – Manual
chmod -r -V /Dateipfad – Änderung Zugriffsrechte rekursiv und angezeigt
chgrp – Gruppenzugehörigkeit ändern; Aufruf: chgrp gruppe datei
cat – Inhalt von Dateien ausgeben
mkdir – Verzeichnis anlegen
cd – wechselt in das Heimatverzeichnis; cd /etc – wechselt in das Verzeichnis /etc
cd dir – wechselt in das Unterverzeichnis dir des aktuellen Verzeichnisses
cd ../uebung2 – wechselt in das Unterverzeichnis uebung2 des übergeordneten Verzeichnisses
rmdir – Verzeichnis entfernen

ls – Informationen über dir anzeigen; Aufruf: ls -d dir
apt-get install DATEI oder remove DATEI
apt-cache search NAME # zeigt alle deb.Pakete die zur Verfügung stehen mit dem Namen
apt-cache show Deb.Paket # zeigt alle Abhänigkeiten und weitere Informationen zum Paket

touch dateiname.dateiendung
top – zeigt Prozesse und die CPU- und RAM-Auslastung an
mc – midnightcommander!
rpm installation Bsp. rpm -i paketname.rpm – Installiert das Paket; rpm -U paketname.rpm – Installiert oder erneuert ein Programm. Unterschied zu Install: Alle älteren Einträge werden entfernt.
rpm -F paketname.rpm – Erneuert ein Paket nur, wenn eine vorherige Version gefunden wurde.rpm -e opera – desinstallation
df – disk free zeigt partitionsinformationen an
tar – Packer ; packen: tar cfvp NAME.tar /Ziel #c=create;f=file;v=verbose(Auflistung);p=Rechte speichern
tar – entpacken: tar xfv Datei.tar …/Ordner
Rechner per Konsole Fernstarten:
urpmi wol # installiert den wake on lan clienten
wol MAC-Adresse # startet den Rechner mit der gleichen Mac-Adresse im Subnetzwerk
wol ipaddr rechner.dyn.org Mac-Adresse # Start des Rechners über Internet

Datei- und Verzeichnis-Befehle auf der Linux Shell

cat Verketten und Anzeigen des Inhalts einer Datei
cd In ein anderes Verzeichnis wechseln; cd.. Verzeichnis hoch; cd /verzeichnis[tab]
chmod – Zugriffsrechte für eine Datei (oder ein Verzeichnis) ändern Bsp. chmod 766
chown – Eigentümer und Gruppe einer Datei (oder eines Verz.) ändern
chgrp Gruppe einer Datei ändern Bsp. chgrp users
cp Datei kopieren Bsp. cp bla.blo /home/blubber/Pics
diff – Unterschiede zwischen zwei Text-Dateien anzeigen
grep Datei nach einer speziellen Zeichenkette durchsuchen
rm Datei löschen
mkdir Ein neues Verzeichnis erstellen
rmdir Ein Verzeichnis löschen (-R bedeutet incl. Unterverzeichnissen)
mv Datei verschieben oder umbenennen Bsp. mv bla.blo /home/blubber/Pics oder mv bla.blo blubb.blobb (umbennen)
mv Datei in das aktuelle Verzeichnis kopieren/verschieben: cp/mv /etc/bla.conf .
split Datei aufteilen
touch neuedatei neue Datei anlegen
df -h freien Festplattenplatz anzeigen
Größe eines Verzeichnisses anzeigen: du -h Verzeichnis/

Such-Befehle Linux Shell

find Eine Datei anhand ihres Namens oder ihrer Parameter finden
locate Dateien anhand eines von updatedb generierten Indexes suchen

updatedb Suchindex über das komplette Dateisystem für locate generieren
whereis Die ausführbare Datei (Binary) eines Programms suchen

Ausgabe-Befehle auf der Linux Shell

date Ausgabe des System-Datums und der Uhrzeit
df Speicherverbrauch der System-Partitionen anzeigen
du Speicherverbrauch eines Verzeichnisses anzeigen
free Auslastung des System-Arbeitsspeichers (Memory) anzeigen
finger Informationen über einen Benutzer anzeigen
head Die ersten Zeilen einer Datei anzeigen
id Den eigenen Login-Namen inkl. Gruppe anzeigen
last Die letzten Logins anzeigen
less Den Inhalt einer Text-Datei durchstöbern
ls Die Inhalte eines Verzeichnisses anzeigen
man Das virtuelle Handbuch zu einem Befehl anzeigen
more Den Inhalt einer Text-Datei ausgeben
pwd Den absoluten Pfad des aktuellen Verzeichnisses ausgeben
tail Die letzten Zeilen einer Datei anzeigen
uptime Uptime des Rechners anzeigen (die Zeit seit dem letzten Reboot)
who Die aktuell auf dem System eingeloggten User anzeigen
whoami Den eigenen Login-Usernamen anzeigen

Prozess-Befehle auf der Linux Shell

exit Einen Prozess normal beenden
kill Einen laufenden Prozess gewaltsam beenden
ps Status eines Prozesses anzeigen
pstree Alle Prozesse in einer Baum-Darstellung anzeigen
top Die auf dem System laufenden Prozesse fortlaufend anzeigen

Komprimierungs-Befehle – Konsolen-Befehle Linux

gzip Komprimieren und Dekomprimieren im Lempel-Ziv-Verfahren
Bsp. Eine gz-gepackte Datei erstellen: tar -zcvf meinedatei.tar.gz datei.txt Ordner1/ Ordner2/ /home/bla/Ordner3/
Bsp. Entpacken einer *.tar.gz Datei: tar -zxvf meinedatei.tar.gz
tar Komprimieren und Dekomprimieren mehrerer Dateien
unzip Dekomprimieren von zip-Archiven
zip Komprimieren von zip-Archiven (Windows-kompatibel)
unrar rar ,wenn kosolenversion installiert wurde; Bsp. unrar e Datei #e= extract

Benutzerkonto-Befehle auf der Linux Shell

groupadd Eine neue Benutzergruppe erstellen
groupdel Eine bestehende Benutzergruppe löschen
groupmod Einstellungen einer bestehenden Benutzergruppe ändern
login Als Benutzer (neu) anmelden
passwd ändern des Passworts eines Benutzerkontos oder eigenes ohne Angabe eines Namens
su Neue Sitzung mit einem anderen Benutzerkonto eröfnen
sudo Befehl als root ausführen
useradd Ein neues Benutzerkonto anlegen
userdel Ein bestehendes Benutzerkonto löschen
usermod Einstellungen eines bestehenden Benutzerkontos ändern

Netzwerk-Befehle auf der Linux Shell

ntpdate System-Zeit mit einem entfernten Rechner synchronisieren
ping Kleine Datenpakete senden zum überprfen einer Verbindung
traceroute Einzelne Stationen eines gesendeten Datenpaketes verfolgen
tty Device anzeigen, auf der man eingeloggt ist

Sonstige Befehle auf der Linux Shell

alias Shortcuts für (komplexere) Befehle anlegen
clear Lösscht den Bildschirm des Konsolen-Fensters
crontab Anzeige der Zeitsteuerungstabelle
echo Ausgabe eines Textes auf der Konsole
reboot Neustart des Systems
logout Ausloggen
shutdown Herunterfahren bzw. Neustart des Systems
history letzte Befehle anzeigen

Sammlung komplexer Shell-Befehle (unstrukturiert)

Einbinden von ISO Files in das Dateisystem
mount -t iso9660 -o loop /dir_zu_iso/image.iso/gewünschter_mount_point

Passwort generienen (mit md5-hash) (Mandrake)

Installation:
urpmi makepasswd
Befehlsstring:
makepasswd -e md5 -p PASSWORT
-e bedeutet encryptet mit md5;

-p sagt: nicht zufällig sondern dieses Passwort

GMX-Mediacenter als 1Gig Webdav mounten
mount.davfs mediacenter.gmx.net /mnt/gmx-webdav -o username=KUNDENNUMMER,password=PASSWORD

mounten von samba- bzw- windowsfreigaben
mount -t smbf //IP-Adresse/Netzwerkfreigabe /Ordner-Einhängepunkt
Ordner muss zuvor erstellt werden; -t= Dateisystemumount /Verzeichnis

Besitzer wechseln
chown -R -v Besitzer:Gruppe /Verzeichni
es wird rekrusiv dargestellt alle Besitzverhältnisse getrennt
UNIX COMMANDS / LINUX BEFEHLE > Bisher nicht zugeordnet:

ls – Inhalt aktuelles Verzeichnis listen
ls -al – Inhalt listen mit Zugriffsrechten und allen “versteckten” Dateien
alias l = ‘ls -al’ – Alias setzten, wie bsp. hier ‘l’ für ‘ls -al’
–help | more – Hilfe aufrufen mit Space als Scrollmöglichkeit
ps -ef | grep BEISPIELDIENST – PS listet laufende Dienste und Grep filtert nach Suchwort
VIM oder auch VI Kurzübersicht
i = insert
ESC = raus aus Insertmodus
:w = schreiben

:q = Datei verlassen
:q! = Datei verlassen ohne speichern
/Suchwort = springt zu Suchwort
:syn on = Syntax Highlighting an

vim /home/benutzer/.vimrc = Benutzerspezifische Vimeinstellungen, wie “syntax on”

durep – Disk Usage Report Generator
durep ist ein Perlscript. durep generiert einen übersichtlichen Report der Festplattenbelegung.

lastb – Zeigt fehlgeschlagen Loginversuche
getent – Konfigurationsdateien auslesen
Mit getent lassen sich bestimmte Konfigurationsdateien ausgeben ohne sie im Verzeichnis /etc suchen zu müssen.

Lastlog – Welcher User hat sich das letzte Mal eingelogt
Ausgabe: Benutzername, der Port , von Zugriffsort und Datum
lastlog -u name – listet entsprechden User
lastlog -b 100 – zeigt Daten älter als 100 Tage
lastlog -t 10 – zeigt Einträge jünger als 10 Tage

dlocate – Zugehörigkeit einer Datei zu anderen Dateien bzw. Pakett
dlocate /sbin/ifconfig
-s string Status des Pakets
-L package Listet alle Dateien im Paket
-l package ähnlich wie dpkg -l
-S package
-ls package Listet alle Dateien im Paket (ls -l)
-du package
-conf package Listet die Konfiguratonsdateien im Paket
-lsconf package Listet die die Konfiguratonsdateien im Paket (Format ls -l)
-md5sum package
-md5check package
-man package Listet alle Manualseiten im Paket

Offene Ports checken:
lsof -i:192,168,1,1
netstat -tulpe
netstat -tulpe |grep xinetd # von xinetd intern geöffnet werden
fuser -uv 445/tcp oder fuser -uv 445/udp
NMAP offenen tcp und udp Ports suchen.
nmap -sUT localhost

SSH-Key übertragen.
ssh-copy-id -i .ssh/id_rsa.pub USER@IPdesServers
Key generieren
ssh-keygen -t rsa

Dateien größer 10 MB suchen und löschen
find -type f -size 10M |xargs -I ‘{}’ rm ‘{}’

Mounten eines Cdimages
mount -o loop IMAGE.iso /mnt

Kopie eines Verzeichnisses oder eines kompletten Linux von Server zu Server
rsync -avHS –progress –stats /home/USER/. /mnt

Zugriff per Browser auf einen FTP oder HTTP Server
ftp://user:passwort@server/pfad

http://user:passwort@server/pfad

chmod nur für Dateien und nur Verzeichnisse
Für Verzeichnisse
find -type d | xargs chmod 755
Für Dateien
find -type f | xargs chmod 644

Herausfinden Prozessor Architekur
$ arch

Datum
$ date

Inhalt (Dateien ud Verzeichnissen eines Verzeichniss) lsten
$ dir

Eine Textzeile ausgeben
$ echo TEXTzeile

fgrep
Zeigt die Zeile in einer Datei, die gesucht wird.
$ fgrep “Host” postfix.conf

hostname
Zeigt den Systemnamen
$ hostname

ls
Listet den Inhalt eines Verzeichnisses
$ ls

mkdir
Erstellt ein Verzeichniss
$ mkdir ORDNER

mv
Verschiebt und umbenent Dateien
$ mv DATEI1.txt DATEI2.txt

ps
Zeigt alle laufenden Prozesse
$ ps

pstree
Zeigt den Baum aller laufenden Prozesse
$ pstree

rm
Löscht eine Datei
$ rm DATEI.txt

rmdir
Löscht ein Verzeichniss
$ rmdir ORDNER

touch
Verändert den Zugriff auf eine Datei und modifiziert das ZUgriffsdatum und erzeugt ein nicht vorhandene Datei
$ touch DATEI.txt

w
Zeigt wer online ist und was sie tun
$ w

who
Zeigt wer gerade auf der Maschine eingeloggt ist
$ who

whoami
Zeigt Benutzernamen und Heimverzeichniss des Benutzers
$ whoami