W zeszłym tygodniu rozpoczęliśmy naszą serię Linux Hands-On, aby stworzyć uporządkowaną serię, która informuje i edukuje czytelnika o tym, czym jest Linux, jak to działa, a jednocześnie upewnia się, że ubrudzi sobie ręce, wypróbowując polecenia terminala.
Jak wspomniano w pierwszej części serii, cała seria będzie co tydzień logiczną progresją. Oznacza to, że ta część będzie miała sens tylko wtedy, gdy przejdziesz przez pierwszą część i wypróbowałeś wszystkie polecenia lub jeśli masz podstawowa wiedza o Linuksie i możesz to obejść. Jeśli nie znasz tych pojęć, upewnij się, że przeczytaj pierwszą część, a następnie możesz od razu wskoczyć.
W poście z tego tygodnia będziemy budować na podstawie tego, co omówiliśmy w poprzednim poście i powiemy, jak możesz zrobić bardziej skomplikowane rzeczy. Jeśli masz pytania typu jak edytować pliki w Linuksie? Jak wyświetlić proces w Linuksie itp., odpowie na nie ten post. Więc nie tracąc więcej czasu, przejdźmy od razu do poleceń.
Podzielimy polecenia na sekcje, aby sensowne było przejrzenie ich jedna po drugiej.
Czego się dowiesz
- Obsługa plików
- Dopasowywanie wzorców
- Proces: Oglądanie i zabijanie
- Edycja plików tekstowych
W porządku, więc teraz, gdy mamy ułożoną podstawową strukturę, przejrzyjmy je jeden po drugim.
W poprzednim poście dowiedziałeś się, jak tworzyć pliki w systemie Linux i jak je usuwać. Zbudujmy na tym i najpierw zobaczmy, jak wyświetlić zawartość pliku.
kot komenda
Aby wyświetlić zawartość pliku, używamy polecenia cat. Podręcznikowa definicja tego polecenia jest taka, że – polecenie cat sekwencyjnie odczytuje plik i drukuje dane wyjściowe na standardowe wyjście. W uproszczeniu oznacza to, że plik wypisuje zawartość pliku wiersz po wierszu.
Posłużmy się przykładem, aby zobaczyć, jak działa polecenie kota?
Oto składnia:
kot FILENAME
Wymienić NAZWA PLIKU z jednym z własnych. Jak widać poniżej, polecenie właśnie wydrukowało zawartość plików ghost.txt w formacie wiersz po wierszu:

Teraz, gdy wiemy, jak przeglądać zawartość pliku, nauczmy się, jak faktycznie dodawać zawartość do pliku bezpośrednio z terminala, bez używania jakichkolwiek edytorów (nie martw się, to nastąpi wkrótce).
Operatory przekierowania w systemie Linux
Jeden ze sposobów, w jaki możesz dodać (zastąp lub dołącz) zawartość do pliku odbywa się za pomocą jednego z operatorów przekierowania. Mówiąc prościej, operatory przekierowania pozwalają użytkownikom kontrolować dane wejściowe i wyjściowe polecenia.
To przeleciało ci przez głowę, oto bardziej powiązany przykład. Pamiętasz, co zrobiło polecenie echo? Wypisał ciąg do terminala. Ciąg znaków był wynikiem polecenia echo. Używając jednego z operatorów przekierowania, możesz faktycznie użyć tego wyjścia i zapisać go do pliku.
Dość gadania, zobaczmy jak działa operator przekierowania na przykładzie.
Oto składnia operatora przekierowania:
polecenie przekierowanie_pliku operatora
Tutaj polecenie jest poleceniem terminala, które wygeneruje ciąg, a plik jest rzeczywistym plikiem, który zaakceptuje to wyjście. Dostępnych jest kilka operatorów przekierowania, ale ograniczmy nasz zakres do zapisu do plików.
W tym celu możemy użyć jednego z dwóch operatorów przekierowania, tj. > i >>
Na poniższym zrzucie ekranu możesz zobaczyć, jak to działa. Pokazałem w terminalu, że plik jest początkowo pusty za pomocą polecenia cat, następnie dodałem zawartość do pliku za pomocą polecenia echo i ostatecznie wydrukowałem zawartość za pomocą polecenia cat.
Połączenia > operator pracuje w trybie nadpisywania. Oznacza to, że jeśli używasz > operator do zapisywania treści do pliku, jego poprzednia zawartość zostanie nadpisana. Jest to pokazane na poniższym zrzucie ekranu. Jak widać poprzednia zawartość została zastąpiona nową.

Teraz oczywistym pytaniem jest, co jeśli nie chcesz zastępować istniejącej zawartości? Cóż, istnieje wersja operatora przekierowania, która właśnie to robi.
Aby dołączyć do pliku, zamiast używać > używamy >>
Oto składnia:
polecenie >> nazwa pliku
Przykładowe użycie można zobaczyć na poniższym zrzucie ekranu, do którego została dołączona treść. Całkiem schludny, prawda? Zgadzam się, że nie oferuje takiej samej elastyczności jak edytor tekstu, ale w przypadku mniejszych zastosowań radzi sobie całkiem nieźle.

W porządku, ruszamy dalej!
Skoro już wiemy, jak dodawać zawartość do pliku i jak je przeglądać, co powiesz na naukę znajdowania plików w systemie plików?
znajdź polecenie
Aby wyszukać pliki w twoim systemie plików, używamy polecenia find. Polecenie zasadniczo robi to, co twierdzi. Znajduje podaną nazwę pliku lub wzorzec regex.
Podstawowa składnia tego samego wyglądałaby następująco:
znajdź ścieżkę -wyrażenie nazwy
Jak zawsze zastępuj symbole zastępcze własnymi wartościami.
Połączenia ścieżka mówi poleceniu find, w którym katalogu szukać danego pliku. ten Nazwa opcja określa wzorzec, do którego należy dopasować wyszukiwanie.
Zobaczmy, jak działa polecenie find w przykładowym użyciu.

Jak widać poniżej w przykładowych danych wyjściowych, polecenie szuka dowolnych .exe plików w moim systemie plików i wyświetla je na konsoli. Teraz, gdy mamy za sobą kilka bardziej złożonych poleceń manipulacyjnych, pójdźmy o krok dalej.
Przyjrzymy się teraz, jak możemy wyszukiwać rzeczy w pliku.
grep Polecenie
grep oznacza Globalne wyrażenie regularne i chociaż omówimy to w przyszłym poście, podstawowym wyjaśnieniem tego, co to oznacza, jest to, że jest to po prostu szablon, którego grep używa do sprawdzania ciągów w celu znalezienia dopasowania. Nie martw się, jeśli nie ma to większego sensu. Omówimy to obszernie w części 3.
W porządku, przetestujmy więc grep. Oto składnia naszego testu:
grep -i "ciąg do dopasowania" nazwa_pliku.rozszerzenie
Połączenia - ja opcja powie grepowi, aby zignorował wielkość liter, więc „HO” „ho” i „hO” będą traktowane tak samo. Łańcuch do dopasowania jest określony w cudzysłowie, po którym następuje nazwa pliku.

W porządku, zobaczmy, jak polecenie grep w demie. Jak widać powyżej, mój przykład pokazuje użycie grep zarówno w trybach rozróżniających wielkość liter, jak iw trybie bez rozróżniania wielkości liter.
Warto w tym miejscu zauważyć, że istnieje n różnych kombinacji dla polecenia i kilka opcji, które można z nim połączyć. To, co tutaj robię, to ogólny, zaokrąglony przypadek użycia, który będzie działał w większości prostych przypadków, ale jeśli chcesz iść za wszystko, zdecydowanie możesz zrobić człowieka na poleceniu, aby znaleźć wszystkie dostępne opcje do użycia z Komenda.
Następnie zobaczmy, jak możemy porównać 2 różne pliki linia po linii.
diff Polecenie
Aby zobaczyć, czym różnią się 2 pliki (rozumiesz?) używamy polecenia diff. Lepiej zobaczyć to w akcji, aby zrozumieć, jak to naprawdę działa, więc przejdźmy od razu.
Oto składnia polecenia diff:
plik diff1 plik2
A oto przykładowe użycie polecenia diff Linux:

Na pierwszy rzut oka może to nie mieć sensu, więc podzielmy dane wyjściowe.
Pierwszy wiersz wyniku diff będzie zawierał:
- numery linii odpowiadające pierwszemu plikowi
- litera (a dla dodania, c dla zmiany lub d dla usunięcia)
- numery wierszy odpowiadające drugiemu plikowi.
W naszym wyniku powyżej, „1,3c1” znaczy: „Wiersze od 1 do 3 w pierwszym pliku należy zmienić, aby dopasować wiersze 1 w drugim pliku”. Następnie mówi nam, jakie są te wiersze w każdym pliku:
- Linie poprzedzone < są liniami z pierwszego pliku
- Wiersze poprzedzone > to wiersze z drugiego pliku.
Idąc dalej, zobaczymy, jak możemy dowiedzieć się o powtarzających się liniach w danym pliku.
unikatowe polecenie
Polecenie uniq służy do znalezienia powtarzających się linii wraz z ich liczbą i innymi podobnymi szczegółami. Jeśli go obsłużysz, mówi, że jest używany do filtrowania lub raportowania powtarzających się wierszy w pliku. Podobnie jak w przypadku prawie wszystkich poleceń, polecenie uniq ma również kilka opcji, które można z nim połączyć.
Ale ze względu na zwięzłość i upewnienie się, że nauczysz się większej liczby poleceń zamiast uczyć się zbyt wiele o jednym poleceniu, narysujemy tylko minimalny przykład i będziesz mógł zagłębić się w więcej za pomocą polecenia man.
W porządku, oto składnia polecenia uniq:
uniq -opcje nazwa pliku
Zobaczmy teraz przykład, aby dowiedzieć się, jak działa polecenie uniq w systemie Linux.

Rozłóżmy próbkę naprawdę szybko. ten -c opcja nakazuje uniq wypisać a liczyć wraz z wyjściem i następną opcją jest filename który jest dostarczany do uniq.
Jak widać w powyższym przykładzie, wypisał liczbę powtórzonych linii, która w naszym przypadku wynosiła 2.
Powinno to wystarczyć dla wszystkich poleceń, które musisz znać, aby upewnić się, że możesz obejść pliki, ale jest jedna bardzo ważna część, której do tej pory nie omówiliśmy, a dotyczy ona praw dostępu.
Widzisz w prawdziwym świecie, że nie chcesz, aby wszystkie Twoje pliki miały globalny dostęp do odczytu i zapisu, co oznacza, że każdy może po prostu chodzić i wprowadzać zmiany w pliku. Niektóre pliki należy chronić przed manipulacją. W tym miejscu pojawia się kontrola dostępu, a zarówno Linux, jak i Unix radzą sobie z nią zaskakująco dobrze dzięki kolejnemu poleceniu.
polecenie chmod
Polecenie chmod oznacza tryb zmiany i zasadniczo pozwala zmienić sposób, w jaki można uzyskać dostęp do pliku i kto może uzyskać do niego dostęp.
Składnia chmod jest dość prosta i wygląda tak:
chmod -opcje uprawnienia nazwa pliku
Chociaż opcje i nazwa pliku nie wymagają opracowania, uprawnienia część wymaga wyjaśnienia.
Uprawnienia do plików w Linuksie obracają się wokół 3 zakresy, użytkownik, Grupa, i inni. Uprawnienia są kolejno 3 rodzaje czytać, pisać, i wykonać. Oznacza to, że każdy zakres ma 3 uprawnienia, co daje w sumie 3 zestawy zakresów z 3 uprawnieniami w każdym.
Mając to na uwadze, oto przykładowe użycie, aby pokazać, jak działa chmod:
chmod u=rwx, g=rx, lub=r nazwapliku.txt
Tutaj u oznacza użytkownik, g dla grupa i o dla inni. I to = znak służy do nadawania uprawnień czytać (r), pisać (w), i wykonać (x) do każdego zakresu. Przecinek oddziela każde zadanie.

Jest skrót do przypisywania uprawnień i używa notacji ósemkowej. W notacji ósemkowej:
- 4 oznacza przeczytanie
- 2 oznacza pisać
- 1 oznacza wykonanie
- 0 oznacza brak pozwolenia
Czyli zgodnie z powyższą notacją liczba 7 przyzna uprawnienia do odczytu, zapisu i wykonywania (4 + 2 + 1). Możesz go odpowiednio mieszać i dopasowywać, a oto przykładowy przypadek użycia przy użyciu notacji ósemkowej:
chmod 755 starwars.txt

W tym przykładzie plik starwars ma:
- uprawnienia do odczytu, zapisu i wykonywania dla użytkownika.
- przeczytaj i wykonaj dla grupy.
- egzekucja innych.
W porządku! zbliżamy się do końca części posta dotyczącej obsługi plików. To ostatnie polecenie pozwoli ci zarchiwizować plik / skompresować plik. Archiwizacja pliku przydaje się, gdy chcesz przenosić kilka plików w różnych systemach, jednocześnie unikając ich uszkodzenia.
smoła Polecenie
Polecenie tar oznacza archiwum taśmowe i pozwala tworzyć, manipulować i wyodrębniać zarchiwizowane pliki.
Oto podstawowa składnia polecenia, aby zobaczyć, jak to działa:
tar -opcje nazwa_pliku1 nazwa_pliku1 …. nazwa plikuN
Zobaczmy przykładowe użycie z kilkoma opcjami. Zachęcamy do zabawy z próbką, a następnie do samodzielnego odkrywania jej w celu odkrycia ciekawszych przypadków użycia.
tar -c -f skompresowany.zip ghost.txt starwars.txt

Rozbijmy to. ten -c i -f polecenia to tylko kilka spośród wielu, ale oto, co robią. ten -c opcja nakazuje poleceniu utwórz nowe archiwum i -f stosuje się podaj nazwę pliku dla archiwum, które w tym przypadku jest spakowane.zip, polecenie tar może tworzyć archiwa w .zip, .tar, .rar i inne formaty, więc upewnij się, że wybierzesz taki, który odpowiada Twoim potrzebom
Teraz, gdy wiesz, jak kompresować pliki, zobaczmy, jak je wyodrębnić. Używamy -x i -f opcje polecenia tar, aby wyodrębnić plik, -x opcja mówi tar do rozpakuj plik i -f stosuje się podaj nazwę pliku jak pokazano w poniższym przykładzie:

W porządku, w końcu zakończono część posta dotyczącą obsługi plików. Hurra! Wykonałeś świetną robotę, dochodząc tak daleko. Porozmawiamy teraz o procesach.
W terminologii Linuksa proces to aktualnie wykonywany program, wykonujący określone zadanie. Procesy są dynamiczne i stale się zmieniają, gdy użytkownik przełącza się między aplikacjami.
Połączenia Dokumentacja Linuksa szczegółowo omawia procesy i zachęcam do lektury, gdy skończysz z tym postem.
Teraz, gdy wiemy, czym jest proces, zobaczmy, jak je wyświetlić.
ps polecenie
Polecenie ps pozwala nam zobaczyć, jakie procesy są aktualnie wykonywane na komputerze. Ma wiele opcji, ale tutaj jest minimalne użycie, które pokazuje wszystkie procesy aktualnie działające jako root.
Składnia jest następująca
ps -opcja
W naszym przypadku użyjemy -u opcja, która pokaże procesy działające jako root.

Skoro już wiesz, jak przeglądać procesy, co powiesz na nauczenie się, jak je zabijać?
zabij polecenie
Polecenie kill służy do zabicia lub zakończenia danego procesu bez wylogowania lub ponownego uruchomienia komputera. Warto zauważyć, że polecenie kill w rzeczywistości nie zabija procesu, a jedynie wysyła sygnał do procesu, który mówi procesowi, co ma zostać zrobione. Domyślnie, gdy żaden sygnał nie jest określony, sygnał 15 nazywa SIGTERM jest wysyłany do procesu, a jeśli to się nie powiedzie, silniejszy sygnał 9 ZABÓJCZY jest wysyłany do procesu, jednak w większości normalnych przypadków wystarczy określić, aby zabić proces, to PID.
Oto składnia polecenia kill:
kill [sygnał lub opcje] PIDs
A oto demo:

Bądź bardzo ostrożny podczas zabijania procesu. Zabicie procesu krytycznego dla systemu może spowodować nieprawidłowe działanie komputera. Jeśli jednak nadal Ci się to uda, upewnij się, że uruchomiłeś ponownie system raz, aby przywrócić jego normalne działanie.
W porządku, teraz, gdy omówiliśmy już pewne podstawy poleceń terminala, porozmawiajmy o prostym sposobie wprowadzania zmian/dodawania zawartości do pliku. Wszyscy używamy edytorów tekstu, takich jak Visual Studio Code lub Atom, ale ponieważ celem tej serii jest zapewnienie wszystkim komfortu i przytulności z terminalem, dlaczego nie wypróbować podstawowego edytora w samym terminalu?
Dowództwo nano
Nano (zaufaj mi) oznacza Nano's TAKther edytor i jest to darmowy, lekki i otwarty edytor, który umożliwia edycję plików w terminalu, jest natywnym edytorem tekstu, takim jak środowisko ze zwykłymi poleceniami, które znasz.
Aby wywołać nano/otworzyć plik w nano, wpisujesz polecenie w następującej składni:
NAZWA PLIKU nano
Jeśli plik istnieje, nano otworzy go, a jeśli nie, utworzy nowy plik o tej nazwie i otworzy go. Edytor sam w sobie jest dość minimalny i w przeciwieństwie do swojego starszego (i znienawidzonego) brata Vima/Vi nie doprowadza cię do szaleństwa za pomocą notorycznie trudnych poleceń. Aby poruszać się po pliku, użyj zwykłych klawiszy strzałek. Aby usunąć zawartość, nadal używasz klawisza usuwania/backspace, a do obsługi schowka używasz znanego Ctrl+C, Ctrl+V itp.

Edytor przedstawia najczęściej używane operacje, takie jak wyjście z edytora, w dolnej połowie ekranu. Przed zakończeniem używania Ctrl+X zostaniesz poproszony o zapisanie wprowadzonych zmian. Jasne, Vim istnieje już dłużej, ale moim zdaniem to nic innego jak przepustka do kultury hipisowskiej. Najwięcej, co możesz uzyskać z bycia profesjonalistą w Vimie, to chwalenie się, a to się kończy. Nie ma absolutnie żadnego powodu, dla którego należałoby marnować swój cenny czas na naukę obsługi Vima. Biorąc to pod uwagę, w końcu dotarliśmy do końca części 2.
Polecenia Linuksa dla średniozaawansowanych użytkowników: Podsumowanie
W drugiej części serii Linux Hands On zbudowaliśmy na fundamencie, który położyliśmy Część 1. Zajmowaliśmy się obsługą plików i manipulowaniem nimi. Nauczyliśmy się również zupełnie nowej koncepcji zwanej procesami i sposobu ich zabijania. Tę część zakończyliśmy przeglądem edytora tekstu Nano. To by wszystko na ten tydzień. Dopóki nie wrócimy w przyszłym tygodniu z częścią 3, upewnij się, że masz wystarczająco dużo czasu na zabawę z poleceniem udostępnionym w tym poście. Nie daj się przytłoczyć liczbą dostępnych poleceń, potrzeba dużo czasu, aby te rzeczy stały się pamięcią mięśniową. Dopóki to się nie stanie, praktyczne doświadczenie jest twoim najlepszym przyjacielem.
Manasa Chaudhary’ego
Dziękuję za te serie Linuksa. Przeszedłem przez to w pełni i uznałem, że jest to naprawdę pomocne. Zwłaszcza filmy. Czasami trudno jest śledzić artykuł, więc pobrałem film i nauczyłem się go. Teraz czuję, że znam sporo Linuksa, żeby zacząć coś w nim robić. Dziękuję za te posty bardzo mi pomogły.