Narzędzia, na które administrator systemu Unix nie może żyć bez [zamknięty]


33

Po administrowaniu serwerami Unix lub podobnymi do Unixa, jakie narzędzia (najlepiej w wierszu poleceń), bez których nie możesz żyć?

Odpowiedzi:



34

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.


Dla tych, którzy nie wiedzą, „mniej” to zaktualizowana wersja „więcej”. więcej ograniczało, ponieważ można było tylko przesuwać plik do przodu, podczas gdy mniej można również przewijać do tyłu. Ach humor ... :-)
Iain Holder

8
Inną przydatną, ale mało znaną funkcją less jest to, że zawsze możesz użyć polecenia „v”, aby rozpocząć edycję aktualnie oglądanego pliku. Mnemonik to „v” dla „vi”.
dr-jan

A jeśli nie podoba morelub less, zawsze można spróbować most.
drybjed

Mój ulubiony PAGER to teraz w3m. Ma wszystkie funkcje mniej i może pełnić funkcję przeglądarki internetowej w trybie tekstowym :-) Użyłem również funkcji bash, aby używać vima w trybie tylko do odczytu (w ten sposób na przykład otrzymuję ładnie kolorowe różnice). Funkcja bash służy tylko do podjęcia decyzji, czy podać „-” (dla odczytu standardowego), czy nie (w przypadku, gdy plik stronicowany). Działa jak urok, z wyjątkiem stron podręcznika man, w których nroff przesadza ...
njsf

1
htopjest „lepszą” wersją top.
Alexander Bird

26

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)


1
Jeśli masz lsof, nie potrzebujesz netstat. Wystarczy użyć lsof -i
vartec

lsof -n to moja ulubiona inwokacja. Daję fajkę, by grep się uspokoił
Matt Simmons,

19

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.


18
  • sed
  • awk

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.


13

rsync, szczególnie w połączeniu z ssh. Umożliwia proste, wydajne kopiowanie plików z hosta na hosta. Jak sobie poradziliśmy bez ssh i rsync? :-)


12

Netcat.

  • Sprawdź, czy usługi TCP nasłuchują.
  • Wykonuj transakcje przy użyciu protokołów zwykłego tekstu, takich jak SMTP.
  • Szybki niepewny transfer danych między maszynami.
  • Emulacja klienta Telnet.

Sieciowy szwajcarski scyzoryk, jak mówią.


Niedawno zacząłem używać socat jako zamiennika netcata i byłem zdumiony liczbą dostępnych opcji. Zdecydowanie warto to sprawdzić, pomimo strasznej liczby przełączników i dziwnej składni.
Marcin

12

Spójrz prawdzie w oczy - wcześniej czy później poradzisz sobie również z siecią. mtr , tcpdump i tshark są naprawdę przydatne do zobaczenia, co się dzieje.


9

Szybkie skrypty, automatyzacja itp .:

  • grzmotnąć
  • perl

Aby połączyć się z serwerem * NIX:

  • Otwórz SSH (klient Linux)
  • Putty (klient Windows)

+1 za ... cóż, to wszystko naprawdę, ale szczególnie Perl. * nix, Windows lub Mac, nie wyobrażam sobie, co bym bez tego zrobił.
John Gardeniers,

9

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



6

Większość standardowych znajduje się w innych odpowiedziach, więc przejdę do tych niestandardowych:

  • htop - doskonały do ​​zarządzania procesami;
  • pinfo - taka jak Lynx przeglądarka stron informacyjnych i man.

6

Kilka przydatnych narzędzi, o których jeszcze nie wspomniałem:

  • dstat --nocolor (przegląd użycia procesora, dysku, sieci)
  • iftop (ładny dynamiczny przegląd ruchu sieciowego)
  • ccze (ładnie kolorowe logi)
  • tunele ssh (mogą być przydatne raz na jakiś czas; patrz instrukcja; -R)
  • oczekuj (zautomatyzuj interaktywne, gadatliwe interfejsy dialogowe, miłe, jeśli masz szczyptę)

+1 "tail -f <plik> | ccze" = niesamowity sposób czytania plików dziennika.
Lin

+1 zaexpect
Alexander Bird

+1 dla dstat. Najlepszy zamiennik vmstat, iostat itp. Na rynku.
Christopher Cashell

5

ClusterSSH

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.


... a ponieważ ClusterSSH jest napisany w Perlu, być może powinieneś nauczyć się Perla.
Brad Gilbert

Jaka jest różnica między ClusterSSH a ekranem GNU? czy są to różne implementacje tej samej koncepcji?
Alexander Bird


4

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.


pvmoż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).
Christopher Cashell

Dobra uwaga, Christopher, chociaż nigdy nie widziałem, aby powodowała aż 15% zmianę wydajności (z drugiej strony, większość tego, czego używam, pvjest związana z dyskiem lub siecią we / wy, a nie z procesorem / pamięcią). Ten sam argument jest kluczowy przeciwko nadmiernemu użyciu catró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ść).
David Spillett

Tak, robię to samo. Większość mojego nadmiernego catuż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).
Christopher Cashell



3

Niektóre, o których wcześniej nie wspomniano:

  • Orzeł reszka
  • różn
  • pstree
  • smoła
  • gzip / bzip
  • zegarek

+1 pstree jest całkiem słodkie.
Lin

3

smoła rurowa!

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.




3

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.



2

Kilka rzeczy przeoczyłem, o których chciałem wspomnieć.

  • vim -d diff konsoli podzielonego ekranu, dzięki czemu bardzo łatwo jest zobaczyć różnice w pliku
  • pdsh pozwala na łatwe uruchomienie komendy na dowolnej liczbie systemów, szeregowej lub równoległej (jestem administratorem klastra. Nie mogę bez niej funkcjonować).
  • Nmon jest jak top on crack. Daje świetny pomysł na to, co dzieje się w systemie na jednym ekranie. Możesz zobaczyć dyskowe operacje we / wy, użycie procesora we / wy w sieci i wykorzystanie pamięci w czasie rzeczywistym. Przynajmniej fajna rzecz do zabawy podczas profilowania systemu.

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.


2

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.


2

man - aby przeczytać strony podręcznika man.

elinks - żeby sprawdzić google, bo na pewno nie pamiętam wszystkiego.

I dbałość o szczegóły i wytrwałość, ponieważ bez nich po prostu marnuję czas.


+1 za dbałość o szczegóły i wytrwałość
cop1152

2

screen jest koniecznością, szczególnie przy dobrym pliku .screenrc. Skonfigurowałem go tak, aby wyświetlał wizualnie okno, w którym jestem, i mogę się między nimi poruszać za pomocą Ctrl + Strzałka. Dla pojedynczej sesji ssh i wielu powłok jest to ratowanie życia.



2

Uwielbiam AWK oraz „for” w wierszu poleceń.

Zwłaszcza, aby zbudować listę poleceń, które chcę uruchomić, a następnie wykonać je wszystkie jednocześnie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.