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