Po administrowaniu serwerami Unix lub podobnymi do Unixa, jakie narzędzia (najlepiej w wierszu poleceń), bez których nie możesz żyć?
źródło
Po administrowaniu serwerami Unix lub podobnymi do Unixa, jakie narzędzia (najlepiej w wierszu poleceń), bez których nie możesz żyć?
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
lubless
, 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)
źródło
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.
źródło
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.
źródło
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? :-)
źródło
Netcat.
Sieciowy szwajcarski scyzoryk, jak mówią.
źródło
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.
źródło
Szybkie skrypty, automatyzacja itp .:
Aby połączyć się z serwerem * NIX:
źródło
Korzystam z większości wymienionych już narzędzi, ale oto jedno, z którym nikt jeszcze się nie dotknął:
źródło
Do skryptów:
źródło
Większość standardowych znajduje się w innych odpowiedziach, więc przejdę do tych niestandardowych:
źródło
Kilka przydatnych narzędzi, o których jeszcze nie wspomniałem:
źródło
expect
ClusterSSH
źródło
vmstat 1
Zapewnia doskonały przegląd zachowania systemu.
źródło
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.
źródło
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życiucat
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ątkucat 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
).ssh, Vim, htop, su, Python, ls, cd, screen, du, tar :)
źródło
sudo
.Poważnie jednak
tail -f
jest przydatne.źródło
tail -f
, pokochaszmultitail
Niektóre, o których wcześniej nie wspomniano:
źródło
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.
źródło
zsh jako powłoka
Jest to szczególnie wydajne z rozszerzeniami / konfiguracją grml.org .
źródło
iotop, to najlepszy program do monitorowania dostępu do wejść / wyjść na dyskach.
źródło
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:
Z pewnością dotyczy to Ubuntu i Debiana. Może być konieczne uzyskanie pakietu w niektórych dystrybucjach systemu Linux.
źródło
Niektóre dodatkowe odpowiedzi można znaleźć w tym podobnym pytaniu
źródło
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.
źródło
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.
źródło
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.
źródło
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.
źródło
źródło
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.
źródło