Rejestrowanie się w systemie UNIX: lokalnie i zdalnie (telnet,
ssh, scp), zmiana haseł (passwd,
yppasswd), system plików, polecenia ls, pwd,
cp, mv, rm, mkdir, cd,
chmod, cat/more/less, man,
flagi poleceń, symbole ., .., *, ?,
!, system poczty elektronicznej (interfejs przeglądarkowy, alpine), prosta
edycja plików (nano/pico/vi(m)/emacs).
diablo, panamint i inyo. Właściciel konta jest
odpowiedzialny za wszelkie działania wykonane przy jego pomocy,
dlatego też należy niezwłocznie zmienić domyślne hasła i nie
rozpowszechniać nowych. Należy także pamiętać o bezwzględnym
wylogowaniu się z systemu przed opuszczeniem stanowiska pracy. Przy
pracy w trybie konsolowym wystarczy zamknąć wszystkie uruchomione
powłoki (polecenie exit lub logout), przy pracy w trybie
graficznym należy zakończyć otwartą sesję graficzną.
Zmianę hasła na pojedynczym komputerze (np. diablo) lub ich
grupie wykonujemy wydanym z poziomu powłoki systemowej poleceniem
passwd lub yppasswd (w zależności od rozwiązania
zastosowanego przez administratorów systemu – obecnie do zmiany haseł
na udostępnionych studentom komputerach w naszych laboratoriach służy
polecenie passwd). Często zmiana hasła na jednej maszynie
spowoduje zmianę haseł w całym systemie (tak jest u nas). Po wpisaniu w terminalu polecenia zmiany
hasła użytkownik zostanie poproszony o podanie starego hasła oraz
o dwukrotne podanie hasła nowego. Uwaga: podczas wpisywania haseł
w systemach UNIX i GNU/Linux, ze względów bezpieczeństwa,
zostaje wyłączone wyświetlanie znaków na ekranie!
john_doe@okocim:~$ passwd Enter login(LDAP) password: <-- aktualne hasło, wpisywane haslo nie wyswietla sie New password: <-- wpisywane haslo nie wyswietla sie Re-enter new password: <-- wpisywane haslo ciągle nie wyswietla sie LDAP password information changed for mucha passwd: password updated successfully
Analogicznie wygląda sesja zmiany hasła przy użyciu polecenia yppasswd.
Przestrzeń dyskowa wszystkich stacji roboczych w laboratorium jest połączona.
W celu połączenia się ze zdalnym komputerem można wykorzystać
polecenie ssh, przykładowo:
john_doe@okocim:~$ ssh diablo.kcir.pwr.edu.pl <-- na: okocimie (informacja w znaku zachety basha) Password: <-- wpisywane haslo nie wyswietla sie Last login: Fri Apr 13 08:37:51 2012 from mobil.ict.pwr.wroc.pl Sun Microsystems Inc. SunOS 5.10 SUNW,Sun-Fire-880 [john_doe@diablo:~]$ <-- na: diablo (informacja w znaku zachety basha)
Polecenie ssh domyślnie próbuje wykonać logowanie na zdalnej
maszynie z wykorzystaniem nazwy użytkownika z komputera łączącego
się. Gdy loginy na komputerach różnią się, należy zestawić połączenie
następująco:
john_doe@okocim:~$ ssh jane_doe@diablo.kcir.pwr.edu.pl <-- John laczy sie z kontem Janealbo
john_doe@okocim:~$ ssh diablo.kcir.pwr.edu.pl -l jane_doe <-- John laczy sie z kontem JaneJeśli komputery znajdują się w tej samej podsieci przy logowaniu można pominąć nazwę domeny:
john_doe@okocim:~$ ssh diablo <-- komputery okocim i~diablo znajduja sie w tej samej podsieci
Aby zakończyć połączenie należy wpisać komendę exit:
john_doe@okocim:~$ ssh diablo.kcir.pwr.edu.pl <-- na: okocimie ... [john_doe@diablo:~]$ <-- na: diablo [john_doe@diablo:~]$ exit john_doe@okocim:~$ <-- z powrotem na okocimie
Dodatkowe podanie opcji -X (lub -Y jeśli takowa jest
dostępna) przy wywoływaniu polecenia ssh pozwoli na
przekierowanie wyświetlania aplikacji graficznych na lokalną stację
użytkownika (połączenie z przekazaniem sesji graficznej) – tak zazwyczaj będziemy pracować.
W systemach UNIX i GNU/Linux najwygodniej pracuje się
korzystając z interfejsu tekstowego powłoki
(bash/shell). Dostęp do powłoki systemowej jest możliwy np.
przy pomocy aplikacji terminala — tzw. konsoli
(xterm/gnome-terminal etc) bądź w trybie tekstowym przez jeden
z terminali wirtualnych (np. CTRL+ALT+F1). Wszystkie opisane
powyżej polecenia wykonywane były właśnie w ten sposób.
Aby z poziomu powłoki systemowej uruchomić aplikację należy wpisać jej
nazwę poprzedzoną ścieżką dostępu do niej. Przykładowo, jeśli
w katalogu /usr/local/bin/ znajduje się aplikacja emacs
można ją uruchomić wpisując:
[john_doe@diablo:~]$ /usr/local/bin/emacsPonieważ zwykle podawanie pełnej ścieżki jest dość uciążliwe, podstawowe katalogi z aplikacjami rozpoznawane są z kontekstu (a raczej na podstawie wartości zmiennej środowiska
PATH). Tak
więc, aby uruchomić edytor tekstu emacs zazwyczaj wystarczy
wpisać
[john_doe@diablo:~]$ emacsnatomiast ścieżka '
/usr/local/bin/' zostanie uzupełniona przez
powłokę.
Należy zauważyć, że przy takim wywołaniu zadania, działanie terminala, z którego ją wywołano, zostaje zawieszone do czasu zakończenia zadania. Alternatywnie, z poziomu terminala można uruchomić zadania działające w tle, tzn. takie, które nie powodują zawieszenia działania terminala. W tym celu należy wykorzystać symbol & jak poniżej
[john_doe@diablo:~]$ emacs & [1] 19773Pojawiające się po wywołaniu liczby oznaczają kolejno numer uruchomionego zadania i procesu. Zazwyczaj w tle uruchamia się procesy operujące w swoich własnych oknach graficznych, zaś w pierwszym planie procesy wykorzystujące do komunikacji standardowe strumienie danych (terminal).
Na takiej samej zasadzie użytkownik może wykonywać polecenia powłoki, a także uruchamiać inne, dostępne aplikacje.
Warto pamiętać, że nazwy i ścieżki do poleceń są
automatycznie dopełniane po naciśnięciu klawisza Tab. Jeśli
po wpisaniu pierwszych liter nie da się jednoznacznie zidentyfikować
polecenia należy dwukrotnie nacisnąć klawisz Tab aby zobaczyć
listę możliwych opcji.
[john_doe@diablo:~/katalog]$ e <-- tab + tab : lista polecen na litere 'e'
e epsffit
e1000g_transition epstopdf
e2pall eqn
easy_install eqn2graph
easy_install-2.5 error
easy_install-2.6 esac
ebb escp2topbm
ebrowse escputil
echo esd
echo-client-2 esd-config
eclipse esdcat
ecpg esdctl
ed esdfilt
edit esdloop
editmap esdmon
editres esdplay
edquota esdrec
...
[john_doe@diablo:~/katalog]$ em <-- wpisanie 'em' + 'tab' dopelnia nazwe automatycznie (pojawiaja sie litery 'acs')
[john_doe@diablo:~/katalog]$ emacs
Podstawowe operacje używane w codziennej pracy pozwalają na poruszanie się po drzewie katalogów, tworzenie, usuwanie oraz edytowanie plików i katalogów:
[john_doe@diablo:~]$ ls
katalog/ plik <-- John w swoim katalogu domowym '~'
ma jeden plik nazwany 'plik'
i jeden katalog o rownie
niewyszukanej nazwie
Domyślnie ls wyświetla zawartość bieżącego katalogu. Można
także po nazwie polecenia podać ścieżkę do katalogu który chcemy wyświetlić.
[john_doe@diablo:~]$ ls katalog/ plik_pierwszy plik_drugi
W systemie UNIX (GNU/Linux) można modyfikować działanie polecań
uzupełniając ich wywołania o odpowiednie flagi. Przykładowo polecenie
ls można uruchomić z flagą -l ('long list') co spowoduje
wyświetlanie dodatkowych informacji o plikach zawartych we wskazanej kartotece.
[john_doe@diablo:~]$ ls -l katalog/ total 16 -rw-r--r-- 1 john_doe user 19 kw 13 10:35 plik_drugi -rw-r--r-- 1 john_doe user 22 kw 13 10:34 plik_pierwszyStandardowa konwencja polega na używaniu jednoliterowych flag modyfikujących, podawanych po nazwie polecenia a poprzedzanych znakiem '
-' (minus). Zazwyczaj można łączyć dość wygodnie wiele flag
modyfikujących.
[john_doe@diablo:~]$ cd katalog/ <-- z katalogu '~' przechodzimy do katalogu 'katalog/'
[john_doe@diablo:~/katalog]$ cd .. <-- wchodzimy do katalogu nadrzednego (..)
[john_doe@diablo:~]$ cd - <-- wracamy do katalogu w~ktorym bylismy ostatnio ('-')
/home/john_doe/katalog
[john_doe@diablo:~/katalog]$ cd <-- bez argomentow polecenie 'cd' wchodzi do katalogu domowego '~'
[john_doe@diablo:~]$
Przy dobrze skonfigurowanym znaku zachęty ([login@host:path]$)
aktualny katalog roboczy jest zawsze widoczny (zapytaj prowadzącego
jak to zrobić!). Gdy informacja ta nie jest dostępna można ją uzyskać
wpisując komendę pwd.
[john_doe@diablo:~]$ pwd <-- znak '~' jest synonimem /home/user_name /home/john_doe
[john_doe@diablo:~/katalog]$ ls <-- wyswietla pliki plik_drugi plik_pierwszy [john_doe@diablo:~/katalog]$ touch plik_trzeci <-- utworz nowy plik [john_doe@diablo:~/katalog]$ ls <-- sprawdz czy zostal utworzony plik_drugi plik_pierwszy plik_trzeci [john_doe@diablo:~/katalog]$ ls -l <-- sprawdz daty modyfikacji plikow total 16 -rw-r--r-- 1 john_doe ar2006 19 kw 13 10:35 plik_drugi -rw-r--r-- 1 john_doe ar2006 22 kw 13 10:34 plik_pierwszy -rw-r--r-- 1 john_doe ar2006 0 kw 13 11:09 plik_trzeci [john_doe@diablo:~/katalog]$ touch plik_pierwszy <-- uaktualnij plik_pierwszy [john_doe@diablo:~/katalog]$ ls -l <-- sprawdz daty modyfikacji plikow total 16 -rw-r--r-- 1 john_doe ar2006 19 kw 13 10:35 plik_drugi -rw-r--r-- 1 john_doe ar2006 22 kw 13 11:10 plik_pierwszy <-- bylo: 10:34 -rw-r--r-- 1 john_doe ar2006 0 kw 13 11:09 plik_trzeci [john_doe@diablo:~/katalog]$
[john_doe@diablo:~/katalog]$ ls plik_drugi plik_pierwszy plik_trzeci [john_doe@diablo:~/katalog]$ rm plik_trzeci rm: remove plik_trzeci (tak/nie)? tak <-- potwierdz dzialanie [john_doe@diablo:~/katalog]$ ls plik_drugi plik_pierwszy [john_doe@diablo:~/katalog]$
[john_doe@diablo:~/katalog]$ ls plik_drugi plik_pierwszy [john_doe@diablo:~/katalog]$ cat plik_pierwszy To jest plik pierwszy! <-- zawartosc pliku: plik_pierwszy [john_doe@diablo:~/katalog]$ cat plik_drugi To jest plik drugi! <-- zawartosc pliku: plik_drugi [john_doe@diablo:~/katalog]$(zobacz także:
less/more)
[john_doe@diablo:~/katalog]$ ls plik_drugi plik_pierwszy [john_doe@diablo:~/katalog]$ mv plik_pierwszy plik_trzeci <-- zmien nazwe [john_doe@diablo:~/katalog]$ ls plik_drugi plik_trzeci [john_doe@diablo:~/katalog]$ cat plik_trzeci To jest plik pierwszy! <-- plik zamieniono! [john_doe@diablo:~/katalog]$
[john_doe@diablo:~/katalog]$ ls plik_drugi plik_trzeci [john_doe@diablo:~/katalog]$ mkdir podkatalog <-- utworz nowy katalog [john_doe@diablo:~/katalog]$ ls plik_drugi plik_trzeci podkatalog/ <-- sprawdz czy jest [john_doe@diablo:~/katalog]$ ls podkatalog/ <-- katalog jest pusty; nic sie nie wyswieta! [john_doe@diablo:~/katalog]$ cd podkatalog/ <-- przejdz do nowego katalogu [john_doe@diablo:~/katalog/podkatalog]$ pwd <-- sprawdz sciezke /home/john_doe/katalog/podkatalog [john_doe@diablo:~/katalog/podkatalog]$W celu usunięcia (pustego) katalogu należy wykorzystać komendę
rmdir.
[john_doe@diablo:~/katalog]$ ls plik_drugi plik_trzeci podkatalog/ [john_doe@diablo:~/katalog]$ cp plik_drugi podkatalog <-- skopiuj plik do podkatalogu [john_doe@diablo:~/katalog]$ ls plik_drugi plik_trzeci podkatalog/ <-- sprawdz co sie pojawilo [john_doe@diablo:~/katalog]$ ls podkatalog/ <-- katalog juz nie jest pusty plik_drugi [john_doe@diablo:~/katalog/podkatalog]$ cp plik_drugi nowy_plik <-- skopiuj plik pod nowa nazwa [john_doe@diablo:~/katalog]$ ls nowy_plik plik_drugi plik_trzeci podkatalog/ <-- sprawdz co sie pojawilo [john_doe@diablo:~/katalog/podkatalog]$
ssh).
ls, pwd, cp,
mv, rm, mkdir, cd, chmod,
cat/more/less).
history, !, tabulator).
man ls, man man).
NR_INDEKSU@student.pwr.edu.pl) a także możliwość
przekierowywania poczty (plik .forward).
emacs, wczytaj do niego wskazany plik,
przeprowadź proste operacje edycyjne.
This document was generated using the LaTeX2HTML translator Version 2021.2 (Released July 1, 2021)
The command line arguments were:
latex2html -html_version 3.2,latin2,unicode -split 0 -no_navigation PProg_lab_00
The translation was initiated on 2023-10-05