Autor podstrony: Krzysztof Zajączkowski

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:

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