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 polecenia fg . Aby wyświetlić wszystkie procesy w tle, użyj polecenia jobs .
  • 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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow