Info, Hilfe, Anleitung
man (manual)
Die Manpages sind Hilfedateien zum Umgang und Erklärung der Optionen von Befehlen und Programmen. Dem Befehl man
folgt der Befehl als Paramater:
__$ man cd
Eine Manpage kann mit einem Slash gefolgt von einem Suchwort durchsucht werden: /suchwort
. Mit n
kann zum nächsten Suchtreffer gesprungen werden. q
zum Beenden.
Auch der Befehl man
hat eine Anleitung:
__$ man man
type
Gibt Informationen zu einem Befehl, ob es sich um eine internen, externen oder einem Alias handelt. Dieser Befehl ist auch nützlich, um herauszufinden, ob ein Befehl implementiert ist.
__$ type cd
which
Gibt den Pfad einer ausführbaren Datei, die in der Umgebungsvariable PATH
angegeben ist aus.
__$ which cd
-a
gibt alle Pfade zu einer ausführbaren Datei aus.
__$ which -a cd
history
Gibt die Historie der eingegebenen Terminal Kommandos aus.
__$ history
Die Historien Datei löschen mit -c
.
__$ history -c
Die maximale Anzahl der Einträge auf 10.000 einstellen.
__$ export HISTSIZE=10000
Dateisystem
pwd (print working directory)
Gibt den aktuellen Verzeichnispfad aus. Eher in Shell Skripten nützlich!
__$ pwd
cd (change directory)
Ohne weitere Angabe wird in das home
Verzeichnis gewechselt:
__$ cd
In ein Verzeichnis wechseln mit absolutem Pfad:
__$ cd /absoluter/pfad
In ein Verzeichnis wechseln mit relativem Pfad
__$ cd relativer/pfad
Pfade mit Leerzeichen werden Hochkommata umschlossen:
__$ cd "a pfad/mit leerzeichen/mittendrin"
Eine Verzeichnisebene höher wechseln:
__$ cd ..
Eine Verzeichnisebene höher und von dort relativ wechseln:
__$ cd ../pfad/von/dort
Zurück zum vorherigen Verzeichnis wechseln:
__$ cd -
In das Home-Verzeichnis wechseln:
__$ cd
ls (list)
Gibt den Inhalt eines Verzeichnisses aus.
__$ ls
Ausgabe als detaillierte Liste mit -l
:
__$ ls -l
Ausgabe auch von versteckten Dateien mit -a
:
__$ ls -a
Gängiger gebrauch:
__$ ls -la
Liste detailliert (-l
), alles (-a
), sortiert nach Zeit (-t
) und in umgekehrter Reihenfolge (-r
):
__$ ls -latr
Mit Pfadangabe:
__$ ls -la /etc
Lange Ausgaben mit less
(oder more
) durchscrollen:
__$ ls -la /etc | less
Alias ~
listet das home
Verzeichnis aus:
__$ ls ~
stat (status)
Informationen über Dateien und Ordner anzeigen lassen.
__$ stat meine-datei.txt
Weniger Details mit -t
:
__$ stat -t meine-datei.txt
touch
Ändert das Änderungsdatum von Dateien. Wenn die Datei nicht existiert, wird sie angelegt.
__$ touch meine-neue-datei.txt
Den Zugriff- und Änderungszeitstempel auf 31.12.2020 12:45:30 Uhr mit einem Zeitstempel ändern -t
:
__$ touch -t 201231124530 meine-alte-datei.txt
Den Änderungszeitstempel (-m
) auf 31.12.2020 12:45:30 Uhr mit einem Zeitstempel ändern -t
:
__$ touch -t 201231124530 meine-alte-datei.txt
Den Zugriffszeitstempel (-a
) auf 31.12.2020 12:45:30 Uhr mit einem Zeitstempel ändern -t
:
__$ touch -t 201231124530 meine-alte-datei.txt
cp (copy)
Kopiert Dateien und Ordner:
__$ cp datei.txt neuer/ort/datei.txt
Meherer Dateien und Ordner kopieren:
__$ cp datei.txt ordner neuer/ort/
Unterverzeichnisse mitkopieren -r
:
__$ cp -r ordner neuer/ort/
Attribute beibehalten -a
(Besitzer-, Gruppen- und Zugriffsrechte / Erstellungs-, Modifikations- und Zugriffsdaten):
__$ cp -a datei.txt neuer/ort/
Interaktiver Modus! Vor überschreiben nachfragen -i
:
__$ cp -i datei.txt neuer/ort/
Gleichnamige Dateien sichern -b
:
__$ cp -b datei.txt neuer/ort/
mv (move)
Verschieben oder umbenennen von Dateien und Ordnern.
Umbenennen von datei-a.txt
in datei-b.txt
:
__$ mv datei-a.txt datei-b.txt
Verschieben von datei-a.txt
nach ordner/datei-a.txt
:
__$ mv datei-a.txt ordner/datei-a.txt
Verschieben und umbenennen von datei-a.txt
nach ordner/datei-b.txt
:
__$ mv datei-a.txt ordner/datei-b.txt
Verschieben von datei-a.txt
und ornder-b
in den ordner-c
:
__$ mv datei-a.txt ordner-b ordner-c/
Dateiendung mehrerer Dateien umbenennen:
__$ mv *.JPG *.jpg
mkdir (make directory)
Erstellen von Verzeichnissen:
__$ mkdir ordner-a
Erstellen mehrerer Verzeichnisse:
__$ mkdir ordner-a ordner-b
Erstellen eines Verzeichnisses, übergeordnete Ordner mit anlegen, wenn nötig -p
:
__$ mkdir -p ordner-a/ordner-b/ordner-c
Verzeichnisbäume erstellen mit geschweiften Klammern {ordner}
:
__$ mkdir -p ordner-a/{ordner-b, ordner-c}/{ordner-1, ordner-2}
Das erzeugt die Struktur:
|-- ordner-a
|-- ordner-b
|-- ordner-1
|-- ordner-2
|-- ordner-c
|-- ordner-1
|-- ordner-2
rm (remove)
Löschen von Dateien und Verzeichnissen:
__$ rm datei.txt
Löschen mehrerer Dateien und Verzeichnisse einschließlich Unterverzeichnisse -r
:
__$ rm -r datei.txt ordner
Löschen aller Dateien mit der Endung .jpg
:
__$ rm *.jpg
Löschen ohne Nachfragen -f
:
__$ rm -f datei.txt
Löschen mit Nachfrage -i
. Interaktiver Modus!
__$ rm *.jpg
rmdir (remove directory)
Löschen von leeren Verzeichnissen:
__$ rmdir leeres-verzeichnis
Elternverzeichnisse ebenfalls löschen -p
:
__$ rmdir -p ordner-a/ordner-b/ordner-c
ln (link)
Erzeugt eine Verknüpfung zu einer Datei oder einem Verzeichnis. Mit dem Parameter -s
wird ein Symbolischer- oder Softlink erzeugt.
__$ ln -s /pfad/zur/quell-datei.txt neuer-symbolischer-link
gzip
Eine Datei file.txt
zu file.txt.gz
verpacken:
__$ gzip file.txt
Einen Ordner folder
zu folder.gz
verpacken:
__$ gzip folder
Mehrer Dateien jeweils einzeln verpacken (Ausgabe file1.txt.gz
,file2.txt.gz
, file3.txt.gz
):
__$ gzip file1.txt file2.txt file3.txt
Ein Archiv entpacken:
__$ gzip -d archive.gz
Lesen, Suchen, Schreiben, Ersetzen
echo
Zum Ausgeben von Zeichenketten und Variablen in der Standardausgabe zum Beispiel dem Terminal:
__$ echo "Mein Benutzername ist $USER"
cat (concatenate)
Fügt Dateien zusammen oder gibt den Inhalt einer Datei im Terminal aus:
__$ cat /etc/hostname
less
Gibt den Inhalt einer Datei im Terminal aus mit dem Vorteil, lange Ausgaben blättern zu können (mit den Pfeiltasten scrollen und beenden mit q
):
__$ less ~/.bashrc
tail
Gibt die letzten Zeilen einer Datei aus. Ohne Angaben werden die letzten 10 Zeilen ausgegeben:
__$ tail /var/log/auth.log
Ausgabe der letzten 5 Zeilen mit -n
:
__$ tail -n5 /var/log/auth.log
Änderungen einer Datei live anzeigen mit -f
:
__$ tail -f /var/log/auth.log
grep
Dateien nach Zeichenketten oder regulären Ausdrücken durchsuchen:
__$ grep "Suchtext" /var/log/auth.log
wc (word count)
Zählt Wörter, Zeilen, Zeichen oder Bytes einer Textdatei.
Zeilen zählen mit -l
:
__$ wc -l /var/log/auth.log
Wörter zählen mit -w
:
__$ wc -w /var/log/auth.log
Zeichen zählen mit -m
:
__$ wc -m /var/log/auth.log
Bytes zählen mit -c
:
__$ wc -c /var/log/auth.log
Länge der längsten Zeile mit -L
:
__$ wc -L /var/log/auth.log
> (redirect and replace)
Leitet eine Ausgabe um, zum Beispiel in eine Datei. Der Inhalt der Datei wird überschrieben:
__$ echo "Mein neuer Text" > ~/datei.txt
>> (redirect and append)
Leitet eine Ausgabe um und schreibt sie an das Ende einer Datei:
__$ echo "Weiterer Text an das Ende der Datei." >> ~/datei.txt
sed (stream editor)
Ersetzt Text in einer Datei nach einem Suchmuster oder regulärem Ausdruck. sed
ist ein nicht interaktiver Texteditor.
Alle vorkommen von "alter-text" mit "neuer-text" ersetzen:
__$ sed -i 's/alter-text/neuer-text/g' datei.txt
Entfernt das Raute Symbol (#
) am Anfang der Zeile von #force_color_prompt
und kommentiert sie damit ein:
__$ sed -i '/^#force_color_prompt *=/s/^#//' ~/.bashrc
Ändert den Wert einer Konfigurationszeile:
__$ sed -i 's/\(KonfigurationsAttribute[\t[:space:]]*=[\t[:space:]]*\).*/\1 neuerWert/g' ~/datei.conf
nano
Ein einfacher Texteditor, der über das Terminal ausgeführt werden kann. Vollständige Liste der Tastenkürzel anzeigen mit STRG+g
.
Mit nano
kann auch eine neue Datei angelegt werden:
__$ nano ~/neue-datei.txt
Die wichtigsten Tastenkürzel:
STRG+s
speichernSTRG+o
speichern unterSTRG+x
schließenSTRG+k
ausschneiden oder ganze Zeile löschenSTRG+ALT+↑
kopierenSTRG+ALT+u
einfügenSTRG+w
suchenALT+w
weitersuchen
vim (vi improved)
Ein umfangreicher Texteditor, der über das Terminal ausgeführt werden kann.
Mit vim
kann auch eine neue Datei angelegt werden:
__$ vim ~/neue-datei.txt
Die wichtigsten Tastenkürzel:
:wq
speichern:q
schließen:q!
schließen und Änderungen verwerfenESC
Normal-Modusi
Einfügen-Modusx
Löschen-Modus
Es lohnt sich den vim
Lernkurs durchzuarbeiten:
__$ vimtutor
System, Hardware, Netzwerk, Monitoring
getent (get entries)
Auslesen von wichtigen Systeminformationen die in Datenbanken bzw. Textdateien gespeichert sind. Sehr nützlich, um einen schnellen Überblick zu Benutzern, Gruppen und Netzwerk zu erhalten. Die möglichen Quellen sind über den ersten Parameter abrufbar: ahosts
, ahostsv4
, ahostsv6
, aliases
, ethers
(Ethernet addresses), group
, gshadow
, hosts
, netgroup
, networks
, passwd
, protocols
, rpc
, services
, shadow
.
Alle Benutzerkonten auflisten mit passwd
.
__$ getent passwd
Auslesen eines bestimmten Benutzers:
__$ getent passwd tom
Gruppen anzeigen:
__$ getent groups
hostnamectl
Auslesen und bearbeiten des Hostnames und verwandte Einstellungen:
__$ hostnamectl
lsb_release
Informationen über LSB (Linux Standard Base) und Distribution. Alle Informationen mit -a
__$ lsb_release -a
os-release
os-release
ist eine Datei mit Angaben zum Betriebssystem:
__$ cat /etc/os-release
uname
Ausgeben der Systeminformationen zum Kernel. Alle Informationen mit -a
:
__$ uname -a
top
Zeigt laufende Prozesse mit aktuellen Änderungen an:
__$ top
htop
Zeigt laufende Prozesse und Auslastung von Speicher und Prozessor mit aktuellen Änderungen an:
__$ htop
lsblk
Listet Speichermedien (Block Devices):
__$ lsblk
df (disk free)
Zeigt den freien Speicherplatz an. Mit -h
werden die Einheiten in größeren Einheiten ausgegeben:
__$ df -h
-all
bezieht alle Dateisysteme ein:
__$ df -all
Mit Angabe eines Pfades wird nur die Partition berücksichtigt, auf der die Datei oder Ordner liegt (das aktuelle Verzeichnis wird mit einem Punkt angegeben df .
):
__$ df /home
du (disk usage)
Zeigt den belegten Speicherplatz an. Mit -h
werden die Einheiten in größeren Einheiten ausgegeben:
__$ du -h
-all
bezieht alle Dateisysteme ein:
__$ du -all
Mit Angabe eines Pfades wird nur die Partition berücksichtigt, auf der die Datei oder Ordner liegt (das aktuelle Verzeichnis wird mit einem Punkt angegeben du .
):
__$ du /home
free memory
Informationen zum genutzten und ungenutzten Arbeitsspeicher:
__$ free
Mit -h
werden die Einheiten in größeren Einheiten ausgegeben:
__$ free -h
reboot
Neustart des Betriebssystems.
__$ reboot
poweroff
Rechner ausschalten.
__$ poweroff
ps (processes)
Verwaltet Prozesse.
Anzeigen der vollständigen Prozessliste:
__$ ps ax
Prozessliste mit erweiterten Informationen:
__$ ps axu
Laufende Prozesse:
__$ ps -r
Bestimmten Prozess anhand der Prozess ID (PID) anzeigen:
__$ ps 1
pstree
Zeigt die Prozessliste in einer Baumstruktur an:
__$ pstree
pgrep
Prozesse filtern anhand eines Suchbegriffs.
Zeigt alle Prozesse mit "ssh" im Prozessnamen an:
__$ pgrep ssh
kill
Beendet ein Prozess, indem ein Signal an eine Prozess ID (PID) gesendet wird. Standard Signal ist 15
bzw. -SIGTERM
. Mit diesem Signal hat der Prozess die Möglichkeit sich sauber zu beenden. -SIGKILL
bzw. 9
beendet ein Prozess unverzüglich.
Beendet den Prozess 555 mit -SIGTERM
:
__$ kill 555
Beendet den Prozess 555 mit -SIGKILL
:
__$ kill -9 555
killall
Beendet alle Prozesse die einem Prozessnamen entsprechen.
Prozesse beenden mit dem Namen "apache":
__$ killall apache
Exakte Übereinstimmung des Prozessnamens mit -e
:
__$ killall -e apache
Interaktives Beenden mit -i
. Vor jedem Beenden nachfragen:
__$ killall -i apache
systemctl
Programmpaket zum verwalten System- und Sitzungs-Manager systemd
.
Auflistung aller System Einheiten mit list-units
:
__$ systemctl list-units
Auflistung aller Zeitgesteuerten System Einheiten mit list-timers
:
__$ systemctl list-timers
Starten einer System Einheit mit start
:
__$ systemctl start ssh
Stoppen einer System Einheit mit stop
:
__$ systemctl stop ssh
Neustarten einer System Einheit mit restart
:
__$ systemctl restart ssh
Neustarten einer System Einheit und neu einlesen zugehöriger Konfigurationsdateien mit reload
:
__$ systemctl reload ssh
Status einer System Einheit anzeigen mit status
:
__$ systemctl status ssh
System Einheit beim Systemstart mit laden enable
:
__$ systemctl enable ssh
System Einheit beim Systemstart nicht mit laden disable
:
__$ systemctl disable ssh
Prüfen ob System Einheit beim Systemstart mit lädt is-enabled
:
__$ systemctl is-enabled ssh
Neueinlesen der systemd Konfigurationsdateien daemon-reload
:
__$ systemctl daemon-reload
ip
Programmpaket zur Verwaltung von Netzwerkschnittstellen.
Anzeigen der IP Adresse mit a
__$ ip a
Anzeigen der Netzwerkschnittstellen mit link
__$ ip link
ping
Erreichbarkeit anderer Rechner überprüfen:
__$ ping 192.0.0.1
dig (domain information groper)
Fragt DNS Informationen ab:
__$ dig wikipedia.org
Den Mailserver Eintrag mit mx
abfragen:
__$ dig wikipedia.org mx
nslookup
Mit nslookup (Name Server Lookup) lassen sich DNS Informationen abrufen.
Eine Domain in eine IP übersetzen:
__$ nslookup wikipedia.org
Reverse DNS Lookup:
__$ nslookup 91.198.174.192
Den NS Record abfragen:
__$ nslookup -type=ns wikipedia.org
Alle NS Records abfragen:
__$ nslookup -type=any wikipedia.org
Den MX Record abfragen:
__$ nslookup -type=mx wikipedia.org
nslookup interaktiv benutzen (mit exit
beenden):
__$ nslookup
ssh
Secure Shell ist ein Protokoll für verschlüsselte Netzwerkkommunikation.
Einfache SSH Verbindung über den Standard Port 22:
__$ ssh 192.0.0.1
SSH Verbindung über Port 2222 mit -p
:
__$ ssh 192.0.0.1 -p 2222
SSH Verbindung über Port 2222 (-p
) und privatem Schlüssel (-i
):
__$ ssh 192.0.0.1 -p 2222 -i pfad/schluessel
wget
Herunterladen von Dateien von FTP, HTTP oder HTTPS Servern.
In das aktuelle Verzeichnis herunterladen:
__$ wget http://example.com/file.tar
Mit anderem Dateinamen speichern (-O
):
__$ wget -O new-name.tar http://example.com/file.tar
Herunterladen in ein anderes Verzeichnis (-P
):
__$ wget http://example.com/file.tar -P /tmp
lsof
Hilfsprogramm zum auflisten offener Dateien. Da unter Linux alles eine Datei ist, lassen sich damit auch offene Ports auslesen.
Offene Ports auflisten (gefiltert mit dem Suchwort "LISTEN"):
__$ lsof -i -P | grep LISTEN
netstat
Kommandozeilenprogramm zur Diagnose von Netzwerkschnittstellen.
Alle Netzwerkschnittstellen anzeigen:
__$ netstat
Alle offenen Ports auflisten:
__$ netstat -lptn
Bestimmten Port anzeigen:
__$ netstat -pan | grep 80
tcpdump
Paket Sniffer. Protokolliert Netzwerkereignisse.
Netzwerkschnittstellen anzeigen:
__$ tcpdump -D
Netzwerkereignisse von Port 443 protokollieren:
__$ tcpdump -n -i enp1s0 port 443
Netzwerkereignisse mit der IP 1.2.3.4 protokollieren:
__$ tcpdump -n -i enp1s0 | grep 1.2.3.4
Netzwerkereignisse von Port 443 in die Datei log.txt schreiben:
__$ tcpdump -n -i enp1s0 port 443 -w log.txt
ufw (uncomplicated firewall)
Standard Firewall.
Status überprüfen mit status
:
__$ ufw status
Detailierter Status mit status verbose
:
__$ ufw status verbose
Regel Tabelle mit Regelnummern ausgeben status numbered
:
__$ ufw status numbered
Aktivieren mit enable
:
__$ ufw enable
Deaktivieren mit disable
:
__$ ufw disable
Alles Eingehende blockieren:
__$ ufw default deny incoming
Alles Ausgehende erlauben:
__$ ufw default allow outgoing
Einen Dienst erlauben mit allow
:
__$ ufw allow ssh
Einen Port über TCP erlauben mit allow
:
__$ ufw allow 3000/tcp
Einen Port blockieren mit deny
:
__$ ufw deny 3000
Regel löschen über die Regelnummer mit delete
:
__$ ufw delete 5
Regel Tabelle neu einlesen mit reload
:
__$ ufw reload
Liste aller Applikationen app list
:
__$ ufw app list
Informationen zu einer bestimmten Applikation app info
:
__$ ufw app info "Nginx Full"
Check if logging is enabled:
__$ ufw status verbose
Change log level:
fff
: disables ufw managed logging.on (low, default)
: logs all blocked packets not matching the defined policy (with rate limiting), as well as packets matching logged rules.on (medium)
: log level low, plus all allowed packets not matching the defined policy, all INVALID packets, and all new connections. All logging is done with rate limiting.on (High)
: log level medium (without rate limiting), plus all packets with rate limiting.on (Full)
: log level high without rate limiting.
__$ ufw logging medium
Log files from ufw:
__$ ls /var/log/ufw*
Output all log files:
__$ less /var/log/ufw*
See logging in real time:
__$ tail -f /var/log/ufw.log
Benutzer, Gruppen und Rechteverwaltung
whoami
Gibt den aktuell angemeldeten Benutzernamen aus:
__$ whoami
su (substitute user)
Wechselt den Benutzer:
__$ su tom
Die Option -
bzw. -l
wechselt den Benutzer und simuliert eine echte Anmeldung mit wechseln des Home-Verzeichnisses, ändern der Shell Einstellungen und setzen der Umgebungsvariablen des Benutzers:
__$ su - tom
Eine Shell -s
mit einem anderen Benutzer -u
verwenden:
__$ sudo -s -u tom
logout
Meldet den Benutzer ab:
__$ logout
passwd
Zum Ändern des Passworts:
__$ passwd
Ändern des Passworts vom Benutzer tom
:
__$ passwd tom
users
Gibt den aktuell angemeldeten Benutzernamen aus (ähnlich wie whoami):
__$ users
Alle Benutzer auflisten:
__$ less /etc/passwd
Die /etc/passwd
Datei beinhaltet ein paar Informationen zu allen Benutzerkonten. Der Aufbau einer Zeile hat folgende Bedeutung:
root:x:0:0:root:/root:/bin/bash
root
: Benutzernamex
: Passwort gesetzt0
: UID (User ID)0
: GID (Group ID)root
: Kommentar/root
: Home Verzeichnis/bin/bash
: Standard Shell Programm
Benutzer auflisten mit Suchfilter. Jede Zeile in der root
vorkommt:
__$ less /etc/passwd | grep root
adduser
Einen neuen Benutzer interaktiv anlegen:
__$ adduser tom
Einen Benutzer zu einer bestehenden Gruppe hinzufügen:
__$ adduser tom gruppenname
Einen neuen Benutzer ohne weitere Informationen anlegen --gecos
:
__$ adduser --gecos "just tom" tom
Einen neuen Systembenutzer systom
anlegen:
__$ adduser --system --group systom
--system
: Systembenutzer--group
: in Kombination mit--system
, wird der gleiche Name für die Gruppe verwendet
Einen neuen Systembenutzer systom
mit weiteren Parametern anlegen:
__$ adduser --system --group --disabled-password --shell /bin/bash --home /home/systom systom
--disabled-password
: kein Passwort setzen, dadurch keine passwortbasierte Benutzeranmeldung möglich, SSH Anmeldung jedoch erlaubt--shell
: die Shell nach dem Login--home
: Benutzer Home-Verzeichnis
deluser (delete user)
Löscht ein Benutzerkonto inklusive der Benutzerdateien:
__$ deluser tom
Einen Benutzer aus einer Gruppe entfernen:
__$ deluser tom gruppenname
usermod
Ein Benutzerkonto ändern.
Einem Benutzer eine weitere Gruppe hinzufügen (bisherige Gruppen bleiben erhalten):
__$ usermod -aG gruppenname tom
groups
Listet die primären und ergänzenden Gruppen auf:
__$ groups
Gruppen von bestimmten Benutzern (root
, tom
, syslog
) auflisten:
__$ groups root tom syslog
groupadd
Gruppen anlegen:
__$ groupadd neuegruppe
groupdel
Gruppe löschen:
__$ groupdel gruppenname
groupmod
Eine Gruppe ändern. Zum Beispiel den Gruppennamen altername
in neuername
mit der Option -n
ändern.
__$ groupmod -n neuername altername
chown (change owner)
Ändern den Besitzer einer Datei oder Ordners.
tom
wird neuer Besitzer des Ordners /var/www/seite
:
__$ chown tom /var/www/seite
tom
wird neuer Besitzer des Ordners /var/www/seite
und allen darin enthaltenen Dateien und Ordner mit -R
:
__$ chown -R tom /var/www/seite
tom
und die gleichnamige Gruppe werden neuer Besitzer des Ordners /var/www/seite
:
__$ chown tom:tom /var/www/seite
chmod
Verändert die Zugriffsrechte von Dateien und Ordnern. Die Rechte werden numerisch (oktal) oder symbolisch angegeben.
Die symbolische Zeichenabfolge einer Rechtebschreibung hat zehn Stellen, die in vier Gruppen aufgeteilt werden - --- --- ---
(die Schreibweise sieht eigentlich keine Leerzeichen vor, sie sind in diesem Beispiel nur zur Veranschaulichung):
- erste Gruppe (Zeichen 1): zeigt, ob es eine Datei (
-
) oder ein Verzeichnis (d
) ist - zweite Gruppe (Zeichen 2-4): Eigentümer-Rechte; lesen, schreiben, ausführen
- dritte Gruppe (Zeichen 5-7): Gruppen-Rechte; lesen, schreiben, ausführen
- vierte Gruppe (Zeichen 8-10): Sonstig-Rechte; lesen, schreiben, ausführen
Beispiel: d rwx r-x r-x
(entspricht numerisch 755):
d
: es ist ein Verzeichnisrwx
: Eigentümer darf lesen, schreiben, ausführenr-x
: Gruppe darf lesen, ausführenr-x
: Sonstige dürfen lesen, ausführen
Beispiel: - rwx rwx rwx
(entspricht numerisch 777):
-
: es ist eine Dateirwx
: Eigentümer darf lesen, schreiben, ausführenrwx
: Gruppe darf lesen, schreiben, ausführenrwx
: Sonstige dürfen lesen, schreiben, ausführen
Beispiel: - rw- r-- r--
(entspricht numerisch 644):
-
: es ist eine Dateirw-
: Eigentümer darf lesen, schreibenr--
: Gruppe darf lesenr--
: Sonstige dürfen lesen
Ändern der Zugriffsrechte numerisch auf 755 der Datei datei.txt
:
__$ chmod 755 datei.txt
Ändern der Zugriffsrechte numerisch auf 655 des Ordners mappe
und allen darin enthaltenen Dateien und Ordner mit -R
:
__$ chmod -R 755 datei.txt
Ändern der Zugriffsrechte symbolisch (entsprechend numerisch 777) der Datei datei.txt
. a
steht für alle. +
steht für hinzufügen. rwx
steht für lesen, schreiben, ausführen:
__$ chmod a+rwx datei.txt
chgrp (change group)
Ändert die Gruppenzugehörigkeit von Dateien oder Ordner.
Gruppe tom
als neuer Besitzer des Ordners /var/www/seite
setzen:
__$ chgrp tom /var/www/seite
APT - Paketverwaltung (Advanced Packaging Tool)
apt install
Installiert ein Paket. Zum Beispiel dnsutils
:
__$ apt install dnsutils
apt remove
Entfernt ein Paket. Eventuell angelegte Konfigurationsdateien und Ähnliches bleiben erhalten:
__$ apt remove dnsutils
apt purge
Entfernt Konfigurationsdateien und Ähnliches von Paketen, die bereits deinstalliert wurden:
__$ apt purge dnsutils
apt update
Ruft Paketinformationen aller konfigurierten Quellen ab und aktualisiert die Paketliste:
__$ apt update
apt upgrade
Aktualisiert Pakete die in der Paketliste aufgeführt sind:
__$ apt upgrade
apt full-upgrade
Ähnlich wie upgrade
, entfernt zusätzlich noch Pakete, wenn nötig. Sollte anstelle von upgrade
eingesetzt werden, wenn das System als Ganzes aktualisiert wird:
__$ apt full-upgrade
apt show
Zeigt Informationen zu einem Paket an:
__$ apt show dnsutils
apt list
Listet alle installierten Pakete auf mit --installed
:
__$ apt list --installed
Ein bestimmtes installiertes Paket abfragen mit --installed
und einem Suchwort mit Platzhalter opens*
:
__$ apt list --installed opens*
Listet alle erneuerbaren Pakete auf mit --upgradeable
:
__$ apt list --upgradeable
Listet alle verfügbaren Versionen auf mit --all-versions
:
__$ apt list --all-versions
apt search
Sucht online nach verfügbaren Paketen. Zum Beispiel dnsutils
:
__$ apt search dnsutils
apt autoremove
Entfernt nicht mehr benötigte Pakete, die zum Beispiel Aufgrund anderer Abhängigkeiten mitinstalliert wurden:
__$ apt autoremove
apt clean
Bereinigt den Archiv Ordner für Pakete /var/cache/apt/archives/
:
__$ apt clean