Ko faktiski dara komanda "rm -rf" Linux?


Komanda rm ir UNIX un Linux komandrindas utilīta failu vai direktoriju noņemšanai Linux sistēmā. Šajā rakstā mēs skaidri izskaidrosim, ko faktiski komanda “rm -rf” var paveikt Linux.

Turklāt mēs dalīsimies ar dažiem noderīgiem faila noņemšanas, direktorija noņemšanas, vairāku failu vai direktoriju noņemšanas, apstiprināšanas pieprasīšanas, rekursīvas failu noņemšanas un failu noņemšanas piespiešanas piemēriem.

Komanda rm ir arī viena no bieži izmantotajām komandām Linux sistēmā, bet arī bīstama komanda, kuru jūs atradīsit vēlāk šajā rakstā.

Kā noņemt failu Linux

Pēc noklusējuma komanda rm nekavējoties noņem tikai komandrindā norādītos failus vai failus, un tas nenoņem direktorijus.

$ mkdir -p tecmint_files
$ touch tecmint.txt
$ rm tecmint.txt
$ rm tecmint_files

Kā noņemt vairākus failus Linux

Lai noņemtu vairākus failus vienā brīdī, norādiet failu nosaukumus pa vienam (piemēram: file1 file2) vai izmantojiet modeli, lai vienā reizē noņemtu vairākus failus (piemēram: modelis, kas beidzas ar .txt ).

$ rm tecmint.txt fossmint.txt  [Using Filenames]
$ rm *.txt                     [Using Pattern] 

Kā noņemt direktoriju Linux

Lai noņemtu direktoriju, varat izmantot slēdzi -r vai -R , kas rm liek rīkam rekursīvi izdzēst direktoriju, ieskaitot tā saturu (apakšdirektorijus un failus).

$ rm tecmint_files/
$ rm -R tecmint_files/

Kā noņemt failus ar apstiprinājuma uzvedni

Lai pieprasītu apstiprinājumu faila dzēšanas laikā, izmantojiet opciju -i , kā parādīts.

$ rm -i tecmint.txt

Kā noņemt direktorijus ar apstiprinājuma uzvedni

Lai pieprasītu apstiprinājumu, dzēšot direktoriju un tā apakšdirektorijus, izmantojiet opcijas -R un -i , kā parādīts.

$ rm -Ri tecmint_files/ 

Kā ar spēku noņemt failu vai direktoriju

Lai piespiedu kārtā noņemtu failu vai direktoriju, varat izmantot opciju -f piespiedu dzēšanas darbību, neprasot rm apstiprinājumu. Piemēram, ja fails nav rakstāms, rm liks jums noņemt failu vai nē, lai no tā izvairītos un vienkārši izpildītu darbību.

$ rm -f tecmint.txt

Apvienojot karodziņus -r un -f , tas nozīmē, ka rekursīvi un piespiedu kārtā noņem direktoriju (un tā saturu), neprasot apstiprinājumu.

$ rm -rf fossmint_files

Kā parādīt informāciju dzēšanas laikā

Lai parādītu vairāk informācijas, dzēšot failu vai direktoriju, izmantojiet opciju -v , tas ļaus komandai rm parādīt, kas tiek darīts standarta izvadē.

$ rm -rv fossmint_files

Uzziniet rm -Rf/komandu

Jums vienmēr jāpatur prātā, ka “rm -rf” ir viena no visbīstamākajām komandām, kuru nekad nevar palaist Linux sistēmā, it īpaši kā root. Ar šo komandu tiks notīrīts viss nodalījumā root (/) .

# rm -rf  /

Izveidojiet aizstājvārdu rm komandai Linux

Kā drošības pasākumu jūs varat likt rm vienmēr aicināt jūs apstiprināt dzēšanas darbību katru reizi, kad vēlaties izdzēst failu vai direktoriju, izmantojot opciju -i . Lai to neatgriezeniski konfigurētu, failā $HOME/.bashrc pievienojiet aizstājvārdu.

alias rm="rm -i"

Saglabājiet izmaiņas un izejiet no faila. Pēc tam iegūstiet savu .bashrc failu, kā parādīts, vai atveriet jaunu termināli, lai izmaiņas stātos spēkā.

$ source $HOME/.bashrc 

Tas vienkārši nozīmē, ka, izpildot rm, tas pēc noklusējuma tiks izsaukts ar opciju -i (taču, izmantojot -f karodziņu, šis iestatījums tiks ignorēts).

$ rm fossmint.txt
$ rm tecmint.txt

Vai rm izdzēš failu?

Patiesībā komanda rm nekad neizdzēš failu, tā vietā tiek atsaistīta no diska, bet dati joprojām atrodas diskā un tos var atgūt, izmantojot tādus rīkus kā Foremost.

Ja jūs patiešām vēlaties sasmalcināt komandrindas rīku, lai pārrakstītu failu, lai paslēptu tā saturu.

Tieši tā! Šajā rakstā mēs esam izskaidrojuši dažus patiešām noderīgus rm komandu piemērus un arī izskaidrojuši, ko komanda “rm -rf” var darīt Linux. Ja jums ir kādi jautājumi vai papildinājumi, lai dalītos, izmantojiet zemāk esošo komentāru veidlapu, lai sazinātos ar mums.