unix teoria

28
Unix – linia poleceń

Upload: kaja-milanowska

Post on 12-Apr-2017

416 views

Category:

Software


1 download

TRANSCRIPT

Unix – linia poleceń

Plan na dziś

• Terminal/konsola

• Drzewo katalogów

• Programy

• Prawa dostępu

• Zmienne środowiskowe

Terminal

Konsola/Terminal

Program komputerowy, który pozwala na interakcję z systemem operacyjnym.

Interfejs graficzny

Powłoka graficzna Powłoka linii poleceń

Interfejs linii poleceń

Interfejs graficzny

Co stanie się gdy klikniemy na ikonkę?

polecenie

Interfejs linii poleceń

Znak zachęty

Tu wpisujemy polecenie

Co się stanie gdy wpiszemy python?

polecenie

python

?

• 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

Otwórz terminal na komputerze.

Wpisz komendę ‚ls’.

Co się dzieje?

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)

Drzewo katalogów

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

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"

Zmienne

środowiskowe

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

Podsumowanie

• Konsola to interpreter, który pozwala Ci na

interakcję z systemem

• Konsola przyjmuje Twoje polecenia i decyduje co z

nimi zrobić

• W konsoli użyć można języka skryptowego