Artur Pyszczuk's blog...

"The only real valuable thing is intuition."
Albert Einstein
/home/linux/commands/rm/

rm - Usuwanie plików / katalogów

Aby usuwać pliki lub katalogi, lub jednocześnie to i to za pomocą konsoli, należy użyć polecenia rm. W zależności od tego, czy są to tylko pliki, puste katalogi, czy katalogi z zawartością, trzeba użyć odpowiedniej opcji w poleceniu. Tak więc składnia polecenia ma się następująco:

$ rm [OPCJE] plik(i)

Do prostego usunięcia wystarczy użyć polecenia rm, bez dodatkowych opcji. Rysunek 1, pokazuje jak to wygląda.

rm - Usuwanie plików i katalogów
Rys. 1. Polecenie rm


Opcja -f pozwala na usuwanie bez ostrzeżenia. Zastanawiasz się może, o co może chodzić z ostrzeżeniem, przecież przed chwilą nie było żadnego ostrzeżenia, a plik został usunięty. Owszem nie było, a to dlatego, że posiadałeś odpowiednie uprawnienia do pliku (możliwość zapisu - o uprawnieniach w innym miejscu). Jeśli natomiast nie będziesz miał uprawnienia do zapisu, ale będziesz właścicielem pliku, to dostaniesz ostrzeżenie o usuwaniu zabezpieczonego pliku. Rysunek 2 pokazuje zarówno jedną jak i drugą sytuację, w której najpierw pojawia się ostrzeżenie, a poźniej już nie.

rm - Usuwanie plików i katalogów
Rys. 2. Polecenie rm -f


W momencie, w którym terminal wyświetla informację, czy chcemy usunąc plik, wybieramy albo y (yes), albo n (no, lub dowolny inny znak). Opcja -f jest bardzo użyteczna, jeśli usuwamy więcej niż jeden zabezpieczony plik. Jeśli byśmy nie użyli opcji -f, to przy każdym zabezpieczonym pliku dostaniemy pytanie od terminala, czy napewno chcemy usunąć ten plik.

Jeśli chcemy, aby terminal przy usuwaniu każdego pliku prosił o potwierdzenie usunięcia, to możemy to zrobić za pomocą opcji -i. Przed każdym usunięciem pliku, użytkownik dostanie informację jak na rysunku 3. Pliki te nie są chronione, widać to po komunikacie jaki terminal wyświetla: "remove regular empty file". W odróżnieniu od "remove write-protected regular empty file", który informuje o pliku zabezpieczonym.

rm - Usuwanie plików i katalogów
Rys. 3. Polecenie rm -i


Opcja -I wyświetla jednorazowo zapytanie, czy napewno chcemy usunąć wybrane pliki, jeśli tych plików jest więcej niż trzy, lub jeśli usuwamy katalog, wraz z zawartością (dowolna ilość plików w katalogu usuwanym).

rm - Usuwanie plików i katalogów
Rys. 4. Polecenie rm -I


rm - Usuwanie plików i katalogów
Rys. 5. Polecenie rm -rI

Na rysunku 4 widać, że w katalogu jest 8 plików. Usunięcie pierwszych trzech z użyciem opcji -I, nie powoduje żadnej prośby potwierdzenia usuwania. Natomiast usunięcie większej ilości plików, niż trzech, już wyświetla zapytanie "remove all arguments?". Rysunek 5 pokazuje, że opcja -I, prosi o potwierzenie usunięcia katalogu (directory), wraz z jego zawartością nawet jeśli w katalogu usuwanym (directory) jest mniej plików niż trzy.

Na rysunku 5 dodatkowo została zastosowana opcja -r, która powoduje usuwanie katalogu wraz z zawartością. Rysunek 6, pokazuje co terminal wyświetla jeśli próbujemy usunąć katalog, który nie jest pusty, oraz bez dodatkowych opcji poleceniem rm.

rm - Usuwanie plików i katalogów
Rys. 6. Polecenie rm -r

Ogólnie polecenie rmdir bez dodatkowych opcji też usuwa katalog, wtedy i tylko wtedy, gdy jest on pusty. W przeciwnym wypadku trzeba użyć polecenia rm -r.

Aby terminal informował o tym, co aktualnie robi (chodzi o usuwanie), trzeba użyć opcji -v. Rysunek 7 ilustruje zachowanie opcji -v.

rm - Usuwanie plików i katalogów
Rys. 7. Polecenie rm -v

Notka z man'a "Zauważ, że jeśli używasz polecenia rm do usuwania pliku, zazwyczaj jest możliwe odzyskanie zawartości tego pliku. Jeśli chcesz mieć więcej pewności, że zawartość pliku jest nie do odzyskania - rozważ używanie programu shred"


Warning: Use of undefined constant rm - assumed 'rm' (this will throw an Error in a future version of PHP) in /home/platne/serwer56657/public_html/arturpyszczuk.pl/sites/linux/commands/rm.php on line 81

Wiecej informacji na temat programu rm znajdziesz w podreczniku systemowym man.
Wpisujac w konsoli man rm

Wiecej informacji na temat programu rm znajdziesz również w programie info.
Wpisujac w konsoli info coreutils 'rm invocation'

Zobacz także:

Some rights reserved 2010 - 2015 Artur Pyszczuk

| Strona Główna | Kontakt |