GNU/Linux Samouczek
Rozpoczęcie pracy z GNU / Linux
Szukaj…
Witaj świecie
Wpisz następujący kod w terminalu, a następnie naciśnij klawisz Enter :
echo "Hello World"
Spowoduje to wygenerowanie następującego wyniku:
Hello World
Manipulacja plikami
Pliki i katalogi (inna nazwa folderów) są sercem Linuksa, więc możliwość ich tworzenia, przeglądania, przenoszenia i usuwania z wiersza poleceń jest bardzo ważna i dość wydajna. Te polecenia manipulacji plikami umożliwiają wykonywanie tych samych zadań, które wykonywałby graficzny eksplorator plików.
Utwórz pusty plik tekstowy o nazwie myFile
:
touch myFile
Zmiana nazwy myFile
do myFirstFile
:
mv myFile myFirstFile
Wyświetl zawartość pliku:
cat myFirstFile
Wyświetl zawartość pliku za pomocą pagera (jeden ekran na raz):
less myFirstFile
Zobacz kilka pierwszych wierszy pliku:
head myFirstFile
Wyświetl kilka ostatnich wierszy pliku:
tail myFirstFile
Edytuj plik:
vi myFirstFile
Sprawdź, jakie pliki znajdują się w bieżącym katalogu roboczym:
ls
Utwórz pusty katalog o nazwie myFirstDirectory
:
mkdir myFirstDirectory
Utwórz katalog wielościeżkowy: (tworzy dwa katalogi, src i myFirstDirectory)
mkdir -p src/myFirstDirectory
Przenieś plik do katalogu:
mv myFirstFile myFirstDirectory/
Możesz także zmienić nazwę pliku:
user@linux-computer:~$ mv myFirstFile secondFileName
Zmień bieżący katalog roboczy na myFirstDirectory
:
cd myFirstDirectory
Usuń plik:
rm myFirstFile
Przejdź do katalogu nadrzędnego (który jest reprezentowany jako ..
):
cd ..
Usuń pusty katalog:
rmdir myFirstDirectory
Usuń niepusty katalog (tzn. Zawiera pliki i / lub inne katalogi):
rm -rf myFirstDirectory
Pamiętaj, że usuwając katalogi, usuwasz ./
not /
, który wyczyści cały system plików.
Szczegóły pliku / katalogu
Polecenie ls
ma kilka opcji, których można użyć razem, aby wyświetlić więcej informacji.
Szczegóły / prawa
Opcja l
pokazuje uprawnienia do pliku, rozmiar i datę ostatniej modyfikacji. Więc jeśli katalog główny zawiera katalog o nazwie test
i plik someFile
polecenie:
user@linux-computer:~$ ls -l
Wyprowadziłby coś takiego
-rw-r--r-- 1 user users 70 Jul 22 13:36 someFile.txt
drwxrwxrwx 2 user users 4096 Jul 21 07:18 test
Uprawnienia są w formacie drwxrwxrwx
. Pierwszy znak reprezentuje typ pliku d
jeśli jest to katalog -
przeciwnym razie. Następne trzy rwx
to uprawnienia, jakie użytkownik ma do pliku, następne trzy to uprawnienia, jakie grupa ma do pliku, a ostatnie trzy to uprawnienia, które wszyscy mają do pliku.
r
rwx
oznacza, czy plik można odczytać, w
oznacza, czy plik można zmodyfikować, a x
oznacza, czy plik można wykonać. Jeśli jakiekolwiek pozwolenie nie zostanie udzielone, a -
r
, w
lub x
.
Tak więc z góry user
może czytać i modyfikować someFile.txt
ale grupa ma tylko prawa tylko do odczytu.
Aby zmienić prawa, możesz użyć komendy chmod ### fileName
jeśli masz uprawnienia sudo. r
jest reprezentowany przez wartość 4, w
jest reprezentowany przez 2, a x
jest reprezentowany przez 1. Więc jeśli tylko chcesz móc modyfikować zawartość do katalogu test
Owner rwx = 4+2+1 = 7
Group r-x = 4+0+1 = 5
Other r-x = 4+0+1 = 5
Więc całe polecenie jest
chmod 755 test
Teraz wykonanie ls -l
pokazałoby coś takiego
drwxr-xr-x 2 user users 4096 Jul 21 07:20 test
Czytelny rozmiar
Używana w połączeniu z opcją l
opcja h
pokazuje rozmiary plików, które są czytelne dla człowieka. Bieganie
user@linux-computer:~$ ls -lh
Wyprowadziłby:
total 4166
-rw-r--r-- 1 user users 70 Jul 22 13:36 someFile.txt
drwxrwxrwx 2 user users 4.0K Jul 21 07:18 test
Ukryty
Aby wyświetlić ukryte pliki używać a
opcję. Na przykład
user@linux-computer:~$ ls -a
Może lista
.profile
someFile.txt
test
Całkowity rozmiar katalogu
Aby wyświetlić rozmiar bieżącego katalogu, użyj opcji s
(opcja h
może również służyć do zwiększenia czytelności rozmiaru).
user@linux-computer:~$ ls -s
Wyjścia
total 4166
someFile.txt test
Widok rekurencyjny
Powiedzmy, że katalog test
miał plik anotherFile
i chciałeś go zobaczyć z folderu głównego, możesz użyć opcji R
, która wyświetlałaby drzewo rekurencyjne.
user@linux-computer:~$ ls -R
Wyjścia
.:
someFile.txt test
./test:
anotherFile
Podstawowe narzędzia Linux
Linux ma polecenie do prawie wszystkich zadań, a większość z nich jest intuicyjna i łatwa do interpretacji.
Uzyskiwanie pomocy w systemie Linux
Komenda | Użyteczność |
---|---|
man <name> | Przeczytaj stronę podręcznika <nazwa>. |
man <section> <name> | Przeczytaj stronę podręcznika <nazwa>, związaną z podaną sekcją. |
man -k <editor> | Wydrukuj całe oprogramowanie, którego strony podręcznika zawierają słowo kluczowe <editor>. |
man -K <keyword> | Wyświetla wszystkie strony podręcznika zawierające <słowo kluczowe>. |
apropos <editor> | Wydrukuj wszystkie aplikacje, których jeden opis wiersza pasuje do edytora słów. Jeśli nie możesz przywołać nazwy aplikacji, użyj tego polecenia. |
help | W powłoce Bash wyświetli listę wszystkich dostępnych poleceń bash. |
help <name> | W powłoce Bash wyświetli informacje o komendzie bash <nazwa>. |
info <name> | Wyświetl wszystkie informacje na temat <nazwa>. |
dpkg -l | Wypisuje listę wszystkich zainstalowanych pakietów w systemie opartym na Debianie. |
dpkg -L packageName | Wyświetli listę zainstalowanych plików i szczegóły ścieżki dla danego pakietu w Debianie. |
dpkg -l | grep -i <edit> | Zwróć wszystkie zainstalowane pakiety .deb z <edit> bez względu na przypadki. |
less /var/lib/dpkg/available | Zwróć opisy wszystkich dostępnych pakietów. |
whatis vim | Wymień jednowierszowy opis vima. |
<command-name> --help | Wyświetl informacje o użytkowaniu dotyczące <nazwa-tool>. Czasami command -h również działa, ale nie dla wszystkich poleceń. |
Identyfikacja użytkownika i kto jest kim w świecie Linuksa
Komenda | Użyteczność |
---|---|
hostname | Wyświetl nazwę hosta systemu. |
hostname -f | Wyświetla w pełni kwalifikowaną nazwę domeny (FQDN) systemu. |
passwd | Zmień hasło bieżącego użytkownika. |
whoami | Nazwa użytkownika zalogowanego na terminalu. |
who | Lista wszystkich użytkowników aktualnie zalogowanych jako użytkownik. |
w | Wyświetl aktualny stan systemu, czas, czas trwania, listę użytkowników aktualnie zalogowanych w systemie i inne informacje o użytkownikach. |
last | Kto ostatnio korzystał z systemu. |
last root | Kiedy ostatni raz root zalogował się jako użytkownik. |
lastb | Pokazuje wszystkie złe próby logowania do systemu. |
chmod | Zmiana uprawnień - odczyt, zapis, wykonanie pliku lub katalogu. |
Informacje związane z procesem
Komenda | Użyteczność |
---|---|
top | Wyświetl wszystkie procesy posortowane według ich bieżącego wykorzystania zasobów systemowych. Wyświetla stale aktualizowane wyświetlanie procesów (domyślnie 3 sekundy). Użyj klawisza q , aby wyjść z góry. |
ps | Lista procesów aktualnie uruchomionych w bieżącej sesji powłoki |
ps -u root | Wymień wszystkie procesy i polecenia, które root jest uruchomiony |
ps aux | Wyświetl wszystkie procesy wszystkich użytkowników w bieżącym systemie |
Polecenia zarządzania plikami
Linux stosuje pewne konwencje dla katalogów obecnych i macierzystych. Może to być nieco mylące dla początkujących.
Ilekroć jesteś w terminalu w Linuksie, będziesz w tak zwanym bieżącym katalogu roboczym . Często wiersz polecenia wyświetla albo pełny katalog roboczy, albo tylko ostatnią część tego katalogu. Twój monit może wyglądać następująco:
user@host ~/somedir $
user@host somedir $
user@host /home/user/somedir $
co mówi, że twój bieżący katalog roboczy to /home/user/somedir
.
W systemie Linux ..
reprezentuje katalog nadrzędny i .
reprezentuje bieżący katalog.
Dlatego jeśli bieżącym katalogiem jest /home/user/somedir
, to cd ../somedir
nie zmieni katalogu roboczego.
Poniższa tabela zawiera listę najczęściej używanych poleceń zarządzania plikami
Nawigacja w katalogu
Komenda | Użyteczność |
---|---|
pwd | Uzyskaj pełną ścieżkę do bieżącego katalogu roboczego. |
cd - | Przejdź do ostatniego katalogu, w którym pracowałeś. |
cd ~ lub po prostu cd | Przejdź do katalogu domowego bieżącego użytkownika. |
cd .. | Przejdź do katalogu nadrzędnego bieżącego katalogu (pamiętaj o spacji między cd a .. ) |
Lista plików w katalogu
Komenda | Użyteczność |
---|---|
ls -l | Lista plików i katalogów w bieżącym katalogu w długim formacie (tabela) (Zaleca się użycie -l z ls dla lepszej czytelności). |
ls -ld dir-name | Wyświetla informacje o katalogu dir-name katalogu zamiast jego zawartości. |
ls -a | Lista wszystkich plików, w tym ukrytych (Nazwy plików rozpoczynające się od . Są ukrytymi plikami w systemie Linux). |
ls -F | Dołącza symbol na końcu nazwy pliku, aby wskazać jego typ ( * oznacza plik wykonywalny, / oznacza katalog, @ oznacza symboliczne łącze, = oznacza gniazdo, | oznacza nazwaną potok, > oznacza drzwi). |
ls -lt | Wyświetl listę plików posortowanych według czasu ostatniej modyfikacji, a ostatnio zmodyfikowane pliki są wyświetlane u góry (pamiętaj, że opcja -l zapewnia długi format zapewniający lepszą czytelność). |
ls -lh | Podaj rozmiary plików w formacie czytelnym dla człowieka. |
ls -lR | Pokazuje rekursywnie wszystkie podkatalogi. |
tree | Wygeneruje drzewną reprezentację systemu plików, zaczynając od bieżącego katalogu. |
Utwórz / skopiuj plik / katalog
Komenda | Użyteczność |
---|---|
cp -p source destination | Skopiuje plik ze source do miejsca docelowego . -p oznacza zachowanie. Zachowuje oryginalne atrybuty pliku podczas kopiowania, takie jak właściciel pliku, znacznik czasu, grupa, uprawnienia itp. |
cp -R source_dir destination_dir | Skopiuje katalog źródłowy do określonego miejsca docelowego rekurencyjnie. |
mv file1 file2 | W systemie Linux nie ma jako takiego polecenia zmiany nazwy . Stąd mv przenosi / zmienia nazwę pliku1 na plik2. |
rm -i filename | Pyta przed każdym usunięciem pliku o potwierdzenie. JEŚLI JESTEŚ NOWYM UŻYTKOWNIKIEM DO LINII POLECEŃ LINUX, POWINNO ZAWSZE UŻYWAĆ rm -i . Możesz określić wiele plików. |
rm -R dir-name | Usunie rekursywnie katalog dir-name katalogu. |
rm -rf dir-name | Usunie katalog dir rekurencyjnie, ignorując nieistniejące pliki i nigdy nie będzie o nic pytał. UWAŻAJ SIĘ, WYKORZYSTUJĄC TEN KOMENDĘ! Możesz podać wiele katalogów. |
rmdir dir-name | Usunie katalog dir-name katalogu, jeśli jest pusty. To polecenie może usunąć tylko puste katalogi. |
mkdir dir-name | Utwórz katalog dir-name katalogu. |
mkdir -p dir-name/dir-name | Utwórz hierarchię katalogów. W razie potrzeby utwórz katalogi nadrzędne, jeśli nie istnieją. Możesz podać wiele katalogów. |
touch filename | Utwórz filename , jeśli nie istnieje, w przeciwnym razie zmień znacznik czasu pliku na aktualny czas. |
Uprawnienia do plików / katalogów i grup
Komenda | Użyteczność |
---|---|
chmod <specification> filename | Zmień uprawnienia do pliku. Dane = u użytkownika, g grupa, o drugiej, + dodaj pozwolenie, - usuwanie, r czytać, w zapisie, x wykonać. |
chmod -R <specification> dir-name | Zmień rekursywnie uprawnienia do katalogu. Aby zmienić uprawnienia do katalogu i wszystkiego w tym katalogu, użyj tego polecenia. |
chmod go=+r myfile | Dodaj uprawnienie do odczytu dla właściciela i grupy. |
chmod a +rwx myfile | Zezwól wszystkim użytkownikom na czytanie, pisanie lub uruchamianie myfile . |
chmod go -r myfile | Usuń uprawnienia do odczytu z grupy i innych osób. |
chown owner1 filename | Zmień własność pliku na owner1 użytkownika owner1 . |
chgrp grp_owner filename | Zmień własność grupy podstawowej filename na grupę grp_owner . |
chgrp -R grp_owner dir-name | Zmień własność grupy podstawowej katalogu dir-name grp_owner rekursywnie grupę grp_owner . Aby zmienić własność grupy dla katalogu i wszystkiego w tym katalogu, użyj tego polecenia. |
Przydatne skróty
Korzystanie z terminala
Przykłady w tym dokumencie zakładają, że używasz powłoki zgodnej z POSIX (np. Bash , sh , zsh , ksh ).
Duże części funkcjonalności GNU / Linux są osiągane za pomocą terminala. Większość dystrybucji Linuksa zawiera emulatory terminali, które pozwalają użytkownikom na interakcję z powłoką ze środowiska pulpitu. Powłoka to interpreter wiersza poleceń, który wykonuje polecenia wprowadzone przez użytkownika. Bash (Bourne Again SHell) jest powszechną domyślną powłoką wśród wielu dystrybucji Linuksa i jest domyślną powłoką dla systemu macOS.
Te skróty będą działać, jeśli używasz Bash z skrótami klawiszowymi emacs (ustawionymi domyślnie):
Otwórz terminal
- Ctrl + Alt + T lub Super + T
Ruch kursora
- Ctrl + A Przejdź do początku wiersza, w którym obecnie piszesz.
- Ctrl + E Idź do końca linii, na której obecnie piszesz.
- Ctrl + XX Przechodzenie między początkiem linii a bieżącą pozycją kursora.
- Alt + F Przesuń kursor o jedno słowo do przodu w bieżącym wierszu.
- Alt + B Przesuń kursor do tyłu o jedno słowo w bieżącym wierszu.
- Ctrl + F Przesuń kursor o jeden znak do przodu w bieżącym wierszu.
- Ctrl + B Przesuń kursor do tyłu o jeden znak w bieżącym wierszu.
Manipulowanie tekstem
- Ctrl + U Wytnij linię z bieżącej pozycji na początek linii, dodając ją do schowka. Jeśli jesteś na końcu linii, wytnij całą linię.
- Ctrl + K Wytnij linię z bieżącej pozycji do końca linii, dodając ją do schowka. Jeśli jesteś na początku linii, wytnij całą linię.
- Ctrl + W Usuń słowo przed kursorem, dodając je do schowka.
- Ctrl + Y Wklej ostatnią rzecz ze schowka, który ostatnio wycinałeś (cofnij ostatnie usunięcie w bieżącej pozycji kursora).
- Alt + T Zamień dwa ostatnie słowa przed kursorem.
- Alt + L Ustaw małe litery od kursora do końca słowa.
- Alt + U Twórz wielkie litery od kursora do końca słowa.
- Alt + C Wielkie litery zaczynają się od kursora (całe słowo, jeśli kursor znajduje się na początku słowa).
- Alt + D Usuń do końca słowa zaczynającego się od kursora (całe słowo, jeśli kursor znajduje się na początku słowa).
- Alt +. Wyświetla ostatnie słowo zapisane w poprzednim poleceniu.
- Ctrl + T Zamień dwa ostatnie znaki przed kursorem.
Dostęp do historii
- Ctrl + R Umożliwia wyszukiwanie wcześniej używanych poleceń.
- Ctrl + G Wyjdź z trybu wyszukiwania historii bez uruchamiania polecenia.
- Ctrl + J Umożliwia skopiowanie bieżącego dopasowanego polecenia do wiersza polecenia bez jego uruchamiania, umożliwiając wprowadzanie modyfikacji przed uruchomieniem polecenia.
- Alt + R Cofnij wszelkie zmiany polecenia, które wyciągnąłeś z historii, jeśli je edytowałeś.
- Ctrl + P Pokazuje ostatnio wykonane polecenie, tzn. Przejrzyj historię poleceń (podobnie jak strzałka w górę).
- Ctrl + N Pokazuje następne wykonane polecenie, tzn. Przejdź do przodu historii poleceń (podobnie jak strzałka w dół).
Kontrola terminali
- Ctrl + L Czyści ekran, podobnie jak polecenie wyczyść.
- Ctrl + S Zatrzymaj wszystkie dane wyjściowe na ekranie. Jest to przydatne podczas uruchamiania poleceń z dużą ilością długich danych wyjściowych. Ale to nie kończy uruchomionego polecenia.
- Ctrl + Q Wznów wyświetlanie na ekranie po zatrzymaniu za pomocą Ctrl + S.
- Ctrl + C Zakończ aktualnie uruchomiony proces i zwróć monit.
- Ctrl + D Wyloguj się z bieżącej sesji powłoki, podobnie jak polecenie exit lub wyloguj się. W niektórych poleceniach działa jako sygnał końca pliku, wskazując, że osiągnięto koniec pliku.
- Ctrl + Z Zawiesza (wstrzymuje) aktualnie uruchomiony proces pierwszego planu, który zwraca monit powłoki. Następnie można użyć polecenia
bg
umożliwiając uruchomienie tego procesu w tle. Aby ponownie przenieść ten proces na pierwszy plan, użyj poleceniafg
. Aby wyświetlić wszystkie procesy w tle, użyj poleceniajobs
. - Zakładka Automatyczne uzupełnianie nazw plików i katalogów.
- Zakładka Zakładka Pokazuje wszystkie możliwości, gdy wpisane znaki nie pasują jednoznacznie do nazwy pliku lub katalogu.
Znaki specjalne
- Ctrl + H To samo co Backspace.
- Ctrl + J To samo co Return (historycznie Line Feed).
- Ctrl + M Taki sam jak Return (historycznie Carriage Return).
- Ctrl + I Taki sam jak Tab.
- Ctrl + G Znak dzwonu.
- Ctrl + @ Null Character.
- Esc Deadkey odpowiada modyfikatorowi Alt .
Zamknij terminal
- Ctrl + Shift + W Aby zamknąć kartę terminala.
- Ctrl + Shift + Q Aby zamknąć cały terminal.
Alternatywnie możesz przełączyć się na skróty klawiszowe vi w bash za pomocą set -o vi
. Użyj set -o emacs
aby powrócić do skrótów klawiszowych emacs .
Wyszukiwanie plików według wzorców w nazwie / treści
Częstym i częstym zadaniem osoby używającej Linuksowego wiersza poleceń (powłoki) jest wyszukiwanie plików / katalogów o określonej nazwie lub zawierających określony tekst. Aby to zrobić, należy zapoznać się z 2 poleceniami:
Znajdź pliki według nazwy
find /var/www -name '*.css'
Spowoduje to wydrukowanie pełnej ścieżki / nazwy pliku do wszystkich plików w katalogu /var/www
które kończą się na .css
. Przykładowe dane wyjściowe:
/var/www/html/text-cursor.css
/var/www/html/style.css
Po więcej informacji:
man find
Znajdź pliki zawierające tekst
grep font /var/www/html/style.css
Spowoduje to wydrukowanie wszystkich wierszy zawierających font
wzoru w określonym pliku. Przykładowe dane wyjściowe:
font-weight: bold;
font-family: monospace;
Inny przykład:
grep font /var/www/html/
To nie działa, jak się spodziewałeś. Dostajesz:
grep: /var/www/html/: Is a directory
Musisz rekurencyjnie grep
aby działał, używając opcji -R
:
grep -R font /var/www/html/
Hej miło! Sprawdź wyniki tego:
/var/www/html/admin/index.php: echo '<font color=red><b>Error: no dice</b></font><br/>';
/var/www/html/admin/index.php: echo '<font color=red><b>Error: try again</b></font><br/>';
/var/www/html/style.css: font-weight: bold;
/var/www/html/style.css: font-family: monospace;
Zauważ, że gdy grep
dopasowuje wiele plików, poprzedza dopasowane linie nazwami plików. Możesz użyć opcji -h
, aby się tego pozbyć, jeśli chcesz.
Po więcej informacji:
man grep