W systemie Ubuntu 20.04 można znaleźć program uruchamiający terminal, klikając element Działania w lewym górnym rogu ekranu, a następnie wpisując kilka pierwszych liter „terminal”.
W innych wersjach systemu Linux lub innych wersjach systemu Ubuntu zwykle program uruchamiający terminal znajduje się w tym samym miejscu, co inne programy uruchamiające aplikacje. Może być ukryty w podmenu lub być może będziesz musiał go wyszukać w menu, ale prawdopodobnie gdzieś tam jest. Jeśli nie możesz znaleźć programu uruchamiającego lub chcesz po prostu szybszego sposobu uruchomienia terminalu, większość systemów Linux używa tego samego domyślnego skrótu klawiaturowego, aby go uruchomić: Ctrl-Alt-T .Jakkolwiek uruchomisz swój terminal, powinieneś mieć raczej nudne okno z dziwnym fragmentem tekstu u góry, podobnie jak na poniższym obrazku. W zależności od systemu Linux kolory mogą nie być takie same, a tekst prawdopodobnie powie coś innego, ale ogólny układ okna z dużym (głównie pustym) obszarem tekstowym powinien być podobny.
Uruchomimy nasze pierwsze polecenie. Kliknij myszką w okno, a następnie wpisz następujące polecenie, wszystkie małymi literami , przed naciśnięciem klawisza Enter.
pwd
Powinieneś zobaczyć wydrukowaną ścieżkę katalogu (prawdopodobnie coś takiego /home/YOUR_USERNAME
), a następnie kolejną kopię tego dziwnego kawałka tekstu.

Jest kilka podstaw, zanim przejdziemy do szczegółów tego, co faktycznie zrobiło to polecenie. Po pierwsze, gdy wpiszesz polecenie, pojawi się ono w tym samym wierszu co nieparzysty tekst. Ten tekst informuje, że komputer jest gotowy na przyjęcie polecenia – to sposób, w jaki komputer go podpowiada. W rzeczywistości jest to zwykle określane jako monit i czasami możesz zobaczyć instrukcje z napisem „wywołać monit”, „otwórz wiersz polecenia”, „w wierszu polecenia bash” lub podobny. Są to po prostu różne sposoby proszenia cię o otwarcie terminala, aby dostać się do powłoki.
Na temat synonimów innym sposobem patrzenia na monit jest stwierdzenie, że w terminalu jest linia, w której wpisujesz polecenia. Wiersz poleceń, jeśli chcesz. Ponownie, jeśli pojawi się wzmianka o „wierszu poleceń” – w tym w tytule tego samouczka – jest to po prostu inny sposób mówienia o powłoce działającej w terminalu.
Drugą rzeczą, którą należy zrozumieć, jest to, że po uruchomieniu polecenia generowane przez niego dane wyjściowe będą zwykle drukowane bezpośrednio w terminalu, a po zakończeniu pojawi się kolejny monit. Niektóre polecenia mogą wyświetlać dużo tekstu, inne będą działać w trybie cichym i nie będą generować niczego. Nie przejmuj się, jeśli uruchomisz polecenie i natychmiast pojawi się kolejny monit, ponieważ zwykle oznacza to, że polecenie się powiodło. Jeśli przypomnisz sobie powolne połączenia sieciowe naszych terminali z lat 70., ci pierwsi programiści zdecydowali, że jeśli wszystko pójdzie dobrze, mogą równie dobrze zaoszczędzić kilka cennych bajtów transferu danych, jeśli terminal nie odpowie nic.
Znaczenie wielkości liter
Zachowaj szczególną ostrożność w przypadku wielkości liter podczas pisania w wierszu polecenia. Wpisanie PWD
zamiast pwd
spowoduje błąd, ale czasami niewłaściwy przypadek może spowodować, że polecenie będzie wyglądało na uruchomione, ale nie będzie działać zgodnie z oczekiwaniami. Przyjrzymy się sprawie nieco więcej później, ale na razie pamiętaj, aby wpisać wszystkie następujące polecenia tak jak są podane.
Poczucie lokalizacji
Teraz do samego polecenia. Co to jest katalog roboczy ?
Jedną ważną koncepcją, którą należy zrozumieć, jest to, że powłoka ma pojęcie o domyślnej lokalizacji, w której będą wykonywane wszelkie operacje na plikach. To jest jego katalog roboczy. Jeśli spróbujesz utworzyć nowe pliki lub katalogi, przejrzeć istniejące pliki, a nawet je usunąć, powłoka przyjmie, że ich szukasz w bieżącym katalogu roboczym, chyba że podejmiesz kroki, aby go zmienić. Dlatego bardzo ważne jest, aby mieć pojęcie o tym, w którym katalogu znajduje się powłoka w danym momencie – w końcu usunięcie plików z niewłaściwego katalogu może być katastrofalne. W razie jakichkolwiek wątpliwości pwd
dokładnie powie Ci, jaki jest bieżący katalog roboczy.
Można zmienić katalog roboczy za pomocą cd
. Spróbuj wpisać następujące polecenie:
cd /
pwd
Zauważ, że separator katalogów to ukośnik („/”), a nie odwrotny ukośnik, do którego możesz być przyzwyczajony w systemach Windows lub DOS
Teraz twoim katalogiem roboczym jest „/”. Jeśli pracowałeś na Windows, prawdopodobnie jesteś przyzwyczajony do tego, że każdy dysk ma własną literę, przy czym głównym dyskiem twardym jest zwykle „C:”. Systemy uniksowe nie dzielą tak dysków. Zamiast tego mają jeden zunifikowany system plików, a poszczególne dyski można podłączyć („zamontować”) do dowolnej lokalizacji w systemie plików, która ma największy sens. Katalog „/” – często nazywany katalogiem głównym – jest podstawą tego zunifikowanego systemu plików. Stamtąd wszystko inne rozgałęzia się, tworząc drzewo katalogów i podkatalogów.
root
Uwaga: chociaż katalog „/” jest czasami określany jako katalog główny , słowo „root” ma inne znaczenie. root jest także nazwą używaną dla superusera od pierwszych dni istnienia Uniksa. Superuser, jak sama nazwa wskazuje, ma więcej mocy niż zwykły użytkownik, więc może łatwo siać spustoszenie za pomocą źle wpisanego polecenia. Przyjrzymy się bliżej kontu superusera w sekcji 7. Na razie musisz tylko wiedzieć, że słowo „root” ma wiele znaczeń w świecie Linuksa, więc kontekst jest ważny.
Z katalogu głównego następujące polecenie przeniesie Cię do katalogu „home” (który jest bezpośrednim podkatalogiem „/”):
cd home
pwd
Aby przejść do katalogu nadrzędnego – w tym przypadku z powrotem do „/” – użyj specjalnej składni dwóch kropek ( ..
) podczas zmiany katalogu (zwróć uwagę na odstęp między cd
i ..
– inaczej niż w DOSie, nie możesz tak po prostu wpisz cd..
jednym ciągiem):
cd ..
pwd
Samodzielne pisanie cd
to szybki skrót, aby wrócić do katalogu domowego:
cd
pwd
Możesz także użyć ..
więcej niż raz, jeśli musisz przejść w górę o wiele poziomów katalogów nadrzędnych:
cd ../..
pwd
Zauważ, że w poprzednim przykładzie opisaliśmy trasę do przejścia przez katalogi. Używana przez nas ścieżka oznacza „zaczynając od katalogu roboczego, przejdź do rodzica / z tej nowej lokalizacji ponownie przenieś do rodzica”. Więc jeśli chcielibyśmy przejść bezpośrednio z naszego katalogu domowego do katalogu „etc” (który znajduje się bezpośrednio w katalogu głównym systemu plików), moglibyśmy zastosować to podejście:
cd
pwd
cd ../../etc
pwd
Ścieżki względne i bezwzględne
Większość przykładów, którym się przyjrzeliśmy, wykorzystuje ścieżki względne . To znaczy, miejsce, w którym skończysz, zależy od bieżącego katalogu roboczego. Rozważ próbę cd
przejścia do folderu „etc”. Jeśli jesteś już w katalogu głównym, który będzie działał dobrze:
cd /
pwd
cd etc
pwd
Ale co jeśli jesteś w swoim katalogu domowym?
cd
pwd
cd etc
pwd
Zobaczysz błąd z informacją „Brak takiego pliku lub katalogu”, zanim jeszcze wpiszesz ostatni pwd
. Zmiana katalogu przez podanie nazwy katalogu lub użycie ..
będzie miało różne efekty w zależności od miejsca, od którego zaczniesz. Ścieżka ma sens tylko w stosunku do katalogu roboczego.
Ale widzieliśmy dwa polecenia, które są absolutne . Bez względu na aktualny katalog roboczy będą miały ten sam efekt. Każda ścieżka rozpoczynająca się od ukośnika jest ścieżką bezwzględną . Można to uznać za powiedzenie „przejdź do katalogu głównego, a następnie stamtąd idź drogą”. To daje nam znacznie łatwiejszy sposób na przejście do etc
, bez względu na to, gdzie aktualnie jesteśmy w systemie plików:
cd
pwd
cd /etc
pwd
Daje nam to także inny sposób na powrót do katalogu domowego – a nawet do znajdujących się w nim folderów. Załóżmy, że chcesz przejść bezpośrednio do folderu „Desktop” z dowolnego miejsca na dysku (zwróć uwagę na duże litery „D”). W poniższym poleceniu musisz zastąpić USERNAME własną nazwą użytkownika – whoami
przypomni Ci o Twojej nazwie użytkownika, na wypadek, gdybyś nie był pewien:
whoami
cd /home/USERNAME/Desktop
pwd
Jest jeszcze jeden przydatny skrót, który działa jako ścieżka bezwzględna. Jak widzieliście, użycie „/” na początku ścieżki oznacza „rozpoczęcie od katalogu głównego”. Użycie znaku tyldy („~”) na początku ścieżki podobnie oznacza „start z mojego katalogu domowego”.
cd ~
pwd
cd ~/Desktop
pwd
Teraz ten nieparzysty tekst w monicie może mieć trochę sensu. Czy zauważyłeś, że zmienia się podczas poruszania się po systemie plików? W systemie Ubuntu pokazuje twoją nazwę użytkownika, nazwę sieciową twojego komputera i bieżący katalog roboczy. Ale jeśli jesteś gdzieś w swoim katalogu domowym, użyje „~” jako skrótu. Rozejrzyjmy się trochę po systemie plików i miej oko na monit:
cd
cd /
cd ~/Desktop
cd /etc
cd /var/log
cd ..
cd
4. Tworzenie folderów i plików
W tej sekcji stworzymy pliki do pracy. Aby uniknąć przypadkowego usunięcia któregokolwiek z twoich prawdziwych plików, zaczniemy od utworzenia nowego katalogu, z dala od twojego folderu domowego, który będzie służyć jako bezpieczniejsze środowisko do eksperymentowania:
mkdir /tmp/tutorial
cd /tmp/tutorial
Zwróć uwagę na użycie ścieżki bezwzględnej, aby upewnić się, że tworzymy katalog samouczka w / tmp . Bez ukośnika na początku mkdir
spróbuje znaleźć katalog tmp w bieżącym katalogu roboczym, a następnie spróbuje utworzyć katalog samouczka w tym katalogu. Jeśli nie może znaleźć katalogu tmp, polecenie nie powiedzie się.
Teraz, gdy jesteśmy bezpieczni w naszym obszarze testowym (sprawdź dwukrotnie, pwd
jeśli nie jesteś pewien), utworzymy kilka podkatalogów:
mkdir dir1 dir2 dir3
W tym poleceniu jest coś innego. Do tej pory widzieliśmy tylko polecenia, które działają same ( cd
, pwd
) lub które mają później pojedynczy element ( cd /
, cd ~/Desktop
). Ale tym razem dodaliśmy trzy rzeczy po mkdir
. Te rzeczy nazywane są parametrami lub argumentami , a różne polecenia mogą przyjmować różną liczbę argumentów.mkdir
oczekuje polecenia z przynajmniej jednym argumentem, natomiast cd
może pracować bez lub 1, ale nie więcej. Zobacz, co się stanie, gdy spróbujesz przekazać nieprawidłową liczbę parametrów do polecenia:
mkdir
cd /etc ~/Desktop
Powrót do naszych nowych katalogów. Powyższe polecenie utworzy trzy nowe podkatalogi w naszym folderze. Spójrzmy na nie za pomocą polecenia ls
( l i s t):
ls
Jeśli wykonałeś kilka ostatnich poleceń, twój terminal powinien wyglądać mniej więcej tak:

Zauważ, że mkdir
wszystkie foldery utworzył w jednym katalogu. To polecenie nie tworzy dir3 wewnątrz dir2 wewnątrz dir1. Ale mkdir
ma na to sposób:
mkdir -p dir4/dir5/dir6
ls
Tym razem zobaczysz, że tylko dir4 został dodany do listy, ponieważ dir5 jest w dir4, a dir6 jest w dir5. Później zainstalujemy przydatne narzędzie do wizualizacji struktury, ale masz już wystarczającą wiedzę, aby to potwierdzić:
cd dir4
ls
cd dir5
ls
cd ../..
Użyte przez nas „-p” nazywa się opcją lub przełącznikiem. Opcje służą do modyfikowania sposobu działania polecenia, umożliwiając uruchomienie jednego polecenia na wiele różnych sposobów. Niestety, z powodu dziwactw historycznych i ludzkiej natury, opcje mogą przybierać różne formy w różnych poleceniach. Często zobaczysz je jako pojedyncze znaki poprzedzone łącznikiem (jak w tym przypadku) lub jako dłuższe słowa poprzedzone dwoma łącznikami. Forma jednoznakowa pozwala łączyć wiele opcji, chociaż nie wszystkie polecenia to akceptują. Aby jeszcze bardziej pomieszać sprawy, niektóre polecenia w ogóle nie określają jasno swoich opcji – to, czy coś jest opcją, podyktowane jest tylko porządkiem argumentów. Nie musisz martwić się o wszystkie możliwości, po prostu wiedz, że istnieją opcje i mogą one przybierać różne formy.
# Don't type these in, they're just here for demonstrative purposes
mkdir --parents --verbose dir4/dir5
mkdir -p --verbose dir4/dir5
mkdir -p -v dir4/dir5
mkdir -pv dir4/dir5
Teraz wiemy, jak utworzyć wiele katalogów, przekazując je jako oddzielne argumenty do mkdir
. Ale przypuśćmy, że chcemy utworzyć katalog ze spacją w nazwie? Spróbujmy:
mkdir another folder
ls
Prawdopodobnie nie musiałeś nawet wpisywać tego jednego, aby odgadnąć, co się stanie: dwa nowe foldery, jeden nazwany another, a drugi nazwany folder . Jeśli chcesz pracować ze spacjami w nazwach katalogów lub plików, musisz użyć “…” . Wprowadź następujące polecenia, aby wypróbować różne sposoby tworzenia folderów ze spacjami w nazwie:
mkdir "folder 1"
mkdir 'folder 2'
mkdir folder\ 3
mkdir "folder 4" "folder 5"
mkdir -p "folder 6"/"folder 7"
ls
Tworzenie plików przy użyciu przekierowania
Nasz folder demonstracyjny ma katalogi, ale brakuje plików. Naprawmy to, przekierowując dane wyjściowe polecenia, aby zamiast wyświetlać je na ekranie, zapisywał się w nowym pliku. Najpierw przypomnij sobie, co ls
aktualnie wyświetla:
ls
Załóżmy, że chcieliśmy przechwycić dane wyjściowe tego polecenia jako plik tekstowy, który możemy przeglądać lub dalej nim manipulować. Wszystko, co musimy zrobić, to dodać znak większy niż („>”) na końcu naszego wiersza poleceń, a następnie nazwę pliku do zapisu:
ls > output.txt
Tym razem nic nie jest wyświetlane na ekranie, ponieważ wyjście jest przekierowywane do naszego pliku. Jeśli uruchomisz ls
, powinieneś zobaczyć, że plik output.txt został utworzony. Możemy użyć cat
, aby zobaczyć jego zawartość:
cat output.txt
Ok, więc nie jest to dokładnie to , co wcześniej było wyświetlane na ekranie, ale zawiera te same dane i jest w bardziej przydatnym formacie do dalszego przetwarzania. Spójrzmy na inne polecenie echo
:
echo "This is a test"
Tak, echo
po prostu wypisuje ponownie swoje argumenty (stąd nazwa). Ale połącz to z przekierowaniem, a masz sposób na łatwe tworzenie małych plików testowych:
echo "This is a test" > test_1.txt
echo "This is a second test" > test_2.txt
echo "This is a third test" > test_3.txt
ls
Wielkość liter
W systemach uniksowych rozróżniana jest wielkość liter – to znaczy, że „A.txt” i „a.txt” to dwa różne pliki. Jeśli miałbyś uruchomić następujące linie, skończyłbyś z trzema plikami:
echo "Lower case" > a.txt
echo "Upper case" > A.TXT
echo "Mixed case" > A.txt
Zasadniczo należy unikać tworzenia plików i folderów, których nazwa różni się tylko w zależności od wielkości liter. Pomoże to nie tylko uniknąć zamieszania, ale także zapobiegnie problemom podczas pracy z różnymi systemami operacyjnymi. Na przykład Windows nie rozróżnia wielkości liter , więc traktowałby wszystkie trzy powyższe nazwy plików jako pojedynczy plik, potencjalnie powodując utratę danych lub inne problemy.
Możesz mieć ochotę po prostu nacisnąć klawisz Caps Lock i używać wielkich liter dla wszystkich nazw plików. Jednak zdecydowana większość poleceń powłoki jest pisana małymi literami, więc często musiałbyś ją włączać i wyłączać podczas pisania. Większość doświadczonych użytkowników wiersza poleceń ma tendencję do trzymania się przede wszystkim małych liter w swoich plikach i katalogach, tak że rzadko muszą się martwić o kolizje nazw plików lub o to, które litery należy zastosować dla każdej litery w nazwie.
Dobra praktyka nazywania plików
Dobrą zasadą jest, aby w nazwach plików były tylko małe litery, cyfry, podkreślenia i myślniki. W przypadku plików zwykle na końcu znajduje się również kropka i kilka znaków wskazujących typ pliku („rozszerzenie pliku”). Wytyczne te mogą wydawać się restrykcyjne, ale jeśli w końcu zaczniesz używać wiersza poleceń na codzień, będziesz zadowolony, że trzymasz się tego schematu.
5. Przenoszenie i manipulowanie plikami
Teraz, gdy mamy już kilka plików, przyjrzyjmy się codziennym zadaniom, które możesz wykonywać. W praktyce najprawdopodobniej nadal będziesz używać programu graficznego, gdy chcesz przenieść, zmienić nazwę lub usunąć jeden lub dwa pliki, ale wiedza, jak to zrobić za pomocą wiersza poleceń, może być przydatna w przypadku zmian zbiorczych lub gdy pliki są rozłożone między różne foldery. Ponadto po drodze dowiesz się kilku innych rzeczy na temat wiersza poleceń.Zacznijmy umieszczając nasz combined.txt w katalogu dir1, używając mv
:
mv combined.txt dir1
Usuwanie plików i folderów
Ostrzeżenie
W następnej sekcji rozpoczniemy usuwanie plików i folderów. Aby mieć absolutną pewność, że przypadkowo nie usuniesz niczego z folderu domowego, przed kontynuowaniem użyj pwd
, aby dokładnie sprawdzić, czy nadal znajdujesz się w katalogu / tmp / tutorial .
Teraz wiemy, jak przenosić, kopiować i zmieniać nazwy plików i katalogów. Posprzątajmy trochę, używając komendy rm
( r e m ove):
rm dir4/dir5/dir6/combined.txt combined_backup.txt
Być może powinniśmy również usunąć niektóre z tych nadmiarowych katalogów:
rm folder_*

Co tu się stało? Okazuje się, że rm
ma zabezpieczenie. Jasne, możesz go użyć do usunięcia każdego pojedynczego pliku w katalogu za pomocą jednego polecenia usuwając tysiące plików w jednej chwili, bez możliwości ich odzyskania. Ale nie pozwoli ci usunąć katalogu. Na szczęście istnieje rmdir
, które wykona to zadanie:
rmdir folder_*

Całkowite usunięcie wszystkiego z katalogu daje nam argument – r
rm -r folder_6
ls
Pamiętaj: chociaż rm -r
jest szybki i wygodny, jest również niebezpieczny. .
Ważne ostrzeżenie
W przeciwieństwie do interfejsów graficznych, rm
nie przenosi plików do folderu o nazwie „kosz” . Zamiast tego usuwa je całkowicie, całkowicie i nieodwołalnie. Musisz bardzo uważać na parametry, których używasz aby upewnić się, że usuwasz tylko pliki, które zamierzasz. Należy zachować szczególną ostrożność podczas używania symboli wieloznacznych, ponieważ łatwo jest przypadkowo usunąć więcej plików, niż zamierzano. Błędny znak spacji w twoim poleceniu może go całkowicie zmienić: rm t*
oznacza „usuń wszystkie pliki zaczynające się na t ”, natomiast rm t *
oznacza „usuń plik t oraz każdy plik, którego nazwa składa się z zera lub więcej znaków – co byłoby wszystkim w katalogu!
6. Wiersz poleceń i administrator
Jednym z dobrych powodów, dla których warto poznać podstawy wiersza poleceń, jest to, że instrukcje online często faworyzują użycie poleceń powłoki zamiast interfejsu graficznego. Tam, gdzie instrukcje te wymagają zmian na komputerze, które wykraczają poza modyfikację kilku plików w katalogu domowym, nieuchronnie napotkasz polecenia, które należy uruchomić jako administrator komputera (lub superusera w języku uniksowym). Zanim zaczniesz uruchamiać dowolne polecenia, które znajdziesz w ciemnym kącie Internetu, warto zrozumieć konsekwencje działania jako administrator i dowiedzieć się, jak instrukcje działają, abyś mógł lepiej ocenić, czy można je bezpiecznie uruchomić, czy nie. Superuser jest, jak sama nazwa wskazuje, użytkownikiem posiadającym super uprawnienia. W starszych systemach był to prawdziwy użytkownik z prawdziwą nazwą użytkownika (prawie zawsze „root”), którą można się zalogować, jakbyś miał hasło. Jeśli chodzi o te supermoce: root może modyfikować lub usuwać dowolny plik w dowolnym katalogu w systemie, niezależnie od tego, kto jest ich właścicielem; root może przepisać reguły zapory lub uruchomić usługi sieciowe, które mogą potencjalnie otworzyć maszynę na atak; root może wyłączyć maszynę, nawet jeśli inne osoby nadal z niej korzystają. Krótko mówiąc, root może zrobić wszystko , łatwo omijając zabezpieczenia, które zwykle wprowadza się, aby powstrzymać użytkowników przed przekroczeniem swoich uprawnień.Oczywiście osoba zalogowana jako root jest w stanie popełniać błędy tak samo jak wszyscy inni. Kroniki historii komputerów są wypełnione opowieściami o błędnie wpisanym poleceniu usuwającym cały system plików lub zabijającym ważny serwer. Istnieje także możliwość złośliwego ataku: jeśli użytkownik zaloguje się jako root i opuści komputer, niezadowolony kolega może wskoczyć na maszynę i siać spustoszenie. Pomimo tego, że ludzka natura jest tym, czym jest, wielu administratorów przez lata używała root jako głównego lub jedynego konta.
Nie używaj konta root
Jeśli ktoś poprosi Cię o włączenie konta root lub o zalogowanie się jako root , bądź bardzo podejrzliwy wobec jego zamiarów.
Aby zmniejszyć te problemy, wiele dystrybucji Linuksa zaczęło zachęcać do korzystania z polecenia su
. To polecenie pozwala na zmianę użytkownika na komputerze bez konieczności jego logowania się. W przypadku użycia bez argumentów zakłada się, że chcesz zmienić użytkownika na root (stąd pierwsza interpretacja nazwy), ale możesz podać nazwę użytkownika, aby przełączyć się na określone konto użytkownika (druga interpretacja). Zachęcając do korzystania zsu
celem było przekonanie administratorów, aby spędzili większość czasu przy użyciu zwykłego konta, przełączali się na konto administratora tylko wtedy, gdy było to konieczne, a następnie jak najszybciej użyli logout
(lub skrótu Ctrl-D ), aby powrócić na swoje zwykłe konto.
Dzięki zminimalizowaniu ilości czasu spędzonego na logowaniu jako root , użycie opcji su
zmniejsza możliwość popełnienia katastrofalnego błędu. Pomimo tego, że ludzka natura jest tym, czym jest, wielu administratorów jest winnych pozostawienia otwartych terminali, w których korzystali z su
konta root . Pod tym względem su
był tylko małym krokiem naprzód w bezpieczeństwie systemów linuxowych.
Nie używaj su
Jeśli ktoś poprosi cię o użycie su
, bądź ostrożny. Jeśli używasz Ubuntu, konto root jest domyślnie wyłączone, więc su
bez parametrów nie będzie działać. Ale nadal nie warto podejmować ryzyka, na wypadek gdyby konto zostało włączone bez Twojej wiedzy.
Podczas korzystania z su
cała sesja terminalowa jest przełączana na innego użytkownika. Polecenia, które nie potrzebują dostępu do roota – coś tak przyziemnego jak pwd
lub ls
– byłyby uruchamiane pod auspicjami administratora, zwiększając ryzyko błędu w programie powodując poważne problemy. Co gorsza, jeśli stracisz kontrolę nad tym, jakiego użytkownika aktualnie używasz, możesz wydać polecenie, które jest dość łagodne, gdy jest uruchamiany jako użytkownik, ale które może zniszczyć cały system, jeśli działa jako root .
Lepiej całkowicie wyłączyć konto root, a następnie zamiast zezwalać na długotrwałe sesje terminalowe z niebezpiecznymi uprawnieniami, wymagaj od użytkownika specjalnego żądania uprawnień administratora. Kluczem do tego podejścia jest polecenie zwane sudo
.
sudo
służy jako przedrostek polecenia, które należy uruchomić z uprawnieniami administratora. Plik konfiguracyjny służy do określania, którzy użytkownicy mogą korzystać sudo
i jakie polecenia mogą uruchamiać. Podczas uruchamiania takiego polecenia użytkownik jest monitowany o podanie własnego hasła, które następnie jest buforowane przez pewien okres czasu (domyślnie 15 minut).
W systemie Ubuntu pierwszy użytkownik utworzony podczas instalacji systemu jest uważany za administratora. Podczas dodawania nowego użytkownika istnieje możliwość utworzenia go jako administrator, w którym to przypadku będą oni mogli również uruchamiać polecenia administratora sudo
. Na tym zrzucie ekranu Ubuntu 18.04 widać opcję u góry okna dialogowego:

Zakładając, że korzystasz z systemu Linux, w którym używasz sudo
, a twoje konto jest skonfigurowane jako administrator, spróbuj wykonać następujące czynności, aby zobaczyć, co się stanie, gdy spróbujesz uzyskać dostęp do pliku uznanego za wrażliwy (zawierający zaszyfrowane hasła):
cat /etc/shadow
sudo cat /etc/shadow

Jeśli wpiszesz hasło po wyświetleniu monitu, powinieneś zobaczyć zawartość /etc/shadow w
pliku. Teraz wyczyść terminal, wpisując reset
i uruchom sudo cat /etc/shadow
ponownie. Tym razem plik zostanie wyświetlony bez pytania o hasło, ponieważ nadal znajduje się w pamięci podręcznej.
Uważaj na sudo
Jeśli zostaniesz poinstruowany, aby uruchomić polecenie sudo
, upewnij się, że rozumiesz, co robi polecenie, zanim przejdziesz dalej. Uruchamianiesudo z
tym poleceniem daje te same uprawnienia co superuser (root).
W przypadku instrukcji dotyczących Ubuntu często pojawia się sudo przy
instalacja nowego oprogramowania w systemie za pomocą poleceń apt
lub apt-get
. Jeśli instrukcje wymagają najpierw dodania nowego repozytorium oprogramowania do systemu – za pomocą polecenia apt-add-repository
, edycji plików /etc/apt
lub korzystania z „PPA” (Personal Package Archive) – należy zachować ostrożność, ponieważ z tych źródeł lecą aktualizacje systemu i aplikacji. Ale często instrukcje wymagają tylko instalacji oprogramowania ze standardowych repozytoriów, co powinno być bezpieczne.
Instalowanie nowego oprogramowania
Istnieje wiele różnych sposobów instalowania oprogramowania w systemach Linux. Instalowanie bezpośrednio z oficjalnych repozytoriów oprogramowania Twojej dystrybucji jest najbezpieczniejszą opcją, ale czasami aplikacja lub wersja, której szukasz, po prostu nie jest dostępna w ten sposób. Instalując za pomocą dowolnego innego mechanizmu, upewnij się, że pobierasz pliki z oficjalnego źródła dla danego projektu.
Czasami pliki aplikacji pochodzą spoza repozytoriów dystrybucji i obejmują (ale nie wyłącznie) korzystanie z któregokolwiek z następujących poleceń: curl
, wget
, pip
, npm
, make.
Coraz częściej Ubuntu korzysta z paczek snap – nowego formatu pakietu, który oferuje pewne ulepszenia bezpieczeństwa poprzez ściślejsze ograniczenie programów, aby uniemożliwić im dostęp do części systemu, których nie potrzebują. Ale niektóre opcje mogą obniżyć poziom bezpieczeństwa, więc jeśli zostaniesz poproszony o uruchomienie snap install
warto dokładnie sprawdzić, co polecenie robi.
8. Ukryte pliki
Zanim zakończymy ten samouczek, warto wspomnieć o ukrytych plikach (i folderach). Są one powszechnie używane w systemach Linux do przechowywania ustawień i danych konfiguracyjnych i zwykle są ukryte, aby nie zaśmiecały widoku twoich plików. W ukrytym pliku lub folderze nie ma nic specjalnego poza jego nazwą: wystarczy dodać przed nazwę kropkę („.”), Aby zniknął.
cd /tmp/tutorial
ls
mv combined.txt .combined.txt
ls
Nadal możesz pracować z ukrytym plikiem, upewniając się, że dołączasz kropkę podczas określania jej nazwy pliku:
cat .combined.txt
mkdir .hidden
mv .combined.txt .hidden
less .hidden/.combined.txt
Po uruchomieniu ls
zobaczysz, że .hidden
jest, jak można się spodziewać, ukryty. Nadal możesz wyświetlać jego zawartość za pomocą ls .hidden
, ale ponieważ zawiera on tylko jeden plik, który sam jest ukryty, nie uzyskasz dużej ilości danych wyjściowych. Ale można użyć -a
(pokazują się ll) .
ls
ls -a
ls .hidden
ls -a .hidden
Jeśli chodzi o nasze niedawno zainstalowane tree
, działa to w podobny sposób:
tree
tree -a
Wróć do katalogu domowego ( cd
) i spróbuj uruchomić ls
bez -a
, a następnie z nim . Przejrzyj dane wyjściowe, wc -l
aby lepiej zrozumieć, ile ukrytych plików i folderów było przez cały czas pod twoim nosem. Pliki te zwykle przechowują Twoją osobistą konfigurację i w ten sposób systemy uniksowe zawsze oferowały możliwość posiadania ustawień na poziomie systemu (zwykle w /etc
), które mogą być zastąpione przez poszczególnych użytkowników (dzięki uprzejmości ukrytych plików w ich katalogu domowym).
9. Sprzątanie
Dotarliśmy do końca tego samouczka i powinieneś teraz powrócić do katalogu domowego (użyj, pwd
aby sprawdzić i cd
przejść tam, jeśli nie jesteś). Chcemy pozostawić komputer w takim samym stanie, w jakim go znaleźliśmy, dlatego w końcowym kroku usuńmy obszar eksperymentalny, z którego korzystaliśmy wcześniej, a następnie dokładnie sprawdź, czy rzeczywiście go nie ma:
rm -r /tmp/tutorial
ls /tmp
Na koniec zamknijmy terminal. Możesz po prostu zamknąć okno, ale lepiej jest wylogować się z powłoki. Możesz użyć logout
lub skrótu klawiaturowego Ctrl-D . Jeśli planujesz dużo korzystać z terminala, zapamiętanie Ctrl-Alt-T, aby uruchomić terminal i Ctrl-D, aby go zamknąć, sprawi, że wkrótce poczujesz się jak w domu…