Systemy operacyjne System operacyjny Linux

Transkrypt

Systemy operacyjne System operacyjny Linux
Systemy operacyjne
System operacyjny Linux - polecenia ltruj¡ce,
kompresuj¡ce i pakuj¡ce pliki.
Anna Wojak
1
1
Podstawowe operacje na plikach
Polecenia ltruj¡ce
W Linuxie wiele polece« zostaªo zaprojektowane jako ltry - czytaj¡ dane ze standardowego
wej±cia, przetwarzaj¡ je i zapisuj¡ na standardowe wyj±cie. Zalet¡ tych polece« jest jest mo»liwo±¢
u»ycia ich w poª¡czeniu z mechanizmami przekierowania strumieni i potoków.
grep
Jedno z najcz¦±ciej u»ywanych polece«. Polecenie przeszukuje nazwane pliki wej±ciowe lub
standardowe wej±cie, szukaj¡c lini zawieraj¡cych element pasujacy do podanego wzorca. Domy±lnie
wypisuje linie pasuj¡ce do wzorca. Najwa»niejsze opcje polecenia to:
v - wypisuje te wiersze, które nie pasuj¡ do podanego wzoru,
l - wy±wietla tylko nazwy plików, w których znaleziono podango wzoru,
L - wypisuje nazwy tych plików, które nie pasuj¡ do wzorca,
c - wy±wietla tylko liczb¦ znalezionych lini,
n - wypisuje nr przed wierszem zawieraj¡cym podany wzór,
i - w czasie przegl¡dania plików nie rozró»niane s¡ maªe i du»e litery,
w - brane pod uwag¦ s¡ tylko caªe sªowa zgodne z podanym wzorem,
A N - dla ka»dego wiersza zgodnego z wzorem wypisuje N wierszy za tym wierszem.
B N - dla ka»dego wiersza zgodnego z wzorem wypisuje N wierszy przed tym wierszem.
r - rekursywnie przeszukuje wszystkie pliki i katalogi z podkatalogów.
Jako wzór mo»na poda¢ tekst lub wyra»enie regularne. Do prostych podstawowych wyra»e« regularnych nale»¡:
. - pojedy«czy znak,
[... ] - dowolny pojedy«czy znak z listy,
[... ] - dowolny pojedy«czy znak nie nale»¡cy do listy,
(...) - grupowanie,
. - pocz¡tek wiersza,
$ - koniec wiersza,
<- pocz¡tek sªowa,
>- koniec sªowa.
cut
Polecenie pobiera z pliku kolumny tekstu. Poszczególne kolumny mog¡ byc zdeniowane przez
przesuni¦cie w wierszu. Przydatne opcje:
c n - przesuni¦cie o n znaków w wierszu,
b n - przesuni¦cie o n bajtów w wierszu,
2
f pola - lista pól, które zostan¡ skopiowane. Domy±lnie, separatorami pól s¡ biaªe znaki: spacja,
tabulator.
d znak - znak separatora pól,
s - omija linie nie zawieraj¡ce separatora pól,
Mo»na pobiera¢ kilka pól podaj¡c ich zakres np. (3-16) lub wypisuj¡c interesuj¡ce nas pola np.
(3,6,7,34,57).
paste
Polecenie paste jest odwrotno±cia polecenia cut. Mo»na ª¡czy¢ za pomoc¡ tego polecenia kilka
plików i wynik wypisa¢ na standardowe wyj±cie. Przydatne opcje:
d znak - znak separatora pól,
s - wiersze i kolumny na wyj±ciu ulegaj¡ transpozycji.
Polecenie tr
Polecenie to sªu»y do usuwania lub zast¦powania znaków. Kopiuje znaki ze standardowego
wej±cia na standardowe wyj±cie, zastepuj¡c po drodze lub usuwaj¡c niektóre z nich. Przydatne
opcje:
d zestaw_znaków - usuwa z danych wej±ciowych znaki wystepuj¡ce w zestawie_znaków.
s zestaw_znaków - usuwa znajduj¡ce si¦ obok siebie duplikaty znaków wystepujacych w zestawie_znaków.
c zestaw_znaków - program dziaªa na znakach nie znajduj¡cych si¦ w zestawie_znaków
sort
Polecenie sort wypisuje wiersze tekstu w kolejno±ci alfabetycznej lub posortowane zgodnie z
jakim± innym kryterium. Najpierw podane pliki s¡ ª¡czone ze sob¡ a dopiero potem wiersze s¡
sortowane i wypisywane. Przydatne opcje:
f - w czasie sortowania nie s¡ brane pod uwag¦ ró»nice wielko±ci liter,
n - wiersze s¡ sortowane numerycznie, a nie alfabetycznie,
g - sortowanie numeryczne dla naukowej notacji liczb,
u - w czasie sortowania usuwane s¡ duplikaty wierszy,
c - kontroluje czy zawarto±¢ podanych plików jest posortowana,
b - wst¦pne znaki biaªe sa ignorowane,
r - wiersze sortowane sa w odwrotnej kolejno±ci,
2
Pakowanie i kompresja plików
W linux mo»na kompresowac i dekompresowa¢ pliki do i z bardzo wielu formatów. Najbardziej
popularnym formatem jest gzip, a pliki skompresowane w ten sposób otrzymuj¡ rozszerzenie .gz.
Do innych formatów nale»¡: .bzip2, Windows-owy .zip, oraz .tar.
Polecenie tar
3
Program sªu»y do umieszczania grupy plików w jednym zbiorczym pliku (tzw. archiwum),
który nast¦pnie mo»e zosta¢ skompresowany programami gzip lub bzip2, co daje odpowiednio
pliki tgz (równoznaczne z tar.gz) i tar.bz2. Pocz¡tkowo u»ywany byª do przygotowania plików do
archiwizacji na ta±mach magnetycznych, jednak jest obecnie wykorzystywany do przygotowywania
archiwów zapisywanych na dowolnym no±niku. Przydatne opcje:
c - utworzenie archiwum,
z - kompresja (tar automatycznie wywoªa gzip),
v - wy±wietlanie dodatkowych informacji podczas archiwizacji,
f - u»ycie pliku wynikowego, zamiast zapisu na streamerze.
x - rozpakowanie archiwum,
j - kopresja/dekompresja archiwum programem bzip2,
u - doª¡czenie tych plików które sa nowsze od tych z archiwum,
A - doª¡cza istniej¡ce pliki .tar do archiwum,
d - znajduje ró»nice pomi¦dzy archiwum a systemem plików,
r - doª¡cza pliki na koniec archiwum,
Polecenie gzip
Polecenie gzip redukuje rozmiar podanych plików u»ywaj¡c algorytmu Lempel-Ziv (LZ77).
Zawsze, je»eli jest to mo»liwe, do nazwy pliku dodawane jest rozszerzenie .gz, przy zachowaniu
informacji o wªa±cicielu pliku, trybie dost¦pu, oraz czasie dost¦pu i modykacji. Je»eli nie podano
nazwy »adnego pliku, lub podano nazw¦ -", dane do kompresji pobierane s¡ ze standardowego wej±cia, a po skompresowaniu zapisywane na standardowe wyj±cie. Polecenie gzip kopresuje jedynie
zwykªe pliki. W szczególno±ci, ignoruje dowi¡zania symboliczne. Skompresowane pliki mog¡ by¢
odtworzone do pierwotnej postaci przy u»yciu polece« gzip -d lub gunzip. Je»eli oryginalna nazwa
pliku zachowana wewn¡trz pliku skompresowanego nie mo»e by¢ odtworzona w danym systemie
plików, na podstawie oryginalnej nazwy tworzona jest nowa. Polecenie gunzip uruchamiane jest z
list¡ plików w linii polece«. Nast¦pnie ka»dy plik, którego nazwa ko«czy si¦ rozszerzeniem .gz, -gz,
.z, -z, _z lub .Z i w nagªówku pliku znajduje si¦ prawidªowa liczba (magic number) jest dekompresowany i zast¦powany oryginalnym plikiem bez jednego z powy»szych rozszerze«. Polecenie gunzip
rozpoznaje te» specjalne rozszerzenia nazw plików .tgz i .taz jako skróty dla odpowiednio, .tar.gz
i .tar.Z. Opcje:
d - dekompresja wskazanego pliku,
l - wy±wietlenie informacji na temat plików spakowanych tym archiwum,
r - kompresja rekursywna plików znajduj¡cych si¦ wewn¡trz podanego katalogu,
c - wypisuje skompresowane dane na standardowe wyj±cie; oryginalne pliki pozostaj¡ nienaruszone. Je»eli podanych zostaªo kilka plików wej±ciowych, ka»dy z nich kompresowany jest
oddzielnie.
Skompresowane pliki mog¡ by¢ ze sob¡ ª¡czone; w takim wypadku gunzip zdekompresuje wszystkie
pliki jednocze±nie. Na przykªad:
gzip -c plik1 > plik.gz gzip -c plik2 plik.gz
Nast¦pnie
gunzip -c plik
4
jest równoznaczne z
cat plik1 plik2
Polecenie bzip2
Polecenia bzip2, bunzip2 - sortuj¡cy bloki kompresor/dekompresor plików
Polecenie bzcat - dekompresuje pliki na standardowe wyj±cie
Polecenie bzip2recover - odzyskuje dane ze zniszczonych archiwów bzip2
• bzip2 oczekuje listy plików towarzysz¡cych parametrom linii polece«. Ka»dy plik jest zast¦powany przez swoj¡ skompresowan¡ wersj¦, z nazw¡ orginalny_plik.bz2. Ka»dy skompresowany plik ma ten sam czas modykacji, uprawnienia i, je±li to mo»liwe, wªa±ciciela co
oryginaª, po to, aby te ustawienia mogªy zosta¢ odtworzone podczas dekompresji. Utrzymywanie nazwy plików nie jest do ko«ca dokªadne w tym sensie, »e nie ma mo»liwo±ci przetrzymywania daty, uprawnie«, wªa±ciciela i nazw plików na systemach, na których brakuje tych
mo»liwo±ci lub maj¡ ograniczenia co do dªugo±ci nazwy, tak np. jak MS-DOS.
• bzip2 i bunzip2 standardowo nie nadpisuj¡ istniej¡cych ju» plików. Aby to robiªy, nale»y
u»y¢ parametru -f.
• Je±li nie podano »adnej nazwy pliku, bzip2 kompresuje ze standardowego wej±cia na standardowe wyj±cie. Odmiawia wówczas wypisywania skompresowanego wyj±cie na terminal, gdy»
byªoby to caªkiem niezrozumiaªe i przez to bez wi¦kszego sensu.
• bunzip2 (lub bzip2 -d) dekompresuje wszystkie podane pliki. Pliki, które nie byªy utworzone
przez bzip2 zostan¡ wykryte i zignorowane, a na ekranie pojawi si¦ komunikat ostrzegawczy.
Polecenie bzip2 próbuje zgadn¡¢ nazw¦ dla dekompresowanego pliku w nast¦puj¡cy sposób:
nazwa_pliku.bz2 staje si¦ nazwa_pliku
nazwa_pliku.bz staje si¦ nazwa_pliku
nazwa_pliku.tbz2 staje si¦ nazwa_pliku.tar
nazwa_pliku.tbz staje si¦ nazwa_pliku.tar
inna_nazwa staje si¦ inna_nazwa.out
Przydatne opcje:
c - kompresuje lub dekompresuje na standardowe wyj±cie,
d - wymusza dekompresj¦. bzip2, bunzip2 i bzcat s¡ tak naprawd¦ tymi samymi programami i
decyzja jakie akcje b¦d¡ wykonane jest wykonywana na podstawie nazwy jaka zostaªa u»yta.
Ten parametr ma wy»szy priorytet i wymusza na bzip2 dekompresj¦.
z - podobne do -d: wymusza kompresj¦, bez wzgl¦du na sposób wywoªania.
t - sprawdza integralno±¢ wybranego pliku(ów), ale nie dekompresuje ich. Wymusza to próbn¡
dekompresj¦ i mówi, jaki jest rezultat.
f - wymusza zast¦powanie plików wyj±ciowych. Normalnie, bzip2 nie zast¦puje istniej¡cych
plików wyj±ciowych. Wymusza równie» na bzip2 ªamanie dowi¡za« twardych, czego normalnie
nie robi.
v - tryb gadatliwy pokazuje stopie« kompresji dla ka»dego pliku. Nast¦pne -v zwi¦kszaj¡
stopie« gadatliwo±ci, powoduj¡c wy±wietlanie du»ej ilo±ci informacji, przydatnych gªównie
przy diagnostyce.
5
3
Zadania
1. Wy±wietli¢ plik /etc/passwd z podziaªem na strony przyjmuj¡c, »e strona ma 5 linii tekstu.
2. Wy±wietli¢ po 5 pierwszych linii wszystkich plików w swoim katalogu domowym w taki
sposób, aby nie byªy wy±wietlane ich nazwy.
3. Wy±wietli¢ zawarto±¢ /etc/passwd w jednej linii
4. Za pomoc¡ ltru tr wykona¢ modykacji pliku, polegaj¡c¡ na umieszczeniu ka»dego sªowa
w osobnej linii.
5. Zliczy¢ wszystkie pliki znajduj¡ce si¦ w katalogu /etc i jego podkatalogach
6. Napisa¢ polecenie zliczaj¡ce sum¦ znaków z pierwszych trzech linii pliku /etc/passwd
7. Wy±wietli¢ list¦ plików z aktualnego katalogu, zamieniaj¡c wszystkie maªe litery na du»e.
8. Wy±wietli¢ list¦ praw dost¦pu do plików w aktualnym katalogu, ich rozmiar i nazw¦
9. Wy±wietli¢ list¦ plików w aktualnym katalogu, posortowan¡ wedªug rozmiaru pliku
10. Wy±wietli¢ zawarto±¢ pliku /etc/passwd posortowan¡ wg numerów UID w kolejno±ci od
najwi¦kszego do najmniejszego
11. Wy±wietli¢ zawarto±¢ pliku /etc/passwd posortowan¡ najpierw wg numerów GID w kolejno±ci od najwi¦kszego do najmniejszego, a nast¦pnie UID
12. Poda¢ nazwy trzech najmniejszych plików w katalogu posortowanych wg nazwy
13. Wy±wietli¢ zawarto±¢ 3 najwi¦kszych podkatalogów katalogu bie»¡cego
14. Wy±wietli¢ nazwy tych u»ytkowników, którzy domy±lnie u»ywaj¡ innego interpretera ni»
bash
15. Wy±wietli¢ nazwy wszystkich plików nagªówkowych posortowane wykorzystywanych w plikach bie»¡cego katalogu
16. W podanym katalogu utworzy¢ podkatalogi wszystkim u»ytkownikom ze swojego roku i
dodatkowo zapisz w pliku o nazwie users.txt posortowan¡ list¦ tych u»ytkowników.
6