Podstawowe operacje na katalogach i plikach

 

Do podstawowych poleceń dotyczących katalogów zaliczamy:

 

Pełną ścieżkę katalogu bieżącego wypisuje polecenie pwd

 

pwd

 

Do zmiany katalogu używamy polecenia cd.

 

cd [katalog]

 

Po wykonaniu polecenia cd bez żadnego argumentu tj. bez podania nazwy katalogu znajdziemy się w katalogu domowym użytkownika. Jeśli nazwa katalogu jest nazwą prostą, cd sprawdza, czy nazwa_katalogu jest podkatalogiem jednego z katalogów zdefiniowanych w zmiennej CDPATH. Jeśli tak, to polecenie cd zmienia katalog na ten wyszukany i podaje w wyniku pełną ścieżkę dostępu do niego.

 

Do przeglądania zawartości katalogu służy polecenie ls.

 

ls [opcje] [nazwy]

 

Niektóre opcje:

            -a         wyświetla wszystkie pliki (w tym również ukryte)

            -b        pokazuje znaki sterujące w nazwach plików

            -C        wyświetla spis w kilku kolumnach

            -d        pokazuje nazwy katalogów a nie ich zawartość

-F        pokazuje typ pliku, dodając na koniec nazwy symbol ukośnika (/) dla katalogów, gwiazdkę (*) dla plików wykonywalnych oraz symbol @ dla dowiązań symbolicznych

-l         wyświetlanie w długim formacie, obejmującym m.in. datę/czas ostatniej modyfikacji zawartości

Po wykonaniu polecenia ls z opcją –l  otrzymamy pełną informację o dokonanych wpisach w wybranym katalogu z następującymi elementami:

- (ordinary file)                      zwykły plik

            d (directory)                           katalog

            l (symbolic link)                     link symboliczny

            b (block special file)              plik specjalny blokowy

            c (character special file)        plik specjalny znakowy

            p (named pipe)                       nazwany potok (bufor typu FIFO)

           

            r (readable)                            prawo czytania

            w (writeable)                         prawo modyfikacji

            x (execuatable)                       prawo wykonywania

            -                                              brak praw

 

Rozszerzone prawa dostępu

            l                                              blokowanie dostępu

            s (SUID)                                 ustawienie identyfikatora użytkownika dla procesu w czasie wykonywania

            S (SGID)                                ustawienie identyfikatora grupy dla procesu w czasie wykonywania

            t (Sticky bit)                           zachowanie w pamięci tekstu (binariów) programu po zakończeniu jego wykonywania

 

 

W przypadku katalogu prawo wykonywania (x) oznacza prawo wejścia do danego katalogu.

 

Przykład

 

ls –l

-rw-r--r-- 1 helena student 150 May 10 9:22 raport

 

W powyższym przykładzie myślnik na początku oznacza, że mamy do czynienia ze zwykłym plikiem. Kolejne trzy znaki rwx oznaczają prawa dostępu dla właściciela (czytania i zapisu), kolejne trzy znaki rwx oznaczają prawa dostępu dla grupy (tylko czytania), kolejne trzy znaki rwx oznaczają prawa dostępu dla pozostałych użytkowników (również tylko czytania). Następnie liczba 1 oznacza  liczbę łączników do pliku, helena jest nazwą właściciela pliku, student jest nazwą grupy właściciela pliku. 150 oznacza rozmiar pliku (w bajtach), następnie jest podana data i godzina ostatniej modyfikacji pliku, zaś raport to nazwa pliku.

Prawa dostępu do pliku można zmieniać poleceniem chmod.

 

Aktualnie przypisane prawa dostępu można wyświetlić za pomocą komendy “ls” z opcja “-l”. Przykłady wykonania komendy “ls -l” dla plików lub katalogów:

-rwxr-x---  1 student stud 508 sty 1 2003 plik.txt

 wszystkie prawa dla właściciela pliku (student), możliwość oglądania  zawartości dla grupy “stud”,

drwx---r-x 2 stydent stud 4096 sty 23 2003 katalog

wszystkie prawa dla właściciela katalogu, możliwość oglądania zawartości dla wszystkich prócz członków grupy “stud”,

 

Katalogi tworzymy korzystając z polecenia mkdir.

 

mkdir [opcje] katalogi

 

Wybrane opcje:

            -m prawo        tworzenie katalogu z określonymi prawami dostępu

-p                    tworzy wszystkie katalogi pośrednie niezbędne do utworzenia

 

Puste katalogi usuwamy przy pomocy rmdir

 

rmdir [opcje] katalogi

 

Przeniesienie katalogu łącznie z podkatalogami

 

mvdir źródło cel

 

Powoduje przeniesienie podanego katalogu źródło do katalogu podanego jako cel.

 

 

Polecenia plikowe

 

Do zmiany nazwy pliku (katalogu) lub jego przeniesienia służy polecenie mv.

 

mv [opcje] pliki_źródłowe plik_docelowy

 

Wybrane opcje:

-f         wymusza przeniesienie, bez konieczności potwierdzania w sytuacji, gdy użytkownik nie ma prawa dostępu do zapisu do pliku, natomiast ma prawo dostępu do zapisu do katalogu

-i         wykonuje w trybie konwersacyjnym, z wyświetleniem prośby o zgodę na wykonanie, przed nadpisaniem istniejącego pliku

 

Usuwamy pliki  lub katalogi przy pomocy polecenia rm.

 

rm [opcje] plik

 

Wybrane opcje:

-i         przed usunięciem każdego pliku należy odpowiedzieć na pytanie potwierdzające wykonanie polecenia

-f         wymusza usunięcie pliku, bez żądania potwierdzenia, gdy użytkownik nie ma prawa dostępu do zapisu do tego pliku

-r         jeśli lista_plików zawiera katalog, następuje rekurencyjne usunięcie wszystkich jego podkatalogów i plików.

Uwaga: jeżeli nie użyto opcji –r zaś lista_plików zawiera katalog, to zostanie zasygnalizowany błąd.

 

Do kopiowania plików służy polecenie cp.

 

cp plik1 plik2

cp lista_plików katalog_docelowy

 

Wybrane opcje:

-i         konwersuje z użytkownikiem i pyta o potwierdzenie przed nadpisaniem istniejącego pliku

-p        dodatkowo kopiuje ustawienia właściciela, grupy i praw dostępu, ale tylko w zakresie praw posiadanych przez wywołującego polecenie; nie jest dostępna we wszystkich wersjach systemu

-r         rekurencyjnie kopiuje podkatalogi wraz z zawartością (nie jest dostępna we wszystkich wersjach systemu)

 

Wyświetlanie lub łączenie plików lub potoków może być przy pomocy polecenia cat.

 

cat [opcje][pliki]

 

Wybrane opcje:

-n         numerowanie wszystkich wyświetlanych wierszy

-nb       numerowanie tylko niepustych wierszy

-v        wyświetlanie znaków kontrolnych jako znaków drukowalnych

 

Do formatowania wydruku informacji służy polecenie more.

 

more [opcje][pliki]

 

Użyteczna polecenia wewnętrzne more:

H                     wyświetla menu help

spacja, f          przechodzi do następnej strony

 

Niektóre z poniższych poleceń nie są dostępne w poleceniu more w niektórych wariantach systemu UNIX, zwłaszcza jeżeli polecenie jest używane do wyświetlania informacji z potoku.

Ctrl+b             przechodzi do poprzedniej strony

G                     przechodzi do ostatniego wiersza

lG                    przechodzi do pierwszego wiersza

nf                     przechodzi w przód o n stron

nb                    przechodzi w tył o n stron

nG                   przechodzi do wiersza n (napis przechodzi do następnego wystąpienia wyrażenia napis)

n                      powtarza poprzednie szukanie

d                      o pół wysokości ekranu w dół

Ctrl+L             ponownie wyświetla bieżącą stronę

 

Wyświetlania początkowych wierszy pliku lub potoku odbywa się przy pomocy head.

 

head [-n] [pliki]

 

-n         wyświetla n pierwszych wierszy

 

Wyświetlanie ostatniego wiersza pliku lub potoku odbywa za pomocą tail.

 

tail [opcje] [pliki]

 

Wybrane opcje:

-f         w sposób ciągły wyświetla dane dopisywane do pliku, aż do naciśnięcia klawisza Enter

-n         wyświetla dokładnie n wierszy (duże wartości parametru n mogą być zignorowane)

+n        wyświetla od wiersza n–tego do końca pliku

 

Do aktualizacji daty ostatniej modyfikacji i dostępu do pliku służy plecenie touch.

 

touch [opcje][data] pliki

 

Uwaga: tworzy pusty plik, jeśli takiego nie ma, ale nie zmienia zawartości pliku istniejącego.

 

 

Klasyfikacja plików odbywa się przy pomocy polecenia file.

 

file [opcje] pliki

 

Wybrane opcje:

-f źródło          nazwy plików będą wzięte z pliku źródło

 

Modyfikacja praw dostępu i tworzenie linków

 

Do nadawania i zmiany praw dostępu służy polecenie chmod.

 

chmod [opcje] tryb pliki

 

Można jednocześnie nadać lub usunąć kilka praw naraz kilku klasom użytkowników. Oznaczenia są następujące:

Kategorie użytkownika

a          wszyscy użytkownicy (domyślnie)

g          grupa pliku

u          właściciel

o          inni

Kod operacji

+          dodanie praw

-          usunięcie praw

=          dokładne ustawienie praw

Prawa dostępu

r          prawo odczytu

w         prawo zapisu

x          prawo wykonywania

 

Przykłady

 

Ustawienie praw wszystkich użytkowników wyłącznie na możliwość odczytu

 

chmod a=r plik,txt

 

Odebranie prawa pisania w pliku dla członków grupy

 

chmod g-w plik.txt 

 

Można również korzystać również z bitowych reprezentacji danych praw dostępu. W tej notacji wartość 1 oznacza prawo czytania, 2 prawo pisania, a 4 prawo wykonywania.

 

Przykłady

 

Nadawanie wszystkie prawa dla właściciela, prawo czytania i oglądania dla grupy i żadnych praw dla innych:

 

chmod 750 plik.txt

 

zamiast dłuższego:

 

chmod u=rwx, g=rx, o= plik.txt

 

Linki (dowiązania) sztywne lub symboliczne tworzymy przy pomocy polecenia ln.

 

ln [opcje] nazwa_obecna nazwa_nadawana

 

Wybrane opcje:

-f         tworzy dowiązania bez pytania użytkownika

-n         jeśli nowa nazwa już istnieje to nie tworzy dowiązania

-s         tworzenie dowiązania symbolicznego zamiast dowiązania sztywnego

 

Ćwiczenia

·        Sprawdzić działanie opisanych poleceń.

·        Używając odpowiednich poleceń utwórz w swoim katalogu własnym podkatalog mietek a w nim pusty plik plik_1. Następnie nadaj do niego prawo czytania dla wszystkich użytkowników i prawo zapisu tylko dla właściciela. Jakiego możesz użyć polecenie aby przekonać się, że plik plik_1 jest plikiem pustym ?

 

Strona poprzednia       Strona następna