----------------------------------------------------------------------------------------------------- Linux Befehle (Debian) Consolen Commands ----------------------------------------------------------------------------------------------------- Systemadministration: Prozesse abschiessen kill [-9]{pidnummer} Prozesse: Informationen anzeigen ps [-x -ax -au] , pstree Prozesse: Nur Elternprozess anzeigen ps hf -opid -C | awk '{ print $1; exit }' Prozesseigenschaften anzeigen (fortlaufend) top, htop Cron starten, kontrollieren, stoppen /etc/init.d/cron [start|stop|restart|status] Softlink setzen ln -s [Ziel] [Link] Systemuhr ansehen/einstellen date MMTThhmm[JJJJ][.ss] System anhalten shutdown now ,halt ,init 0, poweroff System neubooten reboot, shutdown -r now System Reboot um 5:00 Uhr (einmalig, ohne Cron) shutdown -r 05:00 & System Reboot/Shutdown Status shutdown --show System Reset (mit hdd sync) echo s > /proc/sysrq-trigger && echo b > /proc/sysrq-trigger System: Runlevel wechseln init [0 | 1 | 2 | 3 | 6 ] System: Deinstalliere unbenutze Kernels apt-get remove $(dpkg -l | egrep '^ii linux-image-' | awk '{print $2}' | grep -v `uname -r`) System: Entferne alte Kernels (Proxmox) apt-get purge $( dpkg --list | grep -P -o "pve-kernel-\d\S+" | grep -v $(uname -r | grep -P -o ".+\d") ) apt-get remove $(dpkg -l | egrep '^ii (pve-)?kernel-' | awk '{print $2}' | grep -v `uname -r`) ----------------------------------------------------------------------------------------------------- Speicherplatz: (TIP: Feines Tool zur Analyse der Festplattenbelegung ist ncdu [apt-get install ncdu]) Speicherplatz anschauen df -h Speicherplatz (Ordner Rekursiv) du {dir} Speicherplatz (Ordner Rekursiv, Summe) du -hs /var Speicherplatz (Ordner Rekursiv, Sortiert) du -m -BG | sort -n | tail -n 10 Speicherplatz (Ordner Rekursiv, 1 Ebene) du -chd1 /var/backups Speicherplatz (Die 10 grössten Dateien) find . -type f -print0 | xargs -0 du -s | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {} Speicherplatz (Arbeitsspeicher) free ----------------------------------------------------------------------------------------------------- Dateien: Datei anschauen (alles auf einen Schlag) cat Datei anschauen (Text, bildschirmweise) more , less > / =suchen, n =next, v =editieren Datei anschauen (Logs, fortlaufend) tail [-f]{logfile} Datei durchsuchen nach Begriff cat | grep {begriff} Datei suchen (Rekursiv nach Dateityp) find . -name "*.iso" -exec echo {} \; Dateien suchen (älter als X Tage) find . -iname "*.iso" -mtime +30 Dateien nach Begriff durchsuchen find . -type f -print0 | xargs -0 grep -i {SEARCHSTRING} Datei editieren (Text) vi , nano Datei finden locate , find {dir} -name {name} Datei kopieren cp Datei löschen rm Datei löschen (Rekursiv nach Dateityp) find . -name "*.iso" -exec echo {} \; ## ersetze "echo" durch "rm", wenn getestet Datei leeren truncate -s 0 {dateiname} Dateien löschen (älter als X Tage) find . -iname "*.iso" -mtime +30 -delete Dateien löschen (Rekursiv, älter X) find /etc -name "*.*-*-*@*~" -mtime +7 -exec rm {} \; ## Beispiel: ansible backup_files Datei verschieben / umbenennen mv Anzahl Dateien in Ordner (Rekursiv) find /{dir} -type f | wc -l Anzahl Ordner in Ordner (Rekursiv) find /{dir} -type d | wc -l Dateiattribure ändern (Besitzer) chown {user}.{gruppe} {datei} Dateiattribure ändern (Zugriffsrechte) chmod [ugo][+-x | +-r | +-w] {datei} Dateien vergleichen (zeilenweise) diff {datei1} {datei2} Akutelles Verzeichnis (wo bin ich) pwd Verzeichnis anschauen (ohne Attribute) ls Verzeichnis anschauen (mit Attributen) ls -la Verzeichnis anschauen (gut lesbar) ls -lash Verzeichnis erstellen mkdir Verzeichnis löschen rm -r Alles löschen ausser (Ordner|Dateien) rm -rf !(config|data|AUTH*) Verzeichnis wechseln cd Verzeichnis Ebene nach oben cd .. ----------------------------------------------------------------------------------------------------- Archiv entpacken: .gz gunzip {name}.gz .tar tar -xvf {name}.tar .tar.gz tar -xvf {name}.tar.gz .tar.bz2 tar -xvjf {name}.tar.bz2 .tar.tar tar -xvjf {name}.tar.tar ----------------------------------------------------------------------------------------------------- Archiv erstellen: .tar.gz tar cfvz [archivname].tar.gz [verzeichnis] [datei1] .zip zip [archivname].zip [datei1] [datei2] ----------------------------------------------------------------------------------------------------- Netzwerk: Netzwerk: IP anzeigen ip a | ifconfig Netzwerk: Schittstelle ein, aus ip link set eth0 down/up | ifdown eth0 | ifup eth0 Netzwerk: IP anpassen ip addr add 192.168.0.2/24 dev eth0 | ifconfig eth0 192.168.0.120/24 up Netzwerk: Default Gateway anpassen ip route add default via 192.168.0.1 | route add default gw 192.168.0.1 eth0 Netzwerk: IP ändern /etc/network/interfaces | https://wiki.debian.org/NetworkConfiguration Netzwerk: Testen (Host erreichbar ?) ping {IP} Netzwerk: Netbiosabfrage (local) nslookup {name} | {IP} Netzwerk: DNS Nameserver /etc/resolv.conf Netzwerk: NFS Freigaben auf Remotesystem showmount -e {Remotesystem} Netzwerk: Cifs Freigaben auf Remotesystem smbclient -L //{Remotehost} -U {Username} Netzwerk: Eingehängte Dateisysteme anzeigen mount Netzwerk: NFS einhängen|mount mount server:/freigabe Netzwerk: NFS aushängen|umount umount /mnt/test Netzwerk: NFS stale/busy umount umount -lf /mnt/test Netzwerk: Remote Datei downloaden (HTTP) wget {URL} Netzwerk: Datei Download im Hintergrund wget -bqc {URL} Netzwerk: Route verfolgen tracert {URL/IP} Netzwerk: Offene Verbindungen netstat -npl | netstat -n -A inet | lsof -i | lsof -i4TCP Netzwerk: Mail Sendetest echo "Body-Text" | mail -s "Subject-Text" administrator@domain.net Netzwerk: Datei per Mail versenden cat /etc/hosts | mail –s "Logdatei" admin@domain.net ----------------------------------------------------------------------------------------------------- Linux, Hardware: Boot Meldungen betrachten dmesg Kernelversion überprüfen uname -r Netzwerk starten,beenden, status etc. /etc/init.d/networking [start|stop|restart|status] System: Wie lange laeuft System schon? uptime System: Wann zuletzt neu gebootet ? last | grep (re)boot System: Wer hat sich eingeloggt ? last System: Wer ist angemeldet ? w, who, whoami System: Bestimmtes Modul geladen ? modprobe ... System: (Netzwerkmodul o.k ?) ifconfig | ip System: (Was für ein System ?) uname -a System: (welche Module geladen ?) lsmod System: Viel Info zur Hardware dmidecode Hardware: Festplatten anzeigen ls /dev/disk/by-uuid, blkid -o device, hwinfo --disk Hardware: Datenträger anzeigen lshw -class disk -short, lsblk -fl Hardware: PCI Geräte anzeigen lspci Hardware: USB Geräte anzeigen lsusb Hardware: USB Schnittstellen dmesg | grep ttyUSB Hardware: COM Schnittstellen dmesg | grep ttyS Konfigurationsdatei: Computername /etc/hostname Konfigurationsdatei: Netzwerk /etc/network/interfaces Konfigurationsdatei: DNS Namensauflösung /etc/resolv.conf ----------------------------------------------------------------------------------------------------- Debian Paketverwaltung: Paketliste akutalisieren apt-get update Pakete aktualisieren apt-get upgrade Pakete suchen apt-cache search [paketname] Paket als manuell installiert festlegen apt-mark unmarkauto [paketname] Manuelle Installation eines deb-Paketes dpkg -i [paketname].deb Installierte Pakete suchen/anzeigen dpkg --get-selections | grep [paketname] Deinstallierte Pakete vollständig entfernen apt-get purge `dpkg -l | grep ^rc | awk '{print $2}'` dpkg -l | grep "^rc" | cut -d " " -f 3 | xargs dpkg --purge Debian Version Update apt-get update && apt-get upgrade sed -i 's/stretch/buster/g' /etc/apt/sources.list apt update && apt dist-upgrade ----------------------------------------------------------------------------------------------------- Daemon (Service) mit "sysvinit": Daemon (re)aktivieren update-rc.d defaults Daemon deaktivieren update-rc.d remove Daemon starten /etc/init.d/{name} start | service {name} start Daemon (Service) mit "systemd": Daemon (re)aktivieren systemctl enable {name} Daemon deaktivieren systemctl disable {name} Daemon starten systemctl start {name} | service {name} start Daemon deaktivierte anzeigen systemctl list-unit-files --state=disabled ----------------------------------------------------------------------------------------------------- Benutzer, Gruppen: Benutzer erstellen adduser {name} Gruppe erstellen addgroup {groupname} Benutzer zu Gruppe hinzufügen adduser {name} {groupname} Benutzer aus Gruppe entfernen deluser {name} {groupname} Benutzer löschen deluser {name} Benutzer löschen samt Home und Mailspool deluser --remove-home {name} Benutzer löschen samt Dateien,Home,Mail deluser --remove-home --remove-all-files {name} Benutzername ändern (Schritt-1) usermod -l {alter_name} {neuer_name} Homeverzeichnis ändern (Schritt-2) usermod -d /home/{neuer_name} {neuer_name} Benutzer Kennwort ändern passwd {name} Benutzer sperren passwd -l {name} Benutzer entsperren passwd -u {name} ----------------------------------------------------------------------------------------------------- Allgemeines: Textdateien(Ordner) nach Unix konvertieren dos2unix -c ascii -m * Alle Logs in /var/log leeren for logs in `find /var/log -type f`; do > $logs; done Welche Librarys verwendet die Binary ?, zB. ldd /bin/ping ----------------------------------------------------------------------------------------------------- Debian Software:(Download: http://ftp.debian.at/debian/dists/buster/main/installer-amd64/current/images/) ----------------------------------------------------------------------------------------------------- Oft gebrauchte Standardpakete: apt-get install openssh-server nano less locales dialog console-tools console-data console-common rsyslog logrotate Webserver: Apache2 mit PHP installieren: apt-get install apache2 libapache2-mod-php5 php5-cli php5-common php5-cgi Lighttpd, PHP und CGI installieren: apt-get install lighttpd php5-cgi lighty-enable-mod fastcgi lighty-enable-mod fastcgi-php /etc/init.d/lighttpd force-reload PHP-Sysinfo: apt-get install phpsysinfo ln -s /usr/share/phpsysinfo/ /var/www/phpsysinfo Sonstige: apt-get install tofrodos locate htop ncftp sendEmail ----------------------------------------------------------------------------------------------------- Debian Stretch not found ifconfig bether is "ip" command, the net-tools depraceted. apt-get install net-tools