Hier finden Sie eine Kurzübersicht über die wichtigsten Kommandozeilen-Befehle der Linux Shell.




Befehle/Tools

Befehls-Beispiel Beschreibung/Anmerkungen
addgroup group legt eine neue Gruppe an (Siehe auch groupadd)
adduser user group fügt den User "user" zur Gruppe "group" hinzu (Siehe auch useradd)
alias dir="ls -l" Sorgt dafür, dass die Eingabe von 'dir' einen 'ls -l' entspricht
kann in /home/username/.bashrc eingetragen werden
cat /etc/debian_version
cat /proc/version
Dateiinhalte anzeigen (hier die Debian-Version)
Linux Version anzeigen
cd /etc Verzeichnis wechseln
Im Gegensatz zu Windows muss immer ein Leerzeichen nach dem 'cd' eingeben werden!
chmod u=rwx,go=rx demo.txt
chmod o+w demo.txt
Zugriffsrechte setzen: user darf read, write, execute; group und other dürfen read, execute;
... ändern; chmod User +/-Rechte Datei; Hier: other erhalten write (Schreibrechte)
Benutzer: u-user (Benutzer), g-group (Gruppe), o-other (Alle Anderen)
Rechte: r-read (lesen), w-write (schreiben), e-x-ecute (ausführen)
chown user:gruppe demo.txt
chown -R tom:develop OrdnerXYZ
Ändert die Besitzrechte einer Datei/eines Ordners (mit -R auch rekursiv)
cp *.java backup/
cp -R ordner1/* ordner2/
Dateien kopieren: alle Dateien mit der Endung 'java' werden ins 'backup'-Verzeichnis kopiert
Alle Dateien aus 'ordner1' werden mit ihren Unterverzeichnissen nach 'ordner2' kopiert
date -s "2015-04-20 11:34:30" setzt Datum und Uhrzeit
dd if=/dev/fd0 of=disk.img
dd if=/mnt/cdrom/install/sbm.bin of=/dev/fd0 bs=1024 conv=sync ; sync
Kopiert Datenträger; if= in file; of= outfile
Kopiert Image (z.B.: sbm.bin) auf Floppy
df
df -h
zeigt den freien Platz auf der Festplatte
zeigt den freien Platz auf der Festplatte auf eine besser lesbare Art an (h=human)
du -sh zeigt den verwendeten Platz eines Verzeichnisses an (mit -s rekursiv)
export JAVA_HOME=/opt/jdk Umgebungsvariablen anlegen
wird eingetragen in /home/username/.bashrc
find /home/user -name 'datei.txt'
find / -name "*~" -exec rm -f {} \;
sucht im angegebenen Verzeichnis nach datei.txt
löscht alle Dateien, welche auf ~ enden
grep '#include' /home/user/*

grep 'Suchbegriff' /etc/

grep -r 'Suchbegriff' ./
sucht im Verzeichnis /home/user/ nach allen Dateien, welche '#include' erhalten

sucht im Ordner /etc nach Dateien, in welchen 'Suchbegriff' vorkommt

sucht im aktuellen Verzeichnis und allen Unterverzeichnissen nach Dateien, welche 'Suchbegriff' erhalten
groupadd groupname Erzeugt eine neue Usergruppe
groups Anzeige der Gruppenzugehörigkeiten
groups user Anzeige der Gruppenzugehörigkeiten des angegebenen Users
id Anzeige der eigenen User-ID (uid) und des Usernamens,
der (Haupt-)Gruppen-ID (gid) und des Gruppenamens
und aller Gruppenzugehörigkeiten
ip addr show IP-Adresse + Netzwerkinfos anzeigen
less /etc/bashrc Dateiinhalte anzeigen; während der Anzeige kann 'F' (groß geschrieben) getippt werden, dann werden Dateiergänzungen angezeigt (gut für log-files)
ln -s DateinameAufDenDerLinkZeigt NameDesLinks Symbolische Link erstellen; funktioniert auch für Verzeichnisse
ls
ls -l
Dateien/Verzeichnisse anzeigen
... ausführlicher
ls /lib/modules/$(uname -r)/kernel/fs Anzeige der vom Kernel unterstützten Dateisysteme
lsblk Anzeigen von Device-Namen und Mount-Point
... ausführlicher
mkdir mydir Verzeichnis anlegen
mount Anzeige aller gemounteten "Devices"
mount -t smbfs -o username=username,password=passwort //servername/verzeichnis
    /mnt/servername/verzeichnis
mount /dev/scd0 /cdrom
mount /dev/hdc /cdrom
 
mv *.java dest/
mv -R ordner1/* ordner2/
mv kannweg.txt weg.txt
Dateien mit der Endung 'java' in den Ordner 'dest' verschieben
Alle Dateien aus 'ordner1' rekursiv nach 'ordner2' verschieben
Datei 'kannweg.txt' nach 'weg.txt' umbennen
netstat --tcp -p -a Verwendete Ports anzeigen
passwd username Passwort für einen User ändern.
popd wechselt auf das beim Aufruf von pushd gesicherte Verzeichnis zurück.
pushd /etc Verzeichnis wechseln; das Ausgangsverzeichnis wird gesichert und kann mit popd wieder aufgerufen werden.
ps ax | grep ThreadName Zeigt alle Threads mit dem gesuchten Namen an.
pwd zeigt das akuelle Verzeichnis an
PS1="\u@\h\w>" Prompt ändern
 \u - user
 \h - host
 \w - Working directory
Für dauerhafte Änderung in der ~/.bashrc eintragen
rename 's/\.jpg/\.JPG/' * Änderung des Dateinamens aller Dateien mit Endung .jpg in .JPG
s - Steht für "String"
\ - kommentiert den Punkt aus, damit er nicht als Befehl interpretiert wird
rm *.class/
rm -R *.class
*.class Dateien löschen
... rekursiv
scp user@123.123.123.123:/home/user securecopy; kopiert von verschiedenen Rechnern über ssh
sed 's/alterSuchbegriff/neuerSuchbegriff/g' file.txt > newfile.txt In Dateien Austauschen von Suchbegriffen
ssh 123.123.123.132 -l username  
tail -f server.log Anzeigen von Textdateien
mit -f wird die Anzeige bei Änderungen der Datei aktualisiert. Siehe auch leistungsfähigeres 'less'
tar cvzf destination.tar.gz *.source
tar -xvzf *.tar.gz
tar -xvf *.tar
Archiv erzeugen
*.tar.gz-Archiv entpacken
*.tar-Archiv entpacken
top zeigt die Systemprozesse mit Resourcenverbrauch an
touch dateiname.txt neue, leere Datei anlegen (Bsp.: Textdatei mit Namen "dateiname"
umask u=rwx,g=rx,o=r Neue Dateien werden mit den angegebenen Zugriffsrechten angelegt.
kann auch in /home/nosch/.bashrc angegeben werden.
umount /mnt/cdrom Resource wieder freigeben.
unzip archivname.zip -d Zielordner zip-Archiv in Zielordner entpacken
useradd -p passwort -g group -m neueruser Neuen User anlegen; optionales -m sorgt dafür, dass das home-Verzeichnis mit erzeugt wird
w Anzeige der aktuell angemeldeten User
und von wo aus sie sich angemeldet haben und was sie gerade machen
who Anzeige der aktuell angemeldeten User - Kurzübersicht
whoami Anzeige des eigenen Usernamens
zip archivname.zip files zip-Archiv mit 'archivname.zip' erstellen und alle 'files' hinzufügen




Einstellungen

fstab befindet sich im Ordner /etc
path setzen unter Beibehaltung des alten PATH:
  export PATH=/usr/bin/:$PATH
remote root login verhindern in /etc/ssh/sshd_config eintragen/ändern:
  PermitRootLogin no
anschließend Dienst neu starten mit:
  rcsshd restart
ssh nur über Protokoll 2 erlauben in /etc/ssh/sshd_config eintragen/ändern:
  Protocol 2
"Autostart" /etc/profile.local (neu anlegen mit touch profile.local)



Debian

Befehl Beispiel Beschreibung/Anmerkungen
apt-cache apt-cache search suchbegriff sucht nach suchbegriff
apt-cache policy packetname apt-cache policy apache Zeigt an, welche Version aufgrund der Angaben in sources.list für das Packet verfügbar ist.
apt-get sourcen apt-get install mysql
apt-get install -t unstable PacketName
Holt und installiert Pakete
.. aus unstable
Sourcen definiert in: /etc/apt/sources.list
deb-Pakete installieren dpkg -i paketname.deb  
deb-Pakete lokalisieren dpkg -L paketname  
  sudo apt-get install qalculate Desktop-Rechner installieren
  sudo apt-get install qalc Terminal-Rechner installieren



Apache 2

Befehl Beispiel Beschreibung/Anmerkungen
sudo service apache2 restart Apache Webserver neu starten
z.B. nach der änderung der Konfigurationsdatei
/etc/httpd/httpd.conf



In der Console hoch oder runter blättern mit Shift-Bild-hoch und Shift-Bild-runter

Wenn z.B. bei scp die Warnung REMOTE HOST IDENTIFICATION HAS CHANGED! kommt, dann muß im .ssh-Verzeichnis (liegt im Home-Verzeichnis z.B. home/nosch) in der Datei known_hosts der Eintrag für den entsprechenden Rechner komplett gelöscht werden. Anschließend muß mit ssh eine Verbindung zu dem Rechner aufgebaut werden.

User Id für Dateien ändern:
z.B. von 500 nach 506: find / -uid 500 -exec chown 506 {} \;

sudo Um einem User sudo zu ermöglichen muss er der Gruppe sudo angehören (vor ubuntu 12.04 admin)