Ważne komendy (proszę sobie przypomnieć ważniejsze przełączniki, np co robi
-l w komendzie
ls)
cat
- wyświetla zawartość pliku/plików.
cd
- zmienia katalog.
echo
- wyświetla wiersz tekstu.
ls
- wyświetla zawartość katalogu, w którym się znajdujemy.
more
- służy do przeglądania plików z możliwością przejścia w przód.
mkdir
- tworzy katalog.
mv
- przenosi plik/katalog lub zmienia nazwę.
pwd
- wyświetla nazwę katalogu w którym się znajdujemy.
rm
- usuwa plik lub katalog.
rmdir
- usuwa pusty katalog.
sort
- sortuje wiersze plików tekstowych.
touch
- tworzy plik.
tree
- wyświetla zawartość katalogu w formie drzewa.
wc
- wyświetla liczbę wierszy, słów i znaków z pliku/plików.
whoami
- wyświetla identyfikator użytkownika.
Polecenia dotyczące instrukcji komend, w szczególności sposobu ich użycia
komenda --help
info komenda
man komenda
Zadanie 1.
Proszę zalogować się na Sigmę na swoje konto poleceniem: ssh nazwa_użytkownika@sigma.ug.edu.pl i wpisując swoje hasło.
Następnie proszę przejrzeć swój katalog domowy przypominając sobie komendy służące do poruszania po systemie plików Linuxa
Zadanie 2.
Utwórz poniższą strukturę katalogów na swoim koncie na Sigmie na dwa różne sposoby:
a) za pomocą kilku poleceń (każdy katalog to jedno polecenie) w jednej linii, tzn. oddzielając je średnikiem (;), nastepnie usuń całą strukturę JEDNYM poleceniem
b) jednym poleceniem korzystając z nawiasu podwójnego ({})
~/systemy2023/laboratorium1/
-----------------------> zadania/
-----------------------> pliki/
-----------------------> wykład/
Polecenia find i grep
find
- szuka plików i katalogów w katalogu i podkatalogach.
grep
-
szuka w tekście oraz wyodrębnienia wersu zawierających ciąg
pasujący do podanego wyrażenia regularnego.
można też stosować nowsze komendy: egrep
, fgrep
,
rgrep
Ważne przełączniki wykorzystywane w poleceniu find
-name
- wyszukuje plik o określonej nazwie.
-type
- wyszukuje pliki, których typ jest określony jako: d katalog,
f plik normalny,
b plik blokowy,
c plik znakowy,
l dowiązanie symboliczne.
-size
- wyszukuje pliki, które mają wielkość N.
-user
- wyszukuje pliki, które należą do użytkownika.
-perm
- wyszukuje pliki, które mają prawa dostępu określone jako tryb.
-mtime
- wyszukuje pliki które zostały zmodyfikowane w N dniach.
Łączenie polecenia find z innymi:
(polecenie find) -exec (kolejne polecenie) {} \;
- uruchamia kolejne polecenie dla odnalezionego pliku/plików.
(polecenie find) -ok (kolejne polecenie) {} \;
- potwierdza uruchomienie polecenia dla odnalezionego pliku/plików
.
Wyrażenia regularne stosowane w poleceniu find
*
- dowolny ciąg znaków.
?
- dowolny pojedynczy znak.
[znak1znak2...znakN]
- dowolny z wymienionych znaków.
[znak1-znak2]
- znaki z zakresu od
znak1
do znak2
[^znak1znak2...znakN]
- żaden z wymienionych znaków.
Wyrażenia regularne stosowane w poleceniu egrep
^
- początek wersu.
$
- koniec wersu.
.
- dowolny pojedynczy znak.
[znak1znak2...znakN]
- dowolny z wymienionych znaków.
[znak1-znak2]
- znaki z zakresu od
znak1
do znak2
[^znak1znak2...znakN]
- żaden z wymienionych znaków.
|
- dowolny z rozdzielonych znakiem wzorzec.
?
- zero lub jeden poprzedzający znak.
+
- jeden lub więcej poprzedzających znaków.
*
- zero lub więcej poprzedzających znaków.
{liczba}
-
podana liczba poprzedzających znaków.
{liczba,}
-
podana liczba lub więcej poprzedzających znaków.
{,liczba}
-
podana liczba lub mniej poprzedzających znaków.
{liczba1,liczba2}
- podany zakres liczby poprzedzających znaków.
\znak
-
użycie znaku specjalnego jako znak zwykły, np. \.
oznacza kropkę,
a nie dowolny znak.
[[:<:]]
-
początek słowa.
[[:>:]]
-
koniec słowa.
\A
-
początek ciągu.
\Z
-
koniec ciągu.
-
popularne skróty
\s
- spacje, tabulacje, znaki nowej linii
(odpowiednik [\r\n \t]
).
\S
- znaki, które nie są spacjami, tabulacjami, znakami nowej linii
(odpowiednik [^\r\n \t]
).
\w
- znaki, które są występują w słowach
(odpowiednik [0-9A-Za-z_]
).
\W
- znaki, które nie występują w słowach
(odpowiednik [^0-9A-Za-z_]
).
\d
- znaki liczbowe.
(odpowiednik [0-9]
).
\D
- znaki, które nie są liczbowe
(odpowiednik [^0-9]
).
\b
-
granica słowa (spacja, znak nowej linii, kropka, przecinek itp.)
(odpowiednik [[:<:]]|[[:>:]]
).
\B
-
znak nie będący granicą słowa
(odpowiednik [^[:<:]]|[^[:>:]]
).
-
klasy znaków, które występują wewnatrz nawiasów "kwadratowych"
(
[]
)
[:alnum:]
- znaki alfanumeryczne
(odpowiednik [0-9a-zA-Z]
).
[:alpha:]
- znaki alfabetu
(odpowiednik [a-zA-Z]
).
[:ascii:]
- znaki z tabeli kodów ASCII
(odpowiednik [\x01-\x7F]
).
[:blank:]
- znaki tabulacji i spacji
(odpowiednik [ \t]
).
[:cntrl:]
- znaki kontrolne
(odpowiednik [\x01 - \x1F]
).
[:digits:]
- znaki liczbowe
(odpowiednik [0-9]
).
[:graph:]
- znaki niedrukowane
(odpowiednik [^\x01-\x20]
).
[:lower:]
- znaki małych litery
(odpowiednik [a-z]
).
[:print:]
- znaki drukowane
(odpowiednik [\t\x20-\xFF]
).
[:punct:]
- znaki interpunkcyjne
(odpowiednik [-!"#$%&'()*+,./:;<=>?@[\\\]^_'{|}~]
).
[:space:]
- znaki nowej linii, powrotu karetki, tabulatory oraz spacja
(odpowiednik [\n\r\t \x0B]
).
[:upper:]
- znaki dużych liter
(odpowiednik [A-Z]
).
[:xdigit:]
- znaki liczby szesnastkowej
(odpowiednik [0-9a-fA-F]
).
Zadanie 3.
Dodaj kilka różnych plików w różnych nowo
utworzonych katalogach. Staraj się dodawać konkretne pliki (o ile to możliwe), jeśli poniższe
wyniki wyszukiwania będą puste.
1. Znajdź wszystkie pliki z rozszerzeniem .c w swoim katalogu domowym.
2. Znajdź wszystkie puste pliki na swoim koncie.
3. Wyświetl wszystkie pliki na swoim koncie, które nie były modyfikowane od przynajmniej
30 dni.
4. Znajdując się w katalogu domowym wyświetl wszystkie pliki między 1mb a 5mb zagłębione
na poziomie co najwyżej 2.
5. Wyświetl wszystkie katalogi oraz dowiązania symboliczne.
6. Znajdując się w katalogu domowym skopiuj wszystkie niepuste pliki znajdujące się w
katalogu systemy2023 (tylko w nim, nie jego podkatalogach) do podkatalogu wykłady.
7. Znajdując się w katalogu domowym usuń wcześniej skopiowane pliki z potwierdzeniem
wykonania.
Zadanie 4.
Proszę stworzyć jakiś plik tekstowy, a następnie za pomocą polecenia egrep:
1. Wyświetlić wiersze zawierające dwie małe litery następujące natychmiast po sobie, po
których występuje przecinek i znów dwie litery, ale duże i następujące natychmiast po sobie.
2. Wyświetlić wszystkie wiersze zaczynające się literą S, C lub D.
3. Zapropnować własne wyrażenie regularne i wypróbować je.