Benutzer / Gruppen

Benutzer anlegen

adduser BENUTZERNAME

Benutzer löschen

userdel [--remove-all-files]

System-Passwort für einen Benutzer setzen

passwd

Passwort auf “nicht ablaufen” setzen

chage -I -1 -m 0 -M 99999 -E -1 BENUTZER

Samba-Passwort für einen Benutzer setzen

smbpasswd –a BENUTZER

Samba-Account aktivieren

smbpasswd –e BENUTZER

Gruppe anlegen

addgroup GRUPPE

Gruppe löschen

groupdel GRUPPE

Alle existierenden Benutzer anzeigen

cat /etc/passwd

Alle existierenden Gruppen anzeigen

cat /etc/group

Mitglieder einer Gruppe anzeigen

members GRUPPE

Benutzer einer Gruppe zuordnen

gpasswd –a BENUTZER GRUPPE

Benutzer aus Gruppe entfernen

gpasswd –d BENUTZER GRUPPE

Welchen Gruppen gehöre ich an?

groups

Gruppenmitgliedschaften eines Benutzers anzeigen

groups BENUTZER

Mit Dateien und Ordnern arbeiten

Alle Dateien anzeigen (auch Versteckte), sortiert nach Dateigörße

ls -lah --sort=size

Geöffnete Dateien anzeigen

lsof

Einen Ordner anlegen

mkdir ORDNERNAME

Einen Ordner löschen (nur leere Ordner)

rmdir ORDNER

Einen Ordner samt Inhalt löschen

rm -rf ORDNER

Alle Ordner löschen im aktuellen Verzeichnis (nur Ordner, sonst nichts)

rm -rf 'ls -d */'

ln -s /quellordner linkname

readlink -f openssl

Eine leere Datei anlegen

touch Datei

Mehrere Dateien auf einmal anlegen

touch Datei{1..10}

Eine Datei/Ordner umbenennen

mv DATEI DATEI_NEU

Den Inhalt einer Datei ausgeben

cat /Pfad/Datei

Den Inhalt einer Datei ausgeben (scrollbar)

less /Pfad/Datei

Eine ISO-Datei mounten

mount -o loop /Datei.iso /media/ordner

Eine Datei nach mehreren Begriffen durchsuchen

egrep '(reject|error|warning|fatal|panic):' /var/log/mail.log

Den aktuellen Pfad zeigen, in dem man sich befindet

pwd

Größe eines Verzeichnisses und dessen Unterverzeichnisse/Dateien anzeigen

du -h VERZEICHNIS

Größe aller Verzeichnisse innerhalb eines Ordners berechnen und nach Größe sortieren

du -sh * | sort -h

oder

du -h --max-depth=1 | sort -h

Nach einer Datei suchen

find -name DATEI -type f

bzw.

find / -name DATEI -type f (vom Root-Verzeichnis an suchen)

bzw. Groß-/Kleinschreibung ignorieren

find / -iname DATEI -type f

Alle Ordner mit einem bestimmten Namen finden und löschen (rekursiv)

find / -iname "OrdnerDenIchLöschenWill" -type d -exec rm -rf {} \;

Alle Dateien mit einem bestimmten Namen finden und löschen (rekursiv)

find / -iname "DateiDieIchLöschenWill" -type f -delete

Den Dateityp einer Datei ermitteln

file /PFAD/DATEI

Alle Dateien ab einer bestimmten Dateigröße

find / -size +50000k 2> /dev/null

Nach Textinhalt innerhalb einer Datei suchen

find / -type f | xargs grep "Suchbegriff" 2> /dev/null

Dateien suchen die eine bestimmte Berechtigung besitzen

find -type f -perm 660

Den vollständigen Pfad zu einem Programm anzeigen

which PROGRAMM
z.B. which gcc

Gepackte Ordner & Dateien

Ein komprimiertes tar-Archiv (.tgz) erstellen

tar -cvzf archivefilename.tgz *
(erstellt ein komprimiertes tar-Archiv aller Dateien und Unterverzeichnisse im aktuellen Verzeichnis)

Eine gepacktes tar (.tgz)-Archiv entpacken

tar xfv ARCHIVDATEI

Einen einzelnen Ordner innerhalb eines gepackten Archivs entpacken

tar xfv Archivdatei.tar.gz var/www/MeinOrdner

Eine einzelne Datei oder einen einzelnen Ordner aus einem Archiv entpacken

tar xfv ARCHIVDATEI Ordner1/

Eine bz2-Datei entpacken

bunzip2 ARCHIVDATEI

Ein ZIP-Archiv serstellen

zip ARCHIV.ZIP Datei1 Datei2 Datei3

Ein ZIP-Archiv entpacken

unzip ARCHIV.ZIP

Den Inhalt einer Archivdatei ansehen

zcat DATEI
z.B.
zcat datei.tar

Zugriffsrechte

Besitzer eines Ordners ändern (User & Gruppe)

chown USER:GRUPPE /ORDNER z.B. chown benutzer1:gruppe1 /var/www

Besitzer eines Ordners ändern (nur Userbesitzer ändern)

chown --recursive
bzw.
chown z.B. chown benutzer1 /var/www

Besitzer eines Ordners ändern (nur Gruppenbesitzer ändern)

chgrp --recursive z.B. chgrp –recursive apache /var/www

Zugriffsrechte einer Datei/eines Ordners ändern

chmod 770 /var/www
Lesen: 4
Schreiben: 2
Ausführen: 1 (Soll der User also lesen und schreiben können, muss ’6’ eingestellt werden.)

Zugriffsrechte nur für Ordner ändern

find . -type d -print0 | xargs -0 chmod 644

Zugriffsrechte nur für Dateien ändern

find . -type f -print0 | xargs -0 chmod 644

Netzwerk

Freigegebene Ressourcen eines PCs im Netzwerk ansehen

smbclient -N -L RECHNERNAME

Samba-Benutzer anzeigen

pdbedit -L

bzw.

pdbedit -L -v

Offene (geöffnete) Samba-Verbindungen anzeigen

smbstatus

Netzlaufwerk (Samba) mounten

mount -t cifs //192.168.0.2/c$ /mnt/irgendwas -o username=BENUTZER,password=PASSWORT

oder:

mount -t smbfs//192.168.0.2/c$ /mnt/irgendwas -o username=BENUTZER,password=PASSWORT

Einen Ordner über SecureCopy (SCP) kopieren

scp -r /var/Ordner <Zielserver>:/ziel/pfad/

Die DHCP-Adresse erneuern

dhclient

Prozesse und Ihre offenen Verbindungen anzeigen

lsof -P -i -n

Alle lauschenden Ports anzeigen

netstat -tulpn

oder:

ss -lpn

Offene Verbindungen ansehen

netstat -n

oder:

ss -pan

Die Routing-Tabelle anzeigen

route

Eine statische Route zu einem Netz hinzufügen

route add -net 10.8.0.0 netmask 255.255.255.0 gw 192.168.0.1

Eine statische Route wieder entfernen

route del -net 10.8.0.0 netmask 255.255.255.0

DNS

A-Records auflösen

dig -t A EXAMPLE.COM/IP

oder:

host EXAMPLE.COM/IP

MX-Records auflösen

dig -t MX EXAMPLE.COM

TXT-Records auslesen

dig -t TXT EXAMPLE.COM

CNAME-Records (Aliase) auflösen

dig -t CNAME EXAMPLE.COM

Den/die authoritativen Name Server einer Domain auslesen

dig -t NS EXAMPLE.COM

Steuerung des Systems / Systemeinstellungen

Rechner neustarten

shutdown -r now

oder

reboot

Rechner neustarten und ins UEFI-Setup wechseln

systemctl reboot --firmware-setup

Rechner herunterfahren

shutdown -h now

oder

halt

Datum anpassen

date -s 12/24/09 Damit wird das Datum auf den 24.12.2009 gesetzt - und leider die Uhrzeit auf 00:00:00

Uhrzeit anpassen

  • evtl. zuerst mit dpkg-reconfigure tzdata die Zeitzone einstellen (Europe/Berlin)
  • dann mit date --set=hh:mm:ss die Uhrzeit einstellen (localtime)
  • Die BIOS-Uhr einstellen:
  • hwclock --set --date UHRZEIT z.B. hwclock --set --date 09:32
    bzw.
  • hwclock --systohc (dann übernimmt er die Uhrzeit von “date”)

Uhrzeit mit einem PC im LAN/Internet abgleichen

  • ntpdate SERVERNAME
  • Dann (optional, um die Hardware-Uhr abzugleichen): hwclock --systohc

Dienste die beim Systemstart geladen werden ein-/ausschalten

rcconf

Einen Dienst deinstallieren

update-rc.d -f DIENST remove

Den im System eingestellten Zeichensatz (Charset) ändern

dpkg-reconfigure locales

Festplatten Partitions-Programm

fdisk
oder
cfdisk (mit erweiterter Benutzeroberfläche) \

Terminal / Shell

Die momentan verwendete Shell herausfinden

echo $0

Das virtuelle Terminal wechseln

chvt <Nummer>

Den Typ eines Befehls anzeigen (Shell intern / extern / Alias)

type <Kommando>

Systeminformationen / Überwachung / Diagnose

Das System-Start-Log anschauen

dmesg

Die IP-Adresse anzeigen

ip a oder hostname -i

Datei im Live-Modus betrachten (Änderungen überwachen)

tail -f /pfad/zur/datei

Den aktuell angemeldeten Benutzer anzeigen

whoami

Sehen wie lange der Rechner schon eingeschalten ist

uptime

Letzte Logins/Anmeldungen am Rechner anzeigen

last
lastlog

Letzte Neustarts anzeigen

last | grep reboot

Die zuletzt eingegebenen Befehle anzeigen

history

Bestimmten Eintrag in der History löschen

history -d NUMMER

Im Moment angemeldete Benutzer zeigen

who oder w

Systemdienste auflisten

systemctl --type=service

Auch alle Inaktiven

systemctl list-units -all

Infos über die CPU abrufen

cat /proc/cpuinfo

Kernel-Version anzeigen

uname -r
bzw.
uname -a
oder
cat /proc/version

Distributions-Informationen ausgeben

cat /etc/\*_ver\* /etc/\*-rel\*
oder
lsb_release -idrc

Unter welchem Benutzer läuft ein Dienst ?

ps aux | grep -i DIENSTNAME
z.B.
ps aux | grep -i apache2
Ausgabe:
www-data 24177 0.0 0.2 28792 6216 ? S 12:10 0:00 /usr/sbin/apache2 -k start

Computername anzeigen lassen

hostname

Infos über PCI-Geräte ausgeben

lspci (Paket pciutils wird benötigt)

Infos über Modell der Netzwerkkarte ausgeben

lspci | grep Ethernet

Infos über USB-Geräte ausgeben

lsusb

Alle laufenden Prozesse & Rechnerauslastung anzeigen

top

Alle gestarteten (laufenden) Dienste anzeigen

ps -e

Speicherauslastung anzeigen (RAM und SWAP)

free -m

Aktuelle Netzwerkauslastung anzeigen (Durchschnitts-Geschw., Peaks usw.)

iftop

Freien Plattenplatz (und das Dateisystem) anzeigen

df -hT

bzw. nur ext4-formatierte physische Platten zeigen

df -ht ext4

Größe eines Ordners und dessen Unterordner anzeigen

du -h

Die Festplatten-Auslastung zeigen (pro Prozess)

iotop
(zuvor muss das gleichnamige Paket installiert werden)

Infos über Partitionen anzeigen (UUID, Mountpoint, Labels…)

blkid

Block Devices anzeigen

lsblk

Partitionen der Festplatte anzeigen

cat /proc/partitions

Informationen zur Festplatte anzeigen (Seriennummer, Modell, Firmware…)

hdparm -i /dev/sdX

Informationen über den Arbeitsspeicher ausgeben

cat /proc/meminfo

Infos über die komplette Hardware ausgeben

hwinfo

Infos über eingebaute Festplatte anzeigen (Größe, Label…)

fdisk -l

“Mount Count” der Festplatte anzeigen

dumpe2fs -h /dev/sdaX | grep -i "mount count"

Die eingestellte Landessprache des Betriebssystems anzeigen

echo $LANG

Den im System eingestellten Zeichensatz (Charset) anzeigen

locale -a

Die Cronjobs aller Benutzer anzeigen lassen

for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done

Informationen zu installierten Software-Paketen

GCC-Version anzeigen

gcc -v

mongoDB-Version anzeigen

mongod --version

Java-Version anzeigen

java --version

Samba-Version anzeigen

nmbd -V

Wartung / Reparatur

Festplatten-Check (Überprüfung) erzwingen

fsck.ext3 /dev/sdaX

Sonstiges

Eine Debian Paket-Datei (.deb) entpacken

tar x PAKETNAME.deb

Erfordert die Installation von bin-utils

Den Bildschirminhalt löschen

clear

Den Kalender anzeigen

cal [Jahr]

Taschenrechner

bc

Passwort erzeugen (25 Zeichen, Groß-/Kleinbuchstaben)

cat /dev/urandom | tr -dc a-zA-Z0-9 | head -c25; echo

Zeilen einer Ausgabe zählen

gibt die Anzahl an Zeilen zurück, die die Ausgabe eines Befehls erzeugt:

ls -l | wc -l