Odpowiedzi:
Ekran GNU - niezbędny, gdy zarządzasz dużą liczbą systemów i nie chcesz mieć otwartych kilkunastu okien terminali.
Niektórzy wiem, że nie mogę żyć bez ...
tee - umożliwia jednoczesne zapisywanie do STDOUT (standardowe wyjście) i pliku. Idealne do przeglądania informacji i rejestrowania ich na później.
top - menedżer zadań UNIX, daje świetny przegląd systemu.
tail -f - pozwala przeglądać dołączone dane w miarę wzrostu pliku, co jest idealne do monitorowania plików dziennika na serwerze.
grep - Global Express Expression Print, doskonały do wyszukiwania danych w plikach.
df - raportuje użycie dysku przez bieżące systemy plików.
du - raportuje użycie dysku przez określony plik / katalog.
mniej - potrzebne do przeglądania stron podręcznika! przydatne również do przeglądania wyników poleceń w łatwo widoczny sposób.
vim / Emacs / nano / pico / ed - niezależnie od tego, jaki może być Twój edytor tekstów, samo wyjaśniające, dlaczego jest potrzebne.
more
lub less
, zawsze można spróbować most
.
htop
jest „lepszą” wersją top
.
lsof, aby określić, które procesy używają pliku lub katalogu (przydatne, gdy próbujesz dowiedzieć się, co uniemożliwia podłączenie urządzenia)
netstat w celu ustalenia, które procesy używają połączeń sieciowych (szczególnie przydatne, gdy próbuje się dowiedzieć, który demon jest powiązany z określonym portem)
Naucz się wszystkich podstawowych narzędzi, ale naucz się Perla.
Perl jest idealny do manipulowania tekstem, a ponieważ operatorzy un * x żyją na plikach tekstowych, potokach, danych wejściowych i wyjściowych, Perl jest doskonałym rozwiązaniem.
Dodatkowym bonusem jest to, że Perl działa na wielu platformach, a jeśli musisz popracować nad oknem, masz łatwy do zainstalowania (po prostu upuść katalog Perla na serwerze) język, który już znasz.
I w tym myśleniu weź również Cygwina. Jeśli jesteś administratorem un * x i musisz pracować na oknie systemu Windows (nawet na pulpicie) posiadającym ls, rm, grep, sed, tail itp. Zaoszczędzisz dużo czasu przy zmianie systemu operacyjnego.
Zapomniani dziadkowie skryptów nowoczesnych systemów. Wiem, że Perl czerpie większość miłości (wraz ze skryptami Bash, Python, Ruby i [wstaw tutaj swój ulubiony język skryptowy]) i nie zrozumcie mnie źle, kocham Perla. Korzystam z niego prawie codziennie.
Ale sed i awk nie powinny być zapominane, pomijane lub ignorowane. W wielu przypadkach sed i awk są najlepszymi narzędziami do pracy. Szybkie przykłady to filtrowanie wiersza poleceń za pomocą sed oraz szybkie i brudne przetwarzanie dzienników za pomocą awk. Oba mogą być wykonane w Perlu, ale będą wymagały więcej pracy i czasu na rozwój.
Netcat.
Sieciowy szwajcarski scyzoryk, jak mówią.
Szybkie skrypty, automatyzacja itp .:
Aby połączyć się z serwerem * NIX:
Korzystam z większości wymienionych już narzędzi, ale oto jedno, z którym nikt jeszcze się nie dotknął:
Puppet - system do automatyzacji zadań związanych z administrowaniem systemem
Kilka przydatnych narzędzi, o których jeszcze nie wspomniałem:
expect
ClusterSSH kontroluje wiele okien Xterm za pomocą pojedynczego okna konsoli graficznej, aby umożliwić interaktywne uruchamianie poleceń na wielu serwerach za pośrednictwem połączenia ssh.
pv: Wyświetla postęp długich operacji, które można przekierować. http://www.ivarch.com/programs/pv.shtml
Przydatne, jeśli chcesz monitorować coś, co zajmie wieki, na przykład kopiowanie / kompresowanie surowego urządzenia blokowego przez sieć (w ten sposób biorę kopie zapasowe paranoi mojego netbooka 8 Gb, zanim majstruję przy czymś poważnym, takim jak poprawianie ustawień systemu plików).
Ponadto: oddam drugie głosy na ssh, rsync, screen, htop i netcat, jak wspomniano powyżej - wszystkie z nich są ważniejsze niż pv, ale pv jeszcze nie wspomniano. W rzeczywistości pv jest często przydatnym dodatkiem podczas przesyłania rzeczy do lub z NetCat.
pv
może być przydatnym narzędziem, ale uważaj na nadużywanie go. Przekazywanie danych absolutnie wpływa na wydajność (wszystkie dane muszą przejść przez inny program). Podczas mojej ostatniej pracy wykonaliśmy dużo przetwarzania dzienników. Jeden z facetów postanowił zacząć umieszczać pv we wszystkich skryptach przetwarzania dziennika, dopóki nie odkryliśmy, że zwiększyło to o około 15% czas przetwarzania. Teraz jest używany tylko w przypadku zadań, które zajmują mniej niż kilka minut lub które mają istniejące ograniczenie zasobów (takie jak przekroczenie wolnego połączenia sieciowego).
pv
jest związana z dyskiem lub siecią we / wy, a nie z procesorem / pamięcią). Ten sam argument jest kluczowy przeciwko nadmiernemu użyciu cat
również (czasami używam cat, gdy tak naprawdę nie jest potrzebny, aby ładnie czytać od lewej do prawej, ale dodatkowe kopiowanie danych w pamięci za pomocą potoku i przełączanie kontekstu może mieć mierzalny wpływ na wydajność).
cat
używania pochodzi od początku cat foo
, następnie uderza strzałkę „w górę”, a następnie dodaje | [command]
do mojej poprzedniej linii. Wiem, że biorę (mały) cios, utrzymując kota, ale pozostawienie go wymaga mniej wysiłku niż przepisanie / przepisanie polecenia [command] < foo
. Nie dotyczy (większości) pracy wiersza poleceń ad hoc, ale nie jest idealny do skryptów (tak jak myślę w stosunku do tego, co czuję pv
).
przesyłanie danych wyjściowych tar do innego narzędzia, tar działający na tym samym pudełku lub tar działający przez SSH to mój ulubiony old-schoolowy uniksowy ruch do przenoszenia plików z jednego miejsca do drugiego.
Daje to również opcję kopiowania jednego folderu do drugiego w stylu Windows i kończenia na wszystkich plikach w katalogu źródłowym i docelowym.
zsh jako powłoka
Jest to szczególnie wydajne z rozszerzeniami / konfiguracją grml.org .
iotop, to najlepszy program do monitorowania dostępu do wejść / wyjść na dyskach.
Większość tych narzędzi jest znacznie wydajniejsza dzięki Bashowi „programowalnego uzupełniania” - dzięki czemu można uzupełniać tabulatorami takie rzeczy, jak opcje wiersza poleceń lub wypowiadać nazwę pakietu za pomocą „apt-get install”. Ograniczy to również to, co uzupełniasz tabulatorami dla odpowiednich plików - na przykład „rozpakuj” wypełni tylko obsługiwane pliki archiwów.
To naprawdę kundle - jeśli nigdy tego nie próbowałeś, prawdopodobnie po prostu musisz pogrzebać .bashrc:
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
Z pewnością dotyczy to Ubuntu i Debiana. Może być konieczne uzyskanie pakietu w niektórych dystrybucjach systemu Linux.
Niektóre dodatkowe odpowiedzi można znaleźć w tym podobnym pytaniu
Kilka rzeczy przeoczyłem, o których chciałem wspomnieć.
Aha, i zapomniałem wspomnieć, kiedy piszę skrypty, uważam, że zawsze powinieneś używać Korna. Nienawidzę Korna (nie zespołu. Kocham zespół :-P), ale dosłownie wszędzie. Możesz wziąć skrypt i przenieść go między systemami Solaris, AIX i Linux i nie musisz się martwić, czy administrator miał przyzwoitość, aby zainstalować Bash.
Jednym narzędziem czasami bardzo przydatnym jest nohup. Używam go do uruchamiania skryptów, które działają przez długi czas przy użyciu zdalnych klientów SSH.