DAA IT-Umschulung
Am Schülerprojekt mitarbeiten

Du möchtest an diesem Portal mitarbeiten, eigene Ideen einbringen oder bestehende Funktionen verbessern? Dann melde dich bei Steve oder Nils.

Perfekte Vorkenntnisse sind nicht erforderlich. Wichtig sind sorgfältiges Arbeiten, Lernbereitschaft und ein verantwortungsvoller Umgang mit dem System.

Hilfreiche Kenntnisse

  • Grundlagen in HTML und CSS
  • erste Erfahrungen mit JavaScript
  • für erweiterte Arbeiten: PHP, Twig und Grav CMS
  • Grundlagen in Linux, SSH und Dateiberechtigungen
  • Verständnis für Webserver, Netzwerke und IT-Sicherheit
  • saubere Dokumentation und nachvollziehbare Tests

Das ist nicht erlaubt

  • Änderungen ohne vorherige Absprache oder ungesichert direkt am laufenden System
  • Weitergabe von Passwörtern, Zugangsdaten oder Sicherheitsschlüsseln
  • Umgehung von Benutzerrechten oder Zugriffsbeschränkungen
  • eigenständige Änderungen an Proxmox, Containern, Netzwerk oder Firewall
  • Installation zusätzlicher Dienste oder Öffnung neuer Ports ohne Freigabe
  • Löschen oder Verändern fremder Inhalte, Benutzerkonten oder Backups
  • Einbau von Trackern, Werbung oder externen Skripten ohne Prüfung
  • Hochladen personenbezogener, rechtswidriger oder urheberrechtlich nicht freigegebener Inhalte
  • Nutzung des Portals für Angriffe, Portscans oder andere unerlaubte Sicherheitstests

Alle Beiträge müssen zum Lern- und Projektzweck passen. Sicherheit, Datenschutz und Stabilität haben Vorrang.

Terminalbefehle für Windows und Linux
⌂ Startseite Adresse /anleitungen/terminalbefehle-fur-windows-und-linux

Terminalbefehle für Windows und Linux

Diese gemeinsame Referenz erklärt wichtige Terminalbefehle für Windows mit PowerShell und CMD sowie für Linux mit Bash unter Ubuntu oder Debian. Sie richtet sich an Einsteigerinnen und Einsteiger in der Fachinformatiker-Umschulung.

Die Beispiele sind bewusst vergleichbar aufgebaut: Zu vielen Aufgaben findest du direkt den passenden Befehl für beide Betriebssystemwelten.

1. Terminal, Shell und Administratorrechte

Windows

Das moderne Windows Terminal kann mehrere Shells in Tabs öffnen:

  • PowerShell für moderne Administration und Automatisierung
  • Eingabeaufforderung (CMD) für klassische Windows-Befehle und ältere Batchdateien
  • Optional WSL für eine Linux-Umgebung unter Windows

Viele Wartungsbefehle benötigen ein Terminal, das über Als Administrator ausführen geöffnet wurde.

Linux

Unter Ubuntu und Debian wird häufig Bash als Shell verwendet. Administrative Einzelbefehle werden normalerweise mit sudo ausgeführt:

sudo BEFEHL

Achtung: Administratorrechte können Systemdateien verändern, Dienste stoppen oder Daten löschen. Prüfe Befehl, Pfad und Ziel immer vor dem Ausführen.

Hilfe direkt im Terminal

System Befehl Bedeutung
PowerShell Get-Help Get-Process -Examples Beispiele für ein Cmdlet anzeigen
PowerShell Get-Command *service* Befehle zu einem Suchbegriff finden
CMD ipconfig /? Hilfe zu einem CMD-Befehl anzeigen
Linux man ip Handbuchseite öffnen
Linux ip --help Kurzhilfe anzeigen
Linux apropos network Handbuchseiten nach Begriff durchsuchen

2. Schnellvergleich

Aufgabe PowerShell CMD Linux/Bash
Aktuellen Pfad anzeigen Get-Location cd pwd
Verzeichnis wechseln Set-Location C:\Pfad cd /D C:\Pfad cd /pfad
Inhalt anzeigen Get-ChildItem dir ls -lah
Ordner erstellen New-Item -ItemType Directory test mkdir test mkdir test
Datei kopieren Copy-Item quelle ziel copy quelle ziel cp quelle ziel
Datei verschieben Move-Item quelle ziel move quelle ziel mv quelle ziel
Datei umbenennen Rename-Item alt neu ren alt neu mv alt neu
Textdatei anzeigen Get-Content datei.txt type datei.txt less datei.txt
Datei löschen Remove-Item datei.txt -Confirm del /P datei.txt rm -i datei.txt
Text suchen Select-String -Pattern Fehler -Path log.txt findstr /I Fehler log.txt grep -i Fehler log.txt
Prozesse anzeigen Get-Process tasklist ps aux
IP-Konfiguration Get-NetIPConfiguration ipconfig /all ip address
Route anzeigen Get-NetRoute route print ip route
DNS testen Resolve-DnsName example.org nslookup example.org resolvectl query example.org
Prüfsumme bilden Get-FileHash datei.iso -Algorithm SHA256 certutil -hashfile datei.iso SHA256 sha256sum datei.iso

PowerShell besitzt Aliase wie ls, cat, cp, mv und rm. Diese sehen wie Linux-Befehle aus, verhalten sich aber als PowerShell-Cmdlets und unterstützen daher nicht automatisch dieselben Optionen. In Skripten sind die vollständigen Cmdlet-Namen eindeutiger.

3. Navigation und Dateisystem

Windows mit PowerShell

Get-Location
Get-ChildItem
Get-ChildItem -Force
Set-Location C:\Users
Set-Location ..
New-Item -ItemType Directory -Path .\Projekt
Copy-Item .\quelle.txt .\Projekt\quelle.txt
Move-Item .\quelle.txt .\ziel.txt

Ordner einschließlich Unterordnern kopieren:

Copy-Item .\Quelle .\Ziel -Recurse

Windows mit CMD

cd
dir
dir /A
cd /D C:\Users
cd ..
mkdir Projekt
copy quelle.txt Projekt\quelle.txt
move quelle.txt ziel.txt

Für umfangreiche Ordnerkopien ist robocopy zuverlässiger als xcopy:

robocopy C:\Quelle D:\Sicherung\Quelle /E /COPY:DAT /DCOPY:T /R:2 /W:2

Linux mit Bash

pwd
ls
ls -lah
cd /var/log
cd ..
cd ~
cd -
mkdir -p projekt/dokumente
cp quelle.txt projekt/
mv quelle.txt ziel.txt

Ordner einschließlich Inhalt kopieren:

cp -a quelle/ ziel/

Sicher löschen

Terminal-Löschbefehle umgehen häufig den Papierkorb. Zeige das Ziel vorher an und nutze bei Übungen eine Rückfrage:

Get-Item .\datei.txt
Remove-Item .\datei.txt -Confirm
dir datei.txt
del /P datei.txt
ls -l -- datei.txt
rm -i -- datei.txt

Verwende rekursive Löschoptionen wie -Recurse oder rm -r nur, wenn der vollständige Zielpfad eindeutig geprüft wurde.

4. Dateien anzeigen, bearbeiten und suchen

Windows

Get-Content .\log.txt
Get-Content .\log.txt -Tail 20
Get-Content .\log.txt -Tail 20 -Wait
Select-String -Path .\log.txt -Pattern 'error' -CaseSensitive:$false
Get-ChildItem -Recurse -File -Filter *.txt
notepad .\notizen.txt

In CMD:

type log.txt
findstr /I /N "error" log.txt
where /R C:\Users *.txt
notepad notizen.txt

Linux

cat datei.txt
less datei.txt
head -n 20 datei.txt
tail -n 20 datei.txt
tail -f /var/log/syslog
grep -in 'error' datei.txt
find . -type f -name '*.txt'
nano notizen.txt

In less startet /suchtext eine Suche, n springt zum nächsten Treffer und q beendet die Anzeige.

5. Benutzer und Berechtigungen

Windows

Lokale Benutzer und Gruppen anzeigen:

Get-LocalUser
Get-LocalGroup
Get-LocalGroupMember -Group Administrators

Dateiberechtigungen anzeigen:

Get-Acl C:\Daten | Format-List

In CMD kann whoami Informationen über das aktuelle Sicherheitskonto liefern:

whoami
whoami /groups
whoami /priv

Änderungen an NTFS-Rechten sollten möglichst über geplante Gruppenberechtigungen erfolgen. Befehle wie icacls können ganze Verzeichnisbäume verändern und müssen deshalb zuerst an Testdaten geprüft werden.

Linux

whoami
id
groups
ls -l
getent passwd
getent group

Einen Benutzer anlegen und einer zusätzlichen Gruppe hinzufügen:

sudo adduser BENUTZER
sudo usermod -aG GRUPPE BENUTZER

Rechte und Eigentümer ändern:

chmod u+x script.sh
chmod 640 datei.conf
sudo chown BENUTZER:GRUPPE datei.conf

Bei numerischen Linux-Rechten gilt: r = 4, w = 2, x = 1. Typische Beispiele sind 755 für öffentlich lesbare und ausführbare Verzeichnisse, 644 für normale Dateien und 600 für private Dateien. Die passende Einstellung hängt immer vom tatsächlichen Einsatzzweck ab.

6. Prozesse und Systeminformationen

Windows

Get-ComputerInfo
Get-Process
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10
Get-CimInstance Win32_OperatingSystem
Get-CimInstance Win32_BIOS
Get-CimInstance Win32_DiskDrive | Select-Object Model,SerialNumber,Status

Einen Prozess zunächst normal beenden:

Stop-Process -Id 1234

In CMD:

systeminfo
tasklist
tasklist /FI "IMAGENAME eq notepad.exe"
taskkill /PID 1234

WMIC ist veraltet und kann auf neueren Windows-Systemen fehlen. Für neue Anleitungen und Skripte wird Get-CimInstance verwendet.

Linux

uname -a
hostnamectl
cat /etc/os-release
ps aux
top
free -h
df -h
du -sh /var/log
uptime

Einen Prozess zunächst mit dem normalen Beendigungssignal stoppen:

kill 1234

Erzwungenes Beenden mit kill -9 oder Stop-Process -Force ist nur die letzte Maßnahme, da Anwendungen dabei keine Gelegenheit zum sauberen Speichern und Aufräumen erhalten.

7. Dienste und Ereignisprotokolle

Windows

Get-Service
Get-Service -Name Spooler
Start-Service -Name Spooler
Stop-Service -Name Spooler
Restart-Service -Name Spooler
Get-WinEvent -LogName System -MaxEvents 20
Get-WinEvent -FilterHashtable @{LogName='System'; Level=2} -MaxEvents 20

In CMD:

sc query Spooler
sc start Spooler
sc stop Spooler

Linux mit systemd

systemctl status ssh --no-pager
sudo systemctl start ssh
sudo systemctl stop ssh
sudo systemctl restart ssh
sudo systemctl enable --now ssh
systemctl --failed --no-pager
journalctl -u ssh -b --no-pager
journalctl -p warning -b --no-pager

Ersetze ssh jeweils durch den tatsächlichen Dienstnamen.

8. Netzwerkdiagnose

Adressen und Routen

PowerShell:

Get-NetIPConfiguration
Get-NetIPAddress -AddressFamily IPv4
Get-NetRoute -AddressFamily IPv4
Get-NetAdapter

CMD:

ipconfig /all
route print
getmac /v

Linux:

ip address
ip route
ip link

Erreichbarkeit und Pfad testen

PowerShell:

Test-Connection 192.168.1.1 -Count 4
Test-NetConnection example.org -Port 443
Resolve-DnsName example.org

CMD:

ping -n 4 192.168.1.1
tracert example.org
pathping example.org
nslookup example.org

Linux:

ping -c 4 192.168.1.1
tracepath example.org
resolvectl query example.org
curl -I https://example.org

Offene Ports und Verbindungen

PowerShell:

Get-NetTCPConnection -State Listen
Get-NetTCPConnection | Sort-Object LocalPort

CMD:

netstat -ano

Linux:

ss -tulpn

Ein offener Port ist nicht automatisch ein Sicherheitsproblem. Prüfe, welcher Prozess lauscht, ob der Dienst benötigt wird und ob Firewallregeln den Zugriff passend einschränken.

9. Datenträger und Speicherplatz

Windows

Get-Disk
Get-Partition
Get-Volume
Get-PSDrive -PSProvider FileSystem

Datenträger in CMD nur auflisten:

diskpart
list disk
list volume
exit

Warnung: Befehle wie clean, format, remove oder delete partition können Daten oder komplette Datenträgerstrukturen zerstören. Sie gehören nicht in eine allgemeine Kopier-und-Einfügen-Anleitung.

Linux

lsblk -f
df -h
df -i
sudo fdisk -l
findmnt

Zur Größenanalyse eines Verzeichnisses:

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

Auch unter Linux dürfen Partitionierungs-, Formatierungs- und Dateisystemreparaturbefehle erst nach einer eindeutigen Identifikation des Zielgeräts und einer aktuellen Sicherung verwendet werden.

10. Systemprüfung und Wartung

Windows

Diese Befehle benötigen ein als Administrator geöffnetes Terminal:

DISM.exe /Online /Cleanup-Image /RestoreHealth
sfc /scannow
chkdsk C: /scan

DISM repariert den Windows-Komponentenspeicher, SFC prüft geschützte Systemdateien und chkdsk /scan führt eine Onlineprüfung des Dateisystems durch. Reparaturoptionen, die einen Neustart oder exklusiven Datenträgerzugriff benötigen, sollten geplant und nicht während laufender Arbeiten erzwungen werden.

Neustart und Herunterfahren:

shutdown /r /t 0
shutdown /s /t 60 /c "Geplantes Herunterfahren"
shutdown /a

Ubuntu und Debian

Paketlisten und installierte Pakete aktualisieren:

sudo apt update
sudo apt upgrade

Nicht mehr benötigte automatisch installierte Pakete zunächst anzeigen und dann bewusst entfernen:

apt list --autoremove
sudo apt autoremove

Fehlerhafte systemd-Dienste und wichtige Meldungen prüfen:

systemctl --failed --no-pager
journalctl -p err -b --no-pager

Neustart und Herunterfahren:

sudo systemctl reboot
sudo systemctl poweroff

11. Software und Pakete

Windows

Wenn der Windows-Paketmanager verfügbar ist:

winget search firefox
winget list
winget upgrade
winget show Mozilla.Firefox

Prüfe vor einer Installation oder Aktualisierung Paketname, Quelle und Herausgeber.

Ubuntu und Debian

apt search nginx
apt show nginx
apt list --installed
sudo apt install nginx
sudo apt remove nginx

apt ist für die interaktive Nutzung geeignet. In stabilen Automatisierungsskripten werden häufig apt-get und apt-cache verwendet, da ihre Ausgabe und Schnittstellen dafür besser vorgesehen sind.

12. Archive und Prüfsummen

Windows mit PowerShell

Compress-Archive -Path .\Projekt -DestinationPath .\Projekt.zip
Expand-Archive -Path .\Projekt.zip -DestinationPath .\Entpackt
Get-FileHash .\datei.iso -Algorithm SHA256

Windows mit CMD

tar -cf Projekt.tar Projekt
tar -xf Projekt.tar
certutil -hashfile datei.iso SHA256

Linux

tar -czf projekt.tar.gz projekt/
tar -xzf projekt.tar.gz
zip -r projekt.zip projekt/
unzip projekt.zip
sha256sum datei.iso

Eine Prüfsumme erkennt Übertragungsfehler und Manipulationen nur dann zuverlässig, wenn der erwartete Vergleichswert aus einer vertrauenswürdigen Quelle stammt.

13. SSH und sichere Dateiübertragung

OpenSSH-Befehle stehen unter Linux und auf aktuellen Windows-Systemen mit installiertem OpenSSH-Client ähnlich zur Verfügung:

ssh benutzer@server.example.org
ssh -p 2222 benutzer@server.example.org
scp datei.txt benutzer@server.example.org:/ziel/
scp -P 2222 datei.txt benutzer@server.example.org:/ziel/

SSH-Schlüssel erzeugen:

ssh-keygen -t ed25519 -a 64

Prüfe beim ersten Verbindungsaufbau den angezeigten Host-Schlüssel-Fingerabdruck über einen zweiten vertrauenswürdigen Weg. Bestätige ihn nicht ungeprüft, da genau diese Prüfung vor Man-in-the-Middle-Angriffen schützt.

14. Textverarbeitung und Pipelines

PowerShell verarbeitet Objekte

Get-Service |
    Where-Object Status -eq 'Running' |
    Sort-Object DisplayName |
    Select-Object Status,Name,DisplayName

Ergebnis als CSV exportieren:

Get-Process | Select-Object Name,Id,CPU | Export-Csv .\prozesse.csv -NoTypeInformation

Linux-Shell verarbeitet überwiegend Textströme

grep -i 'error' logfile.txt | sort | uniq -c

Weitere Werkzeuge:

wc -l datei.txt
sort datei.txt
cut -d: -f1 /etc/passwd
awk '{print $1}' datei.txt
sed 's/alt/neu/g' datei.txt

cat datei | grep text funktioniert, ist aber unnötig: grep text datei ist kürzer und öffnet die Datei direkt.

15. Sichere Automatisierungsbeispiele

Windows: Ordnersicherung mit Robocopy

@echo off
set "QUELLE=C:\Dokumente"
set "ZIEL=D:\Backup\Dokumente"

robocopy "%QUELLE%" "%ZIEL%" /E /COPY:DAT /DCOPY:T /R:2 /W:2 /LOG+:"D:\Backup\backup.log"

if errorlevel 8 (
    echo Sicherung mit Fehlern beendet.
    exit /b 1
)

echo Sicherung abgeschlossen.

Robocopy-Rückgabewerte von 0 bis 7 können erfolgreiche Kopierläufe mit unterschiedlichen Zusatzinformationen darstellen; ab 8 liegt ein Fehler vor. Das Beispiel löscht keine Dateien im Ziel.

Windows: Systembericht mit PowerShell

$bericht = [ordered]@{
    Computername = $env:COMPUTERNAME
    Windows      = (Get-CimInstance Win32_OperatingSystem).Caption
    Version      = (Get-CimInstance Win32_OperatingSystem).Version
    Zeitpunkt    = Get-Date
}

[pscustomobject]$bericht | Format-List

Linux: Datensicherung mit Tar

#!/usr/bin/env bash
set -euo pipefail

quelle="$HOME/dokumente"
ziel="$HOME/backup"
zeitpunkt="$(date +%Y-%m-%d_%H-%M-%S)"

mkdir -p "$ziel"
tar -czf "$ziel/dokumente-$zeitpunkt.tar.gz" -C "$quelle" .
sha256sum "$ziel/dokumente-$zeitpunkt.tar.gz" > "$ziel/dokumente-$zeitpunkt.tar.gz.sha256"

echo "Sicherung abgeschlossen."

Linux: Systembericht

#!/usr/bin/env bash

echo "Hostname: $(hostname)"
echo "Kernel:   $(uname -r)"
echo "System:   $(. /etc/os-release && echo "$PRETTY_NAME")"
echo "Uptime:   $(uptime -p)"
echo
df -h /
free -h

Teste eigene Skripte zuerst mit ungefährlichen Beispieldaten. Automatische Bereinigungsskripte mit rekursiven Löschbefehlen sind ohne zusätzliche Prüfungen, Protokollierung und Begrenzung des Zielpfads ungeeignet.

16. Tastaturkürzel

Kürzel Windows Terminal/PowerShell/CMD Linux-Terminal/Bash
Tab Namen und Pfade vervollständigen Namen und Pfade vervollständigen
Pfeil hoch/runter Befehlshistorie Befehlshistorie
Strg+C Laufenden Befehl abbrechen Laufenden Befehl abbrechen
Strg+L Je nach Shell Bildschirm leeren Bildschirm leeren
Strg+Shift+C Markierten Text kopieren Markierten Text kopieren
Strg+Shift+V Text einfügen Text einfügen
Strg+Shift+T Neuen Tab öffnen Vom Terminalprogramm abhängig
Strg+R PowerShell-Verlauf durchsuchen, wenn PSReadLine aktiv ist Bash-Verlauf rückwärts durchsuchen
F7 CMD-Befehlshistorie anzeigen Nicht standardmäßig belegt

Die genaue Belegung kann sich je nach Terminalprogramm und Profil unterscheiden.

17. Häufige Fehler und Sicherheitsregeln

  • Befehle aus dem Internet nicht ungeprüft mit Administrator- oder Root-Rechten ausführen.
  • Pfade mit Leerzeichen in Anführungszeichen setzen.
  • Vor Lösch-, Formatierungs- und Rechtebefehlen den vollständigen Zielpfad kontrollieren.
  • Bei Linux zwischen Groß- und Kleinschreibung unterscheiden: Datei.txt und datei.txt sind unterschiedliche Namen.
  • PowerShell-Aliase nicht mit gleichnamigen Linux-Programmen verwechseln.
  • Zugangsdaten, private Schlüssel und Tokens nicht direkt in Skripte schreiben.
  • Downloads mit Prüfsummen oder Signaturen aus vertrauenswürdigen Quellen prüfen.
  • Vor Netzwerkänderungen eine Rückfallmöglichkeit einplanen, besonders bei Fernzugriff.
  • Wichtige Daten sichern und die Wiederherstellung testen.
  • Fehlerausgaben vollständig lesen, bevor weitere Reparaturbefehle ausgeführt werden.

Fertig

Mit dieser Referenz lassen sich grundlegende Verwaltungs-, Diagnose- und Dateioperationen unter Windows und Linux vergleichen. Für produktive Änderungen sollte zusätzlich immer die Dokumentation der tatsächlich installierten Betriebssystem- und Programmversion verwendet werden.

Weiterführende Dokumentation