Ohne welche Tools (vorzugsweise über die Befehlszeile) können Sie nach der Verwaltung von Unix- oder Unix-ähnlichen Servern nicht leben?
quelle
Ohne welche Tools (vorzugsweise über die Befehlszeile) können Sie nach der Verwaltung von Unix- oder Unix-ähnlichen Servern nicht leben?
GNU-Bildschirm - unverzichtbar, wenn Sie eine große Anzahl von Systemen verwalten und nicht möchten, dass ein Dutzend Terminalfenster geöffnet ist.
Einige, von denen ich weiß, dass ich ohne sie nicht leben kann ...
tee - Ermöglicht das gleichzeitige Schreiben von STDOUT (Standardausgabe) und einer Datei. Hervorragend zum Anzeigen und Protokollieren von Informationen.
top - der Task-Manager von UNIX gibt einen guten Überblick über das System.
tail -f - Mit dieser Option können Sie angehängte Daten anzeigen, während eine Datei wächst. Dies ist ideal für die Überwachung von Protokolldateien auf einem Server.
grep - Globaler Ausdruck für reguläre Ausdrücke, ideal zum Durchsuchen des Systems nach Daten in Dateien.
df - meldet die Festplattenauslastung der aktuellen Dateisysteme.
du - meldet die Festplattennutzung einer bestimmten Datei / eines bestimmten Verzeichnisses.
weniger - wird zum Anzeigen von Manpages benötigt! auch nützlich, um die Ausgabe von Befehlen auf leicht auffindbare Weise anzuzeigen.
vim / Emacs / nano / pico / ed - Was auch immer Ihr Texteditor Ihrer Wahl sein mag, selbsterklärend, warum er benötigt wird.
more
oderless
, können Sie immer versuchenmost
.htop
ist eine "bessere" Version vontop
.So ermitteln Sie, welche Prozesse eine Datei oder ein Verzeichnis verwenden (nützlich, wenn Sie herausfinden möchten, was das Ummounten eines Geräts verhindert)
netstat, um festzustellen, welche Prozesse Netzwerkverbindungen verwenden (besonders nützlich, wenn Sie herausfinden möchten, welcher Dämon an einen bestimmten Port gebunden ist)
quelle
Lernen Sie alle grundlegenden Tools, aber lernen Sie Perl.
Perl ist ideal für die Bearbeitung von Text. Da un * x-Operatoren von Textdateien, Pipes, Eingaben und Ausgaben leben, ist Perl eine hervorragende Lösung.
Der zusätzliche Vorteil ist, dass Perl plattformübergreifend ist und Sie eine leicht installierbare Sprache (legen Sie einfach ein Perl-Verzeichnis auf dem Server ab) haben, die Sie bereits kennen, wenn Sie etwas an einer Windows-Box arbeiten müssen.
Und in diesem Gedankengang holen Sie sich auch Cygwin. Wenn Sie ein un * x-Administrator sind und an einer Windows-Box (sogar Ihrem Desktop) mit ls, rm, grep, sed, tail usw. arbeiten müssen, sparen Sie beim Wechseln des Betriebssystems viel Zeit.
quelle
Die vergessenen Großväter der modernen Skripterstellung. Ich weiß, dass Perl den größten Teil der Liebe bekommt (zusammen mit Bash-Skripten, Python, Ruby und [fügen Sie hier Ihre Lieblingsskriptsprache ein]), und verstehen Sie mich nicht falsch, ich liebe Perl. Ich benutze es fast täglich.
Aber sed und awk sollten nicht vergessen, übersehen oder ignoriert werden. Sed und awk sind in vielen Fällen die besten Werkzeuge für den Job. Schnelle Beispiele sind die Befehlszeilenfilterung mit sed und die schnelle und fehlerhafte Protokollverarbeitung mit awk. Beides könnte in Perl erfolgen, erfordert jedoch mehr Arbeit und Entwicklungszeit.
quelle
rsync, besonders in konzert mit ssh. Es ermöglicht ein einfaches und effizientes Kopieren von Dateien von Host zu Host. Wie sind wir jemals ohne ssh und rsync zurechtgekommen? :-)
quelle
Netcat.
Das Netzwerk Schweizer Taschenmesser, wie man sagt.
quelle
Seien Sie ehrlich - früher oder später beschäftigen Sie sich auch mit dem Netzwerk. mtr , tcpdump und tshark sind wirklich nützlich, um zu sehen, was passiert.
quelle
Für schnelle Skripte, Automatisierung usw.:
So stellen Sie eine Verbindung zu Ihrem * NIX-Server her:
quelle
Ich verwende die meisten der bereits aufgelisteten Tools, aber hier ist eines, das noch niemand angesprochen hat:
quelle
Für die Skripterstellung:
quelle
Die meisten der Standardantworten sind in anderen Antworten enthalten, daher werde ich mich für Nicht-Standardantworten entscheiden:
quelle
Ein paar nützliche Tools, die ich noch nicht gesehen habe:
quelle
expect
ClusterSSH
quelle
vmstat 1
Gibt Ihnen einen guten Überblick über das Systemverhalten.
quelle
pv: Zeigt den Fortschritt langer Operationen an, die umgeleitet werden können. http://www.ivarch.com/programs/pv.shtml
Nützlich, wenn Sie etwas überwachen möchten, das Ewigkeiten in Anspruch nehmen wird, wie das Kopieren / Komprimieren eines Raw-Block-Geräts über das Netzwerk (auf diese Weise erstelle ich paranoide Backups meines 8-GB-Netbooks, bevor ich an wichtigen Dingen wie dem Ändern der Dateisystemeinstellungen arbeite).
Außerdem: Ich werde für ssh, rsync, screen, htop und netcat Zweitstimmen abgeben, wie von den oben genannten Personen erwähnt - allesamt wichtiger als pv, aber pv wurde noch nicht erwähnt. In der Tat ist pv oft eine nützliche Ergänzung, wenn Sie etwas zu oder von Netcat leiten.
quelle
pv
kann ein praktisches Werkzeug sein, aber hüte dich davor, es zu überbeanspruchen. Die Weitergabe der Daten wirkt sich absolut auf die Leistung aus (alle Daten müssen ein anderes Programm durchlaufen ). Bei meinem letzten Job haben wir viel Holz verarbeitet. Einer der Jungs entschied sich dafür, pv in alle Protokollverarbeitungsskripte einzufügen, bis wir herausfanden, dass sich die Verarbeitungszeit für sie um etwa 15% verlängerte. Jetzt wird es nur für Aufträge verwendet, die weniger als ein paar Minuten dauern oder bei denen eine Ressourcenbeschränkung besteht (z. B. das Überqueren einer langsamen Netzwerkverbindung).pv
ist festplatten- oder netzwerkgebundene E / A und nicht CPU / Speichergebunden). Das gleiche Argument ist das Schlüsselwort gegen übermäßigen Gebrauch voncat
zu (ich benutze manchmal cat, wenn es nicht wirklich gebraucht wird, um die Dinge schön von links nach rechts zu lesen, aber das zusätzliche Kopieren von Daten im Speicher über die Pipe und die Kontextumschaltung kann ein Problem darstellen) messbare Auswirkungen auf die Leistung).cat
Nutzung beginnt damitcat foo
, dass ich den Aufwärtspfeil drücke und dann| [command]
zu meiner vorherigen Zeile hinzufüge . Ich weiß, dass ich einen (kleinen) Leistungseinbruch erleide, indem ich die Katze dort drin halte, aber das Verlassen erfordert weniger Aufwand als das Umschreiben / erneute Eingeben des Befehls[command] < foo
. Keine Sorge für (die meisten) Ad-hoc-Kommandozeilen, aber nicht ideal für Skripte (so wie ich mich fühlepv
, denke ich).ssh, Vim, htop, su, Python, ls, cd, bildschirm, du, tar :)
quelle
sudo
.Im Ernst,
tail -f
ist nützlich.quelle
tail -f
multitail
Einige, die noch nicht erwähnt wurden:
quelle
Teerpfeife!
Das Weiterleiten der Ausgabe von tar an ein anderes Dienstprogramm, an tar, das auf derselben Box ausgeführt wird, oder an tar, das über SSH ausgeführt wird, ist mein bevorzugter Unix-Vorgang der alten Schule zum Verschieben von Dateien von einem Ort an einen anderen.
Dies gibt Ihnen auch die Windows-ähnliche Möglichkeit, einen Ordner in einen anderen zu kopieren und alle Dateien im Quell- und Zielverzeichnis zu speichern.
quelle
zsh als Shell
Es ist besonders effizient mit den Erweiterungen / Setups von grml.org .
quelle
iotop ist ein top-ähnliches Programm zum Überwachen der E / A-Zugriffe auf Ihre Festplatten.
quelle
Die meisten dieser Tools werden durch die Verwendung von Bash "Programmable Completion" wesentlich leistungsfähiger. Sie können also beispielsweise Befehlszeilenoptionen durch Tabulatoren ergänzen oder den Namen eines Pakets mit "apt-get install" aussprechen. Es wird auch begrenzt, was Sie für relevante Dateien per Tab vervollständigen - zum Beispiel werden mit "unzip" nur unterstützte Archivdateien vervollständigt.
Es sind wirklich die Köter - wenn Sie es noch nie ausprobiert haben, müssen Sie wahrscheinlich nur Ihre .bashrc fummeln:
Dies gilt sicherlich für Ubuntu und Debian. Möglicherweise müssen Sie das Paket auf einigen Linux-Distributionen herunterladen.
quelle
Einige zusätzliche Antworten finden Sie in dieser ähnlichen Frage
quelle
Ein paar Dinge übersehen wollte ich erwähnen.
Oh, und ich habe vergessen zu erwähnen, dass Sie beim Schreiben immer Korn verwenden sollten. Ich hasse Korn (nicht die Band. Ich liebe die Band :-P), aber es ist buchstäblich überall. Sie können ein Skript nehmen und es zwischen Solaris, AIX und Linux verschieben, ohne sich Gedanken darüber machen zu müssen, ob der Administrator die Berechtigung hatte, Bash zu installieren.
quelle
Ein Werkzeug, das manchmal sehr praktisch ist, ist nohup. Ich verwende es, um Skripte mit entfernten SSH-Clients auszuführen, die eine lange Zeit dauern.
quelle
man - um die man-seiten zu lesen.
elinks - um google zu überprüfen, weil ich mich verdammt sicher nicht an alles erinnern kann.
Und Liebe zum Detail und Hartnäckigkeit, denn ohne sie verschwende ich nur Zeit.
quelle
Bildschirm ist ein Muss, vor allem mit einer guten .screenrc-Datei. Ich habe es so konfiguriert, dass es visuell anzeigt, in welchem Fenster ich mich befinde und mit Strg + Pfeil zwischen ihnen wechseln kann. Für eine einzelne SSH-Sitzung und mehrere Shells ist dies ein Lebensretter.
quelle
quelle
Ich liebe AWK sowie "für" auf der Kommandozeile.
Insbesondere, um eine Liste von Befehlen zu erstellen, die ich ausführen und dann alle auf einmal ausführen möchte.
quelle