sop 2009 lab03


Uniwersytet w Białymstoku
Wydział Matematyki i Informatyki
Instytut Informatyki
Materiały bazowe do zajęć z przedmiotu:
Systemy operacyjne
Laboratorium nr 03
Temat:
Komendy bash'a. Wyszukiwanie i modyfikacja
zawartości strumieni i plików.
mgr Adam Bonda
Białystok 2008
Cel laboratorium: Zapoznanie się z podstawowymi komendami Linux'a ciąg dalszy.
Skróty klawiszowe, operacje na zawartościach plików
(1) Skróty klawiszowe Bash'a
Wywołania z ctrl'em:
ctrl + a  przeniesienie kursora na początek linii
ctrl + b  przeniesienie kursora jeden znak wstecz
ctrl + c  przerwanie wywołania
ctrl + d  kasowanie znaku pod kursorem
ctrl + D  znak końca linii
ctrl + e  przeniesienie kursora na koniec linii
ctrl + f  przeniesienie kursora jeden znak do przodu
ctrl + k  usunięcie znaków do znaku końca linii  EOL (ang. end of line)
ctrl + l  czyszczenie ekranu
ctrl + r  przeszukiwanie historii komend
ctrl + R  przeszukiwanie historii komend z wielokrotnym wystąpieniem
ctrl + s  zatrzymuje wyjście uruchomionego programu
ctrl + q  przywraca wysyłanie danych na wyjście
ctrl + u  usunięcie znaków przed kursorem
ctrl + xx  przemieszczanie kursora pomiędzy aktualnym poło\eniem kursora,
a EOL
ctrl + x @  wyświetle nazwy hostów (z pliku /etc/hosts)
ctrl + z  zawiesza lub wstrzymuje wykonywane polecenie
ctrl + \  zakończenie programu i zapisanie obrazu programu w pliku core
Wywołania z alt'em:
alt + <  skok do pierwej linii historii komend
alt + >  skok do ostatniej linii historii komend
alt + ?  wyświetlenie listę aktualnych dokończeń
alt + *  wyświetlenie listę wszystkich dokończeń
alt + /  wyświetla dokończenie pliku
alt + .  wypisuje argument ostatniego polecenie
alt + b  przenosi kursor o wyraz wstecz
alt + c  zapisuje(zmienia) wyraz wielką litery
alt + d  kasuje wyraz
alt + f  przenosi kursor o wyraz do przodu
alt + l  zapisuje(zmienia) wyraz małą litery
alt + n  przeszukuję historię w przód bez dopisywania
alt + p  przeszukuję historię wstecz bez dopisywania
alt + r  przywołuje komendę
alt + t  przestawia wyrazy
alt + u  zapisuje cały wyraz wielkimi literami
alt + back-space kasuje cały wyraz przed kursorem
alt + F1,F2..  zmienia numer aktualnego terminala
Inne wywołania klawiszowe:
 2xTab oznacza dwukrotne naciśniecie klawisza tabulacji (TAB)
2xTab  wyświetla wszystkie mo\liwe do wywołania komendy (to samo co alt + ?)
(tekst)2xTab  wszystkie mo\liwe dokończenia polecenia zaczynającego się (tekst)
/2xTab  wyświetla strukturę katalogów z ukrytymi włącznie
./2xTab  wyświetla wszystkie katalogi w bie\ącej lokalizacji z ukrytymi włącznie
*2xTab  wyświetla wszystkie katalogi w bie\ącej lokalizacji (bez ukrytych)
~2xTab  wyświetla u\ytkowników systemu (z /etc/passwd)
$2xTab  wyświetla wszystkie zmienne
@2xTab  wyświetla zawartość /etc/hosts
=2xTab  działa tak samo jak ls czy dir
(2) Pliki specialne i terminale
tty (ang.Teletype device) wyświetla nazwę pliku terminala na którym prowadzona
jest bie\ąca sesja
Przekazywanie informacji z bie\ącego terminala do terminala /dev/pts/1
cat > /dev/pts/1
...
ctrl+d
więcej informacji man tty
stty wyświetlenie lub zmiana ustawień terminala
Opcjonalny minus przed USTAWIENIEM oznacza zaprzeczenie. Gwiazdka (*) oznacza
ustawienia spoza POSIX. System sam określa, które ustawienia są dostępne.
Przykłady zdefiniowania funkcji klawiszowych i ustawień terminala
eof ZNAK  ZNAK wysyła znak końca pliku (końca wejścia)
erase ZNAK  ZNAK kasuje ostatni wprowadzony znak
intr ZNAK  ZNAK wysyła sygnał przerwania
kill ZNAK  ZNAK kasuje bie\ącą linię
rows N  ustawienie długości terminala na N wierszy
cols N  ustawienie szerokości terminala na N kolumn
Przykłady:
Ustawienie kombinacji ctrl+F funkcji kasowania bie\ącej linii
stty kill ^F
Ustawienie liczby wierszy na 30
stty rows 30
więcej informacji man stty
(3) Komendy:
file określenie typu pliku
Polecenie sprawdza ka\dy ze swoich argumentów, próbując go sklasyfikować. Istnieją
trzy zestawy testów, które są wykonywane w następującej kolejności: testy systemu
plików, testy liczb magicznych, testy języka. Pierwszy zakończony powodzeniem test
powoduje wypisanie typu pliku.
Przykład:
login@nazwa:~$ file /etc/fstab
/etc/fstab: ASCII text
umask ustawia maskę tworzenia pliku (katalogu)
pliki katalogi
wartość prawa dostępu wartość prawa dostępu
0 rw- 0 rwx
1 rw- 1 rw-
2 r-- 2 r-x
3 r-- 3 r--
4 -w- 4 -wx
5 -w- 5 -w-
6 --- 6 --x
7 --- 7 ---
Przykład:
Zestaw kilku komend ułatwiających sprawdzenie wyniku u\ycia polecenia umask
umask 444 ; rm plik ; touch plik ; ls -l plik
--w--w--w- 1 adam shellusers 0 2008-10-13 17:09 plik
cmp (ang. compare) porównuje dwa pliki
U\ycie:
cmp [-l][-s] plik1 plik2
Porównuje wskazane pliki i je\eli się one ró\nią, dla ka\dej ró\nicy wyprowadza na
standardowe wyjście numer ró\niącego się bajtu i numer wiersza w którym ten bajt
występuje.
-l  wyprowadzenie numerów bajtów dziesiętnie, a ich wartości ósemkowo
-s  wyprowadzenie tylko kodu zakończenia polecenia (0  pliki są identyczne, 1  pliki
ró\nią się, 2  pliki są niedostępne)
diff (ang. difference) ustala ró\nice pomiędzy dwoma plikami
U\ycie:
diff -[befh] plik1 plik2
Porównuje pliki wiersz po wierszu i wyprowadza ró\nice na standradowe wyjście wraz ze
wskazówkami co nale\y zrobić z plikiem plik1, aby otrzymać plik2.
comm (ang. common) wyprowadza wspólne części plików
U\ycie:
comm -[123] plik1 plik2
Porównuje pliki wiersz po wierszu i wyprowadza ró\nice na standradowe wyjście wraz ze
wskazówkami co nale\y zrobić z plikiem plik1, aby otrzymać plik2.
O ile nie podano dodatkowych funkcji dane wyjściowe wyprowadzane są w trzech
kolumnach:
kolumna1  wiersze, które zawarte są tylko w plik1
kolumna2  wiersze, które zawarte są tylko w plik2
kolumna3  wiersze, które zawarte są w obydwu plikach
Przykład:
wyprowadzenie jedynie kolumny z liniami wspólnymi dla dwu plików:
comm -12 f1 f2
wyprowadzenie jedynie tych wierszy, które występują w pliku f1:
comm -23 f1 f2
Nie wyprowadza \adnych wierszy:
comm -123 f1 f2
wc (ang. word count) liczy liczbę bajtów, słów oddzielonych białymi znakami, oraz
znaków końca linii (wierszy) w ka\dym podanym pliku lub w standardowym
wejściu
Przykład:
login@nazwa:~$ ls > plik; wc < plik; rm plik
104 116 1171
liczba znaków (w tym spacji)
liczba kolumn (oddzielonych spacjami)
liczba wierszy
locate wyszukuje pliki w okresowo aktualizowanej bazie danych
Bardzo wydajny sposób na określenie poło\enia pliku(ów) w systemie. locate działa w
oparciu o periodycznie uruchamianą komendę updatedb. Z kolei działanie updatedb
uzale\nione jest od programu find.
Dla ka\dego z podanych wzorców locate przeszukuje jedną lub więcej baz danych
zawierających nazwy plików i wyświetla te nazwy, które zawierają wzorzec. Wzorce mogą
zawierać metaznaki (znaki uogólniające/specjalne), takie jak u\ywane w powłoce: `*',
`?' i `[]'. Metaznaki nie traktują specjalnie `/' ani `.'. Zatem, do wzorca
`foo*bar' mo\e być dopasowana nazwa pliku zawierająca `foo3/bar', zaś do
wzorca `*duck*' nazwa zawierająca `lake/.ducky'. Wzorce posiadające znaki
uogólniające powinny być cytowane, by uchronić je przed rozwinięciem przez powłokę.
Je\eli wzorzec jest zwykłym łańcuchem tekstowym -- nie zawiera metaznaków -- to
locate wyświetla wszystkie nazwy plików z bazy zawierające ten łańcuch w dowolnym
miejscu. Je\eli wzorzec zawiera metaznaki, to locate wyświetla tylko te nazwy
plików, które dokładnie pasują do wzorca. Na skutek tego, wzorce zawierające
metaznaki powinny zwykle rozpoczynać się od `*', a najczęściej równie\ kończyć się
tym znakiem.
Wyjątkami są wzorce celowo dosłownie dopasowujące początek bądz koniec nazwy pliku.
Przykład:
login@nazwa:~$ locate [hH][oO][sS][tT][nN]*
/bin/hostname
/etc/hostname
...
which poka\ pełną ście\kę komendy
which pobiera serię nazw programów i drukuje pełne ście\ki programów, które powłoka
by wywołała, aby je uruchomić. Robi to, symulując przeszukiwanie przez powłokę
zmiennej środowiskowej $PATH.
Przykład:
login@nazwa:~$ which bash
/bin/bash
whereis znajduje pliki binarne, zródłowe i strony man dla danego polecenia
Przykład:
login@nazwa:~$ whereis whereis
whereis: /usr/bin/whereis /usr/share/man/man1/whereis.1.gz
find szuka pliki według zadanego kryterium w hierarchii katalogowej
Wybrane kryteria wyszukiwania:
-xdev Przeszukiwanie określonego systemu plików
-name 'plik' Uwzględnia pliki spełniające zadany wzorzec. (*,?,[,])
-perm [-]000 Uwzględnia pliki według kryterium praw dostępu
-type Uwzględnia pliki typów: f  zwykły plik, d  katalog, c  specjalny
[fdcblosmnM] typu znakowego, b  specjalny typu znakowego, l  dowiązanei
symboliczne, p  nazwane łącze kominikacyjne (FIFO), s  semafor,
m  pamięć dzielona, n  plik sieciowy, M  punkt podłączenia (ang
mount dir.), H  katalog ukryty
-atime ile_dni Uwzględniane są pliki do których był dostęp ile_dni wstecz.
Wartość parametry (ile_dni) mo\na poprzedzać znakiem +,  , =,
zale\nie od określenia czy chodzi o czas dostępu większy, mniejszy,
czy równy zadanej wartości (+ więcej ni\,  mniej ni\, = dokładnie
tyle)
-mtime ile_dni Uwzględnia modyfikację plików ile_dni temu. (+, ,=)
-user login Uwzględnia pliki nale\ące do u\ytkownika login
-uid uid jw. z tym \e określana jest numeryczna wartość
-group nazwa_gr Uwzględniane są pliki nale\ące do określonej parametrem grupy
-gid gid jw. z tym \e określana jest numeryczna wartość
-nouser Uwzględniane są pliki nale\ące do nieznanego uzytkownika
(nieznanego systemowi, którego id nie występuje /etc/passwd)
-nogroup jw.
-size rozmiar Uwzględniane są pliki o rozmiarze zadanym parametrem rozmiar.
Po wartości parametru określa się jednostkę: c (bajty), b (bloki
dysku), k (kilobajty). (+, ,=)
-links liczba Uwzględniane są pliki posiadające liczba powiązań. (+, ,=)
Wybrane akcje:
-print Wyprowadzanie pełnych nazw znalezionych plików
-exec polecenie Wykonanie polecenia shell'a dla ka\dego znalezionego pliku. Koniec
polecenia musi być zaznaczony symbolem średnika \;
Argument polecenia postaci {} jest zastępowany bie\ącą nazwą
(wraz ze ście\ką) pliku. Nawiasy klamrowe muszą być otoczone
spacjami.
-ok polecenie Podobnie jak w przypadku -exec z tym, \e pełna postać polecenia
wyprowadzana jest na standardowe wyjście i wykonywana jest po
potwierdzeniu klawiszem y.
Przykłady:
find . -print
find /usr/ -user frog -print
find / -type -f links +1 -print
find / -atime +100 -print
find /home -atime -6 -print
find . -name '*.c' -print
find . -atime +1 -type f -exec mv {} TMP \;
find / \( -name core -o -name "*.out"\) -atime +7 -exec rm -i {} \;
rm -i `find . Mtime +30 -print'
find . -print | cpio -ovB /dev/hdd3
find /export/home -xdev -user jasio -size +1024K -atime +30\
-printf '%s %p %a'
find / -nouser -exec rm -f \ {}\ \;
find / -nouser -print | cpio -oavH crc | gzip -9 > \
/mnt/dysk2/nouser.cpio.gz
find /raid -type d -name '*mp3*' \
-exec cp -R {} \mnt\pendrive\ \;
więcej informacji man find ;-)
bc język kalkulatora dowolnej precyzji
Polecenie udostępnia posty interakcyjny język o składni przypominającej ję\yk C,
umo\liwiając obliczanie wartości wyra\eń, oraz realizację kilku własnych poleceń
wewnętrznych. Opis wyra\eń pobierany jest z pliku o zadanej nazwie, bądz bezpośrednio
z klawiatury. Wykonanie polecenie zatwierdzamy enterem.
więcej informacji man bc
cut Usuwanie fragmentów z ka\dego wiersza pliku
Polecenie wycina wskazane kolumny lub fragmenty z wszystkich wierszy pliku, a wynik
operacji wyprowadzany jest na standardowe wyjście. Wiersze nie mogą zawierać więcej
ni\ 512 znaków.
U\ycie:
cut -c lista [ plik1 plik2 ...]
cut -f lista [-d znak] [-s] [ plik1 plik2 ...]
Opcje:
lista  lista oddzielonych przecinkami liczba całkowitych (w kolejności rosnącej), lub
połączonych znakiem  , np.: 1,2,3; 1-3; -5,10, 3- itp.
-b  (ang. bytes) wypisuje tylko bajty określone na liście
-c  (ang. characters) wypisuje tylko znaki określone na liście
-d  (ang. delimiter) jako separatora pól u\ywa znaku ogranicznika
-f  (ang. field) wypisuje tylko podane pola oraz wszystkie linie nie zawierające znaku
separatora (chyba, \e u\yto flagi -s)
-s  pomija wszystkie wiersze nie zawierające separatora
Przykłady:
w | cut -f1,6 -d" "
cut -f1 -d: /etc/passwd
cat /etc/passwd | cut -b -8
cat /etc/passwd | cut -c8-12
grep, egrep, fgrep wypisz linie pasujące do wzorca
grep (ang. global regular expression print) przeszukuje wskazane pliki wejściowe (lub
standardowe wejście) szukając linii zawierających coś pasującego do podanego wzorca.
Domyślnie grep wypisuje pasujące linie.
Dodatkowo dostępne są dwa programy wariantowe egrep i fgrep. Egrep jest tym
samym, co grep -E. Fgrep jest tym samym, co grep -F.
Wszystkie warianty obsługują wyra\enia regularne
U\ycie:
grep|egrep|fgrep [opcje] wzorzec plik1 plik2 ...
Opcje:
-c - dla ka\dego pliku wyprowadza tylko liczbę wierszy zawierające określony wzorzec
-e - opcja poprzedza wzorzec, gdy ten zaczyna się znakiem -. Wzorzec mo\e być
zapisany bezpośrednio za opcją -e, lub odseparowany spacją.
-h - nie wyprowadza na początku nazwy przeszukiwanego pliku
-i - ignoruje małe i wielkie litery
-l - wyprowadza tylko wiersze zawierające wzorzec
-n - poprzedza ka\dy wyprowadzony wiersze jego numerem w pliku
-s - pomija komunikaty o błędach w dostępie do pliku
-x - wyprowadza tylko wiersze w całości pasujące do wzorca
-v - wyprowadza wiersze nie zawierające szukanego wzorca
-fplik - plik zbierający wzorzec (wzorce) do przeszukiwania
Wzorcem mo\e być pojedyncze słowo, kilka słów ujętych w apostrofy lub cudzysłowy, oraz
wyra\enia regularne.
Mo\na te\ stosować znaki specjalne:
. - dowolny znak
\ - cytuje występujący za nim znak;
[...] - dowolny znak z wymienionych w nawiasach
* - zero lub więcej wystąpień wyra\eń;
^ - początek wiersza
$ - koniec wiersza
Przykłady:
ls | grep param[1-3]*.c
ls /dev/* | grep sda
grep '[pP]aram=' plik
ls | grep ^t
wyświetla wszystkie pliki zaczynające się literą t z listowanego, bie\ącego katalogu
grep 'do..lne' przyklad
wyprowadza wiersze z pasującym do wzorcem, czyli np.: dowolne z pliku przykład
grep ",$" przyklad
wyprowadza wiersze pliku przykład kończące się przecinkiem
Specyfikację kilku wzorców dopuszczają polecenia egrep i fgrep:
grep 'wzorzec1|wzorzec2' plik
W przypadku fgrep kolejne wzorce mogą być określane w kolejnych wierszach.
sort Sortowanie wierszy plików tekstowych
Polecenie sort sortuje wiersze kolejno z ka\dego podanego pliku. Jeśli podano więcej ni\
jeden plik to ich zawartość jest łączona podczas sortowania. Domyśle sortowanie
przeprowadzane jest zgodnie z kolejnością kodów ASCII i zmiennej środowiskowej $LANG.
Opcje:
zasadniczo dzieli się na trzy grupy:
Zmiana działania:
-c - sprawdzenie uporządkowania i zakończenie pracy, bez wyprowadzania
czegokolwiek je\eli plik był uporządkowany
-m - tylko połączenie posortowanych plików
-u - zastąpienie powtarzanych wierszy tekstu ich pojedynczymi wystąpieniami
-op - zapisanie wyniku sortowania w pliku określonym argumentem p.
Określenie uporządkowania:
-d - sortowanie słownikowe (litery, cyfry, spacje)
-f - sortowanie z uwzględnieniem \e małe litery traktowane są jak wielkie
-i - sortowanie z ignorowanie niedrukowanych znaków (o kodach ósemkowych
ró\nych od 040  176)
-n - sortowanie według wartości numerycznych zapisanych liczb
-r - sortowanie według odwrotnej kolejności alfabetycznej
Interpretacja pól:
-M - traktowanie pola jako nazwy miesiąca
-b - ignorowanie spacji i znaków tabulatur na początku pól sortowania
-tx - ustalenie znaku x jako znaku separującego pola sortowane (standardowo jest nim
spacja lub tab)
Klucze sortowania:
Domyślnie sortowane są całe wiersze, jednak wiodące białe znaki tych wierszy równie\
biorą udział w sortowaniu.  Klucze sortowania umo\liwiają określenie, które części
wierszy biorą udział w ich porównywaniu. Polecenie sort w wierszach wyró\nia pole, przy
czym domyślnie są one oddzielone białymi znakami (spacja, tab). Białe znaki
poprzedzające pierwsze słowo wiersza nale\ą do pierwszego pola, a gdy dwa lub więcej
białych znaków oddziela sąsiadujące pola to pierwszy z nich traktowanych jest jako
separator, pozostałe nale\ą do drugiego z tych pól.
Opcje []+pozycja1 [-pozycja2]] definiują w wierszu początek i koniec pozycji klucza
sortowania. Jeśli pominięto pozycja2 to klucz sięga do końca wiersza. Pozycje określa się
jako p (numer pola), lub p.z (z pozycja znaku w polu). Pola i ich znaki numerowane są od
0. Jeśli w poleceniu pominięte zostały klucze, to interpretowane są zawartości całych
wierszy.
Z ka\dym kluczem mo\na związać odrębne opcje z drugiej grupy. Mo\liwe jest więc
sortowanie wg kilku kluczy (przy czym dla ka\dego klucza sortowanie przebiega wg
innego kryterium).
Przykłady:
sort lista
sort -r liczby (seq początek krok koniec)
sort -n liczby
ls -l /etc/ | sort -b' ' +7
login@nazwa:~$ cat plik
4 2 7
2 3 4
3 1 5
login@nazwa:~$ sort +0 plik
2 3 4
3 1 5
4 2 7
login@nazwa:~$ sort +2 plik
2 3 4
3 1 5
4 2 7
sort +1 plik
ominięcie jednego pola w ka\dym wierszu podczas sortowania (spacje mają wpływ na
wynik działania polecenia)
sort +1 -2 plik
sortowane są wszystkie znaki znajdujące się w kolumnie pierwszej (+1), lecz nie
znajdujące się kolumnie drugiej (-2). Klucz sortowania obejmuje tylko drugą kolumnę
sortowanie podanego pliku wg drugiego pole w jego wierszu
sort -r -o plik_w +1.0 -1.2 plik1 plik2
sortowanie w odwrotnej kolejności zawartości plików plik1 i plik2 i u mieszczenie wyników
w pliku plik_w. Jako klucz sortowania u\ywane są dwa pierwsze znaki w drugim polu
wierszy pliku (pola są numerowane od 0).
cat /etc/passwd | sort -t: +3n -4 +2n -3
Separatorem pól jest dwukropek. Polecenie sortuje dane wejściowe numerycznie (n)
najpierw wg numery grupy (gid), a następnie linie z jednakowym numerem grupy
sortowane są wg numeru u\ytkownika (uid).
uniq usuwa powtarzające się linie z posortowanego pliku
hd Wyświetlanie pliku binarnego
Wyświetla zawartość pliku binarnego w postaci szesnastkowej, ósemkowej, bądz
znakowej
od [-bcdox] [plik] [[+]przesunięcie[.][b]] (ang. octal dump) wyświetla
zawartość pliku
Polecenie od wyprowadza na standardowe wyjście zawartość pliku. Jeśli nie u\yto innych
opcji to domyślnie 16-bit słowa pliku wyprowadzane są ósemkowo.
tee Rozdzielenie standardowego wyjścia
Składnia
tee [-i][-a][-u] plik ...
polecenie | tee plik
Powy\sza konstrukcja przesyła zawartość swojego strumienia wejściowego do strumienia
wyjściowego, tworząc jednocześnie dodatkową kopie swojego strumienia wyjściowego w
pliku o podanej nazwie.
Polecenie przydatne w przypadku [potrzeby jednoczesnego oglądania wyników na ekranie
i jednoczesnego zachowania ich w pliku.
więcej informacji man tee
tr translacja znaków
Składnia
tr [opcje] [napis1 [napis2]]
Polecenie przepisuje zawartość standardowego wejścia do wyjścia i wykonuje zamianę
(lub kasowanie) znaków. Znaki ze strumienia wejściowego wymienione w argumencie
napis1 są zamieniane na odpowiednie znaki z tych samych pozycji argumentu napis2.
Za mocą tego polecenia mo\liwa jest zmiana liter małych na wielkie, konwersja polskich z
jednego standardu na inny
Opcje:
-c - zastąpienie znaków nie wymienionych w pieszym napisie, znakami z napisu
drugiego
-d - usunięcie ze strumienia wejściowego wszystkich znaków podanych w pierwszym
argumencie
-s - zastąpienie wszystkich powtarzających się znaków ze strumienia wejściowego
wymienionych w drugim napisie znakami pojedynczymi
Przykłady:
zmiana liter malych na wielkie
tr [a-z] [A-Z] < plik_in > plik_out
tworzy posortowaną listę słów pliku plik1 i umieszcza po jednym w linii pliku plik2.
Argumenty są cytowane ze względu na ochronę znaków specialnych przed interpretacją
shell'a (012  kod ASCII znaku nowej linii)
tr -cs ''[A-Z][a-z]'' ''[\012*]'' plik2
konwersja pomiędzy standardami MAZOVIA i IBM Latin 2 (Code Page 852)
tr $MAZOVIA $IBMLAT2 < plik_in > plik_out
Zadanie.1 Stwórz plik test.txt z zawartością:
jeden,dwa:trzy 3;
cztery. Piec: 0 sześc;
dwa :dziewięć 9;
tekst:teskt2;
Zadanie.2
Korzystając z cut
(a) wyświetl listę praw dostępu do plików w aktualnym katalogu
(b) wyświetl rozmiary plików z bie\ącego katalogu
(c) wyświetl rozmiary plików z bie\ącego katalogu zachowując wyrównanie liczb do
prawej (spacje po lewej)
(d) wyświetl opisy u\ytkowników z pliku /etc/passwd
Zadanie. 3
Korzystając z grep
(a) Wyświetl listę podkatalogów katalogu bie\ącego. Wyświetl informacje o
dowiązaniach symbolicznych z katalogu /usr/bin
(b) Wyświetl informacje o takich plikach zwykłych z katalogu bie\ącego, które mają
ustawione prawo zapisu dla grupy.
(c) Wyświetl z pliku test.txt linie nie zawierające \adnych liczb
(d) Wyświetl z pliku test.txt linie nie będące komentarzem, a wiec linie nie zaczynające
się od znaku  # .
(e) Wyświetl nazwy plików txt, w których (nie) sa zawarte dowolne polskie litery  a ,  c
lub  e .
(f) Pokaz 3-liniowy kontekst wystąpienia słowa  abc w pliku test.txt.
Zadanie. 3
Korzystając z polecenia wc
Policz dowiązania symboliczne w katalogu /usr/bin
Zlicz wszystkie pliki zwykłe znajdujące się w katalogu /etc i jego podkatalogach
Oblicz długość trzeciej linii pliku /etc/passwd.
Zadanie. 4
Korzystając z polecenia sort
Posortuj trwale zawartość pliku test.txt
Wyświetl listę nazw użytkowników z pliku /etc/passwd posortowana wg numerów
UID w kolejności od największego do najmniejszego i odwrotnie
Zadanie. 5
Korzystając z polecenia tr
Zamień wszystkie małe litery na wielkie w wynikach komendy ls
Rozbij tekst z pliku test.txt tak, aby każde słowo było w oddzielnej linii. Dodatkowo usuń wszelkie
znaki interpunkcyjne.


Wyszukiwarka