Komanda Linux rm: Gjithçka që duhet të dini


Përmbledhje: Komanda rm ju lejon të fshini një skedar ose drejtori që kalon emrin e tij: rm filename ose rm -d directory. Ju gjithashtu mund të përfshini një shteg drejtorie. Nëse ka skedarë në drejtori, përdorni opsionin -r rm -r directory për të fshirë skedarët dhe dosjet në mënyrë rekursive.

Komanda Linux rm fshin skedarët dhe drejtoritë. Për ta përdorur këtë mjet në mënyrë të sigurt, duhet të jeni të sigurt se çfarë do të ndodhë kur të shtypni Enter. Ja çfarë duhet të dini.

Çfarë është komanda rm në Linux?

Komanda Linux rm është kryesisht për fshirjen e skedarëve. Është ai që shumica e njerëzve hasin menjëherë pasi fillojnë të përdorin Linux. Vetëm për shkak të të qenit një i sapoardhur në Linux, ka të ngjarë të bëni gabime. Do të krijoni ose kopjoni skedarë rastësisht, ose me emrin e gabuar ose në vendin e gabuar. E gjithë kjo është pjesë e kurbës së mësimit të linjës së komandës. Operacionet e pastrimit për gabime të tilla përfshijnë rm .

Komanda rm mund të fshijë skedarë, grupe skedarësh, drejtori ose pemë të plota të drejtorive. Kjo është arsyeja pse duhet të përdoret me kujdes. Përdorimi i rm nuk është i vështirë, por dënimi për dështim është i lartë.

Kur një skedar fshihet me rm, ai zhduket. Nuk zhvendoset në plehra. Zhduket menjëherë. Kjo nuk do të thotë që ju duhet të shmangni përdorimin e rm. Por për ta përdorur atë në mënyrë të sigurt, duhet të jeni të vetëdijshëm për atë që mund të bëjë dhe të siguroheni që po e përdorni siç duhet.

Disa mjete janë më të rrezikshme se të tjerët, dhe shumë më pak falin gabimet. Kjo është arsyeja pse nuk ka pasur kurrë një film të quajtur Masakra e Teksasit me pikëllim. rm nuk është një pikëllim, është padyshim një sharrë elektrike me zinxhir.

Njerëzit përdorin sharrë elektrike me zinxhir gjatë gjithë ditës çdo ditë, dhe për sa kohë që e përdorin një të tillë me përgjegjësi dhe kujdes, ata janë mirë. Është e njëjta marrëveshje me rm. Kur tërhiqni rm nga çanta juaj e veglave, duhet të ngadalësoni dhe kontrolloni, pastaj kontrolloni dy herë linjën tuaj të komandës.

Komanda rm është e ekzekutueshme, nuk është pjesë e guaskës. Pra, megjithëse ne po përdorim Bash këtu, ai është rm standard i Linux-it, jo një rm i veçantë Bash.

Si të fshini skedarët me rm

Mënyra më e thjeshtë për të përdorur rm është të jepni emrin e një skedari që dëshironi të fshini.

rm config.gc

Ju jeni kthyer në heshtje në vijën e komandës. rm miraton qëndrimin klasik dhe të mbyllur të Linux-it që nëse nuk ankohet për asgjë, mund të supozoni se bëri atë që keni kërkuar. Dhënia e një emri skedari si ky bën që rm të kërkojë skedarin në drejtorinë aktuale të punës.

Ju mund të jepni emra të shumëfishtë skedarësh në vijën e komandës. Ju gjithashtu mund të siguroni një shteg direktoriumi nëse një skedar që dëshironi të fshini nuk është në drejtorinë aktuale.

rm memlog.sh /home/dave/dev-archive/config.gc

Përsëri, asgjë nuk raportohet nëse rm arrin të fshijë skedarët e specifikuar.

Përdorimi i shkronjave të egra me rm

Shenjat e egra ju lejojnë të specifikoni grupe ose koleksione skedarësh pa pasur nevojë të listoni skedarët individualë në vijën e komandës.

Ylli * përfaqëson çdo sekuencë karakteresh, duke përfshirë asnjë. Pikëpyetja ? përfaqëson çdo karakter të vetëm.

Për të kontrolluar nëse shkronjat tuaja të egra do të përputhen me atë që prisni dhe asgjë më shumë, mund t'i përdorni me ls përpara se t'i përdorni me rm.

Për të fshirë të gjithë skedarët PNG në drejtorinë aktuale, përdorni *.png. Kjo do të thotë se çdo sekuencë karakteresh e ndjekur nga .png do të përputhet. Kur skedarët janë fshirë, ne mund të përdorim ls për të verifikuar që ato janë zhdukur.

ls *.png
rm *.png
ls *.png

Në kompjuterin tonë testues, ne kemi dy skedarë në drejtorinë aktuale me emra që fillojnë me config.

Ne jemi në gjendje t'i fshijmë të dyja këto duke përdorur karakterin e yllit. Përputhet me të dy skedarët sepse rm po kërkon emrat e skedarëve që fillojnë me config, të ndjekur nga çdo sekuencë karakteresh. Në një skedar, sekuenca e karaktereve është .sl3, zgjerimi i emrit të skedarit. Emri tjetër i skedarit nuk ka karaktere pas konfigurimit, por për shkak se ylli përputhet me ndonjë karakter ose asnjë karakter, përputhet edhe me atë emër skedari.

ls config*
rm config*
ls config*

Ju mund të përdorni pikëpyetjen në dyshe. Kjo do të fshijë skedarët që kanë zgjerime skedarësh me dy karaktere saktësisht.

ls *.??
rm *.??
ls *.??

Duke përdorur rm në mënyrë interaktive

Një mënyrë e sigurt për të përdorur rm është ta detyroni atë të kërkojë konfirmim përpara se të fshijë çdo skedar. Opsioni -i (interaktiv) ju lejon ta bëni këtë. Kur e shtoni këtë opsion në linjën tuaj të komandës, rm do t'ju kërkojë përpara çdo fshirjeje, duke ju dhënë një shans për të kapërcyer veprimet që nuk i kishit menduar.

Ne do të përdorim opsionin -i (interaktiv) në këtë komandë. Përpiqet të fshijë të gjithë skedarët me një zgjatje skedari të vetëm karakteresh.

rm -i *.?

Çdo skedar që përputhet paraqitet me radhë. Nëse përgjigjeni y ose Y, skedari fshihet. Nëse përgjigjeni n, skedari ruhet. Në fakt, nëse përgjigjeni me ndonjë gjë tjetër përveç y ose y, skedari ruhet. Thjesht mund të shtypni Enter dhe skedari ruhet.

Mund të punoni shpejt me listën tuaj të skedarëve, duke fshirë ose kapërcyer skedarët për të zgjedhur ato që dëshironi të hiqni. Siç do ta shohim, ju mund të përdorni opsionin i- (interaktiv) me opsionet e tjera rm.

RELATED: Best Linux Laptops for Developers and Enthusiasts

Duke përdorur opsionin rm Force

Nëse përpiqeni të fshini një skedar që është vetëm për lexim, rm ju kërkon konfirmim përpara se të fshijë skedarin. Ky është një rrjet i mirë sigurie, por ai që mund të bëhet i lodhshëm nëse keni shumë skedarë për të fshirë.

rm geonames.sl3

Opsioni -f (force) udhëzon rm që të mos kërkojë kurrë. Ju po i thoni Po, fshiji të gjithë skedarët për të cilët normalisht do të më kërkonit. Ai gjithashtu parandalon rm të ankohet për skedarë që nuk ekzistojnë.

rm -f geonames.sl3

Opsioni -f (force) përdoret shpesh kur jeni duke fshirë një grup të ndërlidhur skedarësh dhe drejtorish.

Fshirja e drejtorive me rm

Komanda rm mund të heqë opsionalisht edhe drejtoritë, së bashku me skedarët që ato përmbajnë. Kjo është e ngjashme me komandën rmdir, por rmdir nuk mund të fshijë drejtoritë me skedarë në to. Ajo fshin vetëm drejtoritë boshe. Komanda rm mund të fshijë me lehtësi drejtoritë që përmbajnë skedarë dhe drejtori të tjera.

Fshirja e një drejtorie është e ngjashme me fshirjen e një skedari. Ne japim emrin e drejtorisë në vijën e komandës. Duhet të përfshijmë opsionin -d (directory). Ashtu si bëmë kur fshinim skedarët, mund të japim emrin e disa drejtorive. Ne mund të ofrojmë një shteg drejt drejtorisë që nuk është në drejtorinë aktuale të punës.

rm -d old-projects

Nëse drejtoria përmban skedarë, kjo do të dështojë.

Për të fshirë një drejtori dhe përmbajtjen e saj, përdorni flamurin -r (rekurziv). Kjo fshin drejtorinë, skedarët e saj dhe çdo direktori të ndërlidhur që përmban.

rm -d archive
rm -r archive

Komanda e dytë ka sukses.

Për të kaluar rm në modalitetin e sharrës me zinxhir të ndezur të plotë, ne mund të kombinojmë opsionet -r (rekurzive) dhe -f (force). Kjo i thotë rm të fshijë në mënyrë rekursive të gjithë skedarët dhe drejtoritë në një pemë direktorie, edhe nëse ato janë vetëm për lexim dhe pa na nxitur ndonjëherë.

Në kompjuterin tonë të testimit, ne kemi një direktori të quajtur kodi i migruar. Ai përmban skedarë dhe një drejtori tjetër të quajtur 6502. Drejtoria 6502 përmban gjithashtu skedarë dhe një drejtori tjetër të quajtur ASM. Ka edhe skedarë në atë drejtori. Disa nga skedarët janë vetëm për lexim.

Ne do të përfshijmë gjithashtu komandën -v (me fjalë) në mënyrë që rm të na tregojë se çfarë po bën.

rm -rfv migrated-code

Në dalje mund të shohim se skedarët janë hequr dhe, kur ato janë bosh, edhe drejtoritë hiqen.

Shmangia e gabimeve gjatë përdorimit të rm

Hapësirat dhe karakteret e tjera të çuditshme në emrat e skedarëve mund të paraqesin probleme. Emrat e skedarëve që fillojnë me vizën -, për shembull, mund të gabohen për opsionet e linjës së komandës. Nëse kemi një skedar të quajtur “-contributors.txt”, rm do të përpiqet të përpunojë emrin si një sekuencë opsionesh të linjës së komandës.

Për shkak se rm nuk ka një opsion të quajtur -c, analizimi i linjës së komandës dështon dhe skedari nuk fshihet. Për të fshirë skedarin, duhet t'i paraprini ./ për të siguruar një shteg për të.

rm -contributors.txt
rm ./-contributors.txt

Hapësirat në emrat e skedarëve janë gjithashtu problematike. Ose citoni të gjithë emrin e skedarit, ose përdorni plotësimin e skedës për të futur emrin e skedarit në vijën e komandës për ju, duke i shpëtuar hapësirave ndërsa e bën këtë. Nëse nuk përdorni asnjërën nga këto opsione, rm do ta trajtojë çdo pjesë të emrit të skedarit si një skedar individual.

Këtu, ne kemi dy skedarë, një i quajtur backup dhe një i quajtur backup për fshirje. Ne mund ta demonstrojmë problemin me këta emra skedarësh, duke përdorur ls. Nëse përpiqemi të përdorim ls në skedarin backup to delete dhe nuk i shpëtojmë ose citojmë emrin e skedarit, komanda dështon.

ls -hl backup to delete

ls ankohet se nuk mund të gjejë skedarë të quajtur to ose delete, por gjen një skedar të quajtur backup. Kjo është ajo që do të bëjë edhe rm. Do të ankohet për dy skedarë që mungojnë dhe më pas do të fshijë skedarin e quajtur backup, që nuk është ajo që ne donim.

rm backup to delete

rm mendon se po punon me tre skedarë, backup, to dhe delete. Ai ankohet se nuk mund të gjejë to dhe delete, por gjen dhe fshin në heshtje backup.

Citimi i emrit të skedarit lejon rm të fshijë skedarin e duhur.

rm 'backup to delete'

Ju gjithashtu mund t'i ikni hapësirave me prerje të pasme \, si kjo:

rm backup\ to\ delete

Nëse përdorni plotësimin e skedës për të futur emrat e skedarëve tuaj, ata do të shmangen automatikisht, nëse kërkohet.

Çfarë PPE?

Ndryshe nga sharrat me zinxhir të botës reale, nuk ka pajisje mbrojtëse personale që mund të përdorni me rm.

Ajo që mund të bëni është të kontrolloni sintaksën tuaj me ls përpara se ta provoni me rm dhe të përdorni modalitetin interaktiv në mënyrë që të vendosni se çfarë fshihet.

Përveç kësaj, është praktikë derisa të ndiheni rehat dhe të sigurt. Mënyra më e sigurt për ta bërë këtë është të kopjoni një grup skedarësh sakrifikues në një drejtori dhe të praktikoni ato.