Ako odstrániť súbory a adresáre v termináli Linux? Príkaz RMDIR (RD) – vymazanie adresára súborového systému Windows Odstránenie priečinka v Linuxe z konzoly


Príkazy rm a rmdir vymazávajú súbory a adresáre v systémoch Linux, macOS a iných operačných systémoch podobných Unixu. Sú podobné príkazom del a deltree vo Windows a DOS. Tieto príkazy sú veľmi výkonné a majú pomerne málo možností.

Je dôležité si uvedomiť, že súbory a adresáre odstránené pomocou rm a rmdir sa nepresúvajú do koša. Okamžite sa odstránia z vášho počítača. Ak ste omylom odstránili súbory pomocou týchto príkazov, budete ich môcť obnoviť iba zo zálohy.

Ako odstrániť súbory pomocou rm

Najjednoduchším prípadom je vymazanie jedného súboru v aktuálnom adresári. Zadajte príkaz rm, medzeru a potom názov súboru, ktorý chcete odstrániť.

Rm súbor_1.txt

Ak sa súbor nenachádza v aktuálnom pracovnom adresári, zadajte cestu k umiestneniu súboru.

Rm ./path/to/the/file/file_1.txt

Do rm môžete odovzdať viac ako jeden súbor. Týmto sa vymažú všetky zadané súbory.

Rm súbor_2.txt súbor_3.txt

Zástupné znaky možno použiť na výber skupín súborov, ktoré sa majú odstrániť. Podpísať * predstavuje viacero znakov a znak ? predstavuje jeden znak. Tento príkaz vymaže všetky obrazové súbory png v aktuálnom pracovnom adresári.

Rm * .png

Tento príkaz vymaže všetky súbory s rovnakou príponou znakov. Týmto sa napríklad odstráni Súbor.1 a Súbor.2, ale nie Súbor.12.

Rm *.?

Ak je súbor chránený proti zápisu, zobrazí sa výzva na odstránenie súboru. Musíte odpovedať s r alebo n a stlačte "Enter".

Ak chcete znížiť riziko použitia rm so zástupnými znakmi, použite možnosť -i(interaktívne). Ak to chcete urobiť, musíte potvrdiť vymazanie každého súboru.

Rm -i * .dat

Možnosť -f(sila) je opakom interaktívneho. Nepožaduje potvrdenie, aj keď sú súbory chránené proti zápisu.

Rm -f názov súboru

Ako odstrániť adresáre pomocou rm

Ak chcete odstrániť prázdny adresár, použite možnosť -d(adresár). Zástupné znaky (* a ?) môžete použiť v názvoch adresárov rovnako ako v názvoch súborov.

Rm -d adresár

Ak zadáte viac ako jeden názov adresára, odstránia sa všetky zadané prázdne adresáre.

Rm -d adresár1 adresár2 /cesta/do/adresára3

Ak chcete odstrániť neprázdne adresáre, použite možnosť -r(rekurzívne). Aby bolo jasné, toto vymaže adresáre a všetky súbory a podadresáre v nich obsiahnuté.

Rm -r adresár1 adresár2 adresár3

Ak je adresár alebo súbor chránený proti zápisu, zobrazí sa výzva na potvrdenie vymazania. Ak chcete odstrániť neprázdne adresáre a potlačiť tieto výzvy, použite voľby spolu -r(rekurzívne) a -f(nútené).

Rm -rf adresár

Tu je potrebná opatrnosť. Chyba príkazu rm -rf môže viesť k strate údajov alebo poruche systému. Je to nebezpečné a opatrnosť je najlepšou politikou. Ak chcete získať predstavu o štruktúre adresárov a súboroch, ktoré sa odstránia pomocou rm -rf, použite príkaz tree.

Ak používate Ubuntu alebo inú distribúciu založenú na Debiane, použite apt-get na inštaláciu tohto balíka do vášho systému. V iných distribúciách Linuxu použite nástroj na správu balíkov vašej distribúcie Linuxu.

Inštalačný strom Sudo apt-get

Spustenie príkazu stromu vytvorí ľahko zrozumiteľný diagram adresárovej štruktúry a súborov v adresári, z ktorého sa spúšťa.

Môžete tiež zadať cestu k príkazu stromu, aby spustil strom z iného adresára v súborovom systéme.

Cesta k stromu/do/adresára

Príkaz rm má tiež možnosti --one-file-system , --no-preserve-root , --preserve-root, ale tieto sa odporúčajú len pre pokročilých používateľov. Ak niečo urobíte zle, môžete omylom vymazať všetky systémové súbory.

Ako odstrániť adresáre pomocou rmdir

Existuje ďalší príkaz, rmdir, ktorý môžete použiť na odstránenie adresárov. Rozdiel medzi rm a rmdir je v tom, že rmdir dokáže vymazať iba prázdne adresáre. Nikdy nevymaže súbory.

Najjednoduchším prípadom je vymazanie jedného prázdneho adresára. Rovnako ako v prípade rm môžete do rmdir alebo rmdir zadať cestu k adresáru viacero názvov adresárov.

Odstráňte jeden adresár v aktuálnom adresári odovzdaním jeho názvu do rmdir:

Adresár Rmdir

Odstráňte viacero adresárov odovzdaním zoznamu mien do rmdir:

Rmdir adresár1 adresár2 adresár3

Odstráňte adresár, ktorý nie je v aktuálnom adresári, zadaním úplnej cesty k tomuto adresáru:

Rmdir /cesta/do/adresára

Ak sa pokúsite odstrániť priečinok, ktorý nie je prázdny, rmdir vám zobrazí chybové hlásenie. V nasledujúcom príklade rmdir úspešne a potichu vymaže adresár klientov, ale odmietne vymazať adresár projektov, pretože obsahuje súbory. Adresár projektov zostáva presne taký, aký bol, a súbory v ňom zostávajú nedotknuté.

Keď rmdir zobrazí chybu „Adresár nie je prázdny“, zastaví spracovanie adresárov, ktoré mu boli odovzdané na príkazovom riadku. Ak ste požiadali o odstránenie štyroch adresárov a prvý obsahoval súbory, rmdir vám zobrazí chybové hlásenie a neurobíte nič iné. Môžete ho prinútiť ignorovať tieto chyby pomocou --ignore-fail-on-non-empty na spracovanie iných adresárov.

V nasledujúcom príklade boli do rmdir prenesené dva priečinky, sú to práca/správy a práca/poznámky. V príkaze je zahrnutá voľba --ignore-fail-on-non-empty. Priečinok work/reports obsahuje súbory, takže ho rmdir nemôže odstrániť. Možnosť --ignore-fail-on-non-empty spôsobí, že rmdir ignoruje chybu a presunie sa do ďalšieho priečinka, ktorý musí spracovať, ktorým je práca/citáty. Toto je prázdny priečinok a rmdir ho odstráni.

Tento príkaz bol použitý.

Rmdir --ignore-fail-on-non-empty work/reports /work/quotes

Môžete použiť možnosť -p(rodičovský), ak chcete odstrániť adresár a tiež odstrániť jeho nadradené adresáre. Tento trik funguje, pretože rmdir začína v cieľovom adresári a potom sa vracia späť do nadradeného adresára. Tento adresár by teraz mal byť prázdny, aby ho mohol odstrániť rmdir a proces zopakuje krok späť po ceste poskytnutej rmdir.

V nasledujúcom príklade je príkaz odovzdaný do rmdir:

Rmdir -p práca/faktúry

Faktúry a pracovné zoznamy sa na požiadanie vymažú.

Používaš Bash alebo iný shell? Linux poskytuje flexibilné a výkonné príkazy na mazanie adresárov a súborov priamo z príkazového riadku terminálu. Niektorí ľudia uprednostňujú pracovný postup, ktorý sa točí okolo terminálu. Ostatní nemusia mať v tejto veci na výber. Môžu bežať na serveroch bez nainštalovaného GUI alebo vo vzdialenej relácii na samostatnom systéme, ako je Raspberry Pi. Tieto tímy sú ideálne pre túto skupinu ľudí.

Ale bez ohľadu na typ pracovného postupu, ktorý uprednostňujete, tieto príkazy sa veľmi dobre hodia na to, aby boli zahrnuté do skriptov shellu. Ak skript spúšťa úloha cron, môže to pomôcť automatizovať rutinné úlohy údržby, ako je napríklad vyčistenie nechcených protokolových súborov. Ak skúmate tento prípad použitia, uvedomte si silu týchto príkazov, všetko dôkladne skontrolujte a vždy si uchovávajte najnovšiu zálohu.

Príkazový riadok je výkonný nástroj na automatizáciu a zjednodušenie mnohých úloh, ktoré vznikajú pri správe počítača s operačným systémom Windows. V tomto článku sa pozrieme na príkazy DEL, ERASE, RD a RMDIR. S ich pomocou môžete odstrániť súbory a priečinky priamo z príkazového riadku.

Ak potrebujete odstrániť súbor cez , potom musíte použiť príkaz DEL alebo ERASE. Tieto príkazy sú synonymá a fungujú rovnako. Podrobné informácie o týchto príkazoch získate, ak ich zadáte do príkazového riadku so znakom "/? " Môžete napríklad zadať „del/? “ a všetky základné informácie o príkaze del sa zobrazia v konzole.

Príkaz DEL (alebo ERASE) je určený na odstránenie jedného alebo viacerých súborov a môže akceptovať nasledujúce parametre:

  • /P – vymazanie so žiadosťou o potvrdenie pre každý súbor;
  • /F – mazanie súborov s atribútom „len na čítanie“;
  • /S – vymaže zadaný súbor zo všetkých podpriečinkov;
  • /Q – vymazanie bez žiadosti o potvrdenie;
  • /A – mazanie súborov podľa ich atribútov;

    • S - systém;
    • H - skryté;
    • R – Len na čítanie;
    • A - Na archiváciu
    • Pred atribútmi môžete použiť aj znamienko mínus „-“, ktoré má význam „NIE“. Napríklad "-S" znamená nesystémový súbor.

Zvyčajne, ak chcete použiť príkaz DEL, musíte najprv prejsť do priečinka, v ktorom sa nachádza súbor, ktorý chcete odstrániť, a potom príkaz spustiť. Ak chcete zmeniť jednotku, stačí zadať písmeno jednotky a dvojbodku. A na pohyb v priečinkoch musíte použiť príkaz „CD“.

Keď ste v požadovanom priečinku, môžete začať odstraňovať súbory. Ak to chcete urobiť, jednoducho zadajte príkaz DEL a názov súboru.

V prípade potreby môžete súbory odstrániť aj bez prechádzania priečinkami. V tomto prípade musíte zadať úplnú cestu k dokumentu.

Ak je potrebné vykonať požiadavku na potvrdenie vymazania každého z ich súborov, potom sa do príkazu DEL musí pridať parameter „/p“. V takom prípade vás príkazový riadok vyzve na odstránenie súboru a používateľ bude musieť na potvrdenie zadať písmeno „Y“.

Je potrebné poznamenať, že pri použití parametra „/a“ musia byť písmená zodpovedné za atribúty zadané oddelené dvojbodkou. Napríklad, ak chcete odstrániť všetky súbory s atribútom „iba na čítanie“ a s príponou „txt“, musíte zadať príkaz „ del /F /A:R *.txt ".

Podobným spôsobom môžete do príkazu DEL pridať ďalšie parametre. Ich kombináciou môžete vytvoriť veľmi výkonné príkazy na mazanie súborov cez príkazový riadok systému Windows. Nižšie uvádzame niekoľko ďalších príkladov:

  • del D:\ - zničí všetky súbory v koreňovom adresári jednotky D;
  • del D:\*.txt – zničenie všetkých súborov s príponou txt v koreňovom adresári jednotky D;
  • del D:\doc – zničenie všetkých súborov v priečinku d:\doc (dokumenty s atribútmi budú preskočené);
  • del /A:r d:\doc\*.txt – zničenie všetkých súborov s atribútom „len na čítanie“ a príponou „txt“ v priečinku d:\doc;

Odstránenie priečinkov cez príkazový riadok

Ak potrebujete odstrániť priečinok cez príkazový riadok systému Windows, vyššie uvedené príkazy vám nepomôžu. Na odstránenie priečinkov existuje samostatný príkaz RD alebo RMDIR (skratka pre Remove Directory).

Príkazy RD a RMDIR sú synonymá a sú určené na odstránenie priečinkov. Môžu akceptovať nasledujúce parametre:

  • /S - vymaže celý adresárový strom, pri použití tohto parametra sa vymaže nielen samotný priečinok, ale aj celý jeho obsah;
  • /Q – odstránenie stromu priečinkov bez vyžiadania potvrdenia;

Ak chcete napríklad odstrániť priečinok, stačí zadať príkaz RD a názov priečinka.

Ak priečinok obsahuje podpriečinky alebo súbory, pri jeho odstraňovaní sa zobrazí chyba."

Ak chcete tento problém vyriešiť, musíte do príkazu RD pridať parameter „/s“. V tomto prípade vymazanie prebehne bez problémov, ale objaví sa výzva na potvrdenie vymazania.

Aby sa strom priečinkov vymazal bez toho, aby sa zobrazila požiadavka na potvrdenie, musíte do príkazu pridať parameter „/q“. V tomto prípade sa priečinok odstráni bez akýchkoľvek otázok.

Príkaz RD môže tiež akceptovať niekoľko priečinkov naraz, aby ste to dosiahli, stačí ich oddeliť medzerou. Ak napríklad spustíte „rd 111 222“, môžete priečinky s názvom „111“ a „222“ vymazať naraz.

Ak potrebujete odstrániť priečinok cez príkazový riadok, ktorý sám obsahuje medzeru, potom v tomto prípade musí byť jeho názov uzavretý v úvodzovkách.

Kombináciou príkazov DEL a RD môžete vytvárať výkonné skripty na čistenie a odstraňovanie priečinkov v operačnom systéme Windows.

Operačné systémy založené na jadre Linuxu zvyčajne uchovávajú veľké množstvo prázdnych a neprázdnych adresárov. Niektoré z nich zaberajú pomerne veľké množstvo úložného priestoru a často sa stávajú nepotrebnými. V tomto prípade je správnou možnosťou ich odstránenie. Existuje niekoľko spôsobov, ako vykonať čistenie, každý z nich je použiteľný v konkrétnej situácii. Pozrime sa podrobnejšie na všetky dostupné metódy a na základe svojich potrieb si vyberiete tú najvhodnejšiu.

V tomto článku budeme hovoriť o pomôckach konzoly a ďalších nástrojoch, ktoré sa spúšťajú zadaním príkazov. Nezabudnite však, že v distribúciách sú často implementované grafické shelly. Ak chcete odstrániť adresár, stačí doň prejsť cez správcu súborov, kliknúť pravým tlačidlom myši na ikonu a vybrať "Odstrániť". Potom nezabudnite vysypať odpadky. Táto možnosť však nebude použiteľná pre všetkých používateľov, preto vám odporúčame prečítať si nasledujúce príručky.

Predtým, ako sa pozriete na metódy, je dôležité poznamenať, že pri zadávaní príkazu najčastejšie nezávisle uvediete názov priečinka, ktorý chcete odstrániť. Keď nie ste na jeho mieste, musíte zadať celú cestu. Ak je to možné, odporúčame zistiť nadradený adresár objektu a prejsť do neho cez konzolu. Táto akcia je dokončená v priebehu niekoľkých minút:


Ak neviete určiť polohu, pri odstraňovaní budete musieť zadať celú cestu sami, takže ju budete musieť poznať.

Metóda 1: Štandardné príkazy terminálu

Príkazový shell ľubovoľnej distribúcie Linuxu obsahuje sadu základných nástrojov a nástrojov, ktoré vám umožňujú vykonávať širokú škálu akcií so systémovými nastaveniami a súbormi, vrátane odstraňovania adresárov. Existuje niekoľko takýchto nástrojov a každý z nich bude najužitočnejší v určitej situácii.

príkaz rmdir

V prvom rade by som sa chcel dotknúť rmdir. Je určený na čistenie systému iba od prázdnych adresárov. Odstraňuje ich natrvalo a výhodou tohto nástroja je jednoduchosť jeho syntaxe a absencia akýchkoľvek chýb. V konzole stačí napísať rmdir folder , kde priečinok— názov priečinka v aktuálnom umiestnení. Nástroj sa aktivuje stlačením klávesu Zadajte.

Nič vám nebráni zadať úplnú cestu k adresáru, ak nemôžete navigovať na požadované alebo nepotrebné miesto. Potom má riadok napríklad nasledujúcu podobu: rmdir /home/user/folder/folder1 , kde užívateľ- používateľské meno, priečinok je nadradený adresár a priečinok1— priečinok na vymazanie. Upozorňujeme, že pred domovom musí byť lomka, ale na konci cesty nesmie byť lomka.

príkaz rm

Predchádzajúci nástroj je jednou zo súčastí nástroja rm. Pôvodne je určený na odstránenie súborov, ale ak mu dáte príslušný argument, vymaže sa aj priečinok. Táto možnosť je už vhodná pre neprázdne adresáre, v tomto prípade je potrebné do konzoly zadať priečinok rm -R (alebo úplnú cestu k adresáru). Všimnite si argument -R- spustí rekurzívne mazanie, to znamená, že ovplyvní celý obsah priečinka a sám seba. Pri vstupe je potrebné rozlišovať malé a veľké písmená, pretože -r- toto je úplne iná možnosť.

Ak chcete pri použití rm zobraziť zoznam všetkých odstránených súborov a priečinkov, budete musieť riadok trochu upraviť. Vstúpte "Terminál" rm -Rfv a potom aktivujte príkaz.

Po dokončení vymazania sa zobrazia informácie o všetkých adresároch a jednotlivých objektoch, ktoré sa predtým nachádzali na určenom mieste.

príkaz nájsť

Naša webová stránka už obsahuje materiál s príkladmi použitia find v operačných systémoch vyvinutých na jadre Linuxu. Samozrejme sú tam uvedené len základné a najužitočnejšie informácie. Môžete sa s ním zoznámiť kliknutím na nasledujúci odkaz a teraz navrhujeme zistiť, ako tento nástroj funguje, keď potrebujete odstrániť adresáre.

  1. Ako je známe, Nájsť slúži na vyhľadávanie objektov v rámci systému. Vďaka využitiu ďalších možností môžete nájsť adresáre s konkrétnym názvom a okamžite ich vymazať. Ak to chcete urobiť, zadajte do konzoly find. -typ d -názov "priečinok" -exec rm -rf () \;, kde priečinok je názov adresára. Nezabudnite pri tom napísať dvojité úvodzovky.
  2. V samostatnom riadku sa niekedy zobrazuje informácia, že takýto súbor alebo adresár neexistuje, to však neznamená, že sa nenašiel. Len Nájsť po vymazaní adresára zo systému opäť fungoval.
  3. find ~/ -empty -type d -delete umožňuje vymazať všetky prázdne priečinky v systéme. Niektoré z nich sú prístupné iba superužívateľovi, takže predtým Nájsť treba pridať sudo.
  4. Na obrazovke sa zobrazia údaje o všetkých nájdených objektoch a úspešnosti operácie.
  5. Môžete tiež zadať iba konkrétny adresár, ktorý má nástroj vyhľadať a vyčistiť. Potom bude riadok vyzerať napríklad takto: nájdi /home/user/Folder/ -empty -type d -delete .

Tým sa dokončí interakcia so štandardnými pomôckami konzoly v systéme Linux. Ako vidíte, je ich veľké množstvo a každý je použiteľný v určitých situáciách. Ak sa chcete zoznámiť s ďalšími populárnymi tímami, prečítajte si náš samostatný materiál na nižšie uvedenom odkaze.

Dobrý deň, milí čitatelia. Dnes by som chcel hovoriť o odstránení adresára v PHP. Zdá sa, že operácia nie je zložitá, ale existujú určité nuansy. Pozrime sa na spôsoby, ako to urobiť.

PHP má na to funkciu rmdir(). Ako argument berie cestu k adresáru, ktorý chcete vymazať. však adresár musí byť prázdny- toto je hlavná podmienka (okrem skutočnosti, že používateľ, od ktorého web server beží, musí mať práva na zápis do adresára). Ak sú súbory umiestnené v adresári, pri volaní funkcie sa zobrazí chyba. Podľa toho dospejeme k záveru, že adresár pred použitím funkcie rmdir() treba najskôr vyčistiť.

Online radia napísať funkciu, ktorá odovzdá ako argument cestu k adresáru, ktorý potrebujeme vymazať. V tele funkcie je potrebné usporiadať výpis obsahu adresára, v rámci ktorého sa kontroluje, či je súbor adresárom. Ak je súborom adresár, potom sa funkcia volá sama na základe tejto podmienky. Je to potrebné na vyčistenie vnorených adresárov a bude to fungovať na všetkých úrovniach vnorenia. V opačnom prípade sa funkcia použije na súbor unlink()- je určený na odstránenie súboru. Mimo tejto kontroly v poslednom kroku adresár vymažeme.

Príklad implementácie:

Funkcia recursiveRemoveDir($dir) ( $includes = glob($dir."/*"); foreach ($includes as $include) ( if(is_dir($include)) ( recursiveRemoveDir($include); ) else ( unlink( $include); ) ) rmdir($dir); ) //Odstránenie adresára tmp z aktuálneho adresára recursiveRemoveDir("tmp");
Aké problémy má tento kód?

V jednoduchých prípadoch sa vymaže adresár so všetkými prílohami. Predpokladajme však, že v našom adresári je skrytý súbor, ktorý začína bodkou, napr. .htaccess. Funkcia glob() je náhrada UNIX glob, ktorá štandardne neobsahuje skryté súbory (DOTFILES). Ak napríklad prejdeme na terminál nix a použijeme bash, narazíme na rovnaký problém (hovoríme o skrytých súboroch v rámci globs). V bash existuje príkaz na vyriešenie tohto problému: shopt -s bodka- umožňuje globálne nahradenie skrytých súborov. V PHP sa to dá vyriešiť pridaním ďalšieho parametra GLOB_BRACE Pre glob() a rozšírenie vzoru z prvého parametra funkcie.

$includes = glob("tmp/(,.)*", GLOB_BRACE);
A tu je tiež problém - stretneme sa s nekonečnou slučkou, pretože pole bude obsahovať hodnoty. a.. - čo je aktuálny a nadradený adresár na systémovej úrovni. Skončíme s nekonečnou slučkou (a neodstránime všetky nadradené adresáre), pretože. v rámci predvoleného triedenia bude vygenerované pole na prvom mieste.. - teda zakaždým, keď budeme pristupovať do rovnakého adresára. Aby sme problém vyriešili, vytvoríme pole z týchto systémových adresárov a v slučke odstránime ich indexy z hlavného poľa. Je tu aj problém symbolických odkazov. Povedzme, že odstraňovaný adresár obsahuje odkaz na iný adresár, ktorého obsah nás absolútne nezaujíma. Na vyriešenie problému je pred vytvorením rekurzie potrebné skontrolovať, či entita nie je referenciou.

V dôsledku toho má funkcia nasledujúcu formu:

Funkcia recursiveRemoveDir($dir) ( $includes = glob($dir."/(,.)*", GLOB_BRACE); $systemDots = preg_grep("/\.+$/", $includes); foreach ($systemDots as $index => $bodka) ( unset($includes[$index]); ) foreach ($include ako $include) ( if(is_dir($include) && !is_link($include)) ( recursiveRemoveDir($include); ) else ( unlink($include); ) ) rmdir($dir); ) //Odstránenie adresára tmp z aktuálneho adresára recursiveRemoveDir("tmp");
Kód funguje, ale v skutočnosti by mohol byť jednoduchší. V PHP existuje trieda FilesystemIterator, ktorá už má štandardne nastavenia, ktoré potrebujeme. Cesta k adresáru, ktorého výpis potrebujeme, sa odovzdá konštruktorovi. Potrebujeme len vytvoriť objekt.

Funkcia recursiveRemoveDir($dir) ( $includes = new FilesystemIterator($dir); foreach ($includes ako $include) ( if(is_dir($include) && !is_link($include)) ( recursiveRemoveDir($include); ) else ( unlink($include); ) ) rmdir($dir); ) //Odstránenie adresára tmp z aktuálneho adresára recursiveRemoveDir("tmp");
Na záver by som rád poznamenal ešte jeden rýchly spôsob. Správnosť jeho použitia je veľmi pochybná - pošlite príkaz na vykonanie do SHELL.

System("rm -rf tmp");
Chcel by som upozorniť na veľkú spotrebu pamäte a na to, že správcovia často z bezpečnostných dôvodov zakazujú používanie takýchto funkcií na serveri.

Tagy: php, rmdir, glob, rekurzia

Tím rmdir nám pomôže vymazať prázdny adresár, teda adresár bez súborov a priečinkov. Syntax príkazu je veľmi jednoduchá:

Rmdir DIRNAME

Ak adresár nie je prázdny, zobrazí sa nasledujúce chybové hlásenie.

$ rmdir test rmdir: nepodarilo sa odstrániť `test': Adresár nie je prázdny

2. Ako odstrániť vnorené adresáre v Linuxe?

Pomocou možnosti -p môžete odstrániť adresár, v ktorom je vnorený podadresár.

$ rmdir -p dir1/dir2/dir3

Tím rmdir -p dir1/dir2/dir3 toto je ekvivalent príkazu

$ rmdir dir1/dir2/dir3 dir1/dir2 dir1

3. Odstránenie adresára s obsahom

Ak potrebujete vymazať adresár s obsahom, môžete použiť príkaz rm:

$ rm -rf DIRNAME

Tento príkaz vymaže adresár vrátane všetkých súborov a podadresárov, ktoré obsahuje. Tento príkaz používajte opatrne, pretože obnovenie odstránených súborov nebude jednoduchý postup.

4. Interaktívne odstraňovanie

Aby ste predišli náhodnému vymazaniu potrebných súborov, odporúčam zvážiť použitie voľby -i na interaktívne mazanie súborov a priečinkov (najmä s právami root).

Rekurzívne a interaktívne odstraňovanie adresárov.

# rm -ir DIRNAME

Interaktívne odstraňovanie súborov.

# rm -i NÁZOV SÚBORU

5. Užitočné aliasy pre príkazy rm a rmdir

Interaktívne odstraňovanie môžete použiť ako predvolené správanie príkazu rm.

Alias ​​pre neustále interaktívne vykonávanie rm

# alias rm="rm -i"

Pri použití príkazu rm príkaz sa skutočne vykoná rm -i. Ale musíte venovať pozornosť jednej nuancii. V budúcnosti nepoužívajte možnosť -i, pretože nedosiahnete požadovaný efekt. Pozrime sa na príklad:

V nasledujúcom príkaze vám použitie -i neprinesie očakávaný efekt..

$ rm -irf DIRNAME

V tomto prípade, keď používate alias, vyššie uvedený príkaz musí byť spustený takto:

$ rm -rf DIRNAME

Všetky nižšie uvedené príkazy sú ekvivalentné a vykonávajú rovnakú funkciu.

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

Ak potrebujete odborné posúdenie stavby, odporúčam objednať si obhliadku hotových stavieb u špecialistov z výskumno-výrobného centra Technoplast