Basics of Working in the Terminal in Linux
In Jakub 'unknow' Mrugalski's video, users get acquainted with essential terminal commands crucial for everyday work with the Linux operating system. In the recording, Jakub introduces basic commands like 'ls' to list files and 'cd' to change directories. This set of commands proves highly valuable for programmers, testers, and system administrators alike; thus, regardless of one’s role, the information presented is beneficial. Jakub invites viewers to learn step-by-step, making the entire process more approachable and comprehensible. The film also presents practical examples using tools such as 'mkdir' for directory creation and 'touch' for file creation, demonstrating how simple it can be to work with the terminal.
The latter part of the video takes a more surprising turn as Jakub introduces advanced functionalities such as 'grep' for searching files and 'find' for locating files based on patterns. Users learn how to use pipes to transfer data from one command to another. For example, combining results from 'find' and 'wc' to effectively count files is a great application for those more ambitious within the IT sector. Jakub encourages viewers to delve into all available help options for commands, significantly easing the learning process and discovering new possibilities within the terminal.
Such videos are particularly useful as they show step-by-step how to become a more proficient terminal user. Jakub not only explains the commands but also demonstrates their usage in everyday life, which can be beneficial for many in solving operational problems. He also clarifies how to use commands like 'chmod' to change file permissions and 'gzip' and 'tar' for archiving. It’s evident that Jakub puts effort into helping his viewers easily absorb these skills, allowing them to feel more confident working with the terminal.
Regarding statistics, the video currently has 82,605 views and 3,140 likes at the time of writing this article. These numbers reflect that users appreciate the content created by Jakub and are interested in learning how to work in the terminal. Thanks to his practical advice, many new users will be able to successfully utilize the terminal while eliminating any fear associated with this tool. Jakub 'unknow' Mrugalski presents the topic in an easily digestible manner, making learning an enjoyable experience for anyone looking to enhance their skills in IT.
Toggle timeline summary
-
Introduction to essential terminal commands.
-
Logged into a server and using 'ls' command to list files.
-
Description of the 'cd' command to change directories.
-
Using auto-completion with the tab key.
-
Listing contents of a specific directory using 'ls' again.
-
Creating a new directory with the 'mkdir' command.
-
Creating a new file using the 'touch' command.
-
Removing files with 'rm' command.
-
Using 'cat' command to view file contents.
-
Using 'less' for a better browsing experience of files.
-
Counting lines in a file using 'wc' command.
-
Getting help for commands using 'man' or 'command --help'.
-
Using wildcards to operate on multiple files.
-
Checking file sizes with 'ls -l' command.
-
Clearing the terminal screen with 'clear' or 'ctrl+l'.
-
Introduction to piping commands in Linux.
-
Redirecting output to a file with '>' operator.
-
Finding files with 'find' command.
-
Changing file permissions with 'chmod' command.
-
Compressing files with 'gzip' and decompressing with 'gunzip'.
-
Creating compressed archives with 'tar' command.
-
Searching text within files using 'grep' command.
-
Sorting and reversing output from commands.
-
Conclusion and encouragement to share and learn.
Transcription
Cześć! W tym filmie poznasz kilkanaście podstawowych poleceń, które są niezbędne do swobodnej pracy w terminalu. Będą Ci one potrzebne niezależnie od tego, czy jesteś programistą, testerem, czy może administratorem z zawodu. W takim razie jest to taki minimalny set, który wybrałem, a który na pewno Ci się przyda. Zapraszam do nauki! Jestem zalogowany na pewnym serwerze i pierwsze polecenie, jakie chcesz wydać, to jest na przykład ls. ls w skrót od list, czyli listuj mi, a więc wypisuj, pliki jakie tutaj są. No i okazuje się, że tutaj mam tylko katalog nauka. Co mogę teraz zrobić, aby wejść do katalogu nauka? Polecenie cd, cd skrót od change to directory. I teraz wypada wpisać nazwę, na co chcę zmienić ten katalog, czyli chcę wejść do nauka. Mogę zrobić to tak, po prostu wpisuję nauka i naskam Enter, albo wykorzystać autouzupełnianie, czyli piszę na przykład na i naciskam tabulator. I tabulator podpowiada mi, co pasuje do wzorca. Jestem teraz w katalogu nauka, co też widać tutaj w tym miejscu, zostało zapisane. I teraz chcę rozglądać, co jest w środku katalogu nauka. Polecenie ls raz jeszcze. Widzę tu dwa pliki, imiona męskie, imiona żeńskie, no i jakiś katalog, który ma prawdopodobnie w środku dużo plików. Jeżeli chciałbym teraz założyć nowy katalog, to polecenie brzmi mk, czyli make, dir, czyli directory. Zrób mi katalog i niech to będzie na przykład katalog test. I teraz ls i widzę, że katalog test został utworzony, jest w tym miejscu. I jeżeli teraz chciałbym załóżmy założyć plik, a nie katalog, to można to zrobić za pomocą polecenia touch. Touch tworzy nowy pusty plik o nazwie załóżmy kuba.txt, enter. Plik kuba został utworzony, widzimy go w tym miejscu. Jeżeli teraz chcę usunąć coś, pliki usuwam poleceniem rm, co to jest skrót od remove. rm kuba enter, plik został usunięty. Chcę usunąć katalog test, rm minus rf test. I teraz dlaczego to rf, o co tu chodzi? Tak naprawdę, bez tego rf-a też nasz katalog test zostałby usunięty, ale tylko dlatego, że jest pusty. Jeżeli katalog zawiera w środku pliki, co najmniej jeden plik, to w takim razie musimy użyć opcji minus r, czyli weźmij, usuń to rekursywnie, tak aby wszystkie dane w środku też zostały usunięte, i opcja f force, czyli tak, zgadzam się, weźmij je, usuń wszystkie. Daję teraz enter i katalogu, jak i pliku kuba, nie ma. Teraz kolejna rzecz. Mamy tutaj dwa pliki, imiona męskie i imiona żeńskie. I chciałbym wiedzieć, co jest w środku. Najprostsza metoda podglądnięcia, co jest w środku, to jest na przykład cat. cat imiona męskie. To nam się oczywiście na ekranie nie zmieści, ale tu widzimy, że został wyświetlony plik. Narzędzie cat służy tak naprawdę do czegoś innego, ale bardzo fajnie się im też w pliki te przegląda. Jeżeli chcielibyśmy teraz, załóżmy, zobaczyć w nieco wygodniejszy sposób ten plik, to zamiast cata możemy użyć polecenia less. Daję enter i less otwiera nam w takim podglądzie ten plik, dzięki czemu za pomocą kursorów możemy sobie go przewijać w dół, w górę, za pomocą page up, page down możemy sobie skakać i wychodzimy z tego lessa za pomocą klawisza q. Q jak quit. No i w ten sposób bardzo fajnie się przegląda te pliki. Teraz ciekawi nas, ile imion męskich jest w tym pliku. Jak to policzyć? Polecenie wc. To nie jest skrót od water closet, tylko od word counter, czyli licznik słów, ale tak naprawdę licznik słów niekoniecznie liczy słowa. On umie liczyć jeszcze bajty, umie liczyć też linijki. No i teraz jak używać tego wc? To cię nauczy jednej fajnej rzeczy. Dowolne polecenie, którego nie rozumiesz, możesz sprawdzić pomoc do niego na dwa sposoby. Sposób pierwszy, man wc, man to skrót od manual, czyli wyświetl mi podręcznik użytkownika polecenia wc. Enter. I tu jest taki długalny jakiś tam wypis, co to robi, jak to jest. Ok, wychodzi się z tego za pomocą klawisza q, czyli tak samo jak w lesie, ale jest też opcja krótsza. Piszemy sobie po prostu wc minus minus help. Weź mi wyświetl helpa. On zwykle będzie krótszy i widzimy tu opcja minus l, wyświetla nam ile linii ma ten plik. No to co robimy? wc minus l, imiona męskie, imion męskich mamy 371, a żeńskie w ten sposób. Kolejna rzecz. Jeśli chcesz operować na wielu plikach jednocześnie, to możesz użyć znaku gwiazdki. Na przykład imiona gwiazdka.txt. Wtedy gwiazdka zastępuje dowolny ciąg znaków. Będzie to więc adekwatne do imion męskich, jak i żeńskich. Let's commenter. I widzimy, że męskich mamy dokładnie tyle co było, żeńskich tyle samo i jeszcze liczy nam total. Czyli jakby ktoś miał problem z matematyką, to od razu ma to dane. No już fajnie. A teraz ile zajmuje plik męskie, a ile żeńskie? Za pomocą polecenia ls my tylko wypisujemy te pliki, ale możemy jeszcze dać sobie opcję ls-l. Małe l. To jest skrót od long. Czyli wyświetli mi to w długiej formie. Enter. I teraz widzimy, że nasz plik imiona męskie ma jakieś 2,9 KB, ten też coś koło tego, czyli mniej więcej tyle samo tego jest. W ten sposób poznaliśmy też kilka innych jeszcze informacji, na przykład kto jest właścicielem tego pliku. Właścicielem jest root. Jakiej grupy jest ten plik? Też root. Tu mamy też zapis praw dostępu. R to jest read. W to jest zapis, czyli write. Odnośnie praw dostępu to myślę oddzielna lekcja byłaby potrzebna, bo to nieco bardziej skomplikowane. Mamy tutaj datę jeszcze, kiedy ten plik jest. On powstał dzisiaj o godzinie 10.47. No OK. To teraz zróbmy nieco bardziej zaawansowaną rzecz. Na przykład wejdźmy sobie do katalogu dużo plików. CD, dużo plików. Uzupełniłem tabulatorem, to już się domyślasz. Enter. I daję sobie ls. Taka jeszcze jedna informacja. Jak to się dzieje, że mój ekran czasami się staje czysty? To znaczy zaczynam pisać od początku. Można to osiągnąć na dwa sposoby. Albo polecenie clear. Enter. Tylko widziałeś, że to trochę zajmuje wypisanie go. Albo, jak tutaj mam trochę linijek ze śmieciami, najciskam ctrl l. I ctrl l czyści ekran. Dobra. Sprawdzamy sobie ls jakie pliki tutaj są. I widzimy tych plików jest całkiem sporo. Jest tu sporo plików. Tu mają jakieś nazwy ala, czerwony 0, ela, czerwony 1. No fajnie. Ale widzimy jedną fajną rzecz. Mamy tutaj niektóre pliki ze słowem zielony. Tego zielony mamy pisane w taki ładny sposób. Oraz mamy zielone pisane w taki sposób, jakby się jakaś nastolatka do tego dorwała. I chcielibyśmy znaleźć wszystkie pliki pasujące do słowa zielony. Możemy użyć polecenia find. W poleceniu find pierwszy parametr to jest gdzie szukać. Domyślnie na Linuxie szuka w aktualnym katalogu. Więc można dać sobie kropkę albo można nie dawać nic. Jeżeli byście pracowali na Macu na przykład zawsze ta kropeczka musi być. I teraz kolejna rzecz. Czego my szukamy i po czym szukamy? Szukamy na przykład po nazwie. Minus name. I tu w apostrofach podajemy wzorzec do czego ma ta nazwa pasować. Gwiazdka, zielony, gwiazdka. Czyli wyświetli mi wszystkie pliki, które mają słowo zielony w środku. Enter. I teraz widzimy Ela zielony, Ola zielony, Ela zielony 7 itd. Fajnie tylko nie znalazło nam tego nazwijmy pokemonowego zapisu. Góra, dół, góra, dół, góra, dół. Jak to teraz zmienić? Zamiast name możemy użyć sobie opcji ename. Czyli case insensitive name. Mówiąc po polsku nie zwracaj uwagi na wielkość znaków. I mam teraz zarówno zielony pisane w normalny sposób jak i w taki mniej normalny nazwijmy to. Kolejna niezbędna rzecz jeżeli chodzi o świat linuksowy to są tzw. pipe, strumienie. Chodzi o to, że efekt działania jednego polecenia można przesłać do drugiego polecenia. Pamiętasz jak się liczy linijki za pomocą wc? wc-l. A teraz chcielibyśmy się dowiedzieć ile plików znalazł ten find. Dajemy więc spacja pipe. I tu podajemy nasze polecenie, które znamy. Normalnie do wc w tym miejscu podalibyśmy nazwę pliku. Ale jeżeli nie podajemy to wc zakłada, że dostanie to na wejściu. Poprzez właśnie pipe. I okazuje się, że tych plików jest 40 w przypadku name. A w przypadku ename na przykład tych plików jest 80. Świetnie. Kolejna rzecz, jeśli chcielibyśmy listę tych plików zapisać sobie do innego pliku. To co robimy? To jest bardzo ważne. Zamiast pipe dajemy znak większości. A następnie podajemy jak nazywa się ten plik, który chcemy utworzyć. My chcemy go utworzyć piętro wyżej, czyli katalog nadrzędny. Katalog nadrzędny w linuxie to jest . . . Wyjdź piętro wyżej i tam załóż plik o nazwie lista.txt I gotowe. Nic na ekranie się nie pojawiło, dlatego, że cała zawartość ekranu została zapisana do pliku lista.txt. Idziemy więc do katalogu wyżej cd . . Dwie kropki to jest katalog wyżej. Dajemy Enter i piszemy lsa. Widzimy tutaj, że mamy plik lista.txt. Jak go podglądnąć? ls lista.txt I widzimy, że to co miało się pojawić na ekranie zostało zapisane po prostu w pliku. Teraz wiemy, że tutaj gdzieś w katalogu ukrył się nam plik z rozszerzeniem .sh. Jak go znaleźć? Znajdźmy go. I widzimy, że tu jest dużo plików przez skrypt. W jaki sposób teraz przenieść ten plik do katalogu wyżej? Kopiujemy sobie nazwę. I teraz ważna rzecz przy kopiowaniu. Jeżeli pracujesz na linuxie, kopiowanie w terminalu to prawdopodobnie będzie ctrl-shift-c a wklejanie to ctrl-shift-v. Dlatego, że ctrl-c w linuxie ma specjalne znaczenie. Jeżeli pracujesz na Macu to po prostu ctrl-c, ctrl-v. Jest prościej. I teraz żeby przenieść plik używamy polecenia mv. Dlaczego mv? Skrót od move. Co przenieść? A gdzie przenieść? Na przykład kropka. Kropka to znaczy do aktualnego katalogu. Enter. Jak teraz wpiszę sobie ls to zobaczysz, że skrypt sh zapisał się w lokalnym katalogu. W jaki sposób teraz wykonać ten skrypt? Zanim wykonasz jakikolwiek skrypt sprawdź co jest w środku. Cut. Skrypt sh. I widzimy, że tu jest jakiś dziwny zapis, którego można nie rozumieć. A następnie echo. Wszystko działa. To jest po prostu skrypt, który na ekran wyrzuca nam polecenie wszystko działa. To co robimy? Kropka slash, czyli z aktualnego katalogu. Weź mi wykonaj skrypt.sh. Enter. I on mówi Permission Denied. Dlaczego? Nie ma w dostępu, dlatego, że ten plik nie ma bajtu wykonywalności. Jak to sprawdzić? Skrypt.sh. Widzimy tutaj, że prawa dostępu to są tylko r oraz w. To znaczy możesz czytać oraz zapisywać do tego pliku. Ale nie możesz go wykonywać. Jak w takim razie zmienić jego prawa dostępu? chmod, czyli change mode. Zmień opcję dostępu do pliku. I dajemy sobie plus x. X to skrót od execute. I dajemy sobie nazwę pliku, czyli skrypt sh. Jak teraz sprawdzić, czy coś się zmieniło? Znowu ls minus l. I już pierwszą rzecz. Kolor tego pliku się zmienił na zielony. To znaczy, że jest wykonywalny. I tutaj wszędzie pojawiły się x. Odnośnie tych praw dostępu musisz sobie jeszcze doczytać, bo jest to, jak powiedziałem, trochę bardziej skomplikowany temat. Kolejne umiejętności, jakie będą Ci potrzebne. Gzipowanie i odgzipowywanie plików. Co to znaczy? Pakowanie i rozpakowywanie. Ale uwaga. W przypadku Linuxa polecenie gzip i gunzip one operują tylko na jednym pliku. Nie da się zgzipować całego katalogu. Jak w takim razie to zrobić? ls minus l. Widzimy tu mamy skrypt.sh. Wybierzemy sobie lista.txt. Mamy lista.txt i ma 1,3 kilobajta. Piszemy sobie gzip lista.txt, enter. ls minus l. I widzimy, że tutaj zmieniło nam i kolor na czerwony, znaczy spakowane pliki i dokleiło na końcu rozszerzenie .gz, czyli zgzipowane, ściśnięte. I widzimy, że z 1,3 kilobajta na 263 bajty zmieniło się. Czyli fajnie. Jak teraz ten plik rozgzipować? Wydajemy polecenie gunzip i następnie lista.txt, enter. I tutaj widzimy, że nam się lista.txt ponownie pojawiła tam gdzie była. Czyli wszystko działa świetnie. Teraz zrobimy coś trudniejszego. Powiedziałem, że gzip i gunzip pracują tylko na jednym pliku. A my byśmy chcieli dużo plików spakować. To idziemy sobie do cd, dużo plików, mamy tutaj te pliki i sobie je sklejamy za pomocą tara. Tar i teraz minus. C to jest create, czyli zrób mi archiwum. Z, zgzipowane. P z zachowaniem permission, czyli praw dostępu. Teraz musimy podać jeszcze opcję f, czyli zapisz do pliku i podajemy gdzie ten plik ma się znajdować. Piętro wyżej, paczka.tar.gz się będzie nazywało. I teraz podajemy co my chcemy spakować. Chcemy spakować wszystko z aktualnego katalogu. Dajemy enter, no i coś się stało. Sprawdzamy co się stało. ls-l i widzimy tutaj paczka.tar.gz ma 1,9 KB tam po zaokrągleniu oczywiście i to są sklejone razem pliki i zgzipowane. Jak sprawdzić co jest w środku paczki? tar-z, bo to jest zgzipowane. t, skrót od test i f, czyli file który plik będziesz testował? Będziesz testował plik paczka.tar.gz i widzimy, że w środku są takie pliki. Oczywiście przeleciały nam przez ekran, więc możemy sobie to spajpować do lesa, czyli pokaż mi lesem co jest w środku. I teraz przeglądamy sobie archiwum. Jak byśmy chcieli teraz to rozpakować to co zrobimy? ls-l widzimy tą paczkę i teraz zaburzymy sobie tu katalog na przykład rozpakowane. mkdir rozpakowane daję enter i robię move paczka do rozpakowane, enter i wchodzę do rozpakowane. Paczka jest oczywiście nierozpakowana, więc piszę sobie tar-z, z dlatego, że zgzip to jest skrót od zipa. Następnie daję sobie x, czyli extract, weź mi to rozpakuj i f, co znaczy ten plik, f skrót od file i podaję na z apliku na z apliku paczka.tar.gz Enter. Coś się stało. No dobra, ls i wszystkie pliki tu się pojawiły. Teraz wracamy do katalogu wyżej cd.kropka.pl i tu mamy plik, załóżmy imiona męskie nauczę Cię teraz jak przeszukiwać pliki tekstowe chciałbyś na przykład z imion męskich wyciągnąć wszystkie imiona które zawierają literę e. Jak to zrobić? grep e imiona męskie. Enter i tutaj na czerwono podkreśliło Tadeusz, Teodor Teofil, Tymoteusz, Waldemar itd. No i w ten sposób można szukać sobie co znajduje się wewnątrz pliku. Jeśli chcielibyśmy na przykład wyciągnąć wszystkie imiona które zaczynają się na literę t to zapisujemy takie coś i widzimy, że to jest Tadeusz, Teodor, Teofil, Tobiasz itd. Równie dobrze możesz zrobić sobie na przykład coś co sprawdza Ci wyrażenia regularne zaawansowane wyrażenia regularne aktywujemy za pomocą opcji minus e. To jest extended, czyli rozszerzone wyrażenia regularne. Chcę wszystkie imiona, które zaczynają się na literę t i kończą się na literę n, niech to będzie. T, cokolwiek n. O dosię wyrażeniach regularnych muszę chyba oddzielny film nagrać, nie chcę Ci tutaj tłumaczyć co to znaczy, ale jak znam XP powinien się to zrozumieć. Dyskam enter i widzimy, że mamy Trycjana, Tycjana i Tymona. I w ten oto sposób możesz też grepować sobie po wynikach comment. To znaczy, jak sobie wchodzimy teraz na przykład do dużo plików, dajemy ls, to z tego lsa możemy zrobić sobie pipa i grep zielony. Enter. I widzimy wszystkie pliki, które mają ze sobą zielony. Nie musisz wtedy używać komenda, tylko możesz użyć sobie grepa. Jeżeli byśmy chcieli na przykład odwrócić nasze zapytanie, to opcja minus V. V odwraca w drugą stronę, to znaczy to, co nie ma słowa zielony będzie na ekranie. Enter. I w tym momencie wyświetliło nam niebieski, czerwony, tutaj nam wyświetliło jeszcze zielony pisany takim góra, dół, góra, dół. Jak to zrobić? Opcja I, czyli case insensitive. Pamiętasz przy findzie było name oraz ename. Dokładnie od tego pochodzi ta literka I. Czyli teraz wyrzuć mi wszystko, co ma zielony pisane dowolną wielkością liter. Enter. I widzimy, że mamy czerwony, niebieski i w zasadzie tyle. I teraz jeśli chcielibyśmy powiedzieć sobie ile tych wyników jest, możemy sobie dodać tu opcję C, count, czyli policz mi ile tego znalazłeś. I on mówi 80. Oczywiście możesz skorzystać z poprzedniej wiedzy, to znaczy wypisujesz wszystko na ekran i rzucasz do wc-l i też wychodzi 80. Na jedno wychodzi pytanie, czy chcesz się uczyć dodatkowej opcji w grepie, czy możesz skorzystać z poprzedniej wiedzy. To już od Ciebie zależy. Kolejna sprawa to sortowanie wyników. Idziemy sobie piętro wyżej, dajemy lsa i co tu mamy? Mamy imiona męskie i imiona żeńskie. Co możemy zrobić? Dajemy sobie cat imiona wszystkie .txt i wyciągamy z nich tylko na przykład imiona, które zaczynają się na literę K. Takie coś. Enter. No i widzimy tutaj Cosma, Krystian, a jednocześnie Klaudia. Jest tylko taki problem, że na początku masz imiona męskie, a potem masz imiona żeńskie. A ja bym je chciał mieć alfabetycznie. Nie podzielone na płeć, tylko po prostu według alfabetu. Pipe i sort. Weź mi to posortuj. Enter. I teraz mamy tutaj Xawerego i Xenie obok siebie, a dawniej były zupełnie inaczej. Jeżeli byśmy chcieli teraz posortować to alfabetycznie, ale w odwrotnej kolejności to opcja minus R, czyli reverse. I teraz zwróć uwagę, tu jest Kunegunda i Kwieryna, daje minus R i zaczyna się od Kacper, Kaja, Kajetan. Skąd ja wiem, że to minus R trzeba zrobić? Prosta rzecz. Jeżeli umiesz korzystać z sorta i wiesz, dobra, sort sortuje dane a jak je odwrócić? Sort minus minus help. Enter. I tutaj sobie szukamy, że opcja do odwracania nazywa się albo minus minus reverse, albo w skrócie minus R. I w ten sposób możesz sprawdzać sobie każde polecenie czy ono zawiera jakiś parametr, który robi dokładnie to, czego Ty potrzebujesz. I to jest w zasadzie cała wiedza, jaką potrzebujesz mieć, aby swobodnie poruszać się w terminalu. Jeśli ten film okazał się dla Ciebie pożyteczny i czegoś Cię nauczył to podziel się nim, proszę na przykład w social mediach, daj łapkę w górę pokaż po prostu swoim znajomym, tak aby też do nich dotarł. Wiele osób nie umie nawet takich podstawowych rzeczy w terminalu osiągnąć więc dla nich to może być naprawdę wartościowe. Z góry dzięki, pozdrawiam Anną. Napisy stworzone przez społeczność Amara.org