Podstawowe polecenia, komendy stosowane w Terminalu LINUX (Ubuntu/Debian Linux)
Ctrl+Alt+T
-> otwarcie terminala
user@pcname:~$
-> nazwaUżytkownikaObecnieZalogowanego@nazwaKomputera:~$ po dwukropka ścieżkaDoObecnegoKatalogu
user@pcname:~$ clear
-> czyszczenie ekranu terminalauser@pcname:~$ exit
-> wyjście z terminala
user@pcname:~$ pwd
-> pwd z ang. print working directory (/home/user
) zwraca ścieżkę do obecnego katalogu/
-> sam pojedynczy ukośnik z ang. slash mark to bezwzględna ścieżka czyli początek naszego drzewa systemu plików od głównego katalogu zwanego rootem korzeniem drzewa całego systemu plików
ls
-> Listowanie plików i katalogów
ls
-> z ang. list directory contents – lista zawartości katalogu, wyświetla katalogi i plikils --help
-> wyświetla informacje o komendzie i wszystkich jej możliwych przełącznikachls -l
-> wyświetla katalogi i pliki z dodatkowymi informacjami w dziewięciu kolumnach-rw-r--r-- 1 root root 22322 Oct 13 15:13 LICENSE.txt
drwxr-xr-x 1 root root 0 Oct 19 15:15 usr/
(1 Kolumna) -rw-r–r– -> plik(-) user(rw-) group(r–) other(r–)
(1 Kolumna) drwxr-xr-x -> katalog(d) user(rwx) group(r-x) other( r-x)
(2 Kolumna) 1
(3 Kolumna) root
(4 Kolumna) root
(5 Kolumna) 22322
(6 Kolumna) Oct
(7 Kolumna) 13
(8 Kolumna) 15:13
(9 Kolumna) LICENSE.txt
– w pierwszej kolumnie -rw-r—r– lub drwxr-xr-x:
pierwszy znak oznacza (-) plik / (d z ang. directory) katalog
następnych 9 znaków to nadane uprawnienia do tego pliku/katalogu
pierwsze 3 to uprawnienia nadane właścicielowi tego pliku/katalogu (u- user)
następne 3 oznaczają uprawnienia dla grupy do której należy ten plik/katalog (g – group)
ostatnie 3 oznaczają uprawnienia dla wszystkich pozostałych użytkowników (o – other)
litera r ( z ang. read) oznacza dostęp do odczytu danego pliku/katalogu, pozwala na przeczytanie pliku
litera w ( z ang. write) oznacza dostęp do zapisywania w danym pliku/katalogu, pozwala na zapis w pliku
litera x (z ang. execute) oznacza, że można dany plik/katalog wykonywać
– trzecia kolumna dotyczy właściciela danego pliku/katalogu,
– czwarta kolumna oznacza grupę, do której należy właściciel danego pliku/katalogu,
– piąta kolumna informuje o wielkości pliku/katalogu,
– szósta, siódma, ósma kolumna wyświetla datę i czas utworzenia/modyfikacji tego pliku/katalogu,
– dziewiąta kolumna wyświetla nazwę pliku/katalogu
ls -a
-> wyświetla wszystkie katalogi i pliki łącznie z ukrytymils -al
-> wyświetla wszystkie katalogi i pliki łącznie z ukrytymi wraz ze szczegółamils dir1 dir2 dir3
-> listuje wybrane katalogils file1 file2 file3 file4 file5
-> listuje wybrane plikils *.php
-> listuje pliki z rozszerzeniem .phpls [a-p]*
-> lista plików/katalogów zaczynających się od a kończących się na p
ls -l [an]* -> szczegółowa lista plików/katalogów zaczynających się na an
man ls
-> zwraca pełną dokumentację danej komendy, w tym wypadku ls nie posiada takiej dokumentacji
Wzorce
[ ]
-> zakres znaków[ abc ]
-> dowolny znak z zakresu wymienionych[ a - c ]
-> dowolny znak od a do c[ ! a - c ]
-> dowolny znak poza wymienionymi[ 0 - 9 ]
-> dowolna cyfra z zakresu{ ps, phone }
-> jeden z ciągów znaków
chmod
-> Nadawanie uprawnień
ls -al a.php
-rw-r--r-- 1 root root 0 Dec 15 16:05 a.php
sudo chmod 777 a.php
-> nadanie dostępu wszystkim do plikuls -al a.php
-rwxrwxrwx 1 root root 0 gru 16 22:58 a.php
sudo chmod a+w file.php
-> nadanie uprawnienia zmian dla wszystkichsudo chmod o-x file.php
-> odebranie uprawnienia wykonywania pozostałym użytkownikomsudo chmod ugo+r file.php
-> nadanie wszystkim uprawnienia odczytu
cd
-> Nawigowanie pomiędzy katalogami, poruszanie się w systemie plików/katalogów
cd
-> z ang. change directory – zmień bieżący katalog, przejście do innego katalogu np. user@pcname:~$ cd usrcd ..
-> wyjście z bieżącego katalogu do nadrzędnego czyli o jeden katalog wyżejcd /
-> przejście na początek drzewa do rootcd /home/user
-> przejście do oczekiwanego katalogu względem ścieżki tak samo jak cd ~
cd -
->powrót do poprzedniego katalogu
Komendy dla katalogów
sudo mkdir php
-> utworzenie katalogu o nazwie phpsudo mkdir dir1 dir2 dir3
-> utworzenie trzech katalogów na razsudo rmdir php
-> usuwanie katalogu sudo rmdir dir1 dir3
-> usuwanie dwóch katalogów na raz
Komendy dla plików
sudo touch file.php
-> utworzenie plikusudo rm file.php
-> usunięcie pliku, z ang. removesudo rm file*
-> usunięcie plików z tym samym początkiem nazwy sudo rm *php
-> usunięcie plików z podanym rozszerzeniem sudo mv file.php dir1
-> przeniesienie pliku do katalogu dir1sudo mv a.php b.php
-> zmiana nazwy pliku z a na b sudo cat namefile.conf
-> wyświetla całą zawartość pliku w terminalusudo cp namefile.php /media/user/usb
-> kopiowanie pliku na pendrivesudo cp file1.php file2.php
-> tworzy kopię pliku file1.php pod nową nazwą file2.phpsudo cp a.php dir1
-> tworzy kopię pliku a.php w katalogu dir1sudo cp -r dir1 dir2
-> skopiowanie katalogu dir1 do dir2 z całą jego zawartością head a.php
-> wyświetla pierwszych 10 wierszy – linii z pliku a.php head -1 a.php
-> drukuje pierwszy wiersz – linięhead -3 a.php
-> wyświetla trzy pierwsze linie – wiersze z pliku a.phptail a.php
-> drukuje 10 ostatnich linii – wierszy pliku a.phptail -1 a.php
-> wyświetla pierwszy wiersz od tłu czyli ostatnią linię z pliku a.phptail -5 a.php
-> wyświetla pięć ostatnich wierszy z pliku a.phpsort a.php
-> sortuje wiersze w pliku a.php rosnąco od tłu czyli ostatnią linię z pliku a.phpsort -r a.php
-> sortuje wiersze malejąco najpierw alfabetycznie od z do a a następnie numerycznie cyfry od największej do najmniejszejsort -n a.php
-> sortuje wiersze rosnąco najpierw alfabetycznie od a do z a następnie numerycznie cyfry od najmniejszej do największejgrep 'druga' a.php
-> odnajduje wiersz – linie, w której został wpisany string w tym wypadku o nazwie druga liniawc a.php
-> (19 30 190 a.php) z ang. word count drukuje liczbę linii, słów i znaków zawartych w tekście pliku a.phpwc -l a.php
-> drukuje liczbę wierszywc -w a.php
-> drukuje liczbę słówwc -c a.php
-> drukuje liczbę znaków
find
-> Odnajdowanie plików/katalogów
find ./dir1 lub find dir1
-> znajdź w bieżącym folderze katalog dir1find ./*php
-> znajdź w bieżącym folderze pliki z nazwą kończąca się na php find *.php
-> znajdź według wzorca wszystkie pliki z rozszerzeniem phpfind /
-> znajdź w całym systemiefind ~ -name a.php
-> odnajdź wszystkie pliki o nazwie a.phpfind ~ -name '*php'
-> znajdź wszystkie nazwy plików kończących się rozszerzeniem phpfind ~ type f -name '*php'
-> znajdź wszystkie pliki kończących się rozszerzeniem php find ~ type d -name 'dir1'
-> znajdź wszystkie katalogi o nazwie dir1
Instalacja oprogramowania
sudo apt-get update
lub sudo apt update
-> pobiera zaktualizowaną listę pakietów z Internetu i ją aktualizuje /etc/apt/sources.list, aktualizacja listy dostępnych programów oraz odnośników do nich samych musi zostać wykonana przed instalacją jakiegokolwiek programu
sudo apt-get upgrade
lub sudo apt upgrade
-> instalacja dostępnych aktualizacji wszystkich pakietów aktualnie zainstalowanych w systemie, zmiana wersji na wyższą ze źródeł skonfigurowanych za pomocą pliku sources.list (/etc/apt/sources.list), istniejące pakiety nigdy nie zostaną usunięte, natomiast nowe pakiety zostaną zainstalowane
W pierwszej kolejności wykonujemy sudo apt-get update
lub sudo apt update
następnie sudo apt-get upgrade
można również sudo apt-get update && sudo apt-get upgrade
sudo apt-get dist-upgrade
-> aktualizacja dystrybucji Ubuntu do wyższej wersji, wykonywać tylko wtedy kiedy pojawi się nowa wersja Ubuntu
sudo apt-get install {package-name}
-> instalacja pakietu oprogramowania, aktualizacja indywidualnego pakietusudo apt-cache search {package-name}
-> odnalezienie pakietu oprogramowaniasudo apt-get remove {package-name}
-> usunięcie pakietu z zachowaniem plików konfiguracyjnychsudo apt-get --purge remove {package-name}
-> usunięcie, odinstalowanie pakietu i plików konfiguracyjnychsudo apt autoremove
-> usunięcie zbędnych niepotrzebnych pakietów, zainstalowanych automatycznie w celu spełnienia zależności innych pakietów
sudo apt-get install php
->instalacja interpretera PHP programu do odczytu i wykonania skryptów napisanych w języku PHP, który jest dostępny jako komenda systemowa php
sudo apt-get install nano
-> instalacja programu, podstawowego konsolowego edytora tekstu Nano
nano namefile.conf
-> otwarcie pliku za pomocą edytora Nano
sudo apt-get install apache2
-> instalacja serwera Apache2 DocumentRoot -> /var/www/html html to domyślny katalog Apache, w którym przechowywane są projekty deweloperskie
code .
-> uruchomienie Visual Studio Code
Czyszczenie pamięci podręcznej (cache) – zwolnienie miejsca z pamięci
sudo apt-get clean
-> czyści lokalne repozytorium pobranych plików pakietów, które pozostały w /var/cache. Czyści katalogi: /var/cache/apt/archives/ i /var/cache/apt/archives/partial/. Jedynymi plikami, które pozostawia w /var/cache/apt/archives, są plik blokady (lock) i częściowy podkatalog (partial)sudo apt-get autoclean
-> czyści lokalne repozytorium pobranych plików pakietów podobnie jak sudo apt-get clean, ale usuwa tylko te pliki, których nie można już pobrać i które są praktycznie bezużyteczne, pomaga to zapobiegać zbyt dużemu rozrostowi pamięci podręcznejsudo apt-get autoremove
-> usuwa pakiety, które zostały automatycznie zainstalowane, ponieważ wymagały ich niektóre inne pakiety, ale po usunięciu tych innych pakietów nie są już potrzebne, czasami aktualizacja zasugeruje uruchomienie tego polecenia
tar + gzip
Archiwizacja + Kompresja plików/katalogów
Format TAR
tar -cvf archive.tar a.php
-> utworzenie archiwum w formacie TAR
z plikiem a.phptar -xvf archive.tar
-> wypakowanie pliku a.php z archiwum formatu TAR
Format TAR.GZ
tar -zcvf archive.tar.gz dirArchive
-> utworzenie archiwum katalogu dirArchive
w formacie TAR.GZ
tar -zxvf archive.tar.gz
-> wypakowanie katalogu dirArchive
z archiwum TAR.GZ
tar
Przełączniki:
-c – tworzy plik w formacie tar
-v – wypisuje nazwy wszystkich plików
-f – określa nazwę pliku archiwum tar
-x – wyodrębnia wymienione pliki
-z – włącza kompresję programem gzip
gzip
Kompresja/Dekompresja
gzip archive.tar
-> skompresowanie archiwum za pomocą gzip, wynikiem będzie powstanie archive.tar.gz
gzip -d archive.tar.gz
-> dekompresja archiwum