Stronę tą wyświetlono już: 7289 razy
Ponieważ w BASH-u można wykorzystywać systemowe polecenia postanowiłem pokrótce omówić podstawowe z nich.
Pomoc kontekstowa
Wiele poleceń systemowych jest dobrze opisana w plikach pomocy. Wystarczy wykorzystać polecenie man wraz z nazwą polecenia, dla którego szukana jest informacja o możliwości jego użycia:
man ls
Powyższe polecenie wyświetli podręcznik systemowy na temat polecenia ls.
Pomoc można również uzyskać korzystając z opcji --help w sposób następujący:
man --help
Wyświetlenie bieżącego położenia
Każdy skrypt jest uruchamiany z jakiejś lokalizacji, którą można wyświetlić poleceniem pwd:
root@debian:/home# pwd /home
Zmiana bieżącego położenia
Bieżąca lokalizacja najczęściej umożliwia przetwarzanie lub tworzenie nowych plików w tejże lokalizacji, co ułatwia życie. W związku z czym często korzysta się z polecenia CD do zmiany bieżącej lokalizacji:
root@debian:/home# cd /usr root@debian:/usr#
Wyświetlanie zawartości katalogu
Do tego celu służy polecenie ls, które posiada wiele przydatnych opcji. Generalnie samo ls wyświetla listę nazw wszystkich plików i katalogów zawartych w bieżącej lokalizacji:
root@debian:/home/user# ls Dokumenty Obrazy Publiczny Szablony Wideo Muzyka Pobrane Pulpit plik.txt
Możliwe jest również filtrowanie plików, np. wpisanie ls *.txt wyświetli tylko pliki z rozszerzeniem .txt:
root@debian:/home/user# ls *.txt plik.txt
Wyświetlanie tylko folderów:
root@debian:/home/user# ls -d */ Dokumenty/ Obrazy/ Publiczny/ Szablony/ Wideo/ Muzyka/ Pobrane/ Pulpit/
Wyświetlanie listy folderów i plików wraz z uprawnieniami:
root@debian:/home/user# ls -l drwxr-xr-x 2 user user 4096 lis 1 10:10 Dokumenty drwxr-xr-x 2 user user 4096 lis 1 10:10 Muzyka drwxr-xr-x 2 user user 4096 lis 1 10:10 Obrazy drwxr-xr-x 2 user user 4096 lis 1 10:10 Pobrane drwxr-xr-x 2 user user 4096 lis 1 10:10 Publiczny drwxr-xr-x 2 user user 4096 lis 1 10:10 Pulpit drwxr-xr-x 2 user user 4096 lis 1 10:10 Szablony -rwxr-xr-x 1 user user 4096 lis 1 10:10 plik.txt drwxr-xr-x 2 user user 4096 lis 1 10:10 Wideo
Litera d oznacza directory (folder), kolejno są uprawnienia przyznawane danemu użytkownikowi (kolejne trzy znaki), uprawnienia dla grupy (następne trzy znaki) i uprawnienia dla pozostałych (ostatnie trzy znaki). Oznaczenia użyte:
- r - uprawnienie do odczytu;
- w - uprawnienia do zapisy;
- x - uprawnienia do uruchamiania plików wykonywalnych;
- - - brak uprawnienia do odczytu, zapisu lub wykonywania danego pliku.
Dla przykładu drwxr-xr-x kolejno d - oznacza, że jest to folder (gdyby nie był to folder zamiast d byłby znak -); rwx - oznacza uprawnienia do odczytu, zapisu i wykonywania plików w nim zawartych przez użytkownika user; następne r-x - oznacza, że grupa użytkowników user może odczytywać i uruchamiać wykonywalne pliki; ostatnie trzy r-x przypisują te same uprawnienia dla wszystkich innych użytkowników.
Zmiana uprawnień do plików
Polecenie do zmiany uprawnień dostępu do plików może wymagać uprawnień root-a. Poleceniem tym jest chmod:
root@debian:/home/user# chmod 700 plik.txt
Powyższe polecenie sprawi, że odebrane zostaną wszystkie uprawnienia dla grup i innych użytkowników a przydzielone zostaną wszystkie uprawnienia dla root. Dzieje się tak, gdyż sekwencja rwx ósemkowo zapisana to 111 co odpowiada liczbie 7 w systemie dziesiętnym; kolejna opcja to --- czyli 0 i ostatnia to 0 razem poskładane do kupy daje 700.
Uprawnienia można dodawać lub odbierać również w następujący sposób:
root@debian:/home/user# chmod +x plik.txt
W powyższym przypadku nadano wszystkim uprawnienia do wykonywania, odebranie tych uprawnień wygląda następująco:
root@debian:/home/user# chmod -x plik.txt
Nadanie wszystkich uprawnień będzie wyglądało następująco:
root@debian:/home/user# chmod 777 plik.txt
Kopiowanie plików
Kopiowaniem pliku z jednej lokalizacji do drugiej służy polecenie cp:
root@debian:/home/user# cp plik.txt Dokumenty/pl.txt
Jak widać, polecenie to nie tylko kopiuje, ale i umożliwia ustawienie nazwy kopiowanego pliku w miejscu docelowym.
Przenoszenie pliku
Przenoszenie pliku poleceniem mv:
root@debian:/home/user# mv plik.txt Dokumenty/pl.txt
Wyświetlanie zawartości pliku w konsoli
Poleceniem cat można wczytać i wyświetlić zawartość np. pliku tekstowego:
root@debian:/home/user# cat plik.txt Zawartość pliku plik.txt
Jeżeli wyświetlany w konsoli plik ma duże rozmiary warto skorzystać z polecenia less:
root@debian:/home/user# less plik.txt
Wyświetli:
Zawartość pliku plik.txt
plik.txt (END)
Wyjście z trybu wyświetlania zawartości pliku q, przewijanie w dół strzałka w dół, w górę strałka w górę.
Tworzenie zmiennej i wyświetlanie tekstu
Polecenie, umożliwiające wyświetlenie tekstu to echo oto przykład:
root@debian:/home/user# echo "Hello World" Hello World
Możliwe jest też wyświetlanie zmiennych:
root@debian:/home/user# name="Marian" root@debian:/home/user# echo "Hello World $name" Hello World Marian
Wczytywanie danych podanych przez użytkownika do zmiennej
Polecenie read umożliwia wczytanie danych do zmiennej:
root@debian:/home/user# read name Mirek root@debian:/home/user# echo "Hello World $name" Hello World Mirek
Filtrowanie tekstu zawartego w pliku
Polecenie grep umożliwia filtrowanie wczytywanych danych z pliku i wyświetlanie tylko tych linijek tekstu, które zawierają daną frazę:
root@debian:/home/user# grep path some_file.txt path = "/home/user/"
Polecenie to można również wykorzystać w następujący sposób:
root@debian:/home/user# echo "jakiś przykładowy tekst" | grep "jest" root@debian:/home/user# echo "jakiś przykładowy tekst" | grep "przykładowy" jakiś przykładowy tekst
Powyżej wykorzystany został operator | do przekierowania wyjścia polecenia echo na wejście polecenia grep.
Tworzenie wielu plików na raz i/lub modyfikacja daty dostępu/utworzenia pliku
Polecenie touch umożliwia utworzenie serii plików na raz:
root@debian:/home/user/Dokumenty# touch file1.txt file2.txt root@debian:/home/user/Dokumenty# ls file1.txt file2.txt
polecenie to jednak umożliwia także modyfikację daty ostatniego dostępu do pliku na bieżącą datę.
Tworzenie katalogów
Polecenie mkdir służy do utworzenia katalogu lub katalogów:
root@debian:/home/user/Dokumenty# mkdir "folder 1" "folder 2" root@debian:/home/user/Dokumenty# ls folder 1 folder 2
Usuwanie plików i katalogów
Poleceniem rm można usuwać pliki i katalogi:
root@debian:/home/user/Dokumenty# rm "plik 1.txt" "plik 2.txt"
Usuwanie folderów wymaga użycia opcji -r oznaczającej rekurencyjne usuwanie folderu wraz z jego zawartością:
root@debian:/home/user/Dokumenty# rm -r "folder 1" "folder 2" root@debian:/home/user/Dokumenty# ls