Jak usunąć pliki i katalogi w terminalu Linux? Polecenie RMDIR (RD) – usuń katalog systemu plików Windows Usuń folder w systemie Linux z konsoli


Polecenia rm i rmdir usuwają pliki i katalogi w systemach Linux, macOS i innych systemach operacyjnych typu Unix. Są one podobne do poleceń del i deltree w systemach Windows i DOS. Polecenia te są bardzo potężne i mają sporo opcji.

Należy pamiętać, że pliki i katalogi usunięte za pomocą poleceń rm i rmdir nie są przenoszone do Kosza. Są one natychmiast usuwane z Twojego komputera. Jeśli przypadkowo usunąłeś pliki za pomocą tych poleceń, będziesz mógł je przywrócić tylko z kopii zapasowej.

Jak usunąć pliki za pomocą rm

Najprostszym przypadkiem jest usunięcie pojedynczego pliku w bieżącym katalogu. Wpisz polecenie rm, spację, a następnie nazwę pliku, który chcesz usunąć.

Rm plik_1.txt

Jeśli pliku nie ma w bieżącym katalogu roboczym, podaj ścieżkę do lokalizacji pliku.

Rm ./ścieżka/do/pliku/pliku_1.txt

Możesz przekazać więcej niż jedną nazwę pliku do rm. Spowoduje to usunięcie wszystkich określonych plików.

Rm plik_2.txt plik_3.txt

Symboli wieloznacznych można używać do wybierania grup plików do usunięcia. Podpisać * reprezentuje wiele znaków i znak ? reprezentuje jeden znak. To polecenie usunie wszystkie pliki obrazów png w bieżącym katalogu roboczym.

Rm *.png

To polecenie usunie wszystkie pliki z tym samym rozszerzeniem znaku. Na przykład spowoduje to usunięcie Pliku 1 i Pliku 2, ale nie Pliku 12.

Rm *.?

Jeśli plik jest chroniony przed zapisem, zostaniesz poproszony o jego usunięcie. Musisz odpowiedzieć za pomocą y Lub N i naciśnij „Enter”.

Aby zmniejszyć ryzyko użycia rm ze znakami wieloznacznymi, użyj opcji -I(interaktywny). Aby to zrobić, musisz potwierdzić usunięcie każdego pliku.

Rm -i * .dat

Opcja -F(siła) jest przeciwieństwem interakcji. Nie prosi o potwierdzenie, nawet jeśli pliki są chronione przed zapisem.

Rm -f nazwa pliku

Jak usunąć katalogi za pomocą rm

Aby usunąć pusty katalog, użyj opcji -D(informator). W nazwach katalogów możesz używać symboli wieloznacznych (* i?) tak samo, jak w nazwach plików.

Katalog Rm -d

Podanie więcej niż jednej nazwy katalogu powoduje usunięcie wszystkich określonych pustych katalogów.

Rm -d katalog1 katalog2 /ścieżka/do/katalog3

Aby usunąć niepuste katalogi, użyj opcji -R(rekurencyjne). Dla jasności usuwa to katalogi oraz wszystkie zawarte w nich pliki i podkatalogi.

Rm -r katalog1 katalog2 katalog3

Jeśli katalog lub plik jest chroniony przed zapisem, zostaniesz poproszony o potwierdzenie usunięcia. Aby usunąć niepuste katalogi i pominąć te monity, użyj obu opcji łącznie -R(rekurencyjne) i -F(wymuszony).

Katalog Rm -rf

Tutaj wymagana jest ostrożność. Błąd polecenia rm -rf może spowodować utratę danych lub awarię systemu. Jest to niebezpieczne, a ostrożność jest najlepszą polityką. Aby zorientować się w strukturze katalogów i plikach, które zostaną usunięte przez rm -rf, użyj polecenia drzewo.

Użyj apt-get, aby zainstalować ten pakiet w swoim systemie, jeśli używasz Ubuntu lub innej dystrybucji opartej na Debianie. W innych dystrybucjach Linuksa użyj narzędzia do zarządzania pakietami swojej dystrybucji Linuksa.

Sudo apt-get drzewo instalacyjne

Uruchomienie polecenia drzewa powoduje wyświetlenie łatwego do zrozumienia diagramu struktury katalogów i plików w katalogu, z którego zostało uruchomione.

Można także określić ścieżkę do polecenia drzewa, aby uruchamiało ono drzewo z innego katalogu w systemie plików.

Ścieżka drzewa/do/katalogu

Polecenie rm ma również opcje --one-file-system , --no-preserve-root , --preserve-root , ale są one zalecane tylko dla zaawansowanych użytkowników. Jeśli zrobisz coś złego, możesz przypadkowo usunąć wszystkie pliki systemowe.

Jak usunąć katalogi za pomocą rmdir

Istnieje jeszcze jedno polecenie rmdir, którego można użyć do usunięcia katalogów. Różnica między rm i rmdir polega na tym, że rmdir może usuwać tylko puste katalogi. Nigdy nie usunie plików.

Najprostszym przypadkiem jest usunięcie jednego pustego katalogu. Podobnie jak w przypadku rm, możesz przekazać wiele nazw katalogów do rmdir lub rmdir ścieżkę do katalogu.

Usuń jeden katalog z bieżącego katalogu, przekazując jego nazwę do rmdir:

Katalog Rmdir

Usuń wiele katalogów, przekazując listę nazw do rmdir:

Rmdir katalog1 katalog2 katalog3

Usuń katalog spoza bieżącego katalogu, podając pełną ścieżkę do tego katalogu:

Rmdir /ścieżka/do/katalogu

Jeśli spróbujesz usunąć folder, który nie jest pusty, rmdir wyświetli komunikat o błędzie. W poniższym przykładzie rmdir pomyślnie i dyskretnie usuwa katalog klientów, ale odmawia usunięcia katalogu projektów, ponieważ zawiera pliki. Katalog projektów pozostaje dokładnie taki sam, jak był, a zawarte w nim pliki pozostają nietknięte.

Kiedy rmdir zgłasza błąd „Katalog nie jest pusty”, przestaje przetwarzać katalogi przekazane mu w wierszu poleceń. Jeśli poprosiłeś o usunięcie czterech katalogów, a pierwszy zawierał pliki, rmdir wyświetli komunikat o błędzie i nie zrobi nic więcej. Możesz zmusić go do ignorowania tych błędów za pomocą opcji --ignore-fail-on-non-empty w celu przetwarzania innych katalogów.

W poniższym przykładzie dwa foldery zostały przeniesione do rmdir, są to work/reports i work/quotes. W poleceniu zawarta jest opcja --ignore-fail-on-non-empty. Folder work/reports zawiera pliki, więc rmdir nie może go usunąć. Opcja --ignore-fail-on-non-empty powoduje, że rmdir ignoruje błąd i przechodzi do następnego folderu, który musi przetworzyć, czyli work/quotes. To jest pusty folder i rmdir go usuwa.

To polecenie zostało użyte.

Rmdir --ignore-fail-on-niepusta praca/raporty /praca/cytaty

Możesz skorzystać z opcji -P(nadrzędny), aby usunąć katalog, a także usunąć jego katalogi nadrzędne. Ta sztuczka działa, ponieważ rmdir zaczyna się od katalogu docelowego, a następnie wraca do katalogu nadrzędnego. Katalog ten powinien być teraz pusty, aby mógł zostać usunięty przez rmdir, a proces powtarza krok wstecz wzdłuż ścieżki podanej przez rmdir.

W poniższym przykładzie polecenie przekazane do rmdir to:

Rmdir -p praca/faktury

Faktury i katalogi pracy są usuwane na żądanie.

Czy używasz Basha lub innej powłoki? Linux zapewnia elastyczne i wydajne polecenia do usuwania katalogów i plików bezpośrednio z wiersza poleceń terminala. Niektórzy ludzie wolą mieć przepływ pracy oparty na terminalu. Inni mogą nie mieć w tej kwestii wyboru. Mogą działać na serwerach bez zainstalowanego GUI lub w sesji zdalnej na samodzielnym systemie, takim jak Raspberry Pi. Zespoły te są idealne dla tej grupy osób.

Niezależnie od tego, jaki typ przepływu pracy preferujesz, polecenia te bardzo dobrze nadają się do włączenia do skryptów powłoki. Jeśli skrypt jest uruchamiany przez zadanie cron, może pomóc zautomatyzować rutynowe zadania porządkowe, takie jak czyszczenie niechcianych plików dziennika. Jeśli badasz ten przypadek użycia, pamiętaj o mocy tych poleceń, sprawdź wszystko dokładnie i zawsze noś najnowszą kopię zapasową.

Wiersz poleceń to potężne narzędzie do automatyzacji i upraszczania wielu zadań pojawiających się podczas administrowania komputerem z systemem operacyjnym Windows. W tym artykule przyjrzymy się poleceniom DEL, ERASE, RD i RMDIR. Za ich pomocą możesz usuwać pliki i foldery bezpośrednio z wiersza poleceń.

Jeśli chcesz usunąć plik za pomocą , musisz użyć polecenia DEL lub ERASE. Polecenia te są synonimami i działają tak samo. Szczegółowe informacje na temat tych poleceń można uzyskać, wprowadzając je w wierszu poleceń ze znakiem „/? " Możesz na przykład wpisać „del/? " i wszystkie podstawowe informacje o poleceniu del zostaną wyświetlone w konsoli.

Polecenie DEL (lub ERASE) służy do usuwania jednego lub większej liczby plików i może akceptować następujące parametry:

  • /P – usunięcie z prośbą o potwierdzenie każdego pliku;
  • /F – usuwanie plików z atrybutem „tylko do odczytu”;
  • /S – usuwa określony plik ze wszystkich podfolderów;
  • /Q – usunięcie bez żądania potwierdzenia;
  • /A – usuwanie plików według ich atrybutów;

    • S - System;
    • H - Ukryty;
    • R – Tylko do odczytu;
    • A - Do archiwizacji
    • Możesz także użyć znaku minus „-” przed atrybutami, który ma znaczenie „NIE”. Na przykład „-S” oznacza plik niesystemowy.

Zazwyczaj, aby skorzystać z polecenia DEL, należy najpierw udać się do folderu, w którym znajduje się plik do usunięcia, a następnie uruchomić polecenie. Aby zmienić dysk, wystarczy wpisać literę dysku i dwukropek. Aby poruszać się po folderach, musisz użyć polecenia „CD”.

Po znalezieniu się w żądanym folderze możesz rozpocząć usuwanie plików. Aby to zrobić, wystarczy wpisać polecenie DEL i nazwę pliku.

W razie potrzeby możesz także usuwać pliki bez konieczności przeglądania folderów. W takim przypadku musisz podać pełną ścieżkę do dokumentu.

Jeżeli zachodzi potrzeba wykonania żądania potwierdzenia usunięcia każdego z ich plików, wówczas do polecenia DEL należy dodać parametr „/p”. W takim przypadku wiersz poleceń wyświetli monit o usunięcie pliku, a użytkownik będzie musiał wpisać literę „Y”, aby potwierdzić.

Należy zaznaczyć, że w przypadku stosowania parametru „/a” należy wpisać litery odpowiedzialne za atrybuty, oddzielone dwukropkiem. Przykładowo, aby usunąć wszystkie pliki z atrybutem „tylko do odczytu” i rozszerzeniem „txt”, należy wpisać polecenie „ del /F /A:R *.txt ".

W podobny sposób możesz dodać inne parametry do polecenia DEL. Łącząc je, możesz stworzyć bardzo potężne polecenia usuwania plików za pomocą wiersza poleceń systemu Windows. Poniżej podajemy więcej przykładów:

  • del D:\ - niszczy wszystkie pliki w katalogu głównym dysku D;
  • del D:\*.txt – zniszczenie wszystkich plików z rozszerzeniem txt znajdujących się w katalogu głównym dysku D;
  • del D:\doc – zniszczenie wszystkich plików w folderze d:\doc (dokumenty z atrybutami zostaną pominięte);
  • del /A:r d:\doc\*.txt – zniszczenie wszystkich plików z atrybutem „tylko do odczytu” i rozszerzeniem „txt” w folderze d:\doc;

Usuwanie folderów za pomocą wiersza poleceń

Jeśli chcesz usunąć folder za pomocą wiersza poleceń systemu Windows, powyższe polecenia Ci nie pomogą. Aby usunąć foldery, istnieje osobne polecenie RD lub RMDIR (skrót od Usuń katalog).

Polecenia RD i RMDIR są synonimami i służą do usuwania folderów. Mogą akceptować następujące parametry:

  • /S - usuwa całe drzewo katalogów; użycie tego parametru powoduje usunięcie nie tylko samego folderu, ale także całej jego zawartości;
  • /Q – usunięcie drzewa folderów bez pytania o potwierdzenie;

Na przykład, aby usunąć folder, wystarczy wpisać polecenie RD i nazwę folderu.

Jeśli folder zawiera podfoldery lub pliki, podczas jego usuwania wyświetli się błąd.

Aby rozwiązać ten problem, należy dodać parametr „/s” do polecenia RD. W takim przypadku usuwanie przebiega bez problemów, pojawia się jednak prośba o potwierdzenie usunięcia.

Aby drzewo folderów zostało usunięte bez pojawienia się prośby o potwierdzenie, należy dodać do polecenia parametr „/q”. W takim przypadku folder zostanie usunięty bez zadawania pytań.

Ponadto polecenie RD może zaakceptować kilka folderów jednocześnie, aby to zrobić, wystarczy oddzielić je spacją. Na przykład, jeśli wykonasz „rd 111 222”, możesz jednocześnie usunąć foldery o nazwach „111” i „222”.

Jeśli chcesz usunąć folder za pomocą wiersza poleceń, który sam zawiera spację, w tym przypadku jego nazwę należy ująć w cudzysłów.

Łącząc polecenia DEL i RD, możesz tworzyć zaawansowane skrypty do czyszczenia i usuwania folderów w systemie operacyjnym Windows.

Systemy operacyjne oparte na jądrze Linuksa zazwyczaj przechowują dużą liczbę pustych i niepustych katalogów. Niektóre z nich zajmują dość dużo miejsca do przechowywania i często stają się niepotrzebne. W takim przypadku właściwą opcją byłoby ich usunięcie. Sposobów czyszczenia jest kilka, każdy z nich ma zastosowanie w konkretnej sytuacji. Przyjrzyjmy się bardziej szczegółowo wszystkim dostępnym metodom, a na podstawie swoich potrzeb wybierzesz najbardziej odpowiednią.

W tym artykule porozmawiamy o narzędziach konsolowych i dodatkowych narzędziach uruchamianych poprzez wprowadzenie poleceń. Nie zapominaj jednak, że powłoki graficzne są często implementowane w dystrybucjach. W związku z tym, aby usunąć katalog, wystarczy przejść do niego przez menedżera plików, kliknąć ikonę prawym przyciskiem myszy i wybrać "Usuwać". Nie zapomnij później opróżnić kosza. Opcja ta nie będzie jednak miała zastosowania u wszystkich użytkowników, dlatego zalecamy zapoznanie się z poniższymi poradnikami.

Zanim zaczniesz przyglądać się metodom, należy pamiętać, że wpisując polecenie, najczęściej samodzielnie wskażesz nazwę folderu, który chcesz usunąć. Gdy nie jesteś w jego lokalizacji, musisz podać pełną ścieżkę. Jeśli to możliwe, zalecamy znalezienie katalogu nadrzędnego obiektu i przejście do niego za pośrednictwem konsoli. Ta czynność trwa zaledwie kilka minut:


Jeśli nie możesz określić lokalizacji, podczas usuwania będziesz musiał sam wprowadzić pełną ścieżkę, więc będziesz musiał ją znać.

Metoda 1: Standardowe polecenia terminala

Powłoka poleceń dowolnej dystrybucji Linuksa zawiera zestaw podstawowych narzędzi i narzędzi, które umożliwiają wykonywanie szerokiej gamy działań na ustawieniach systemowych i plikach, w tym usuwanie katalogów. Istnieje kilka takich narzędzi i każde z nich będzie najbardziej przydatne w określonej sytuacji.

polecenie rmdir

Przede wszystkim chciałbym poruszyć kwestię rmdir. Przeznaczony jest do czyszczenia systemu wyłącznie z pustych katalogów. Usuwa je trwale, a zaletą tego narzędzia jest prostota jego składni i brak jakichkolwiek błędów. W konsoli po prostu napisz folder rmdir , gdzie teczka— nazwa folderu w bieżącej lokalizacji. Narzędzie aktywuje się poprzez naciśnięcie klawisza Wchodzić.

Nic nie stoi na przeszkodzie, aby określić pełną ścieżkę katalogu, jeśli nie możesz przejść do żądanej lokalizacji lub nie musisz. Wtedy linia ta przyjmuje na przykład następującą postać: rmdir /home/user/folder/folder1 , gdzie użytkownik- Nazwa użytkownika, teczka jest katalogiem nadrzędnym, oraz folder1— folder do usunięcia. Pamiętaj, że przed domem musi znajdować się ukośnik, ale na końcu ścieżki nie może być żadnego ukośnika.

polecenie rm

Poprzednie narzędzie jest jednym ze składników narzędzia rm. Początkowo ma na celu usunięcie plików, ale jeśli podasz mu odpowiedni argument, usunie również folder. Ta opcja jest już odpowiednia dla niepustych katalogów; w tym przypadku musisz wpisać w konsoli folder rm -R (lub pełną ścieżkę do katalogu). Zwróć uwagę na argument -R- rozpoczyna usuwanie rekurencyjne, czyli wpływa na całą zawartość folderu i na siebie. Podczas wprowadzania należy uwzględnić wielkość liter, ponieważ -R- to zupełnie inna opcja.

Jeśli chcesz wyświetlić listę wszystkich usuniętych plików i folderów podczas korzystania z rm, będziesz musiał nieco zmodyfikować linię. Wejdź "Terminal" rm -Rfv, a następnie aktywuj polecenie.

Po zakończeniu usuwania zostaną wyświetlone informacje o wszystkich katalogach i poszczególnych obiektach, które wcześniej znajdowały się we wskazanej lokalizacji.

znajdź polecenie

Na naszej stronie znajdują się już materiały z przykładami wykorzystania find w systemach operacyjnych opartych na jądrze Linux. Prezentowane są tam oczywiście tylko podstawowe i najbardziej przydatne informacje. Możesz się z nim zapoznać, klikając poniższy link, a teraz proponujemy dowiedzieć się, jak działa to narzędzie, gdy chcesz usunąć katalogi.

  1. Jak wiadomo, znajdować służy do wyszukiwania obiektów w systemie. Dzięki zastosowaniu dodatkowych opcji możesz znaleźć katalogi o określonej nazwie i natychmiast je usunąć. Aby to zrobić, wpisz w konsoli znajdź. -type d -name "folder" -exec rm -rf () \;, gdzie folder jest nazwą katalogu. Robiąc to, pamiętaj o umieszczeniu podwójnych cudzysłowów.
  2. Czasami w osobnej linii wyświetlana jest informacja, że ​​taki plik lub katalog nie istnieje, ale nie oznacza to, że nie został znaleziony. Tylko znajdować zadziałało ponownie po usunięciu katalogu z systemu.
  3. find ~/ -empty -type d -delete umożliwia usunięcie wszystkich pustych folderów w systemie. Niektóre z nich są dostępne tylko dla superużytkownika, więc wcześniej znajdować należy dodać sudo.
  4. Na ekranie pojawią się dane o wszystkich znalezionych obiektach i powodzeniu operacji.
  5. Możesz także określić tylko konkretny katalog, w którym narzędzie ma przeszukiwać i czyścić. Wtedy linia będzie wyglądać np. tak: find /home/user/Folder/ -empty -type d -delete .

Na tym kończy się interakcja ze standardowymi narzędziami konsoli w systemie Linux. Jak widać jest ich sporo i każdy ma zastosowanie w określonych sytuacjach. Jeśli chcesz zapoznać się z innymi popularnymi zespołami, przeczytaj nasz osobny materiał pod linkiem poniżej.

Dzień dobry, drodzy czytelnicy. Dzisiaj chciałbym porozmawiać o usuwaniu katalogu w PHP. Wydawałoby się, że operacja nie jest skomplikowana, ale są pewne niuanse. Przyjrzyjmy się sposobom, aby to zrobić.

PHP ma do tego funkcję rmdir(). Jako argument przyjmuje ścieżkę do katalogu, który chcesz usunąć. Jednakże, katalog musi być pusty- to jest główny warunek (z wyjątkiem tego, że użytkownik, z którego uruchamiany jest serwer WWW, musi mieć uprawnienia do zapisu w katalogu). Jeżeli w katalogu zostaną umieszczone pliki, przy wywołaniu funkcji otrzymamy błąd. W związku z tym dochodzimy do wniosku, że katalog przed użyciem funkcji rmdir() należy najpierw wyczyścić.

W internecie radzą napisać funkcję, która jako argument przekaże ścieżkę do katalogu, który musimy usunąć. W treści funkcji należy zorganizować listę zawartości katalogu, w ramach której następuje sprawdzenie, czy plik jest katalogiem. Jeśli plik jest katalogiem, funkcja wywołuje się na podstawie tego warunku. Jest to konieczne do oczyszczenia zagnieżdżonych katalogów i będzie działać na wszystkich poziomach zagnieżdżenia. W przeciwnym razie funkcja zostanie zastosowana do pliku odczepić()- służy do usuwania pliku. Poza tą kontrolą w ostatnim kroku usuwamy katalog.

Przykładowa realizacja:

Funkcja recursiveRemoveDir($dir) ( $includes = glob($dir."/*"); foreach ($includes as $include) ( if(is_dir($include)) ( recursiveRemoveDir($include); ) else ( unlink( $include); ) ) rmdir($dir); ) //Usuń katalog tmp z bieżącego katalogu recursiveRemoveDir("tmp");
Jakie problemy ma ten kod?

W prostych przypadkach katalog ze wszystkimi załącznikami zostanie usunięty. Załóżmy jednak, że w naszym katalogu znajduje się ukryty plik rozpoczynający się od kropki, na przykład: .htaccess. Funkcjonować kula() to podstawienie glob UNIX, które domyślnie nie obejmuje plików ukrytych (DOTFILES). Na przykład, jeśli przejdziemy do terminala nix i użyjemy basha, napotkamy ten sam problem (mówimy o plikach ukrytych w globach). W bashu istnieje polecenie rozwiązujące ten problem: shopt -s dotglob- umożliwia globalne podstawienie ukrytych plików. W PHP można to rozwiązać, dodając dodatkowy parametr GLOB_BRACE Dla kula() i rozwinięcie wzorca od pierwszego parametru funkcji.

$obejmuje = glob("tmp/(,.)*", GLOB_BRACE);
I tu też pojawia się problem – napotkamy nieskończoną pętlę, gdyż tablica będzie zawierała wartości. i.. - który jest katalogiem bieżącym i nadrzędnym na poziomie systemu. Skończy się to nieskończoną pętlą (i nie usunięciem wszystkich katalogów nadrzędnych), ponieważ. w ramach domyślnego sortowania wygenerowana tablica będzie na pierwszym miejscu.. - czyli za każdym razem, gdy będziemy mieli dostęp do tego samego katalogu. Aby rozwiązać problem, utworzymy tablicę z tych katalogów systemowych i w pętli usuniemy ich indeksy z głównej tablicy. Istnieje również problem dowiązań symbolicznych. Załóżmy, że usuwany katalog zawiera odnośnik do innego katalogu, którego zawartość absolutnie nie jest dla nas interesująca. Aby rozwiązać problem, przed utworzeniem rekurencji należy sprawdzić, czy encja nie jest referencją.

W rezultacie funkcja przyjmuje następującą postać:

Funkcja recursiveRemoveDir($dir) ( $includes = glob($dir."/(,.)*", GLOB_BRACE); $systemDots = preg_grep("/\.+$/", $includes); foreach ($systemDots as $index => $dot) ( unset($includes[$include]); ) foreach ($includes as $include) ( if(is_dir($include) && !is_link($include)) ( recursiveRemoveDir($include); ) else ( unlink($include); ) ) rmdir($dir); ) //Usuń katalog tmp z bieżącego katalogu recursiveRemoveDir("tmp");
Kod działa, choć faktycznie można było go uprościć. W PHP istnieje klasa FilesystemIterator, która domyślnie ma już potrzebne nam ustawienia. Ścieżka do katalogu, którego potrzebujemy, jest przekazywana konstruktorowi. Musimy tylko stworzyć obiekt.

Funkcja recursiveRemoveDir($dir) ( $includes = new FilesystemIterator($dir); foreach ($includes as $include) ( if(is_dir($include) && !is_link($include)) ( recursiveRemoveDir($include); ) else ( unlink($include); ) ) rmdir($dir); ) //Usuń katalog tmp z bieżącego katalogu recursiveRemoveDir("tmp");
Podsumowując, chciałbym zwrócić uwagę na jeszcze jeden szybki sposób. Poprawność jego użycia jest bardzo wątpliwa - wyślij polecenie do wykonania do SHELL.

System("rm -rf tmp");
Chciałbym zwrócić uwagę na duże zużycie pamięci oraz na fakt, że administratorzy często zabraniają korzystania z takich funkcji na serwerze ze względów bezpieczeństwa.

Tagi: php, rmdir, glob, rekurencja

Zespół rmdir pomoże nam usunąć pusty katalog, czyli katalog bez plików i folderów. Składnia polecenia jest bardzo prosta:

Rmdir NAZWA KATALOGU

Jeśli katalog nie jest pusty, pojawi się następujący komunikat o błędzie.

$ rmdir test rmdir: nie udało się usunąć `test': Katalog nie jest pusty

2. Jak usunąć zagnieżdżone katalogi w systemie Linux?

Korzystanie z opcji -P możesz usunąć katalog z zagnieżdżonym w nim podkatalogiem.

$ rmdir -p katalog1/katalog2/katalog3

Zespół rmdir -p katalog1/katalog2/katalog3 jest to odpowiednik polecenia

$ rmdir dir1/dir2/dir3 dir1/dir2 dir1

3. Usuwanie katalogu zawartości

Jeśli chcesz usunąć katalog z zawartością, możesz użyć polecenia rm:

$ rm -rf NAZWA KATALOGU

To polecenie usunie katalog, łącznie ze wszystkimi zawartymi w nim plikami i podkatalogami. Używaj tego polecenia ostrożnie, ponieważ odzyskanie usuniętych plików nie będzie łatwą procedurą.

4. Interaktywne usuwanie

Aby uniknąć przypadkowego usunięcia niezbędnych plików, zalecam rozważenie użycia opcji -i do interaktywnego usuwania plików i folderów (szczególnie z uprawnieniami roota).

Rekurencyjne i interaktywne usuwanie katalogów.

# rm -ir NAZWA KATALOGU

Interaktywne usuwanie plików.

# rm -i NAZWA PLIKU

5. Przydatne aliasy dla poleceń rm i rmdir

Możesz użyć interaktywnego usuwania jako domyślnego zachowania polecenia rm.

Alias ​​do ciągłego interaktywnego wykonywania rm

# alias rm="rm -i"

Podczas korzystania z polecenia rm polecenie zostanie faktycznie wykonane rm -i. Ale musisz zwrócić uwagę na jeden niuans. Nie używaj w przyszłości opcji -i, gdyż nie uzyskasz pożądanego efektu. Spójrzmy na przykład:

W poniższym poleceniu użycie -i nie da oczekiwanego efektu..

$ rm -irf NAZWA KATALOGU

W takim przypadku, korzystając z aliasu, powyższe polecenie należy uruchomić w następujący sposób:

$ rm -rf NAZWA KATALOGU

Wszystkie poniższe polecenia są równoważne i wykonują tę samą funkcjonalność.

  • rm-fr
  • rm -rf
  • rm -r -f
  • rm -f -r

Jeżeli potrzebują Państwo ekspertyzy budynku, polecam zlecenie oględzin gotowych budynków specjalistom z centrum badawczo-produkcyjnego Technoplast