W ciągu ostatniej dekady Linux rozwinął się z alternatywny system operacyjny dla entuzjastów w niezbędne narzędzie do zasilania jednych z najbardziej niezawodnych infrastruktur oprogramowania na świecie.
Wraz z poszerzaniem się tego typu usług z dnia na dzień wzrosło również zapotrzebowanie na osoby biegle w administrowaniu tymi systemami. W serii Linux Hands On próbujemy zbliżyć się o kilka kroków do podróży na ten poziom.
Od dwóch tygodni zajmujemy się terminalem linuksowym od podstaw. Zaczęliśmy od podstawowe polecenia Linuksa i instalacja Linuksa na maszynie wirtualnej w pierwszej części, a następnie zbudowaliśmy na tym średniozaawansowane polecenia Linuksa oraz krótkie wprowadzenie o procesach Linuksa oraz o tym, jak je przeglądać i zabijać w drugiej części.
W tym tygodniu w końcu zamierzamy zintensyfikować naszą grę!
Czego się dowiesz
- Zwiększanie produktywności dzięki aliasingowi poleceń
- Sprawdzanie wykorzystania dysku na podstawie woluminów i typów plików
- Pobieranie plików przez sieć
- Podstawy rozwiązywania problemów z siecią
- Usługi i jak nimi zarządzać
- Kontrola dostępu użytkownika/zarządzanie sesją
- Zamykanie i ponowne uruchamianie systemu
W tym tygodniu omówimy zaawansowane polecenia terminala. Te polecenia obracają się wokół rzeczy, których będziesz potrzebować przez większość czasu podczas administrowania systemem, mamy również kilka poleceń, które pomogą Ci skrócić czas realizacji i zwiększyć produktywność.
1. Aliasy poleceń
Więc pierwszym punktem, który omówimy, są aliasy i to uderzy w część postu dotyczącą produktywności. Co jakiś czas będziesz powtarzać pewne polecenie od czasu do czasu. W takich sytuacjach technika historii poleceń, którą omówiłem w pierwszej części. Historia poleceń zauważy, że faktycznie pomaga zaoszczędzić czas, unikając wpisywania polecenia, jest to kompensowane podczas przewijania. Używając aliasu poleceń, możesz uniknąć wszystkich tych kłopotów. Aliasing przydaje się, gdy masz do czynienia z poleceniami, które są szczególnie trudne do wpisania i gdy nie używasz wtyczki autouzupełniania na swoim terminalu.
Przed utworzeniem aliasów zobaczmy, jak je wyświetlić. Alias (w kontekście terminala Linux) to skrót od tradycyjnego polecenia terminala. Nie dotyczy to jednak wyłącznie poleceń terminala systemu Linux. Możesz aliasować prawie każde polecenie, jakie można sobie wyobrazić.
Oto przykład. Do zatwierdzenia do repozytorium git używamy git commit z flagą -m. Załóżmy, że używasz tego polecenia średnio co najmniej 10 do 20 razy w tygodniu. Wpisywanie całej rzeczy nie ma sensu, tutaj pojawia się aliasing. Używając aliasu, takiego jak powiedzmy gitcmt, oszczędzasz sobie kłopotów z wpisywaniem całości. Dodaj tę oszczędność w ciągu kilku miesięcy i lat, a otrzymasz kilka dodatkowych godzin. Rozwala twój umysł, prawda?
W porządku, zobaczmy, jak sprawdzić i utworzyć aliasy.
Aby wyświetlić listę już istniejących aliasów, wystarczy wydać alias polecenie bez żadnych flag i naciśnij enter. A lista aliasów zostanie zwrócona.
Te aliasy są w większości globalnymi aliasami na poziomie systemu, które dotyczą wszystkich użytkowników systemu.
Teraz, gdy wiemy, jak zobaczyć wszystkie aliasy w systemie, przejdźmy dalej i utwórzmy jeden.
Aby utworzyć alias, oto składnia.
alias ALIASNAME="ACTUAL_COMMAND_NAME"
Więc w naszym przypadku będziemy mieli alias dla polecenia echo tylko w celach demonstracyjnych.
Po prostu wpisz następujące i naciśnij Enter.
alias ec="echo"
Teraz zamiast używać przegapić, możemy po prostu wpisać ec zamiast.
Pamiętaj jednak, że ten alias będzie trwał tylko jedną sesję, co oznacza, że jeśli zamkniesz terminal i otworzysz go ponownie, przestanie działać. Aby było to trwałe, musisz edytować plik konfiguracyjny powłoki, który jest przechowywany na ~ / .bashrc
Otwórz plik w nano, umieść polecenie w tym pliku, jak pokazano na zrzucie ekranu poniżej i wyjdź.
Po wyjściu wydaj następujące polecenie:
source ~ / .bashrc
Gdy to zrobisz, twój alias polecenia będzie stały.
Zobaczmy teraz, jak można ujednolicić polecenie. Odwrotny efekt osiąga się poprzez wydawanie alias komenda
Połączenia alias Polecenie nie tylko usunie alias z bieżącej sesji, ale także z pliku konfiguracyjnego powłoki.
2. Whereis dowództwo
Często, gdy ludzie piszą oprogramowanie, utrzymują 2 różne środowiska. Środowisko programistyczne, które przypomina konfigurację serwera produkcyjnego i zwykłe środowisko lokalne, które jest zgodne z potrzebami użytkownika. Aby utrzymać te 2 przestrzenie odizolowane/oddzielone od siebie, większość ludzi albo używa czegoś takiego jak Docker lub włóczęga, ale niektórzy wolą również podejście ręczne. Jeśli wpadniesz w drugą połowę, jest całkiem prawdopodobne, że masz zduplikowane pliki binarne lub te same pliki binarne z różnymi wersjami na tej samej maszynie. To następne polecenie pomoże ci wyświetlić listę wszystkich instalacji określonego pliku binarnego. Polecenie nazywa się whereis i wyświetli listę lokalizacji, w której przechowywany jest konkretny plik binarny wraz z jego dokumentacją.
Oto składnia dla gdzie jest polecenie:
gdzie jest BINARY_NAME
Teraz, gdy widzieliśmy składnię, zobaczmy, jak używać polecenia whereis:
Jak widać na liście, lokalizacja pliku binarnego git jest przechowywana w systemie.
To polecenie, jakkolwiek uproszczone, będzie bardzo pomocne, gdy napotkasz problemy ze zgodnością podczas budowania czegoś.
3. dowództwo obsługi
Długotrwała operacja w tle nazywana jest w Linuksie usługą. System operacyjny Linux dostarczany jest z wieloma usługami, które można znaleźć w katalogu /etc/init.d. Chociaż nie możemy opisać, jak utworzyć niestandardową usługę, ponieważ jest to poza zakresem tego postu, proste wyszukiwanie na StackOverflow z pewnością pokieruje tym, jak ją utworzyć. Porozmawiamy natomiast o zarządzaniu usługami. Obejmuje to uruchamianie, zatrzymywanie ponownego uruchamiania i sprawdzanie statusu usług.
Składnia usługa polecenie wyglądałoby następująco:
usługa SERVICE_NAME start
W przypadku tego przykładu będziemy pracować z sshd usługa będąca bezpiecznym serwerem powłoki od OpenBSD.
Aby uruchomić usługę, używamy start usługi, po której następuje nazwa usługi (tutaj sshd).
usługa sshd start
Zobaczmy to w akcji poniżej. A jeśli po naciśnięciu klawisza Enter nic się nie pojawi na terminalu, oznacza to, że zadziałało pomyślnie.
Sprawdźmy teraz status tej samej usługi. W tym celu użyjemy status opcja wraz z poleceniem serwisowym. Jak widać poniżej.
stan sshd usługi
Pokazuje to, czy usługa jest aktywna, czy nie, wraz z innymi pomocnymi szczegółami.
Skoro już wiemy, jak uruchomić usługę i sprawdzić jej status, zobaczmy, jak możemy ją zatrzymać.
W tym celu używamy opcji stop wraz z poleceniem service. Jeśli teraz sprawdzisz status, dowiesz się, że jest nieaktywny.
zatrzymanie sshd usługi
W porządku, teraz na ostatnią część, ponownie uruchomimy usługę. I żeby to zrobić, niespodzianka niespodzianka, skorzystamy z opcji restartu.
sshd restart usługi
Ruszajmy dalej.
4. df Polecenie
Ponieważ ta część serii dotyczy nauki administrowania systemem Linux za pośrednictwem terminala, nauczmy się jednego z najczęstszych zadań, które wykonujemy podczas korzystania z systemu operacyjnego. Zobaczymy, jak sprawdzić miejsce na dysku bezpośrednio z terminala. W tym celu użyjemy polecenia df. To znaczy dyskowy system plików i jest używany do wyświetlania ilości miejsca na dysku dostępnego w systemie plików.
Zacznijmy od składni polecenia df:
df [OPCJA]... [PLIK]...
Zobaczmy, jak działa polecenie df. Domyślnie, bez podanych opcji, polecenie df wyświetli listę rozmiarów poszczególnych woluminów w formacie, który nie jest całkiem czytelny.
Aby temu zapobiec, użyjemy -h flaga, która oznacza format czytelny dla człowieka. Wpisz następujące polecenie
df -h
A teraz, jak widać, podał rozmiar woluminu w Megabajty i Ggigabajty. Istnieje kilka innych opcji obsługiwanych przez polecenie df i sugerowałbym sprawdzenie ich za pomocą polecenia man.
5. dowództwa
Widzieliśmy, jak możemy sprawdzić statystyki miejsca na dysku dla naszego komputera, ale to tylko jeden krok do pełnej kontroli. Co powiesz na sprawdzenie miejsca zajmowanego przez poszczególne pliki. W tym celu używamy polecenia du, które szacuje ilość miejsca na dysku zajmowaną przez pliki.
Oto składnia polecenia du:
du [OPCJA]... [PLIK]...
Domyślnie, bez podania żadnych opcji, widzimy, że polecenie wyświetla listę plików i miejsca, które zajmują, w nieczytelnym formacie.
Aby nadać im więcej sensu, użyjmy -h ponownie opcję, która wyświetli rzeczy w formacie czytelnym dla człowieka.
du-h
Jak widać poniżej, teraz zawiera listę miejsca zajmowanego przez wszystkie typy plików w jednostkach, które znamy.
Możemy również śmiało sprawdzić rozmiar zajmowany przez określony typ pliku w katalogu za pomocą -s flaga. Sprawdźmy, czy w bieżącym katalogu znajdują się pliki tekstowe.
du -s *.txt
6. passwd Polecenie
Kolejnym krokiem w uzyskaniu pełnej kontroli nad systemem byłaby faktycznie możliwość zmiany hasła. Chodzi mi o to, jaki jest pożytek z administratora systemu, jeśli zostanie zablokowany na swoim komputerze, prawda? fajnie, więc przyjrzymy się, jak zmienić hasło i w tym celu użyjemy passwd dowództwo.
Oto składnia polecenia passwd:
hasło [OPCJA] [UŻYTKOWNIK]
A teraz oto jak używamy polecenia passwd:
passwd
Teraz oczywiście ze względów bezpieczeństwa Linux i Unix nie pokazują hasła w postaci gwiazdek na konsoli, ponieważ poznając długość hasła można zbliżyć się o 1 krok do brutalnego wymuszania go, ale uwierz mi na słowo i wypróbuj, to działa.
W porządku, ruszajmy dalej.
7. wget Polecenie
Następnie zobaczmy, jak możesz pobierać pliki bezpośrednio z terminala. Jeśli już mówisz sobie „czy jest coś, co zostawi dla interfejsu użytkownika?”, dziękuję, ale postaram się tego nie robić.
Aby pobrać pliki z Internetu, użyjemy polecenia wget, które oznacza web get. Jest to narzędzie wiersza poleceń do pobierania pliku przez sieć. Użycie polecenia wget jest bardzo łatwe. Wystarczy podać adres URL pliku, który ma zostać pobrany po poleceniu wget.
Ze względu na strukturę, oto składnia:
wget URL_OF_FILE
A oto przykładowe użycie.
Interesujące w wget jest to, że może wznowić pobieranie, jeśli nie powiedzie się z powodu problemu z siecią lub z innych powodów.
8 kto dowodzi
Dla administratora systemu kontrola dostępu to kolejna z ważnych ról. Muszą zarządzać dostępem do głównego systemu oraz sprawdzać i monitorować działania aktualnie zalogowanych. To następne polecenie pomoże ci sprawdzić, kto jest aktualnie zalogowany w systemie. Polecenie nazywa się którzy testują i oceniają narzędzia, przedstawiając swoje potrzeby i wyzwania w kontekście stosowanych narzędzi a oto jego składnia.
kto [ OPCJA ]... [ PLIK ] [ jestem ja ]
Zobaczmy, jak działa komenda who:
Teraz, ponieważ jestem na komputerze jednego użytkownika i tylko ja go teraz używam, jedynym użytkownikiem, którego widzisz na zrzucie ekranu, jestem ja. Ale zakładając, że zarządzasz serwerem produkcyjnym z kilkoma 100 użytkownikami zalogowanymi w tym samym czasie, zobaczysz ich na tej samej liście. Upewnij się, że przetestowałeś wszystkie dostępne opcje, dla których używa się polecenia man.
9. polecenie ping
W porządku. Za pomocą tego następnego polecenia sprawdzimy, czy zdalny host jest online, czy nie. W tym celu używamy polecenia ping. W najbardziej prymitywnym wyjaśnieniu technicznym oznacza to, że polecenie wyśle ICMP ECHO_REQUEST pakiety do hosta, aby sprawdzić jego dostępność. Jeśli host jest dostępny, odpowie potwierdzeniem, a jeśli nie, pakiety zostaną odrzucone. Zobaczmy, jak używać polecenia ping.
Składnia jest dość prosta.
ping [-LRUbdfnqrvVaAB] [-c liczba] [-m znacznik] [-i interwał] [-l wstępne ładowanie] [-p wzorzec] [-s rozmiar pakietu] [-t ttl] [-w ostateczny termin] [-F etykieta przepływu] [-I interfejs] [-M wskazówka] [-N nioption] [-Q tos] [-S sndbuf] [-T opcja znacznika czasu] [-W timeout] [hop ...] cel
A oto przykładowe użycie.
ping google.com
To polecenie najczęściej jest używane podczas rozwiązywania problemów z siecią. Dane wyjściowe polecenia ping zawierają kilka różnych statystyk. Po pierwsze, zawiera ICMP numer sekwencyjny, który informuje o numerze pakietu. Oprócz tego zawiera również TTL pole, które określa czas życia pakietu, tj. liczbę routerów, do których może przeskoczyć, zanim zostanie faktycznie odrzucony.
10. polecenie wyłączenia
W porządku, jesteśmy w końcu na końcu tej części. Zakończmy formalnie to, ucząc się, jak zamknąć system z terminala. Zobaczymy również, jak zrestartować system bezpośrednio z samego terminala. Teraz, ponieważ to polecenie faktycznie wyłącza komputer, pokażę demo na moim serwerze, do którego uzyskam dostęp za pomocą bezpiecznej powłoki za pośrednictwem mojego hosta. Oto składnia polecenia zamknięcia:
shutdown [-akrhPHfFnc] [-t sec] time [wiadomość]
Aby wyłączyć maszynę, po prostu wydajemy zamknięcie polecenie bez żadnych opcji. Aby go ponownie uruchomić, możesz użyć -r flaga. Oto jak by to wyglądało z -r flag.
wyłącz -r
I cóż, w demie nie ma wiele do „zobaczenia” poza faktem, że system zostałby zamknięty. Możesz obejrzeć powyższe wideo, w którym pokazuję, że mój serwer faktycznie wyłącza się po wykonaniu polecenia.
Wnioski
W porządku, doszliśmy do końca trzeciej części serii Linux Hands On. Część 1 omówiliśmy same podstawy, a następnie zbudowaliśmy na nim w Część 2 aw części 3 skupiliśmy się na aspekcie administrowania systemem Linux. Jak zawsze, gorąco polecam wypróbowanie tych zaawansowanych poleceń terminala linuksowego zamiast po prostu czytać post lub oglądać filmy. Jedną z rzeczy, które bardzo sobie cenię, jest biegłość, która wiąże się z rozległą praktyką. Upewnij się, że to robisz, a jeśli napotkasz błędy lub masz pytanie, napisz do nas w sekcji komentarzy lub na Twitterze. Do zobaczenia w przyszłym tygodniu z ostatnią częścią tej serii i czy to będzie zabawne. Kiedy pójdę i napiszę część 4, poświęć trochę czasu i przećwicz te polecenia. Do następnego razu! Udanego kodowania!
Zostaw komentarz
Masz coś do powiedzenia na temat tego artykułu? Dodaj swój komentarz i rozpocznij dyskusję.