Polecenia systemu operacyjnego Unix
Z Wikipedii
W systemach Uniksowych, oraz w systemach uniksopodobnych polecenia są często programami konsolowymi, uruchamianymi w wierszu poleceń - inaczej w jednej z powłok systemowych. Część z nich to jednak wbudowane polecenia powłoki, to w jakiej postaci występuje dane polecenia zależy od wersji systemu. Podstawową powłoką tych systemów jest sh, jednak częściej używa się bardziej rozbudowanych wywodzących się z niej powłok, takich jak bash, ksh, csh, czy zsh. Powłoki te mogą być także używane jako języki skryptowe, co pozwala użytkownikowi na wykonywanie rozbudowanych poleceń wykorzystujących wiele programów, oraz pisanie skryptów automatyzujących często wykonywane czynności. Za pomocą mechanizmów potoków i kolejek (fifo) można w łatwy sposób przekazywać dane pomiędzy wieloma programami tworząc z nich bardziej skomplikowane narzędzia.
Spis treści |
[edytuj] Zestaw najważniejszych poleceń
[edytuj] Zarządzanie plikami i systemem plików
- cat – wypisywanie i łączenie plików
- chattr – ustawianie dodatkowych atrybutów dla systemów plików ext2/ext3
- chgrp – zmiana grupy pliku
- chmod – zmiana praw dostępu do pliku
- chown – zmiana właściciela/grupy pliku
- cd – zmiana bieżącego katalogu, użyty bez argumentów powraca do katalogu domowego
- cp – kopiowanie plików
- df – wypisywanie wolnej przestrzeni zamontowanych systemów plików
- du – wyświetla ilość miejsca zajmowanego przez pliki/katalogi
- file - ustalanie typu danych zawartych w pliku
- find – przeszukiwanie systemu plików
- fsck - sprawdzanie integralności systemu plików
- getfacl – odczytuje prawa dostępu z list ACL
- ln – tworzenie dowiązań twardych i symbolicznych (patrz niżej)
- lndir - tworzenie dowiązań do wszystkich plików w katalogu
- ls – listowanie zawartości katalogu
- lsof - wyświetlanie listy otwartych plików, oraz używających ich programów
- mkdir – tworzenie katalogów
- mkfifo - tworzenie kolejek
- mount – montowanie urządzeń/zasobów w systemie plików (patrz niżej)
- mv – przenoszenie/zmiana nazwy pliku
- pwd – wydruk aktualnego katalogu
- rcp -transfer plików na zdalny host
- rm – usuwanie plików
- rmdir – usuwanie katalogów
- scp - transfer plików bezpiecznym kanałem, SSH, na zdalny host
- setfacl – ustawia prawa dostępu list ACL
- split - dzielenie pliku na kawałki
- touch - zamiana daty ostatniej modyfikacji, lub dostępu do pliku bądź utworzenie pustego pliku
- umount – odmontowanie zasobu z systemu plików (patrz mount)
- unlink – wywołanie sytemowe, usuwanie pliku lub katalogu
[edytuj] Zarządzanie procesami
- anacron - wykonanie polecenia raz na jakiś czas
- at - jednorazowe wykonywanie polecenia w określonym czasie
- chroot - uruchomienie programu ze zmienionym katalogiem głównym
- cron - regularne uruchamianie programów w określonym czasie
- fg – przeniesienie procesu uruchomionego w tle na pierwszy plan
- kill – przekazanie sygnału do procesu (domyślnie usunięcie wskazanego procesu)
- killall - zakończenie wykonywania wszystkich procesów o podanej nazwie
- ps – pobieranie informacji o aktywnych procesach
- top – wyświetla najważniejsze procesy
- watch - monitorowanie wyniku polecenia
[edytuj] Zarządzanie użytkownikami i systemem
- halt – zatrzymywanie systemu
- passwd – zmiana hasła
- su – logowanie na konto innego użytkownika (patrz niżej)
- sudo – uruchomienia aplikacji z uprawnieniami root
- useradd, lub adduser - dodaje nowego użytkownika
- w – podobnie jak who, jednak zawiera więcej informacji
- who – wypisanie listy zalogowanych użytkowników wraz z dodatkowymi informacjami o nich
- whoami – pokazuje bieżący efektywny uid, czyli identyfikator użytkownika, z którego prawami działamy
[edytuj] Przetwarzanie tekstu
- grep – wypisywanie linii pasujących do wzorca
- head - wypisanie pierwszych 10 linijek tekstu
- more – rozwinięcie o sterowanie strumieniem
- tail – wypisanie ostatnich 10 linijek tekstu, także używane w diagnostyce (patrz niżej)
- tee – wypisywanie danych wejściowych na standardowe wyjście i do dowolnej liczby plików
- vi – edycja plików tekstowych
[edytuj] Programowanie shellowe
- echo – druk na standardowe wyjście
- printf - bardziej rozbudowane polecenie drukujące na standardowe wyjście.
- test - sprawdzanie typów plików i porównywanie wartości
[edytuj] Inne
- clear – wyczyszczenie konsoli/terminala
- mail – zarządzanie pocztą
- man – podręcznik elektroniczny
- startx – uruchomienie środowiska X Window System
[edytuj] Operatory (bash)
- && - wykonaj jeśli poprzednie polecenie zakończyło się sukcesem, np. `./configure && make bzImage`
- ; - bezwzględne wykonanie, np. `clear ; echo -e "Fajnie!"`
- > - przekierowanie standardowego wyjścia (czyli to co program wypisze w konsoli) do pliku, np. `cat /proc/cpuinfo > ~/cpuinfo.txt`
- < - przekierowanie do standardowego wejścia, np. `cat < /proc/cpuinfo`, jednak w efekcie to to samo co `cat /proc/cpuinfo` (w pierwszym przypadku dane wejściowe to plik skierowany na standardowe wejście, w drugim parametr przekazywany do programu, który znajduje, otwiera i czyta plik)
- | - skierowanie standardowego wyjścia do potoku, który obsłuży program trzeci, np. `cat /etc/hosts | grep "192.168.0." | awk {print $1}`
- `komenda` - wykonanie polecenie bashowego w trakcie wykonywania poprzedniego polecenia, np. `clear && echo -en "\033[1;31mInformacje o procesorze:\033[1;0m\n`cat < /proc/cpuinfo`\n"` - należy zwrócić uwagę na operator "`", przerywa on na chwilę działanie skryptu, wykonuje polecenie `cat` i kieruje standardowe wyjście w miejsce operatorów ``. Parametry programu echo - \033[y;xxm ustawiają kolory - y to kolor tła, x to kolor napisów.
[edytuj] Przykłady łączenia kilku poleceń
- $ su -c "mount -t smbfs //inny_komputer/share /mnt/net_share; cp -r /mnt/net_share /home/uzytkownik/dane; chown uzytkownik:users -r /home/uzytkownik/dane; umount /mnt/net_share" – Podane polecenie skopiuje zawartość udostępnionych zasobów z inny_komputer, nada im odpowiednie prawa dostępu i potem odmontuje zasoby sieciowe. Wszystko jest wykonywane z poziomu roota, gdyż domyślnie tylko on może montować partycje i zasoby innych komputerów.