Polecenia powłoki bash są niezbędnym elementem wymaganym do korzystania z systemów należących do rodziny Linux'a. To właśnie dzięki nim możliwe są jakiekolwiek działania. W czystym systemie nie ma bowiem żadnych ikonek, menu, czy graficznych wodotrysków. Cały nasz świat to wspaniała konsola przy pomocy której można zdziałać niesamowicie wiele przy minimalnych zasobach.
Robiąc porządki na dysku doszukałem się otrzymanej za czasów szkolnych rozpiski podstawowych poleceń. Wrzucam ją z sentymentu, a być może jakiemuś odwiedzającego pomoże w nauce, czy też odświeżeniu pamięci.
Lista nie jest kompletna, ale może kiedyś dodam coś więcej. Pamiętajmy, iż szczegóły o konkretnym poleceniu możemy uzyskać wpisując do lini komend polecenie: man <nazwa programu>.
clear - czyszczenie ekranu
cat <nazwa_pliku> - wyświetla zawartość pliku
cmp <plik1> <plik2> - porównuje zawartość dwóch plików
diff <plik1> <plik2> - stwierdza, czy między zawartością dwóch plików występują różnice
cd - zmienia katalog na wskazany
cd .. - przechodzi do katalogu wyższego,
cd katalog - przechodzimy do katalogu "katalog",
cd / - przejście do katalogu głównego,
pwd - pokazuje bieżący katalog
ls - wyświetla zawartość katalogu
Parametry:
-a - wyświetla wszystkie pliki, łącznie z ukrytymi,
-l - wyświetla szczegółowe informacje o prawach dostępu, właścicielu, rozmiarze i czasie ostatniej modyfikacji,
-n jak wyżej tylko zamiast nazw grup i użytkowników są podane identyfikatory liczbowe,
-x formatuje dane w rzędach w poprzek ekranu,
-X sortuje pliki według rozszerzenia,
ls -a > zawartosc_katalogu.txt - powoduje zapisanie zawartości katalogu do pliku zawartosc_katalogu.txt.
ls >> zawartosc_katalogu.txt - dopisanie zawartości katalogu do zawartości pliku zawartosc_katalogu.txt
cp - kopiuje pliki i katalogi
cp <plik1> <plik2> - kopiuje plik1 do plik2,
cp <plik1> </katalog> - kopiuje plik1 do katalogu katalog,
cp -i <plik1> <plik2> - kopiuje plik1 do plik2, ale jeśli plik2 istnieje pyta czy go nadpisać,
cp -r <kat1> <kat2> - kopiuje katalog kat1 i automatycznie tworzy katalog kat2.
mkdir - tworzenie katalogu
mkdir <kat> - tworzy katalog o nazwie kat,
mkdir -p <kat1/kat2> - tworzy katalog kat1, a w nim kat2,
mkdir <kat1> <kat2> <kat3> - tworzy podane katalogi w bieżącym katalogu.
rmdir - usuwanie katalogu
mv - zmiana nazwy pliku lub jego przeniesienie
rm - usunięcie pliku
rm * - usuwa wszystkie pliki z danego katalogu (katalogi zostawia),
rm -i * - usuwa wszystkie pliki z danego katalogu z potwierdzeniem (również pyta, czy skasować katalogi),
rm -f * - usuwa wszystkie pliki z danego katalogu i wyłącza potwierdzenia (nawet zabezpieczone przed usunięciem, katalogi zostawia),
rm -f - usunięcie plików zabezpieczonych przed kopiowaniem,
rm -r - usunięcie plików również w podkatalogach,
rm -rf - usuwa cały system plików,
rm -R - usuwa całą zawartość katalogu (bez potwierdzenia),
rm -R kat1 kat2 ... - usuwa podane katalogi wraz z ich zawartością.
find - służy do wyszukiwania plików spełniających zadane kryteria
Parametry:
-name - wzorzec znajduje pliki, które pasują do wzorca,
-group - grupa znajduje pliki należące do grupy o podanym numerze,
-user - użytkownik znajduje pliki należące do użytkownika o podanym numerze,
-name ".*" - znajduje pliki ukryte,
-name -nouser -o -nogroup - znajduje pliki nie należące do nikogo.
whereis <nazwa pliku> - lokalizuje źródła, binaria i dokumentację man
Parametry:
-b - szukaj tylko binariów,
-m - szukaj tylko sekcji dokumentacji man,
-s - szukaj tylko źródeł.
ln -s - tworzy łącze symboliczne (tzw. link)
date - wyświetla bieżącą datę
cal - wyświetla kalendarz na bieżący miesiąc
ps - wyświetla informacje o procesach, działających w systemie
Parametry:
-a - wyświetla wszystkie procesy,
-u wyświetla nazwę użytkownika oraz czas rozpoczęcia procesu,
-x wyświetla procesy nie powiązane z żadnym terminalem,
-r nie wyświetla informacji o procesach, które aktualnie nie działają,
-l - dokładniejsze wypisanie stanów procesów,
Opis kolumn:
PID - identyfikator procesu
TTY - terminal do którego jest podłączony proces
STAT - stan procesu (W=czekający, R=wykonywany lub gotowy do wykonania
S=uśpiony, Z=zabity ale wciąż przebywający w systemie)
TIME - czas jego wykonywania
COMMAND lub CMD - nazwa programu który wykonuje proces
UID - nazwa użytkownika który jest właściciele procesu
PPID - proces nadrzędny który utworzył dany proces
C lub CP - wykorzystanie procesora - używane do szeregowania procesów
PRI - priorytet
NI - wartość używana do obliczania priorytetu
ADDR - adres procesu
SZ - rozmiar procesu w blokach
WCHAN - zdarzenie na które oczekuje proces
kill - kończy pracę danego procesu
kill <identyfikator_procesu> - zakonczenie procesu
kill -9 <identyfikator_procesu> - zakonczenie procesow ktore ignoruja zwykla komende kill
kill -v <nazwaprocesu> - zabjia proces po podaniu jego nazwy
man - np.: man ls - pokaże nam pomoc na temat polecenia ls
info - podręcznik GNU
apropos <klucz> - przeszukuje bazy z dokumentację pod kątem słów kluczowych adduser nazwa_konta - założenie nowego konta
chmod - polecenie służące do zmiany praw dostępu do plików i katalogów
Przykład:
chmod u/g/o/a +/- r/w/x plik/katalog
Paramtery:
u - właściciel,
g - grupa,
o - inni użytkownicy,
a - wszyscy
r - zezwolenie na odczyt, w - zapis, x - uruchomienie
Innymi sposobem ustawiania praw dostępu to ustawianie ich za pomocą liczb ósemkowych.
Cyframi od 0-7 ustawiamy odpowiednio:
0 to ( --- ) brak praw dostępu
1 to ( --x ) wykonywanie
2 to ( -w- ) zapis
3 to ( -wx ) zapis i wykonywanie
4 to ( r-- ) odczyt
5 to ( r-x ) odczyt i wykonywanie
6 to ( rw- ) odczyt i zapis
7 to ( rwx ) odczyt, zapis, wykonywanie
wydając polecenie chmod podajemy 3 liczby, które oznaczają w kolejności: prawa dostępu właściciela, grupy i innych.
chown <nowy_właściciel> <plik/katalog> - polecenie zmiany właściciela pliku lub katalogu
chgrp <nowa_grupa> <plik/katalog> - polecenie zmiany grupy pliku lub katalogu
passwd <nazwa_konta> - ustawienie hasła dla konta
who - lista użytkowników
w - jak wyżej, jednak informacje są dokładniejsze
du - informuje o wielkości poszczególnych katalogów
Parametry:
-h - prezentacja wielkości w jednostkach MB, GB, kB, itp.
-s - wielkość jedynie wskazanego katalogu bez zagłębiania
df - sprawdza wolne miejsce na dysku
ftp - File Transfer Protocol - służy do przesyłania plików
get <plik> - pobranie pliku z innego kompa
mget <plik> - pobranie wielu plików
put <plik> - wysłanie pliku do innego kompa
mput <plik> - wysłanie wielu plików
bye - zamkniecie połączenia z innym kompem
ls - spis plików na drugim kompie
lcd - zmiana katalogu na kompie lokalnym
cd - zmiana katalogu na drugim kompie
binary - tryb przesłania plików binarnych
ascii - tekstowy tryb przesłania (z tłumaczeniem znaków końca wiersz)
wget - służy do ściągania plików z sieci
-b - ściąganie w tle,
-q - eliminacja komunikatów,
-c - kontynuowanie ściągania częściowo ściągniętego pliku z FTP,
--follow-ftp - ściąganie plików za linkami FTP ze stron WWW,
--passive-ftp - uruchomienie pasywnego FTP (czasem potrzebne do obejścia firewalla)
-r - rekursywne pobieranie plików ze stron WWW (pozwala na zapis całej strony WWW na dysk),
-l głębokość - ustawienie głębokości ściągania plików z WWW,
-H - ściąganie plików z innych serwerów przy rekursywnym pobieraniu,
-D <lista,domen> - lista domen oddzielana przecinkami, z których można ściągać pliki przy rekursywnym pobieraniu,
-A <lista,rozszerzen> - lista akceptowanych rozszerzeń przy r.s. - np. gif,png,jpg,jpeg,htm,html,
-R <lista,rozszerzen> - lista NIE akceptowanych rozszerzeń przy r.s.,
-k - konwertowanie linków do postaci relatywnej (zalecane!).
shutdown - restartuje komputer
vi - edytor tekstu
VI jest bardzo popularnym edytorem obecnym we wszystkich systemach Unixowych. Jednak początkującym użytkownikom może wydać się dziwna jego popularność. Obsługuje się za pomocą wiersza poleceń. Posiada on dwa tryby pracy: tryb poleceń oraz tryb wstawiania. Uruchamiamy go poleceniem vi, lub vi /ścieżka_do_pliku/plik. Chcąc wprowadzić tekst wciskamy klawisz "i", aby zapisać plik wciskamy "Esc", następnie ":sav" nazwa_pliku.txt. Inne komendy to:
:e - open
:enew - new
:w - save
:sav - save as
:close - close
:wqa - save-exit
:qa! - exit
ggVG - select all
"+y - copy
"+x - cut
"+P - paste
10x - usunie 10 znaków pod kursorem
10X - usunie 10 znaków na lewo od kursora
10dd - wycina do schowka 10 wierszy od kursora w dół
10yy - kopiuje do schowka 10 wierszy od kursora w dół
p - wklejenie zawartości schowka na lewo od kursora
P - wklejenie zawartości schowka na prawo od kursora
:set number - numerowanie wierszy
:set no number - nie ponumerowane wiersze
u - cofnięcie skutków ostatniego polecenia
fdisk - słuzy do dzielenia dysku na partycje
Uruchamiamy go poleceniem fdisk /dev/urządzenie.
Dyski IDE są oznaczone jako hda,hdb, natomiast SCSI to sda, sdb.
Więc aby zainstalować Linuxa na IDE: fdisk /dec/hda.
-a - ustawianie aktywnej partycji
-d - usuwanie partycji
-l - lista dostępnych typów partycji
-m - pomoc
-t - zmiana typu partycji
-w - zapisywanie zmian i wyjście z fdiska
-q - nie zapisanie zmian i wyjście z fdiska
-p - wyświetlenie aktualnych partycji
-n - dodanie nowej partycji