GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Befehle zum Erlernen eines unbekannten Systems

eine Dual-Use-Frage! Entweder ein Software-Archäologe oder ein böser Hacker könnte die Antworten auf diese Frage gebrauchen! Nun, wer bin ich?

Früher habe ich immer ps -ef verwendet gegenüber ps -augxww um herauszufinden, woran ich war. Linux- und System-V-Boxen neigten dazu, "-ef" und Fehler auf "-augxww" zu mögen, umgekehrt für BSD- und alte SunOS-Maschinen. Die Ausgabe von ps kann Ihnen auch viel mitteilen.

Wenn Sie sich als root anmelden können und es sich um einen Linux-Rechner handelt, sollten Sie lsusb ausführen und lspci - damit wissen Sie zu 80 %, wie die Hardware-Situation ist. dmesg | more kann Ihnen helfen, alle aktuellen Probleme zu fast allem zu verstehen.

Es wird allmählich eingestellt, macht aber ifconfig -a kann Ihnen normalerweise viel über die Netzwerkschnittstellen und die Vernetzung erzählen. Ausführen von mii-tool und/oder ethtool auf den Schnittstellen, die Sie in ifconfig sehen Ausgaben, die wie verkabeltes Ethernet aussehen, können Ihnen auch einige Informationen geben.

Führen Sie ip route aus oder netstat -r kann Informationen über das Internetprotokoll-Routing und möglicherweise etwas über in Gebrauch befindliche Netzwerkschnittstellen geben.

Ein mount Der Aufruf kann Ihnen Auskunft über die Festplatte(n) geben und wie sie gemountet sind.

Ausführen von uptime , und dann last | more kann Ihnen etwas über den aktuellen Wartungszustand sagen. Betriebszeiten von mehr als 100 Tagen bedeuten wahrscheinlich „es ist Zeit, das Öl und die Flüssigkeiten zu wechseln“, bildlich gesprochen. Ausführen von who ist auch

Betrachten wir /etc/resolv.conf und /etc/hosts kann Ihnen etwas über die DNS-Einrichtung dieser Maschine sagen. Mach vielleicht nslookup google.com oder dig bing.com um zu sehen, ob DNS größtenteils funktioniert.

Es lohnt sich immer, zu beobachten, welche Fehler ("Befehl nicht gefunden") und welche Befehlsvarianten ("ps -ef" vs. "ps augxww") funktionieren, um festzustellen, auf welcher Variante von Unix oder Linux oder BSD Sie gerade gelandet sind.

Das Vorhandensein oder Fehlen eines C-Compilers und wo er sich befindet, ist wichtig. Führen Sie which cc aus oder besser which -a cc um sie zu finden.


cat /etc/*release* ist ein netter Befehl, um sich einen Überblick darüber zu verschaffen, welche Distribution läuft.


http://bhami.com/rosetta.html könnte nützlich sein, um es zu überprüfen, ansonsten stöbere ich normalerweise unter /etc herum (Konten, Init-Sachen, Hinweise auf OS-Geschmack usw.) und crontab -l und schau dir den ps an Liste mit Dingen, über die man sich informieren kann.

Auch "als root" ist super beängstigend, da ich Systeme reparieren musste, bei denen ein Linux-Administrator, der eine solche Untersuchung durchführte, alle Solaris-Hostnamen auf -f gesetzt hat .

Auch df ist ein gefährlicher Befehl, eine großartige Möglichkeit, oh, hoppla, an der Blockierung von E / A zu hängen. Führen Sie das also niemals aus, bis Sie zumindest die Reittiere untersucht haben oder wissen, dass Sie irgendwie eine weitere Sitzung öffnen können.

Verwenden Sie sehr einfache Befehle (uname , cd /etc; ls , cat , $PAGER ), bis Sie herausgefunden haben, was der Host ist, und wenn Sie damit nicht vertraut sind, überprüfen Sie eine Rosetta oder lesen Sie immer die Manpage, bevor Sie annehmen, dass ein Befehl oder ein Flag für einen Befehl das tut, was er auf populäreren Systemen tut.


Linux
  1. Erfahren Sie mehr über Ihr Linux-System mit inxi

  2. Nützlichste Nginx-Befehle im Linux-System

  3. Was ist der aktuelle Runlevel des Linux-Systems?

  4. In welcher Reihenfolge werden weitergeleitete Befehle ausgeführt?

  5. Verdächtige SSH-Befehle verstehen?

Was ist Git Bash? Arbeiten mit Git Bash-Befehlen

Alles über Daemons in Linux

PacVim – Ein CLI-Spiel zum Erlernen von Vim-Befehlen

50 grundlegende Nmap-Befehle für Systemadministratoren

Was ist das Linux-Dateisystem? Einfache Anleitung

SystemD - Wofür wird SystemD verwendet?