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 nazwieDomyś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