Podstawy systemu UNIX/Linux
Polecenia Unixa
Kordian A. Smoliński
I rok informatyki stosowanej
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 1 / 64
Polecenia Unixa
1
Podstawowe operacje na plikach
2
Operacje na katalogach
3
Przeglądanie plików
4
Tworzenie i edytowanie plików
Edytor domyślny
5
Właściwości plików
6
Lokalizacja plików
7
Manipulowanie plikami textowymi
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 2 / 64
Podstawowe operacje na plikach
ls wypisuje pliki z podanego katalogu,
cp kopiuje plik,
mv zmienia nazwÄ™ pliku ( przenosi plik),
rm usuwa plik,
ln tworzy dowiÄ…zanie do pliku.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 3 / 64
ls wypisuje pliki z podanego katalogu
ls
$ ls [opcje] [pliki_lub_katalogi]
bez argumentów wypisuje pliki z bieżącego katalogu, z argumentem
pliki z podanych katalogów lub pasujące do podanych nazw
wieloznacznych.
Przykłady
$ ls
notatki01.pdf notatki03.pdf wyklad01.pdf ...
notatki02.pdf notatki04.pdf wyklad02.pdf ...
$ ls /bin
arch awk basename bash cat chgrp ...
$ ls w*
wyklad01.pdf wyklad02.pdf wyklad03.pdf ...
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 4 / 64
ls wypisuje pliki z podanego katalogu
Przydatne opcje
-a wszystkie pliki (także o nazwie zaczynającej się kropką);
-l długa lista, wymienia:
atrybuty plików (typ i rodzaj dostępu),
liczbę dowiązań/plików w katalogu,
właściciela,
grupÄ™,
rozmiar (w bajtach),
czas ostatniej modyfikacji,
nazwę (ścieżkę do dowiązanego pliku);
Przykład
$ ls -l
-rw-r--r-- 1 kowalski users 150756 2010-03-09 notatki01.pdf
...
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 5 / 64
ls wypisuje pliki z podanego katalogu
Przydatne opcje
-F uzupełnia nazwy plików symbolami oznaczającymi typ:
* plik wykonywalny,
/ katalog,
@ dowiÄ…zanie symboliczne,
| nazwany potok,
= gniazdo;
-i podaje nr i-węzła przed nazwą pliku;
-s podaje rozmiar pliku przed jego nazwÄ…;
-R wypisuje nazwy plików w podkatalogach;
-d wypisuje tylko nazwę katalogu z pominięciem plików;
-h przy-lpodaje rozmiar pliku w wielokrotnościach bajtów.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 6 / 64
cp kopiuje plik
cp
$ cp [opcje] plik_1 plik_2
kopiuje plik;
$ cp [opcje] plik_1 [plik_2 [...]] katalog
kopiuje plik(i) do katalogu.
-p kopiuje również uprawnienia, znaczniki czasowe, dane
właściciela i grupy (o ile pozwalają uprawnienia);
-a kopiuje rekursywnie hierarchię katalogów, z zachowaniem
plików specjalnych, uprawnień i dowiązań sztywnych
i symbolicznych;
-i tryb interaktywny: pyta o pozwolenie przy nadpisywaniu
plików docelowych;
-f tryb wymuszony: nadpisuje plik docelowy.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 7 / 64
mv zmienia nazwÄ™ pliku
mv
$ mv [opcje] plik_old plik_new
zmienia nazwÄ™ pliku;
$ mv [opcje] plik_1|kat_1 [plik_2|kat_2 [...]] katalog
przenosi plik(i) lub katalog(i) do katalogu.
-i tryb interaktywny: pyta o pozwolenie przy nadpisywaniu
plików docelowych;
-f tryb wymuszony: nadpisuje plik docelowy.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 8 / 64
rm usuwa plik
rm
$ rm [opcje] plik_1 [plik_2 [...]]
usuwa plik(i);
$ rm -r [opcje] katalog_1 [katalog_2 [...]]
usuwa katalog(i) wraz z zawartością (rekursywnie).
-i tryb interaktywny: pyta o pozwolenie przy nadpisywaniu
plików docelowych;
-f tryb wymuszony: nadpisuje plik docelowy;
-r rekursywne usuwanie katalogu i jego zawartości.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 9 / 64
ln tworzy dowiÄ…zanie do pliku
ln
$ ln [opcje] plik_1 plik_2|katalog
tworzy nowe dowiÄ…zanie sztywne do pliku;
$ ln -s [opcje] plik_1 plik_2|katalog
$ ln -s [opcje] katalog_1 katalog_2
tworzy dowiÄ…zanie symboliczne do pliku lub katalogu.
-s tworzy dowiÄ…zanie symboliczne;
-i tryb interaktywny: pyta o pozwolenie przy nadpisywaniu
plików docelowych;
-f tryb wymuszony: nadpisuje plik docelowy;
-d pozwala superużytkownikowi na utworzenie dowiązania
sztywnego do katalogu.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 10 / 64
Operacje na katalogach
cd zmienia bieżący katalog,
pwd wypisuje nazwę bieżącego katalogu,
basename wypisuje ostatni element ścieżki,
dirname usuwa ostatni element ścieżki,
mkdir tworzy katalog,
rmdir usuwa pusty katalog,
rm -r usuwa niepusty katalog wraz z zawartością.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 11 / 64
cd zmień katalog bieżący
cd
$ cd [ścieżka]
zmienia bieżący katalog roboczy użytkownika na podaną ścieżkę;
jeżeli ścieżka nie jest podana, katalogiem bieżącym zostaje katalog
domowy użytkownika.
$ cd -
powraca do poprzedniego katalogu roboczego.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 12 / 64
pwd wypisz bieżący katalog
pwd
$ pwd
wypisuje bieżący katalog roboczy
Przykład
$ pwd
/home/adam/project
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 13 / 64
basename wypisuje ostatni element ścieżki
basename
$ basename ścieżka
wypisuje ostatni element ścieżki.
Przykład
$ basename /home/adam/project/main.cpp
main.cpp
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 14 / 64
dirname usuwa ostatni element ścieżki
dir
$ dirname ścieżka
usuwa ostatni element ścieżki.
Przykład
$ dirname /home/adam/project/main.cpp
/home/adam/project
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 15 / 64
mkdir tworzy katalog
mkdir
$ mkdir [opcje] katalog_1 [katalog_2 [...]]
tworzy katalog(i) o podanych nazwach.
-p jeżeli podana jest cała ścieżka, tworzone są wszystkie
konieczne katalogi nadrzędne;
-m tryb tworzy katalog z podanymi uprawnieniami (por. polecenie
chmod).
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 16 / 64
rmdir usuwa katalog
rmdir
$ rmdir [opcje] katalog_1 [katalog_2 [...]]
usuwa puste katalog(i) o podanych nazwach.
-p jeżeli podana jest cała ścieżka, usuwane są wszystkie
konieczne katalogi nadrzędne (muszą być puste);
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 17 / 64
Przeglądanie plików
cat przeglądanie i łączenie plików,
less,more przeglądanie plików po stronie,
head przeglądanie początków plików,
tail przeglądanie końców plików,
nl przeglądanie plików z numeracją wierszy,
od przeglądanie danych w formacie ósemkowym (i innych),
xxd przeglÄ…danie danych w formacie szesnastkowym,
gv przeglądanie plików PostScript i PDF,
xdvi przeglądanie plików TEX DVI.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 18 / 64
cat przeglądanie i łączenie plików
cat
$ cat [opcje] [pliki]
wysyła podane pliki nastdout, łącząc je ze sobą; jeżeli nie podano
plików wejściowych,catczyta zstdin.
-T tabulatory zastępowane przez ^I ,
-E znaki nowego wiersza zastępowane przez $ ,
-v czytelne reprezentacje pozostałych znaków
niedrukowalnych,
-n numeracja wierszy,
-b numeracja niepustych wierszy,
-s ciÄ…gi pustych wierszy redukowane do jednego pustego
wiersza.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 19 / 64
less,more przeglądanie plików po stronie
less
$ less [opcje] [pliki]
przegląda text pliku po jednej stronie (ekranie); jeżeli nie podano pliku,
czyta zstdin.
-c czyści ekran przed wyświetleniem kolejnej strony,
-m rozbudowany wiersz zachęty,
-N numeracja wierszy,
-r drukowanie znaków kontrolnych,
-s ciÄ…gi pustych wierszy redukowane do jednego pustego
wiersza,
-S długie wiersze przycinane do szerokości ekranu (nie
zawijane).
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 20 / 64
less przeglądanie plików po stronie
Sterowanie klawiszami
h, H strona pomocy,
spacja, f, ^V, ^F następny ekran,
Enter następny wiersz
b, ^B, Esc-b poprzedni ekran,
/ tryb wyszukiwania,
? tryb wyszukiwania wstecz,
n powtórzenie ostatniego wyszukiwania,
N powtórzenie ostatniego wyszukiwania wstecz,
v przełączenie do edycji pliku,
< poczÄ…tek pliku,
> koniec pliku,
:n następny plik,
:p poprzedni plik.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 21 / 64
head przeglądanie początków plików
head
$ head [opcje] [pliki]
wypisuje 10 pierwszych wierszy plików (lubstdin).
-N,-nN wypisuje pierwszych N wierszy,
-c N wypisuje pierwsze N bajtów,
-q tryb cichy: pomija nagłówki przy przeglądaniu większej
liczby plików.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 22 / 64
tail przeglądanie końców plików
tail
$ tail [opcje] [pliki]
wypisuje 10 ostatnich wierszy plików (lubstdin).
-N,-nN wypisuje ostatnich N wierszy,
+N wypisuje wszystkie prócz N pierwszych wierszy,
-c N wypisuje ostatnie N bajtów,
-f pozostawia plik otwarty, a ewentualnie dodawane do
niego wiersze pojawiajÄ… siÄ™ na ekranie,
-q tryb cichy: pomija nagłówki przy przeglądaniu większej
liczby plików.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 23 / 64
od przeglądanie danych w formacie ósemkowym
od
$ od [opcje] [pliki]
kopiuje plik(i) (lubstdin) nastdout, zmieniajÄ…c dane z na
reprezentację w znakach ASCII, liczbach ósemkowych, dziesiętnych,
szesnastkowych lub zmiennopozycyjnych o różnych rozmiarach (bajt,
słowo, podwójne słowo).
Przykład
$ od /usr/bin/who
0000000 042577 043114 000402 000001 000000 000000 000000 000000
0000020 000002 000076 000001 000000 013520 000100 000000 000000
0000040 000100 000000 000000 000000 071510 000000 000000 000000
0000060 000000 000000 000100 000070 000011 000100 000040 000037
...
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 24 / 64
od przeglądanie danych w formacie ósemkowym
Przydatne opcje
-N B tylko pierwszych B bajtów;
-j B od B + 1 bajta;
-w [B] B bajtów w wierszu, -w = -w32 , domyślnie B = 16;
-s [B] grupowanie po B bajtów, -s = -s3 , domyślnie B = 2;
-A (d|o|x|n) format przesunięcia pliku (lewa kolumna):d
dziesiętnie,o ósemkowo (domyślnie),x
szesnastkowo,n brak;
-t (a|c)[z] format znakowy:a sekwencje specjalne,c nazwy;
-t (d|o|u|x) [SIZE[z]] format całkowitoliczbowy:d dziesiętnie
ze znakiem,o ósemkowo,u dziesiętnie bez znaku,x
szesnastkowo,SIZE liczba bajtów reprezentacji lub
C,S,I,L;
-t f[SIZE[z]] format zmiennopozycyjny:SIZE liczba bajtów
reprezentacji lubF,D,L;zdołącza po prawej kolumnę,
w której wyświetlane są wszystkie znaki drukowalne
z wiersza (domyślnie jest -to2 ).
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 25 / 64
xxd przeglÄ…danie danych w formacie
szesnastkowym
xxd
$ xxd [opcje] [pliki]
wypisuje binarnie lub szesnastko zawartość pliku(ów) (lubstdin) na
stdout, w różnych formatach.
Przykład
$ xxd /usr/bin/who
0000000: 7f45 4c46 0201 0100 0000 0000 0000 0000 .ELF............
0000010: 0200 3e00 0100 0000 5017 4000 0000 0000 ..>.....P.@.....
0000020: 4000 0000 0000 0000 4873 0000 0000 0000 @.......Hs......
0000030: 0000 0000 4000 3800 0900 4000 2000 1f00 ....@.8...@. ...
...
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 26 / 64
xxd przeglÄ…danie danych w formacie
szesnastkowym
Przydatne opcje
-l N tylko pierwszych N bajtów;
-s N,-s -N pomija N pierwszych bajtów lub zaczyna od N-tego bajta
od końca;
-c N po N bajtów w wierszu (domyślnie N = 16);
-g N grupowanie po N bajtów (domyślnie N = 2);
-b dane w postaci binarnej;
-w wielkie litery w liczbach szesnastkowych;
-p ciągi liczb szesnastkowych po 60 bajtów/wiersz;
-i dane jako struktura danych języka C;
-r konwertuje wydruk z programuxxdz powrotem do
postaci oryginalnej.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 27 / 64
gv przeglądanie plików PostScript i PDF
GhostView
$ gv [opcje] plik
$ ghostview [opcje] plik
wyświetla w oknie systemu X Window zawartość pliku Adobe
PostScript lub PDF (mogą być dostępne inne programy służące do
tego celu).
-page p rozpoczyna od strony p,
-monochrome,-grayscale,-color tryb wyświetlania,
-portrait,-landscape,-seascape,-upsidedown orientacja strony,
-scale N powiększenie,
-watch,-nowatch automatyczne przeładowanie (lub nie) po zmianie
w wyświetlanym pliku.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 28 / 64
xdvi przeglądanie plików TEX DVI
xdvi
$ xdvi [opcje] plik
wyświetla pliki.dviutworzone przez system tworzenia dokumentów
TEX.
q wyjście,
n, spacja, Enter, PgDn następna strona,
p, backspace, Delete, PgUp poprzednia strona,
< pierwsza strona,
> ostatnia strona,
^L odświeżenie strony,
R ponowne wczytanie pliku,
klawisz myszy powiększenie obrazu pod kursorem myszy.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 29 / 64
Tworzenie i edytowanie plików
emacs edytor textu projektu GNU,
vim edytor textu będący rozszerzeniemviUNIX a,
ooffice zestaw oprogramowania biurowego OpenOffice.org,
abiword procesor textu,
gnumeric arkusz kalkulacyjny,
. . . wiele, wiele innych. . .
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 30 / 64
emacs edytor textu
emacs
$ emacs [opcje] [pliki]
wyjątkowo wydajne środowisko edycyjne, posiadające wbudowany
język programowania, pozwalający definiować własne funkcie
edycyjne.
emacsdziała w interfejsie textowym i w środowisku X, podobnie jak
jego X-owa odmiana xemacs .
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 31 / 64
emacs edytor textu
Rysunek:emacsixemacs
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 32 / 64
vim edytor textu
vim
$ vim [opcje] [pliki]
rozszerzona wersja standardowego edytora unixowegovi.
Działanievioparte jest na trybach:
wstawiania pozwala na wprowadzanie textu,
normalny przeznaczony do wykonywania poleceń takich, jak
usuwanie wiersza, zaznaczanie i kopiowanie bloków itp.
Uwaga
Niezależnie od wyboru naszego ulubionego edytora textowego należy
znać przynajmniej podstawy korzystania zemacsivi któreś
z narzędzi systemowych może uruchomić jeden z nich.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 33 / 64
Edytor domyślny
Wiele programów systemu UNIX uruchamia w razie potrzeby edytor
textu, domyślnie jest nimvi(vimdla Linuxa). Jeżeli chcemy ustalić, by
był nim inny edytor, musimy zmodyfikować zmienne środowiskowe
VISUALiEDITOR. Domyślnym edytorem może być dowolny edytor
textu, akceptujÄ…cy nazwÄ™ pliku jako argument w wierszu polecenia.
Przykład
$ EDITOR=emacs
$ VISUAL=emacs
$ export EDITOR VISUAL
Jeżeli zmiany mają być trwałe, ustawienia te należy wprowadzić do
pliku~/.bash_profile.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 34 / 64
Właściwości plików
stat wyświetla atrybuty plików i katalogów,
wc zlicza bajty, słowa lub wiersze w pliku,
du mierzy zajęte miejsce przez pliki i katalogi,
file identyfikuje typ pliku,
touch zmienia znaczniki plików i katalogów,
chown zmienia właściciela plików lub katalogów,
chgrp zmienia grupę plików lub katalogów,
chmod zmienia tryb dostępu do plików lub katalogów,
umask ustawia domyślny tryb nowo tworzonych plików,
chattr zmienia rozszerzone atrybuty plików lub katalogów,
lsattr wypisuje rozszerzone atrybuty plików lub katalogów.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 35 / 64
stat wyświetla atrybuty plików i katalogów
stat
$ stat [opcje] pliki
wypisuje atrybuty plików lub systemów plików, informacja zawiera:
rozmiar w bajtach i w blokach, typ pliku, uprawnienia, identyfikator
właściciela, identyfikator grupy, typ urządzenia, nr i-węzła, liczbę
dowiązań sztywnych oraz znaczniki czasu ostatniego dostępu,
modyfikacji i zmiany statusu.
-l sprawdza dowiązania symboliczne i wyświetla dane
wskazywanego pliku,
-f wyświetla dane systemu plików zawierającego dany plik,
-t tryb zwięzły: wszystko w jednym wierszu.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 36 / 64
wc zlicza bajty, słowa lub wiersze w pliku
wc
$ wc [opcje] [pliki]
wypisuje liczbę słów, bajtów lub wierszy w pliku textowym lub nastdin.
-l zlicza tylko wiersze,
-w zlicza tylko słowa,
-c zlicza tylko bajty (znaki),
-L znajduje najdłuższy wiersz w każdym pliku i wypisuje jego
długość w bajtach.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 37 / 64
du mierzy zajęte miejsce przez pliki i katalogi
du
$ du [opcje] [pliki|katalogi]
mierzy ilość miejsca zajmowanego na dysku przez pliki i katalogi,
domyślnie (bez argumentu) bieżący katalog z podkatalogami.
-b,-k,-m rozmiar podany odpowiednio w: bajtach, kilobajtach,
megabajtach;
-B N wielkości w blokach wielkości N bajtów (domyślnie
N = 1024);
-h,-H dobiera jednostkę dla wygody,-hużywa potęg 1024,-H
potęg 1000;
-c umieszcza sumę wielkości podanych plików (domyślne
dla katalogów);
-L sprawdza i mierzy dowiÄ…zania symboliczne;
-s tylko całkowita suma wielkości katalogów.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 38 / 64
file identyfikuje typ pliku
file
$ file [opcje] pliki
wypisuje typ pliku na podstawie zbadania zawartości.
Przykłady
$ file /etc/hosts /usr/bin/who opis.doc
/etc/hosts: ASCII English text
/usr/bin/who: ELF 64-bit LSB executable, x86-64, ...
opis.doc: CDF V2 Document, Little Endian, Os: ...
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 39 / 64
file identyfikuje typ pliku
Przydatne opcje
-b pomija nazwy plików;
-i podaje typy MIME plików (np. text/plain,
application/x-executable);
-f nazwa_pliku nazwy plików czytane są z podanego pliku (po jednej
nazwie pliku w każdym wierszu);
-L sprawdza dowiÄ…zania symboliczne;
-z dla plików skompresowanych sprawdza ich typ po
dekompresji.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 40 / 64
touch zmienia znaczniki plików i katalogów
touch
$ touch [opcje] pliki
zmienia znaczniki czasu zwiÄ…zane z plikiem: czas modyfikacji i czas
dostępu; jeżeli plik nie istnieje tworzy go.
-a zmienia tylko czas dostępu;
-m zmienia tylko czas modyfikacji;
-c jeżeli plik nie istnieje nie tworzy go;
-d znacznik_czasu zapisuje podany znacznik czasu pliku, formaty
patrz infotouch ;
-t znacznik_czasu zapisuje znacznik czasu pliku, format:
[[CC]YY]MMDDhhmm[.ss].
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 41 / 64
chown zmienia właściciela plików lub katalogów
chown
$ chown [opcje] specyfikacja_użytkownika pliki
ustala nowego właściciela plików lub katalogów;
specyfikacja_użytkownika:
nazwa_użytkonikalubUID ustala właściciela pliku;
nazwa_użytkownika:nazwa_grupylubUID:GID ustala właściciela
i grupÄ™ pliku;
:nazwa_grupylub:GID ustala grupÄ™ pliku
--reference=plik ustala właściciela i grupę na podstawie
podanego pliku.
--dereference działa na plikach wskazywanych przez dowiązania
symboliczne;
-R rekursywnie zmienia właściciela hierarchii katalogów.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 42 / 64
chgrp zmienia grupę plików lub katalogów
chgrp
$ chgrp [opcje] specyfikacja_grupy pliki
ustala nową grupę plików lub katalogów;specyfikacja_grupy:
nazwa_grupylubGID ustala grupÄ™ pliku
--reference=plik ustala grupÄ™ na podstawie podanego pliku.
--dereference działa na plikach wskazywanych przez dowiązania
symboliczne;
-R rekursywnie zmienia grupę hierarchii katalogów.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 43 / 64
chmod zmienia tryb dostępu do plików lub katalogów
chmod
$ chmod [opcje] uprawnienia pliki
zmienia uprawnienia dostepu do plików i katalogów;uprawnienia:
[zakres] op prawo [,[zakres] op prawo[,...]] :
zakres u właściciel,g grupa,o inni,a
wszyscy (domyślne);
operacja + nadanie uprawnienia,- odebranie
uprawnienia,= ustawienie uprawnień
(z pominięciem dotychczasowych);
prawo r odczyt,w zapis,x wykonanie,X
uruchomienie warunkowe,u kopia
uprawnień właściciela,g kopia uprawnień
grupy,o kopia uprawnień innych,s
ustawieniesetuidlubsetgid,t lepki bit;
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 44 / 64
chmod zmienia tryb dostępu do plików lub katalogów
Opcje
chmod(cd.)
[n]nnn liczba ósemkowa: trzy cyfry obowiązkowe określają
uprawnienia odpowiednio: właściciela, grupy i innych,
uprawnienie jest sumą wartości: 4 = odczyt, 2 = zapis, 1 =
wykonanie, 0 = brak; pierwsza cyfra określa atrybuty
specjalne (4 = setuid, 2 = setgid, 1 = lepki bit);
--reference=plik na podstawie podanego pliku.
-R rekursywnie zmienia uprawnienia hierarchii katalogów.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 45 / 64
umask ustawia domyślny tryb nowo tworzonych
plików
umask
$ umask [opcje] [maska]
ustala lub wypisuje (bez argumentu) domyślny tryb stosowany przy
tworzeniu nowych plików i katalogów; aby otrzymać uprawnienia
podaną jako liczbę ósemkową maskę odejmuje się od 0666 dla plików
i 0777 dla katalogów.
-S wypisuje symbolicznie uprawnienia dla nowo tworzonych
katalogów.
Aby wprowadzona maska została ustawiona na stałe, odpowiednie
polecenie umaskmaska należy dołączyć do pliku~/.bash_profile.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 46 / 64
Lokalizacja plików
find znajduje pliki w hierarchii katalogów,
slocate tworzy index plików i wyszukuje w nim ciągi znaków,
which wyszukuje pliki wykonywalne w ścieżce,
type wyszukuje pliki wykonywalne w ścieżce,
whereis wyszukuje pliki wykonywalne, dokumentacjÄ™ i pliki
zródłowe.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 47 / 64
find znajduje pliki w hierarchii katalogów
find
$ find [katalog [katalog_2 [,...]]] [wyrażenie]
przeglÄ…da rekursywnie katalogi (wraz z ich podkatalogami)
w poszukiwaniu plików spełniających zadane kryteria.
Przykłady
$ find / -type f -name foo -print
wyszukuje (zwykły) plik o nazwiefoo
$ find / -type d -print
wypisuje nazwy wszystkich katalogów
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 48 / 64
find znajduje pliki w hierarchii katalogów
Kryteria wyszukiwania
-name wzorzec nazwa zgodna z wzorcem powłoki;
-path wzorzec ścieżka zgodna z wzorcem powłoki;
-lname wzorzec element wskazywany przez dowiÄ…zanie symboliczne
pliku zgodny z wzorcem powłoki;
-iname wzorzec,-ipath wzorzec,-ilname wzorzec j.w., ale bez
rozróżniania wielkości liter;
-regex wyr_reg ścieżka zgodna z wyrażeniem regularnym;
-type f|d|l|b|c|p|s wyszukuje zwykłe pliki (f), katalogi (d),
dowiÄ…zania symboliczne (l), urzÄ…dzenia blokowe (b),
urzÄ…dzenia znakowe (c), nazwane potoki (p) lub gniazda
(s);
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 49 / 64
find znajduje pliki w hierarchii katalogów
Kryteria wyszukiwania
-atime [+|-]N plik zostaÅ‚ otwarty N × 24 godziny temu,+N wiÄ™cej
niż N,-N mniej niż N;
-ctime [+|-]N status pliku zmieniÅ‚ siÄ™ N × 24 godzin temu;
-mtime [+|-]N plik zostaÅ‚ zmodyfikowany N × 24 godziny temu;
-amin [+|-]N plik został otwarty N minut temu;
-cmin [+|-]N status pliku zmienił się N minut temu;
-mmin [+|-]N plik został zmodyfikowany N minut temu;
-anewer inny_plik plik został otwarty pózniej niżinny_plik;
-cnewer inny_plik status pliku zmienił się pózniej niż status
innyego_pliku;
-mnewer inny_plik plik został zmodyfikowany pózniej niżinny_plik;
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 50 / 64
find znajduje pliki w hierarchii katalogów
Kryteria wyszukiwania
-maxdepth N plik leży najwyżej na N-tym poziomie hierarchii
katalogów;
-mindepth N plik leżąy przynajmniej na N-tym poziomie hierarchii
katalogów;
-follow sprawdza pliki wskazywane przez dowiÄ…zania
symboliczne;
-depth najpierw podkatalogi, pózniej pliki;
-xdev tylko w bieżącym systemie plików;
-size [+|-]N[b|c|k|w] plik o wielkości N bloków (b), bajtów (c),
kilobajtów (k), słów (w);
-empty zerowy rozmiar i jest zwykłym plikiem lub katalogiem;
-user nazwa dany właściciel pliku;
-group nazwa dana grupa pliku;
-perm [-|+]tryb uprawnienia do pliku sÄ… zgodne z podanymi,+tryb
wszystkie bity,-tryb dowolny bit.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 51 / 64
find znajduje pliki w hierarchii katalogów
Aączenie kryteriów
wyr_1 -a wyr_2 koniunkcja (domyślnie) wyrażeń;
wyr_1 -o wyr_2 alternatywa wyrażeń;
!wyr,-not wyr negacja wyrażenia;
(wyr) oznaczenie kolejności;
wyr_1, wyr_2 wyliczane oba wyrażenia, zwracany wynik tylko
drugiego (jak w C).
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 52 / 64
find znajduje pliki w hierarchii katalogów
Operacje na znalezionych plikach
-print wypisanie ścieżki;
-printf ciąg_znaków wypisuje ciąg znaków ze znakami zastępstwa
jak w funkcjiprintf()języka C;
-print0 jak-print, ale stosuje znak \0 zamiast końca wiersza;
-exec polecenie; wykonuje podane polecenie, nawiasy klamrowe
({}) oznaczają ścieżkę do znalezionego pliku;
-ok polecenie; jak-exec, ale każdorazowo pyta użytkownika
o zgodÄ™;
-ls wywołuje ls-dils .
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 53 / 64
Manipulowanie plikami textowymi
grep znajduje wiersze zgodne z podanym wyrażeniem,
cut pobiera z pliku kolumny,
paste dodaje kolumny do pliku,
tr zamienia znaki na inne,
sort sortuje wiersze,
uniq znajduje identyczne wiersze,
tee kopiuje plik i jdenoczeście wysyła go nastdout.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 54 / 64
grep znajduje wiersze zgodne z wyrażeniem
Wyrażenia regularne
grep
$ grep [opcje] wzorzec [plik_1 [plik_2 [...]]]
wypisuje z pliku (zstdin, jeżeli nie podany) wiersze zgodne
z podanym wzorcem wyrażenia regularnego.
. pojedynczy znak,
[...] dowolny pojedynczy znak z listy,
[^...] dowolny pojedynczy znak spoza listy,
^ poczÄ…tek wiersza,
$ koniec wiersza,
\< początek słowa,
\> koniec słowa,
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 55 / 64
grep znajduje wiersze zgodne z wyrażeniem
Wyrażenia regularne (cd.)
[:alnum:] dowolny znak alfanumeryczny,
[:alpha:] dowolna litera,
[:cntrl:] dowolny znak kontrolny,
[:digit:] dowolna cyfra,
[:graph:] dowolny znak graficzny,
[:lower:] dowolna mała litera,
[:print:] dowolny znak drukowalny,
[:punct:] dowolny znak przestankowy,
[:space:] dowolny biały znak,
[:upper:] dowolna wielka litera,
[:xdigit:] dowolna liczba szesnastkowa,
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 56 / 64
grep znajduje wiersze zgodne z wyrażeniem
Wyrażenia regularne (cd.)
* zero lub więcej powtórzeń wyrażenia regularnego,
\c znakcw swym pierwotnym znaczeniu,
\| alternatywa,
\+ jedno lub więcej powtórzeń wyrażenia regularnego,
\? zero lub jedno powtórzenie wyrażenia regularnego,
{n} dokładnie n powtórzeń wyrażenia regularnego,
{n,} n lub więcej powtórzeń wyrażenia regularnego,
{n,m} od n do m (włącznie) powtórzeń wyrażenia regularnego
(n < m).
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 57 / 64
grep znajduje wiersze zgodne z wyrażeniem
Przydatne opcje
-v tylko wiersze niepasujące do wyrażenia;
-l tylko nazwy plików zawierających wiersze zgodne
z wyrażeniem;
-L tylko nazwy plików niezawierających wierszy zgodnych
z wyrażeniem;
-c tylko liczba wierszy zgodnych z wyrażeniem;
-n poprzedza wiersz zgodny z wyrażeniem jego numerem
w pliku;
-b poprzedza wiersz zgodny z wyrażeniem jego
przesunięciem w bajtach;
-i nie rozróżnia małych i wielkich liter;
-w bierze pod uwagę tylko całe słowa;
-x bierze pod uwagę tylko całe wiersze;
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 58 / 64
grep znajduje wiersze zgodne z wyrażeniem
Przydatne opcje (cd.)
-A N dla każdego wiersza zgodnego z wyrażeniem wypisuje
też N następnych wierszy;
-B N dla każdego wiersza zgodnego z wyrażeniem wypisuje
też N poprzednich wierszy;
-C N jak -AN-BN ;
-r rekursywnie przeszukuje pliki i katalogi;
-E stosuje rozszerzone wyrażenia regularne (jak egrep );
w pliku;
-F zamiast wyrażeń regularnych stosuje listę stałych ciągów
znaków (jak fgrep ).
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 59 / 64
cut pobiera z pliku kolumny
cut
$ cut -(b|c|f)zakres [opcje] [pliki]
pobiera z plików kolumny textu, kolumny definiujemy przez
przesunięcie w znaku w wierszu (-c), przesunięcie bajtu w wierszu
(-b) lub przez pola oddzielone specjalnymi znakami (-f), jako kolumny
można podać zakres m-n , listę k,l,m,n lub ich połączenie;
pominięcie pierwszej liczbę zakresu oznacza 1, pominięcie drugiej
koniec wiersza.
-d C znak rozdzielający pola (domyślnie tabulator);
--output-delimiter=C znak rozdzielający pola na wyjściu przy opcji
-f(domyślnie tabulator);
-s ukrywa wiersze niezawierajÄ…ce znaku rozdzielajÄ…cego.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 60 / 64
paste wstawia do pliku kolumny
paste
$ paste [opcje] [pliki]
łączy zawartość kilku plików jako pionowe kolumny i wyprowadza na
stdout.
-d znaki_rozdzielające do rozdzielania kolumn użyte są podane
znaki (domyślnie tabulator), jeżeli podano jeden znak
rozdziela wszystkie kolumny, jeżeli kilka to na zmianę;
-s transpozycja wierszy i kolumn.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 61 / 64
sort sortuje wiersze w pliku
sort
$ sort [opcje] [pliki]
wypisuje posortowane (alfabetycznie) wiersze pliku nastdout.
-f nie bierze pod uwagę wielkości liter przy sortowaniu;
-n sortuje numerycznie, a nie alfabetycznie;
-g sortuje numerycznie stosujÄ…c notacjÄ™ naukowÄ… ;
-u usuwa duplikaty wierszy przy sortowaniu;
-c nie sortuje, a jedynie kontroluje, czy plik jest już
posortowany;
-b ignoruje wstępne białe znaki;
-r odwraca kolejność sortowania;
-t X znak rozdzielajÄ…cy pola dla opcji-k;
-k F1[.C1][.F2[.C2]] wybiera klucz sortowania.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 62 / 64
uniq usuwa duplikaty sÄ…siednich wierszy w pliku
uniq
$ uniq [opcje] [pliki]
wypisuje wiersze pliku z usuniętymi sąsiednimi duplikatami nastdout.
-c zlicza identyczne sÄ…siednie wiersze;
-i nie rozróżnia małych i wielkich liter;
-u wypisuje tylko unikatowe wiersze;
-d wypisuje tylko powtarzajÄ…ce siÄ™ wiersze;
-s N ignoruje N znaków każdego wiersza przy wyszukiwaniu
duplikatów;
-f N ignoruje N pól porozdzielanych białymi znakami przy
usuwaniu duplikatów;
-w N bierze pod uwagę jedynie N początkowych znaków
wiersza przy usuwaniu duplikatów.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 63 / 64
tee kopiuje plik i jdenoczeście wysyła go nastdout
tee
$ tee [opcje] pliki
kopiuje dane zstdinnastdout(jak cat ) i dodatkowo do jednego lub
więcej plików.
-a nie nadpisuje plików, tylko dodaje do nich dane;
-i ignoruje sygnały przerwań.
Przykład
$ who | tee outfile | sort
nastdoutotrzymujemy posortowane wyjście z who , w pliku outfile te
same dane, ale w oryginalnej kolejności.
Kordian A. Smoliński (WFiIS UA) Podstawy systemu UNIX/Linux 2010/2011 64 / 64
Wyszukiwarka
Podobne podstrony:
POLECENIA PODSTAWOWEUruchom wiersz poleceń, a powiem ci, kim jesteś XPZestaw poleceń Spikit dla Internet Explorer 11 Windows 7 8 1Strona polecenia do bazy danychpoleceniaaĆwiczenie 2 4 Użytkowanie wiersza poleceń cz2poleceniaPolecenie net userkolo polecenia aformularz polecenia lpg 08wiersz polecen 4Przykladowe polecenia na onlineLaboratorium 11 5 5 Dokumentowanie sieci z wykorzystaniem polece us ugowychpolecenia linuxawięcej podobnych podstron