Podstawowe polecenia
Dokładny opis każdego polecenia można zobaczyć poprzez wydanie komendy :
man
Polecenia można podzielić na następujące grupy :
– polecenia związane z plikami i katalogami
– polecenia związane z systemem plików
– polecenia związane z zarządzaniem użytkownikami
– polecenia związane z zarządzaniem modułami jądra
– polecenia związane z procesami
– polecenia związane z siecią
– polecenia związane z wyszukiwaniem
– polecenia związane z szukaniem pomocy
– inne polecenia
Polecenia związane z plikami i katalogami :
cd ścieżka-dostępu
Opis : zmiana bieżącego katalogu
touch [-acm] [MMDDhhmm] lista_plików
Opis : modyfikacja daty i czasu utworzonego pliku, tworzenie nowego pliku
Opcje:
-a – zmienia tylko czas ostatniego dostępu do pliku
-c – jeśli plik nie istnieje nie zostanie utworzony
-m – zmienia czas ostatniej modyfikacji pliku
MMDDhhmm – czas w postaci : miesiąc dzień godzina minuta (np.: 10122122)
rm [-fr] nazwa-pliku
Opis : kasowanie pliku
Opcje :
-f – pomija konieczność potwierdzenia pytania o usuwanie plików
-r – usuwa zawartość katalogu wraz z podkatalogami
cp [-flpRs] plik plik-docelowy-lub-katalog
Opis : kopiowanie plików i katalogów
Opcje :
-f – powoduje, że program nie uprzedza o nadpisaniu pliku docelowego o tej samej nazwie
-l – tworzy dowiązanie zamiast kopiować plik
-p – opcja ta powoduje, że kopiowane pliki zachowują w miarę możliwości swoje atrybuty
-R – kopiuje zawartość katalogów i podkatalogów
-s – tworzy dowiązanie symboliczne zamiast kopiować plik
mv [ -fu] plik plik-docelowy-lub-katalog
Opis : zmiana nazwy lub przenoszenie pliku i katalogu
Opcje :
-f – powoduje, że program nie uprzedza o nadpisaniu pliku docelowego o tej samej nazwie
-u – przenosi pliki tylko wówczas, gdy istniejące pliki docelowe są starsze
chmod [-R][ugoa][+-=][rwx] plik-lub-katalog
Opis : zmiana atrybutów pliku
Opcje :
-R – zmiana praw dla plików i katalogów wraz z podkatalogami
-u (user) – właściciel pliku lub katalogu
-g (group) – grupa, do której należy dany plik lub katalog
-o (other) – wszyscy pozostali
+ – dodaje prawa
– – odbiera prawa
= – sprawia, że plik lub katalog będzie miał prawa tylko takie, jakie zostaną podane po tej opcji
-r – prawo czytania danych
-w – prawo zapisu (edycji)
-x – prawo uruchamiania
chown [-Rf] właścicel[:grupa] plik-lub-katalog
Opis : zmiana właściciela pliku lub katalogu
Opcje :
-R – zmiana właściciela i/lub grupy plików i katalogów wraz z podkatalogami
-f – zmienia właściciela i/lub grupę tylko tym plikom, które należą do podanego właścicela i/lub grupy
mkdir [-mp] katalog
Opis : tworzenie katalogów
Opcje :
-m=prawa – nadaje tworzonym katalogom podane prawa
-p – nie ostrzega, jeśli katalog o podanej nazwie już istnieje
rmdir [-p] katalog
Opis : kasowanie katalogów
Opcje :
-p – usuwa katalog wraz z katalogami nadrzędnymi
ls [-al] plik-lub-katalog
Opis : wyświetla informacje o plikach i katalogach
Opcje :
-a – wyświetla wszystkie pliki w katalogu, wraz z plikami ukrytymi
-l – listuje w długim formacie pełną informację o plikach i katalogach
ln [-dfs] plik-lub-katalog link
Opis : tworzenie dowiązań
Opcje :
-d – tworzy dowiązanie twarde do katalogów
-f – nie informuje o nadpisywaniu istniejącego pliku
-s – tworzy dowiązanie symboliczne
less nazwa-pliku
Opis : podgląd plików tekstowych
cat nazwa-pliku
Opis : przesyła plik na standardowe wejście
Polecenia związane z systemem plików :
df [-aht] urządzenie
Opis : sprawdzenie ilości wolnego miejsca na dysku
Opcje :
-a – wyświetla informacje o każdym systemie plików
-h – wyświetlane informacje są podawane w łatwych do odczytania jednostkach
-t=typ – wyświetla informacje tylko o systemie danego typu
mkfs [-t] [-c] urządzenie-blokowe
Opis : tworzenie systemu plików
Opcje :
-t – określa typ tworzonego systemu plików, domyślnie ext2
-c – sprawdza uszkodzone bloki urządzenia przed utworzeniem systemu plików
mount [-t] [-o] urządzenie-lub-katalog
Opis : montowanie systemu plików
Opcje :
-t – typ montowanego systemu plików
-o – po tej opcji następuje podanie oddzielonych przecinkami wartości :
remount – przemontowanie zamontowanego już systemu plików
ro – montuje system plików w tryb tylko do odczytu
rw – montuje system plików w tryb tylko do odczytu i zapisu
nouser – zabrania zwykłemu użytkownikowi montowania systemu plików
umount urządzenie-lub-katalog
Opis : odmontowanie systemu plików
e2fsck [-pcf] [-b] urządzenie
Opis : testowanie systemu plików
Opcje :
-p – napraw automatycznie system plików bez żadnych pytań
-c – uruchom program badblocks w celu znalezienia uszkodzonych bloków
-f – wymuś sprawdzanie, nawet jeśli system plików wydaje się być czysty
-b superblok – użyj podanego superbloku
fdisk [-lv] [-s] urządzenie
Opis : obsługa partycji
Opcje :
-l – drukuje tablice partycji
-v – drukuje numer wersji fdiska
-s partycja – jest partycją wybranego dysku
urządzenie – jest plikiem z katalogu /dev wskazującym na nasz dyski (np.: hda)
fdformat [-n] urządzenie
Opis : niskopoziomowy format dyskietki
Opcje :
-n – wyłączenie weryfikacji sformatowanej dyskietki
Polecenia związane z zarządzaniem użytkownikami :
useradd [-d] [-g] [-G] [-s] [-u] nazwa-usera
Opis : dodawanie użytkowników
Opcje :
-d katalog_domowy – wartość ta określa katalog domowy użytkownika, domyślnie zmienna ta przyjmuje wartość taką samą jak nazwa użytkownika
-g gupa_początkowa – jest nazwą grupy początkowej użytkownika. Grupa ta musi już istnieć. W przypadku nie podania tej zmiennej system sam utworzy grupę dla użytkownika o nazwie zgodnej z nazwą użytkownika
-G inne_grupy – lista dodatkowych grup, do których zostanie przypisany użytkownik
-s powłoka – nazwa powłoki użytkownika
-u uid – numeryczna wartość identyfikatora użytkownika. Wartość ta musi być niepowtarzalna i większa od 99. W przypadku nie podania tej zmiennej system sam przydzieli użytkownikowi pierwszy wolny numer.
userdel [-r] nazwa-usera
Opis : usuwanie użytkowników
Opcje :
-r – zostaną usunięte pliki w katalogu domowym użytkownika, sam katalog domowy i pliki buforowania poczty
groupadd [-g] nazwa-grupy
Opis : dodawanie grup
Opcje :
-g gid – numeryczna wartość identyfikatora grupy. Wartość ta musi być niepowtarzalna. Wartości od 0-99 są zarezerwowane dla kont systemowych i nie powinny być używane. W przypadku nie podania gid system sam przydzieli grupie pierwszą wolną wartość.
groupdel nazwa-grupy
Opis : usuwanie istniejących grup
usermod [-d] [-g] [-G] [-s] [-u] [-l] nazwa-usera
Opis : modyfikowanie danych użytkowników
Opcje :
-l login – nowa nazwa użytkownika
pozostałe opcje mają identyczne znaczenie jak opcje z polecenia useradd
groupmod [-g][-n] grupa
Opis : modyfikowanie danych grup
Opcje :
-g gid – numeryczna wartość identyfikatora grupy
-n grupa – nowa nazwa grupy
passwd [-l][-u][-d][-S] nazwa-usera
Opis : zmiana hasła użytkownika
Opcje :
-l – zablokowanie konta
-u – ponowne udostępnienie konta
-S – wyświetlenie informacji o stanie konta
su nazwa-usera
Opis : chwilowa zmiana aktywnego użytkownika
Polecenia związane z zarządzaniem modułami jądra :
insmod [-fp] [-o] plik-modułu
Opis : instalowanie modułu jądra
Opcje :
-f – usiłuje załadować moduł nawet jeśli wersja uruchomionego jądra i jądra dla którego moduł został skompilowany nie zgadza się
-p – sprawdza czy moduł może być załadowany bez kłopotów
-o nazwa_modułu – podanie dokładnej nazwy modułu
rmmod [-a] moduł
Opis : usuwanie modułu
Opcje :
-a – usuń wszystkie nieużywane moduły
lsmod
Opis : listowanie aktywnych modułów
depmod moduł
Opis : sprawdzanie zależności między modułami
modprobe moduł
Opis : instalowanie modułu z potrzebnymi opcjami i modułami
modinfo [-adnp] plik-modułu
Opis : informacje o modułach
Opcje :
-a – wypisuje autora modułu
-d – wypisuje opis modułu
-n – wypisuje nazwę pliku modułu
-p – wypisuje parametry wspierane przez moduł
Polecenia związane z procesami :
top [-p]
Opis : listuje procesy o największym obciążeniu procesora i wyświetla ich statystyki w czasie
rzeczywistym
Opcje :
-p – monitoruje jedynie proces o danym id procesu
pidof nazwa-programu
Opis : wyświetlenie numeru procesu wybranego programu
ps [-auxr][txx]
Opis : listuje aktywne procesy
Opcje :
-a – pokaż procesy innych użytkowników
-u – format użytkownika – podaje nazwę użytkownika i czas startu
-x – pokaż procesy bez kontrolującego terminala
-r – pokaż tylko pracujące procesy
-txx – pokaż tylko procesy z kontrolującym tty XX
kill [-s] numer-procesu
Opis : zakańcza działanie procesu
Opcje :
-s – rodzaj wysłanego sygnału
jobs
Opis : listuje aktywne programy
fg numer-zadania
Opis : ustawienie procesu na front
bg numer-zadania
Opis : przeniesienie procesu w tło
Polecenia związane z siecią :
ifconfig <if> <IP> <nm> <bc>
Opis : konfigurowanie interfejsu sieciowego
Opcje :
if – rodzaj interfejsu (np.: Eth0)
IP – adres IP interfejsu
nm – maska sieci
bc – adres rozgłoszeniowy
ifconfig interfejs up
Opis : uruchamianie interfejsu sieciowego
ifconfig interfejs down
Opis : zatrzymywanie interfejsu sieciowego
route add|del [-net|-host] gw cel netmask dev
Opis : kontrola trasowania
Opcje :
add – dodanie drogi do tablicy trasowania
del – usunięcie drogi z tablicy trasowania
-net – oznacza, że celem jest sieć
-host – oznacza, że celem jest stacja
gw brama – adres bramy sieciowej
cel – docelowa sieć lub stacja
netmask netmaska – maska sieci
dev interfejs – wymusza związanie trasy z podanym interfejsem
netstat [-riM]
Opis : wyświetla połączenia sieciowe i statystyki połączeń
Opcje :
-r -wyświetl tablice routingu
-i – wyświetla tablice wszystkich działających interfejsów sieciowych
-M – wyświetl listę wszystkich maskaradowanych sesji
Polecenia związane z wyszukiwaniem :
grep [-civ] wzorzec [plik]
Opis : wyszukiwanie ciągów znaków
Opcje :
-c – podaje liczbę wierszy w których znaleziono pasujący wzorzec
-i – pomija różnicę w wielkości liter
-v – wyświetla wiersze, w których nie ma podanego wzorca
plik – nazwa pliku, w którym nastepuje przeszukanie
find
Opis : szukanie plików
whereis [-bms] nazwa pliku
Opis : lokalizuje źródła, binaria i dokumentację man
Opcje :
-b – szukaj tylko binariów
-m – szukaj tylko sekcji dokumentacji man
-s – szukaj tylko źródeł
Polecenia związane z szukaniem pomocy :
man
Opis : manual systemowy
info
Opis : podręcznik GNU
apropos klucz
Opis : przeszukuje bazy z dokumentacją pod kątem słów kluczowych
Inne polecenia :
date [-ds]
Opis : podaje lub ustawia datę systemową i czas
Opcje :
-d DATA – podaje datę i czas, określone podanym wyrażeniem
-s DATA – ustawia podany czas i datę
logout , exit
Opis : zakończenie sesji
clear
Opis : czyszczenie ekranu terminala
shutdown [-akh] czas ostrzeżenie
Opis : restart lub wyłączenie systemu
Opcje :
-a – użyj /etc/shutdown.allow w celu zabronienia wykonywania tego polecenia
-k – wyślij komunikat o zamknięciu ale nie wykonuj prawdziwego zamknięcia systemu
-h – zatrzymaj po wyłączeniu systemu
czas – czas po którym system zostanie zamknięty.
Forma czasu : HH(godzina):MM(minuty) lub +m gdzie m jest liczbą minut do odczekania
halt
Opis : zamknięcie systemu
reboot
Opis : przeładowanie systemu
Polecenie at
Składnia polecenia at jest następująca :
at -f {plik z zadaniem} czas_uruchomienia_zadania lub at czas-uruchomienia-zadania
Po naciśnięciu klawisza ENTER wpisujemy zadanie do wykonania.
Określanie czasu dla polecenia at.
Czas można określić na wiele sposobów. Domyślnie przyjmowany jest czas 24-godzinny. Podawanie minut jest opcjonalne. Jeśli dodany zostanie przyrostek am lub pm, czas będzie traktowany jako czas 12-godzinny.
Przy podawaniu czasu dozwolone jest stosowanie słów mających specjalne znaczenie:
midnight (północ), noon (południe), today (dziś), tomorrow (jutro) oraz now (teraz).
Po słowie now należy podać czas, po jakim polecenie ma zostać wykonane.
Oprócz wartości oznaczających godziny można również podawać, w którym miesiącu zadanie ma się rozpocząć (za pomocą liczb od 1 do 12 lub pierwszych trzech liter angielskiej nazwy miesiąca). Rok oznaczany jest liczbą czterocyfrową. Dni tygodnia podaje się za pomocą pierwszych trzech liter nazwy angielskiej.
Odstępy czasu pozwalają na podanie pory rozpoczęcia zadania w odniesieniu do czasu bieżącego. Do ich określania służy znak +, po którym następuje liczba i jeden z wyrazów: minute, hour, day, week lub year (można również używać liczby mnogiej, na przykład weeks). Słowo next (następny) ma takie samo znaczenie, jak +1.
Oto kilka przykładów :
at 14:12 January 10
at 2:12am Jan 10
at now + 7 minutes
Polecenie crontab
Składnia polecenia crontab :
crontab -l | -r | -e
-e otwiera plik z zadaniami
-l listuje zadania
-r usuwa zadania
Określanie czasu dla polecenia crontab :
Składnia pliku z zadaniami jest następująca :
min godz dzień_miesiąca miesiąc dzień_tygodnia zadanie
Dane podawane są w pięciu kolumnach rozdzielonych przecinkami; myślnik oznacza zakres, natomiast gwiazdka – wszystkie dostępne wartości.
Oto lista poszczególnych pól i dostępnych w nich wartości :
Minuty 0-59
Godziny 0-23
Dni miesiąca 1-31
Miesiące 1-12
Dni tygodnia 0-6, 0 = niedziela
Oto kilka przykładów :
co pięć minut
*/5 * * * * /zadania/zadanie1
co godzinę -1 minutę po pełnej godzinie
01 * * * * /zadania/zadanie1
codziennie 5 minut po północy
05 0 * * * /zadania/zadanie1
co tydzień w niedziele 10 minut po północy
10 0 * * 0 /zadania/zadanie1
Historia poleceń
Powłoka bash posiada zdolność przywoływania wcześniej wydawanych poleceń przez użycie klawiszy kursora. Bash rejestruje je w pliku .bash_history , który znajduje się w katalogu domowym użytkownika.
Historię poleceń określają dwa parametry :
HISTFILE – wskazuje na plik zawierający wywołane wcześniej polecenia
HISTSIZE – określa ile ostatnio wydanych poleceń ma być przechowywanych w pliku historii
Aby obejrzeć listę ostatnio wydawanych poleceń bez otwierania powyższego pliku należy skorzystać z polecenia history z parametrem określającym liczbę wierszy, które mają być wyświetlone :
history 5
pokaże 5 ostatnio użytych poleceń.
Aby powtórzyć wcześniej wydane polecenie można użyć następującej komendy :
!4
gdzie jest czwartą komendą z listy wyświetlonej poleceniem history .
Aliasy
Bash daje nam ciekawy mechanizm aliasów umożliwiających zastępowanie złożonych poleceń krótszymi, łatwiejszymi do zapamiętania nazwami.
Aliasy tworzymy korzystając z polecenia alias , którego składnia jest następująca :
alias ‘nasza_definicja’=’polecenie’
np.:
alias ‘p’=’ps -aux’
Teraz poprzez wydanie polecenia p otrzymamy listę wszystkich procesów.
Zdefiniowane aliasy możemy zlikwidować poleceniem unalias :
unalias p
Dowiązania stałe i symboliczne
Mechanizm dowiązań (linków) ułatwia dostęp do plików ukrytych głęboko w strukturze katalogów lub umożliwia zgromadzenie potrzebnych plików w jednym katalogu.
Linki dzielimy na stałe i symboliczne.
Dowiązania stałe charakteryzują się tym, że posiadają ten sam i-węzeł co wskazywany plik. W praktyce oznacza to, że dowiązanie takie zawiera pełną informację o pliku i w razie skasowania oryginalnego pliku dowiązanie nadal będzie zawierać informacje o tym pliku (jego zawartość).
Dowiązanie stałe tworzymy poleceniem :
ln plik-lub-katalog link
Dowiązania symboliczne służą jedynie do wskazywania na jakiś plik. Umożliwiają one prace na danym pliku poprzez jego dowiązanie. W przypadku skasowania pliku, do którego prowadzi link symboliczny niemożliwe staje się korzystanie z tego dowiązania (nie zawiera on wówczas żadnych informacji).
Dowiązania symboliczne tworzymy poleceniem :
ln -s plik-lub-katalog link
Przekierowania wejścia i wyjścia
Przekierowania zazwyczaj wykorzystywane są do odczytania danych z jakiegoś urządzenia lub pliku albo do wysłania danych na urządzenie lub plik.
Do przekierowań danych służą specjalne znaki :
< dane na wejście
> dane z wyjścia
Najprostszym przykładem przekierowania może być wyświetlenie zawartości jakiegoś pliku poleceniem :
cat < file.txt
Aby utworzyć nowy plik i wpisać do niego dowolny tekst możemy użyć przekierowania danych z wyjścia :
cat > file.txt
Polecenie to utworzy nam plik : plik.txt i umieści w nim tekst wpisany z klawiatury.
Jeśli będziemy chcieli ponownie dodać jakiś tekst do tego pliku należy użyć polecenia :
cat >> file.txt
Spowoduje to dodanie następnych wierszy z informacją do pliku.
Innym przykładem przekierowań może być zapisanie do pliku zawartości jakiegoś katalogu :
ls -al > file.txt
Skrypty powłoki – wprowadzenie
Skrypty powłoki są programami składającymi się z poleceń powłoki i poleceń sterujących programem, takich jak : IF, FOR, REPEAT, WHILE itp.
Skrypty umożliwiają pobranie danych od użytkownika lub z pliku, przetworzenie ich i wyświetlenie wyniku na ekranie monitora lub zapisanie go na dowolnym urządzeniu.
Aby nasz skrypt mógł zostać uruchomiony należy nadać mu prawo do uruchamiania poleceniem :
chmod +x nazwa-skryptu
Każdy skrypt powinien rozpoczynać się linijką :
#!/bin/bash
Zapis ten oznacza to, że do przetworzenie skryptu zostanie użyta powłoka bash.
Przykładowy skrypt może wyglądać następująco :
#!/bin/bash # to jest komentarz echo ‘skrypt wyswietla aktualny katalog roboczy’ echo -e “biezacy katalog :\n\a`pwd`”
#!/bin/bash echo “informacje o uruchomionym skrypcie” echo “nazwa skryptu : $0” echo “ilosc parametrow : $#” echo “pierwszy parametr to : $1” echo “drugi parametr to : $2” echo -e “zestawienie wszytkich parametrow :\n$*”
Skrypty powłoki – wyrażenie read
Wyrażenie read używane jest do pobierania danych z klawiatury i zapisywania ich w zmiennych.
Składnia wyrażenia read jest następująca:
read zmienna1,zmienna2,..zmienna3