LINUX 1. Wprowadzenie: Linux jest systemem operacyjnym stworzonym przez Linusa Torvaldsa w roku 1991 na bazie wielozadaniowego systemu UNIX, stworzonego uprzednio przez firmę AT&T w latach 70tych. Jest to w pełni funkcjonalny system operacyjny będący całkowicie darmową alternatywą dla środowiska MS Windows. Podstawowa przewaga Linuksa leży w jego stabilności oraz znacznej ilości darmowego oprogramowania dostępnego na bazie licencji GPL (GNU Public Licence). Na początku swojego istnienia na rynku Linux odstraszał zwykłych użytkowników przez swoje skomplikowane instalatory tekstowe, konieczność znajomości pewnych parametrów komputera, jak odświeżanie monitora itp. Szczęśliwie autorzy rosnącej liczby dystrybucji tego systemu szybko zauważyli problem i zaczęli wprowadzać różne elementy graficzne, kreatory itp., ułatwiające życie użytkownikom. Jeśli ktoś chce zacząć używać Linuksa jako głównego systemu operacyjnego najlepiej jest, aby ściągnął z Internetu obrazy płyt instalacyjnych jednej z wiodących dystrybucji i zainstalował jej na dysku twardym. Główne dystrybucje Linuksa to: a) Debian bardzo stabilny system, jednakże trudny dla początkujących użytkowników. Najbardziej rozwinięta dystrybucja pod względem ilości dostępnych pakietów oprogramowania, których jest ok 20.000, b) Slackware dystrybucja stabilna i bezpieczna, jednakże również trudna, gdyż wiele parametrów należy konfigurować ręcznie, c) Fedora Core bardzo popularna dystrybucja, prosta w obsłudze, bazująca na komercyjnym Red Hat Linux, d) Ubuntu / Kubuntu - bazuje na Debianie, ale jest znacznie prostszy, e) SUSE Linuks odpłatny tworzony przez firmę Novell, f) Knoppix (na którym oparty jest Vigyaan Linux) Linuks z założenia będący dystrybucją LIVE, doskonale wykrywający sprzęt i bardzo dobry jako dysk ratunkowy dla systemu. Niemniej jednak, Knoppix może zostać zainstalowany na twardym dysku i działać z powodzeniem jako system stacjonarny. - 1 -
W chwili obecnej na rynku istnieje duża liczba dystrybucji Linuksa (czyli różnych wersji tego systemu, bazującego co prawda na tych samych lub podobnych jądrach systemu, różniących się natomiast instalatorami, obsługą i instalacją oprogramowania itp.). Początkowo można było wyróżnić dwie podstawowe wersje Linuksa w zależności od systemu pakietów, na których był on oparty, tzn. dystrybucje oparte na pakietach RPM (RedHat Package Manager) oraz DEB (Debian). Do Państwa dyspozycji oddany jest jeden z systemów bazujących na drugim typie pakietów, będący obecnie jedną z najpopularniejszych, najszybszych i najstabilniejszych dystrybucji tj. Ubuntu Linux http://www.ubuntu.com/ i http://ubuntu.pl/. (bliźniaczą dla Ubuntu dystrybucją Linuksa jest Kubuntu http://www.kubuntu.com/ różniące się od Ubuntu m.in. wyglądem środowiska graficznego). Podsumowując: Linux zyskuje w ostatnich latach coraz większą popularność dzięki następującym cechom: jest darmowy, jednocześnie nie ustępuje pod względem jakości komercyjnym produktom, a pod wieloma względami je przewyższa; jest stabilny i nie zawiesza się, raz zainstalowany nie wymaga reinstalacji; jest całkowicie odporny na ataki wirusów; jest dostępny wraz z kodem źródłowym, wszelkie poprawki do systemu można wprowadzić samodzielnie lub za darmo ściągnąć z Internetu; jest wieloprogramowy i wieloużytkownikowy, na Linuksie może bezpiecznie pracować jednocześnie wielu użytkowników (posiada ochronę pamięci i zasobów); umożliwia zdalną pracę i zdalną administrację (np. poprzez Internet); do działania nie wymaga najnowszych komputerów (minimalne wymagania są zależne od dystrybucji); codziennie pojawia się kilkadziesiąt nowych, darmowych programów dedykowanych pod Linuksa. - 2 -
Konsola jest tekstowym oknem umożliwiającym wprowadzanie komend do systemu. Jest ona odpowiednikiem wiersza polecenia znanego z systemu Windows. We wszystkich używanych poleceniach istnieją pewne przełączniki, które dla całej konsoli mają takie samo znaczenie m.in.. - bieżący katalog.. - katalog wyżej / - katalog główny > przekierowanie wyjścia np, pliku do argumentu po prawej stronie np innego pliku utworzenie potoku. Dla wszystkich poleceń linuksowych istnieje specjalna składnia, wygląda ona następująco: polecenie -przełączniki argument Gdzie polecenie oznacza po prostu nazwę wykonywanej komendy, poprzedzone minusem przełączniki są dodatkowymi opcjami dotyczącymi polecenia, natomiast argument jest np. plikiem, katalogiem itp. na którym działa polecenie. UWAGA: istnieje możliwość wykonywania poleceń bez przełączników oraz argumentów. Przykłady: ls polecenie wyświetlające zawartość katalogu ls -l - polecenie wyświetlające zawartość katalogu w długim formacie mkdir probny polecenie tworzące katalog o nazwie probny dpkg -i pakiet.deb polecenie instalujące (-i) pakiet o nazwie pakiet.deb 1. Ćwiczenia: 1) Włącz komputer i zaloguj się do systemu przez podanie loginu oraz hasła. 2) Zapoznaj się wstępnie z układem menu systemowego. 3) Zapoznaj się wstępnie z pakietem OpenOffice 2.0 dołączonym do systemu Ubuntu Linux i zapisz plik wynikowy na pulpicie. 4) Sprawdź uprawnienia utworzonego pliku. Spróbuj je zmienić. 5) Włącz konsolę wybierając opcję Aplikacje -> Akcesoria -> Terminal. 6) Zapoznaj się z poleceniem pomocy man (ang. manual) przez komendę man man (polecenie man działa w następujący sposób, że wyświetla pomoc na temat polecenia podanego jako argument tzn., że man ls wyświetli nam pomoc na temat polecenia ls. 7) Sprawdź, w którym miejscu drzewa katalogów się znajdujesz przez polecenie pwd. 8) Wyświetl zawartość bieżącego katalogu poleceniem ls. 9) Wejdź poleceniem cd do katalogu Desktop (pulpit systemowy), a następnie znajdź swój plik utworzony w Open Office (cd Desktop). - 3 -
10) Użyj komendy ls -l aby sprawdzić prawa dostępu do swojego pliku. 11) Zmień prawa dostępu do Twojego pliku, abyś mógł go tylko czytać a inni użytkownicy nie mieli żadnych praw poleceniem chmod opcja nazwa_pliku. Istnieją dwa alternatywne podejścia do zmiany uprawnień. Pierwsze w polu opcji podaje 3 cyfry (pierwsza znaczy właściciela pliku, druga jego grupę a trzecia innych użytkowników natomiast możliwe do przydzielenia prawa to :(4 read, 2 write, 1 execute), zatem polecenie: chmod 721 nowy da wszystkie możliwości dostępu do pliku nowy właścicielowi, prawo do zapisu grupie oraz wykonania innym. Drugie podejście zamiast cyfr stosuje oznaczenia literowe oraz znaki + i - w celu odawania lub odejmowania uprawnień. 1 234 567 890 d rwx rwx rwx Typy plików w łańcuchach praw dostępu: d - plik jest katalogiem l - plik jest dowiązaniem symbolicznym - - plik jest zwykłym plikiem (tekst, dane obraz) Znaczenie znaków w pozycjach od 2 do 4 2. r = właściciel (u - user) ma prawo do odczytu lub wyświetlania zawartości - = właściciel nie ma prawa do odczytu lub wyświetlania zawartości 3. w = właściciel ma prawo do zapisu, tworzenia i usuwania - = właściciel nie ma prawa do zapisu, tworzenia i usuwania 4. x = właściciel ma prawo do wykonywania lub odwiedzania katalogu - = właściciel nie ma prawa do wykonywania lub odwiedzania katalogu Znaki w pozycjach od 5 do 7 odnoszą sie do grupy użytkowników (g - group). Znaki w pozycjach od 8 do 10 odnoszą się do pozostałych użytkowników (o - others). Np. chmod ugo+rwx nazwa_pliku chmod g-wx nazwa_pliku 12) Utwórz katalog nowy poleceniem mkdir (np. mkdir nowy). 13) Wejdź do utworzonego katalogu poleceniem cd. 14) Utwórz plik tekstowy edytorem pico przez wpisanie pico nazwa_pliku, wstępnie zapoznaj się z opcjami tego edytora, wpisz dowolny tekst oraz zapisz plik. UWAGA: we wszystkich programach linuksowych oznaczenie znakiem daszka ;) czyli ^ znaczy klawisz Ctrl, czyli np ^X będzie znaczyć, że wyjść z programu pico można przez wciśnięcie Ctrl + X. - 4 -
15) Skopiuj zawartość pliku z punktu 14) do pliku kopia używając przekierowania i polecenia cat: cat plik_źródłowy > kopia. UWAGA: znak > znaczy przekierowanie strumienia, tzn., że zamiast na domyślne wyjście (ekran) wynik polecenia jest kierowany do pliku o nazwie kopia. Przekierowanie z pojedynczym znakiem > nadpisuje poprzednią zawartość pliku wynikowego, natomiast z podwójnym >> dopisuje zawartość pliku źródłowego na końcu pliku docelowego. 16) Sprawdź czy kopia została utworzona poleceniem ls. 17) Usuń plik kopia poleceniem rm. 18) Włącz przeglądarkę Mozilla Firefox. 19) Wyświetl wszystkie procesy działające w systemie (proces to program, który jest w trakcie wykonywania) poleceniem ps. Chcemy znaleźć proces odpowiadający działaniu przeglądarki internetowej. Jak widać ze względu na dużą liczbę procesów w systemie jest to trudne, dlatego też oprócz polecenia ps użyjemy też polecenia grep (służącego do znajdowania słów kluczowych, grep słowo_kluczowe). Aby to zrobić musimy utworzyć tzw. POTOK, tzn. kilka poleceń połączonych ze sobą. Potok w postaci polecenie1 polecenie2 działa w następujący sposób, iż wyjście dawane przez polecenie1 jest przekazywane jako wejście dla polecenia2. Znajdź, zatem proces przeglądarki przez połączenie w potok poleceń ps oraz grep (np. ps -A grep słowo_kluczowe). 20) Zabij proces stosując polecenie kill ID_procesu (w awaryjnych sytuacjach stosuje się polecenie kill -9 ID_procesu zabicie natychmiastowe). 21) Uruchom program Midnight Commander poleceniem mc. Utwórz w nim podkatalog proba a w nim plik nowy. Wypróbuj inne opcje takie jak kopiowanie itp. OPCJE programu Midnight Commander: F3 Podgląd F4 Edycja F5 Kopiuj F6 Przenieś/Zmień nazwę F7 Utwórz katalog F8 Usuń F9 Górne menu Wyjście za pomocą polecenia exit lub F10-5 -
Pomocnicza lista komend: env opis środowiska echo $SHELL informacje o powłoce Ctrl+c - przerwanie pracy Ctrl+z - wstrzymanie procesu bg <nr zadania> - uruchomienie zadania w tle fg <nr zadania> - na pierwszy plan jobs find <katalog początkowy> grep <łańcuch znaków> ls -l grep gosia wyświetlenie tych plików, które w nazwie maj gosia more gosia.txt - przeglądanie strona po stronie less gosia.txt - przeglądanie zawartości pliku head -n gosia.txt tail -n gosia.txt cd - zmienia katalog cd. - nic się nie zmieni. katalog bieżący cd.. - katalog wcześniejszy cd /etc - wjedzie do katalogu etc cd / - przejdzie do katalogu głównego cd temp1 - wjedzie do katalogu temp1 cp - kopiowanie plików cp plik /home/lolek - kopiuje plik do katalog /home/lolek cp plik plik2 - kopiuje plik do plik2 cp -P tempkat2/tempkat/pliki tempkat3 - kopiuje całą strukturę katalogu do katalog tempkat3 touch - tworzy nowy plik touch nowy_plik.1 - tworzy plik o nazwie nowy_plik.1 touch -t 103012040002 nowy_plik.1 - tworzy nowy_plik.1 i jednocześnie modyfikuje datę na 30. października godz.12:04:00 2002 roku. rm - kasowanie plików rm -r - kasuje katalogi rm -f - kasuje pliki rm plik - kasuje plik rm plik plik2 plik3 - kasuje plik, plik2 oraz plik3 rm plik* - kasuje wszystkie pliki zaczynające się od liter plik rm -i plik* - powoduje wyświetlenie pytania przed skasowaniem plików mkdir - tworzy katalog mkdir feniu - tworzy katalog o nazwie feniu mkdir feniu feniu1 feniu2 - tworzy katalogi o nazwach... mkdir feniu/podfeniu - tworzy w katalogu feniu podkatalog podfeniu mkdir -p feniu/podfeniu/podfeniu2 - tworzy kat. feniu podkat. podfeniu i kolejny podkat. podfeniu2 rmdir - kasowanie katalogów rmdir tempkat - kasuje katalog tempkat (katalog musi być pusty aby go usunąć - w tym celu zastosuj rm -rf ) rmdir -p feniu/podfeniu/podfeniu2 - kasuje kat. feniu podkat. podfeniu oraz podfeniu2 (pamiętaj, że katalogi muszą być puste) - 6 -
mv - zmienia nazwę plików i katalogów oraz przemieszcza je w systemie plikowym mv nazwaplik nowanazwa - zmienia nazwę pliku na nową nazwę mv temp newtemp - zmienia nazwę katalogu temp na newtemp mv plik /temp - przenosi plik do katalogu temp mv -i plik newplik - pytanie czy chcesz zmienić nazwę na newplik cat - wyświetla zawartość pliku cat plik - wyświetla zawartość na ekranie cat > plik - możemy dopisać tekst do pliku, gdy naciśniemy CTRL + D ln - dowiązania stałe lub symboliczne ln plik1 plik2 - dowiązanie pliku1 do pilku2 ln -s plik1 > plik2 - dowiązanie symboliczne. Jeżeli skasujemy plik2 to odnośnik nam się nie przyda (będzie wskazywał puste miejsce) ln -s /home/www/games game - tworzy dowiązanie do katalogu o nazwie game ls - równoznaczne z DOS'owym dir - pokazuje elementy katalogu ls - krótki spis elementów katalogu ls -a wyświetla nawet ukryte pliki ls -l - dodatkowe informacje o uprawnieniach ls -F - pokazuje typ plików chmod - prawa dostępu do plików/katalogów #patrz ->chmod ugo/a +/- rwx pwd - podaje bieżący katalog np. /root adduser - dodaje użytkownika (musisz mieć root'a). adduser mice - dodaje użytkownika o loginie: mice cmp - porównuje zawartość plików cmp plik1.text plik2.text - porównuje zawartość plik1.text w stosunku do plik2.text df - ilość wolnego miejsca na dysku diff - różnice między plikami diff plik1.text plik2.text - różnice pomiędzy plik1.text a plik2.text du - wielkość katalogu du temp - wielkość katalogu temp halt - zamknięcie systemu finger - informacje na temat użytkowników. Opis. irc - klient irc man - pomoc man ls - wszystko o poleceniu ls mount - montowanie urządzeń passwd - zmienia hasło. Podajesz najpierw stare a potem dwa razy nowe. passwd mice - zmienia hasło użytkownika mice (tylko root może zmieniać hasła innym użytkownikom). Nie musisz podawać starego hasła wystarczy od razu nowe. - 7 -
ps - lista procesów ps -aux - spróbuj ps -ef gerp login_name wyświetlenie działających procesów tylko dla użytkownika kill - zabijanie procesów kill -9 id_procesu last - sprawdzanie logów last mice - sprawdza kiedy ostatnio logował się użytkownik mice logout - wylogowanie się shutdown - reboot systemu shutdown now tar - program do archiwizacji tar -xcf plik.tar - rozpakowanie pliku tar -cvf plik - pakuje plik talk - prowadzenie rozmów pomiędzy użytkownikami telnet - uruchamia klienta telnetu. Opis. userdel - usuwanie użytkownika userdel mice - usuwa użytkownika mice who - informacje o użytkownikach - przesyłanie plików ftp - klient ftp sftp - klient sftp sftp wlasny_login@bioinformatyka.amu.edu.pl Najczęściej używane polecenia sftp: sftp>ls - wyświetlanie plików w zdalnym katalogu roboczym sftp>!ls - wyświetlanie plików w lokalnym katalogu roboczym sftp>pwd - wyświetla nazwę zdalnego katalogu roboczego sftp>!pwd - wyświetla nazwę lokalnego katalogu roboczego sftp>get nazwa_pliku - kopiuje plik za zdalnego katalogu roboczego do lokalnego katalogu roboczego sftp>put nazwa_pliku - kopiuje plik z lokalnego katalogu roboczego do zdalnego katalogu roboczego close - zamykanie połączenia ze zdlanym serwerem quit - kończy działanie programu sftp i wyświetla monit poleceń gftp - okienkowa wersja przesyłania plików - 8 -