Strona główna > Konsola, Polecenia > Usuwanie plików i katalogów

Usuwanie plików i katalogów

Dobra zacznijmy od razu, beż żadnych słów wstępu. Tematem tym razem zgodnie z tematem jest usuwanie plików i katalogów. Niby sprawa jest prosta, ale może mieć czasami przykre konsekwencje, poza tym trzeba wiedzieć jak takie operacje wykonać.

Zaczniemy od usuwania plików i katalogów. Do tego celu posłuży nam polecenie rm. Składania polecenia jest prosta, a przedstawia się ona następująco:

rm [OPCJE] PLIKI

Z przydatnych opcji można wymienić:

-f – ignorowanie nieistniejących plików

-i – pytanie o zgodę przy usuwaniu każdego pliku

-I – podczas usuwania plików, gdy zbierze się ich więcej niż trzy jest pytanie o zgodę na ich usunięcie

–one-file-system – podczas usuwania plików rekurencyjnie są pomijane katalogi, które należą do innego systemu plików niż ten z którego zostało wywołane polecenie

-r – rekurencyjne usuwanie plików i katalogów

W przypadku polecenia rm można używać symboli wieloznacznych takich jak np. * , co odpowiada nazwie pliku/katalogu. Dlatego należy bardzo UWAŻAĆ z jakimi UPRAWNIENIAMI i z jakiego MIEJSCA wykonujemy to polecenie! Wystarczy, że z uprawnieniami użytkownika root wykonamy następujące polecenie, będąc w katalogu głównym:

rm -r *

i katastrofa gotowa. Stracimy wszystko z dysku, więc jeszcze raz używajcie tego polecenia bardzo ostrożnie. Oczywiście przy niektórych konfiguracjach systemu dzieje się tak, że polecenie działa domyślnie jak z opcją -i, ale nawet wtedy niechcący „uda” się omyłkowo zaakceptować usunięcie wszystkiego.

Będziemy w przykładach działać na bazie następującej struktury katalogów:

./a:
b
./a/b:
c
./a/b/c:
plik

Przejdźmy do działania:

rm ./a/b/c/plik

Powyższe polecenie pozwoli na usunięcie pliku o nazwie „plik” odwołując się do pliku poprzez ścieżkę względną. Plik zostanie usunięty pod warunkiem posiadania do tego uprawnień.

rm ./a/b

Po zastosowaniu powyższego polecenia zostanie zgłoszony błąd, ponieważ „b” nie jest plikiem, aby usunąć ten katalog należy posłużyć się następującą formą polecenia:

rm -r ./a/b 

Teraz katalog „b” zostanie usunięty wraz ze znajdującymi się w nim wszystkimi plikami oraz katalogami.

rm -i plik_testowy

Polecenie usunie plik o nazwie „plik_testowy”, ale wcześniej zapyta się nas o zgodę na jego usunięcie.

Teraz zajmiemy się usuwaniem katalogów, tylko i wyłącznie ich. Do tego służy polecenie rmdir. Warunkiem koniecznym do poprawnego wykonania tego polecenia (oprócz posiadania uprawnień) jest brak zawartości w danym katalogu inaczej mówiąc: katalog musi być pusty.Polecenie to również jak polecenie rm obsługuje symbole wieloznaczne.

Składnia tego polecenia jest bardzo prosta, a ponadto posiada ono bardzo mało opcji:

rmdir [OPCJE] KATALOG

A oto istniejące opcje:

–ignore-fail-on-non-empty – ignoruje katalogi, które nie są puste

-p – pozwala na usuwanie całych drzew katalogów, pod warunkiem, że katalogi nie zawierają plików oraz struktura katalogów biegnie w linii prostej, tzn. że można to zastosować w przypadku naszej przykładowej struktury katalogów, ale nie da się tego zastosować w przypadku, gdyby katalog „a” zawierał jeszcze jeden katalog

Oto przykłady:

rmdir ./a/b/c

Zostanie usunięty katalog „c”, w przypadku, gdy nie ma w nim żadnych plików czy katalogów.

rmdir ./a/b/c

Teraz zostaną usunięte katalogi „a”,”b” oraz „c”, jeżeli katalog „c” jest pusty oraz katalog „a” oraz „b” posiadają tylko po jednym katalogów.

Zachęcam do pisania komentarzy oraz do przeczytania podręcznika systemowego (man rmdir, man rm lub  info rmdir, info rm)

  1. Brak komentarzy.
  1. No trackbacks yet.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d bloggers like this: