Kako izbrisati datoteke i direktorije u Linux terminalu

rm I   rmdir naredbe brisati datoteke i direktorije na Linux, MacOS i drugim Unixu sličnim operativnim sustavima. Slični su naredbama del i i   deltree u sustavima Windows i DOS. Te su naredbe vrlo moćne i imaju dosta mogućnosti.

Važno je napomenuti da se datoteke i direktoriji brišu pomoću rmi rmdirne premještaju se u otpad. Oni se odmah uklanjaju s vašeg računala. Ako slučajno izbrišete datoteke pomoću ovih naredbi, jedini način na koji ćete ih moći vratiti je iz sigurnosne kopije.

Kako ukloniti datoteke pomoću rm-a

Najjednostavniji je slučaj brisanje jedne datoteke iz trenutnog direktorija. Upišite rmnaredbu, razmak, a zatim ime datoteke koju želite izbrisati.

rm datoteka_1.txt

Ako datoteka nije u trenutnom radnom direktoriju, navedite put do mjesta datoteke.

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

Možete proslijediti više naziva datoteke rm. Time se brišu sve navedene datoteke.

rm datoteka_2.txt datoteka_3.txt

Zamjenski znakovi mogu se koristiti za odabir grupa datoteka koje će se izbrisati. *Predstavlja više znakova i ?predstavlja jedan znak. Ova bi naredba izbrisala sve datoteke png slika u trenutnom radnom direktoriju.

rm * .png

Ova bi naredba izbrisala sve datoteke koje imaju ekstenziju s jednim znakom. Na primjer, ovo bi izbrisalo File.1 i File.2, ali ne i File.12.

rm *.?

Ako je datoteka zaštićena od pisanja, od vas će se zatražiti da se datoteka izbriše. Morate odgovoriti s yili ni pritisnuti "Enter".

Da biste smanjili rizik od upotrebe rmzamjenskih znakova, upotrijebite -i(interaktivnu) opciju. To zahtijeva da potvrdite brisanje svake datoteke.

rm -i * .dat

Opcija -f (sila) suprotna je interaktivnoj. Ne traži potvrdu čak i ako su datoteke zaštićene od pisanja.

rm -f naziv datoteke

Kako ukloniti direktorije s rm

Da biste uklonili prazan direktorij, upotrijebite opciju -d (direktorij). Zamjenske znakove ( *i ?) možete koristiti u imenima direktorija baš kao što možete i s imenima datoteka.

rm -d direktorij

Navođenjem više naziva direktorija brišu se svi navedeni prazni direktoriji.

rm -d direktorij1 direktorij2 / put / do / direktorij3

Da biste izbrisali direktorije koji nisu prazni, upotrijebite opciju -r(rekurzivno). Da budemo jasni, ovim se uklanjaju direktoriji i sve datoteke i poddirektoriji koji se u njima nalaze.

rm -r direktorij1 direktorij2 direktorij3

Ako su direktorij ili datoteka zaštićeni od pisanja, od vas će se zatražiti da potvrdite brisanje. Za brisanje direktorija koji nisu prazni i za suzbijanje tih uputa upotrijebite opcije -r(rekurzivno) i -f(prisilno) zajedno.

rm -rf direktorij

Ovdje je potrebna pažnja. Pogreška s rm -rfnaredbom može dovesti do gubitka podataka ili kvara sustava. Opasno je, a oprez je najbolja politika. Da biste razumjeli strukturu direktorija i datoteke koje će rm -rfnaredba izbrisati , upotrijebite treenaredbu.

Koristite  apt-get za instaliranje ovog paketa na vaš sustav ako koristite Ubuntu ili drugu distribuciju zasnovanu na Debianu. Na ostalim Linux distribucijama umjesto toga koristite alat za upravljanje paketima svoje Linux distribucije.

sudo apt-get instalacijsko stablo

Pokretanjem treenaredbe nastaje jednostavan za razumijevanje dijagram strukture direktorija i datoteka ispod direktorija iz kojeg se izvodi.

stablo

Također možete unijeti put do treenaredbe da pokrene stablo iz drugog direktorija u datotečnom sustavu.

staza stabla / do / direktorija

rmNaredba također ima --one-file-system, --no-preserve-root, --preserve-rootmogućnosti, ali one se preporuča samo za napredne korisnike. Ako nešto pogriješite, mogli biste slučajno izbrisati sve datoteke sustava. Za više informacija pogledajte stranicu s priručnikom za naredbe.

Kako ukloniti direktorije pomoću rmdir-a

Postoji još jedna naredba, rmdirkoja se koristi za brisanje direktorija. Razlika između rmi rmdirje u tome što se rmdirmogu brisati samo direktoriji koji su prazni. Nikada neće izbrisati datoteke.

Najjednostavniji slučaj je brisanje jednog praznog direktorija. Kao i kod rm, možete prenijeti više naziva direktorija rmdirili put do njega.

Izbrišite jedan direktorij iz trenutnog direktorija tako što ćete mu poslati ime rmdir:

rmdir direktorij

Izbrišite više direktorija prosljeđivanjem popisa imena na   rmdir:

rmdir direktorij1 direktorij2 direktorij3

Izbrišite direktorij koji nije u trenutnom direktoriju navođenjem pune staze do tog direktorija:

rmdir / put / do / direktorija

Ako pokušate izbrisati mapu koja nije prazna, rmdirdobit ćete poruku o pogrešci. U sljedećem primjeru rmdiruspješno i tiho briše clientsdirektorij, ali odbija ga izbrisati projectsjer sadrži datoteke. projectsImenik je ostalo točno onako kako je bilo i datoteke u njemu su netaknuta.

Kada rmdirdobije pogrešku "Direktorij nije prazan", zaustavlja obradu direktorija koji su mu proslijeđeni u naredbenom retku. Ako ste zatražili da izbriše četiri direktorija, a prvi je sadržavao datoteke, rmdirprikazat će vam poruku o pogrešci i ništa više neće učiniti. Možete ga prisiliti da ignorira ove pogreške s --ignore-fail-on-non-emptyopcijom tako da se obrađuju drugi direktoriji.

U sljedećem primjeru proslijeđene su dvije mape rmdir, a to su work/reportsi work/quotes. --ignore-fail-on-non-emptyOpcija je uključena u naredbu. work/reportsMapa ima datoteke u njemu, tako da rmdirse ne može izbrisati. Na --ignore-fail-on-non-emptyopcija snage rmdirignorirati pogreške i premjestiti na sljedeću mapu koja je potrebna za proces, što je work/quotes. Ovo je prazna mapa i rmdirbriše je.

Ovo je korištena naredba.

rmdir --ignore-fail-on-non-empty rad / izvještaji / rad / citati

Opciju -p (roditelji) možete koristiti  za brisanje direktorija i brisanje njegovih nadređenih direktorija. Ovaj trik djeluje jer rmdirzapočinje s ciljnim direktorijom, a zatim vraća korake prema roditelju. Taj bi direktorij sada trebao biti prazan, tako da ga može izbrisati rmdir, a postupak ponavlja koračno vraćanje na put koji je dobio rmdir.

U sljedećem primjeru naredba kojoj se prosljeđuje rmdirje:

rmdir -p rad / računi

I direktoriji invoicesi workdirektoriji se brišu prema potrebi.

Bez obzira koristite li Bash ili bilo koju drugu ljusku, Linux pruža fleksibilne i moćne naredbe za brisanje direktorija i datoteka izravno iz naredbenog retka terminala. Neki ljudi više vole imati tijek rada koji se vrti oko terminala. Drugi možda nemaju izbora po tom pitanju. Možda rade na poslužiteljima bez instaliranog GUI-a ili na udaljenoj sesiji na bezglavom sustavu kao što je Raspberry Pi. Ove su naredbe savršene za tu skupinu ljudi.

No, bez obzira na vrstu radnog tijeka koji želite, ove se naredbe vrlo dobro mogu uključiti u skripte ljuske. Ako skriptu pokrene cronposao, to može pomoći automatizirati rutinske zadatke održavanja, poput čišćenja neželjenih datoteka dnevnika. Ako istražite taj slučaj upotrebe, sjetite se snage ovih naredbi, pažljivo testirajte sve i uvijek održavajte nedavnu sigurnosnu kopiju.