Post on 12-Apr-2017
Plan na dziś
• Terminal/konsola
• Drzewo katalogów
• Programy
• Prawa dostępu
• Zmienne środowiskowe
Konsola/Terminal
Program komputerowy, który pozwala na interakcję z systemem operacyjnym.
Interfejs graficzny
Powłoka graficzna Powłoka linii poleceń
Interfejs linii poleceń
• Wysyłanie pisemnych instrukcji komputerowi
(uruchamianie programów, przeglądanie plików,
itp.)
• Oglądanie wyników instrukcji
Na co pozwala linia poleceń?
Za każdym razem gdy wpisujesz jakąkolwiek komendę
Unixową i wciskasz ENTER, komputer będzie próbował
wykonać Twoje instrukcje i zwrócić informację do konsoli
(command prompt).
Wszystko na unixie jest albo plikiem albo procesem
Proces to wykonanie programu, zidentyfikowane za
pomocą unikalnego PID
(PID = Process IDentifier)
Plik - uporządkowany zbiór danych
Terminal można spersonalizować
Można:
• zmienić kolor
• zmienić czcionkę i jej wielkość
• zwiększyć/zmniejszyć przezroczystość
• zmienić rozmiar
• odpalić kilka okien
• zmienić znak zachęty ($ albo %)
• zmienić zachowanie kursora (miganie)
Struktura katalogów
Root (/)
home bin etc var tmpusr
lirielagosc
courses
applications
data
phospho
tmp
System plików zorganizowany jest w
strukturę hierarchiczną odwróconego
drzewa.
root
Po zalogowaniu aktualny katalog bieżący to katalog domowy Twojego
użytkownika.
Jak poruszać się po drzewie?
Slash oddziela nazwy katalogów w ścieżce
/home/liriela/unix_tutorial/Academis_Linux.pdf
Co byłoby nam jeszcze potrzebne?
• Sprawdzenie gdzie jesteśmy
• Zmiana katalogu
• Dostanie się do katalogu domowego
• Stworzenie katalogu
• Usunięcie pliku
• Usunięcie katalogu
Szybkie zadanie:
• Dostań się do katalogu domowego z użyciem konsoli
• Zastartuj edytor tekstu – gedit
• Stwórz plik – „myfile.txt” i zapisz go w katalogu domowym
• Zamknij i wróć do interfejsu
Jak działa komenda w unixie?
%rm myfile.txt [Return]
• System szuka pliku zawierającego program rm• odpala program rm na pliku myfile.txt
• Po zakończeniu procesu rm myfile.txt, konsola powraca
do linii zawierającej znak zachęty – można podać następne
komendy
Komenda = program
Ogólne uwagi
• CTRL+U – zmazuje całą linię
• CTRL+A – ustawia kursor na początku linii
• CTRL+E – ustawia kursor na końcu linii
• Unix jest wrażliwy na wielkość znaków
• Polecenia przyjmują opcje
• Opcje zmieniają zachowanie poleceń
• W Unixie można używać uzupełniania poleceń
(TAB)
• Strzałki „góra”, „dół” przywołują użyte komendy
• $man <command name>
• $command_name -options <file>
• $whatis <command name>
• $whereis <command name>
Ogólne uwagi
Polecenia można zapisać w pliku i
następnie ten plik uruchomić – by to
zrobić należy zmienić uprawnienia
pliku.
Prawa dostępu
-rwxr-xr-- 1 gould admin 2541 2009-08-19 16:57 new_scop.txt
Każdy plik (i katalog) mają przypisane prawa dostępu, które można sprawdzić używając ls -l
Prawa dostępu
Liczba linków
właściciel
Właściciel grupy
Wielkość w bajtach
Data i czas ostatniej
modyfikacji
Nazwa pliku
r odczytanie
w zapisywanie/przenoszenie
x odpalanie
d
Zmiana praw dostępu: chmod
Symbol Znaczenie u user
g group
o other
a all
r read
w write (and delete)
x execute (and access directory)
+ dodaj prawo
- zabierz prawo
$chmod go-rwx myfile.txt
$chmod a+x my_script
Gdzie UNIX szuka programów?
Po dodaniu możliwości uruchomienia skryptu można go
odpalić wpisując przed nim ścieżkę dostępu:
./shell_commands.sh
~liriela/Documents/shell_commands.sh
• Za każdym razem, gdy odpalasz program Unix sprawdzi
wpierw listę zdefiniowanych katalogów, by sprawdzić czy
taki program istnieje w którejkolwiek z tych lokacji
• Jeśli znajdzie taki program to spróbuje go uruchomić i nie
będzie szukać dalej
• Jeśli nie znajdzie zwróci informację "command not found"
UNIXowe zmienne środowiskowe
Unix przechowuje informację o kilku specjalnych
zmiennych środowiskowych przypisanych do konta.
• Zapisane za pomocą dużych liter
• Zaczynają się z użyciem „$”
• echo $SHELL
• printenv SHELL
• setenv or printenv
Jeśli system zwróci informację "polecenie: Command not found",
to oznacza, że albo komenda nie istnieje, albo nie znajduje się w
Twojej ścieżce
echo $PATH
# dla powłoki bashexport PATH=$PATH:~/liriela/kurs
# dla powłoki cshsetenv PATH $PATH\:~/liriela/kurs
• Każdy program w ~/liriela/kurs może być odpalony z każdego
miejsca w systemie plików (oczywiście jeśli jest wykonywalny)
• Można użyć uzupełniania komend
• Twój skrypt będzie traktowany jako polecenie unixowe