> MAC NERDS | DIGITALE ANARCHIE >
← ZURÜCK ZUR BASIS

MAC NERDS

// Terminal-Wissen für möchtegern-Admins — zu gut für Anfänger, zu faul für echte Admins

⚠ ALLE BEFEHLE GETESTET. TROTZDEM: BRAIN BEFORE RETURN.
'system', 'cmd' => 'system_profiler SPHardwareDataType | grep -E "Model|Chip|Memory|Serial"', 'title'=> 'Hardware-Kurzprofil', 'desc' => 'Model, Chip, RAM und Seriennummer auf einen Blick. Kein Klicken durch System-Info.', 'risk' => 'safe', ], [ 'cat' => 'system', 'cmd' => 'sw_vers', 'title'=> 'macOS Version', 'desc' => 'ProductName, Version und Build — schneller als jedes UI-Menü.', 'risk' => 'safe', ], [ 'cat' => 'system', 'cmd' => 'sysctl -n machdep.cpu.brand_string', 'title'=> 'CPU exakter Bezeichner', 'desc' => 'Zeigt den genauen CPU-String. Nützlich wenn jemand nach deinem Chip fragt und du nicht suchen willst.', 'risk' => 'safe', ], [ 'cat' => 'system', 'cmd' => "sudo dscl . list /Users | grep -v '^_'", 'title'=> 'Alle lokalen User', 'desc' => 'Listet alle echten User-Accounts — ohne die System-Underscore-Accounts.', 'risk' => 'safe', ], [ 'cat' => 'system', 'cmd' => 'scutil --get ComputerName && scutil --get LocalHostName', 'title'=> 'Computernamen abfragen', 'desc' => 'Computername und lokaler Hostname. Hilfreich bevor du irgendwas im Netz konfigurierst.', 'risk' => 'safe', ], [ 'cat' => 'system', 'cmd' => 'launchctl list | grep -v "^-" | grep -v "com.apple" | sort', 'title'=> 'Drittanbieter LaunchAgents', 'desc' => 'Nur die LaunchAgents die nicht von Apple kommen — zeigt was im Hintergrund wirklich läuft.', 'risk' => 'safe', ], [ 'cat' => 'system', 'cmd' => 'log show --predicate \'eventMessage contains "error"\' --last 1h --style syslog | tail -40', 'title'=> 'System-Errors letzte Stunde', 'desc' => 'Die letzten 40 Fehler aus dem Systemlog der vergangenen Stunde. Echtes Debugging ohne Console.app.', 'risk' => 'safe', ], // ── NETZWERK ───────────────────────────────────────── [ 'cat' => 'netzwerk', 'cmd' => 'networkQuality', 'title'=> 'Netzwerkqualität testen', 'desc' => 'Apples eigenes Speedtest-Tool seit macOS 12. Misst Upload, Download und Responsiveness (RPM).', 'risk' => 'safe', ], [ 'cat' => 'netzwerk', 'cmd' => 'lsof -i -n -P | grep LISTEN', 'title'=> 'Alle offenen Ports', 'desc' => 'Welcher Prozess hört auf welchem Port? Unverzichtbar wenn ein Port "schon belegt" ist.', 'risk' => 'safe', ], [ 'cat' => 'netzwerk', 'cmd' => 'curl -s https://ipinfo.io/json | python3 -m json.tool', 'title'=> 'Eigene IP + Geo', 'desc' => 'Zeigt deine öffentliche IP, Stadt, Land und Provider — direkt formatiert im Terminal.', 'risk' => 'safe', ], [ 'cat' => 'netzwerk', 'cmd' => 'arp -a | sort', 'title'=> 'Lokale Geräte im Netz', 'desc' => 'ARP-Tabelle: alle Geräte die dein Mac gerade "kennt". IP + MAC-Adresse.', 'risk' => 'safe', ], [ 'cat' => 'netzwerk', 'cmd' => 'nettop -m tcp -n -l 1 2>/dev/null | head -30', 'title'=> 'TCP-Verbindungen Snapshot', 'desc' => 'Einmaliger Snapshot aller aktiven TCP-Verbindungen mit Bytes sent/received.', 'risk' => 'safe', ], [ 'cat' => 'netzwerk', 'cmd' => "networksetup -listallhardwareports | awk '/Hardware Port/{port=$NF} /Ethernet Address/{print port\": \"$NF}'", 'title'=> 'Alle MAC-Adressen', 'desc' => 'Listet alle Netzwerkinterfaces mit ihrer MAC-Adresse. Praktisch für Router-Whitelists.', 'risk' => 'safe', ], [ 'cat' => 'netzwerk', 'cmd' => 'dns-sd -B _services._dns-sd._udp local.', 'title'=> 'Bonjour-Dienste im Netz', 'desc' => 'Zeigt alle Bonjour/mDNS-Dienste im lokalen Netzwerk live. Beenden mit Ctrl+C.', 'risk' => 'safe', ], // ── DATEIEN ────────────────────────────────────────── [ 'cat' => 'dateien', 'cmd' => "find ~ -name '*.DS_Store' -delete 2>/dev/null; echo 'Aufgeräumt.'", 'title'=> 'DS_Store aufräumen', 'desc' => 'Löscht alle .DS_Store-Dateien im Home-Verzeichnis. Gut vor git-Commits oder USB-Weitergabe.', 'risk' => 'safe', ], [ 'cat' => 'dateien', 'cmd' => 'du -sh ~/* | sort -rh | head -15', 'title'=> 'Größte Verzeichnisse', 'desc' => 'Top 15 Verzeichnisse nach Größe, sortiert. Schnell herausfinden wo der Speicher bleibt.', 'risk' => 'safe', ], [ 'cat' => 'dateien', 'cmd' => 'mdfind -name "SUCHBEGRIFF"', 'title'=> 'Spotlight via Terminal', 'desc' => 'Spotlight-Suche im Terminal. Schneller als Finder und skriptbar. SUCHBEGRIFF ersetzen.', 'risk' => 'safe', ], [ 'cat' => 'dateien', 'cmd' => "find /tmp ~/Library/Caches -maxdepth 2 -type f -size +50M 2>/dev/null | sort", 'title'=> 'Große Cache-Dateien finden', 'desc' => 'Findet Dateien über 50MB in Temp- und Cache-Verzeichnissen. Vor dem Löschen prüfen.', 'risk' => 'safe', ], [ 'cat' => 'dateien', 'cmd' => 'sips -z 800 600 ~/Desktop/bild.jpg', 'title'=> 'Bild skalieren (sips)', 'desc' => 'Skaliert ein Bild auf 800×600 ohne Extra-Tool. sips ist macOS-nativ. Pfad anpassen.', 'risk' => 'safe', ], [ 'cat' => 'dateien', 'cmd' => "ls -lAh ~/Library/Application\\ Support | sort -k5 -rh | head -20", 'title'=> 'App Support nach Größe', 'desc' => 'Zeigt die größten App-Support-Ordner — nützlich nach dem Deinstallieren von Apps.', 'risk' => 'safe', ], // ── PERFORMANCE ────────────────────────────────────── [ 'cat' => 'performance', 'cmd' => 'top -o cpu -n 15 -l 1 | tail -16', 'title'=> 'Top 15 CPU-Fresser', 'desc' => 'Einmaliger Snapshot der 15 CPU-intensivsten Prozesse — ohne interaktiven top-Modus.', 'risk' => 'safe', ], [ 'cat' => 'performance', 'cmd' => "vm_stat | perl -ne '/page size of (\\d+)/ and \$s=\$1; /Pages\\s+([^:]+)[^\\d]+(\\d+)/ and printf \"%-25s %7.2f MB\\n\",\$1,\$2*\$s/1048576'", 'title'=> 'RAM-Nutzung detailliert', 'desc' => 'Schlüsselt den RAM auf: wired, active, inactive, free, speculative — in MB.', 'risk' => 'safe', ], [ 'cat' => 'performance', 'cmd' => 'sudo powermetrics --samplers cpu_power,gpu_power -n 1 -i 1000 2>/dev/null | grep -E "Combined|CPU|GPU|Package"', 'title'=> 'CPU/GPU Power (Apple Silicon)', 'desc' => 'Aktueller Stromverbrauch von CPU und GPU in Watt. Nur auf Apple Silicon sinnvoll. Braucht sudo.', 'risk' => 'safe', ], [ 'cat' => 'performance', 'cmd' => 'pmset -g batt', 'title'=> 'Batteriestatus', 'desc' => 'Zeigt Ladestand, Ladezustand, Zustand der Batterie und ob du am Netzteil hängst.', 'risk' => 'safe', ], [ 'cat' => 'performance', 'cmd' => 'ioreg -l | grep -i "CycleCount\\|MaxCapacity\\|CurrentCapacity" | head -6', 'title'=> 'Batterie-Ladezyklen', 'desc' => 'Ladezyklen, maximale und aktuelle Kapazität. Zeigt ob die Batterie noch fit ist.', 'risk' => 'safe', ], // ── TWEAKS ─────────────────────────────────────────── [ 'cat' => 'tweaks', 'cmd' => 'defaults write com.apple.dock autohide-delay -float 0 && defaults write com.apple.dock autohide-time-modifier -float 0.3 && killall Dock', 'title'=> 'Dock: sofortiges Einblenden', 'desc' => 'Entfernt die Verzögerung beim Dock-Einblenden und verkürzt die Animation. Sofort spürbar.', 'risk' => 'safe', ], [ 'cat' => 'tweaks', 'cmd' => 'defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false', 'title'=> 'Key-Repeat aktivieren', 'desc' => 'Deaktiviert den Akzent-Popup bei gedrückter Taste und aktiviert stattdessen Key-Repeat. Logout nötig.', 'risk' => 'safe', ], [ 'cat' => 'tweaks', 'cmd' => 'defaults write com.apple.screencapture location ~/Desktop && defaults write com.apple.screencapture type png && killall SystemUIServer', 'title'=> 'Screenshot-Einstellungen', 'desc' => 'Setzt Screenshot-Pfad auf Desktop und Format auf PNG. killall SystemUIServer übernimmt sofort.', 'risk' => 'safe', ], [ 'cat' => 'tweaks', 'cmd' => 'caffeinate -d -t 7200', 'title'=> 'Mac 2h wachhalten', 'desc' => 'Verhindert Sleep/Screensaver für 2 Stunden. -d = Display an. Einfach Ctrl+C zum Beenden.', 'risk' => 'safe', ], [ 'cat' => 'tweaks', 'cmd' => "defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder", 'title'=> 'Versteckte Dateien im Finder', 'desc' => 'Zeigt alle versteckten Dateien (Dotfiles) im Finder. Rückgängig: -bool false.', 'risk' => 'safe', ], [ 'cat' => 'tweaks', 'cmd' => 'defaults write com.apple.SoftwareUpdate AutomaticCheckEnabled -bool false', 'title'=> 'Auto-Update-Check deaktivieren', 'desc' => 'Stoppt den automatischen Update-Check im Hintergrund. Updates manuell über Systemeinstellungen.', 'risk' => 'caution', ], ]; foreach ($cmds as $c): $riskLabel = $c['risk'] === 'caution' ? 'CAUTION' : 'SAFE'; $catUpper = strtoupper($c['cat']); $cmdEsc = htmlspecialchars($c['cmd'], ENT_QUOTES); ?>