rm
rm (îò àíãë. remove) â óòèëèòà â UNIX è UNIX-ïîäîáíûõ ñèñòåìàõ, èñïîëüçóåìàÿ äëÿ óäàëåíèÿ ôàéëîâ èç ôàéëîâîé ñèñòåìû. Êëþ÷è, èñïîëüçóþùèåñÿ ñ rm:
-râ îáðàáàòûâàòü âñå âëîæåííûå ïîäêàòàëîãè. Äàííûé êëþ÷ íåîáõîäèì, åñëè óäàëÿåìûé ôàéë ÿâëÿåòñÿ êàòàëîãîì, ïóñòü äàæå ïóñòûì. Åñëè óäàëÿåìûé ôàéë íå ÿâëÿåòñÿ êàòàëîãîì, òî êëþ÷-ríå âëèÿåò íà êîìàíäó rm.-iâ âûâîäèòü çàïðîñ íà ïîäòâåðæäåíèå êàæäîé îïåðàöèè óäàëåíèÿ.-fâ íå âîçâðàùàòü êîä îøèáî÷íîãî çàâåðøåíèÿ, åñëè îøèáêè áûëè âûçâàíû íåñóùåñòâóþùèìè ôàéëàìè; íå çàïðàøèâàòü ïîäòâåðæäåíèÿ îïåðàöèé.
rm ÷àñòî ÿâëÿåòñÿ ñèíîíèìîì êîìàíäû rm -i, òî åñòü êîìàíäà ïî óìîë÷àíèþ çàïðàøèâàåò ïîäòâåðæäåíèå ïåðåä óäàëåíèåì ôàéëîâ, ÷òî ïîçâîëÿåò ïðåäîòâðàòèòü èõ ñëó÷àéíîå óäàëåíèå. Åñëè ïîëüçîâàòåëþ íóæíî óäàëèòü áîëüøîå êîëè÷åñòâî ôàéëîâ áåç ïîäòâåðæäåíèÿ îïåðàöèè, ìîæíî îòìåíèòü äåéñòâèå êëþ÷à -i ñ ïîìîùüþ äîáàâëåíèÿ êëþ÷à -f.
Ñîäåðæàíèå |
[ïðàâèòü] Çàùèòà îò óäàëåíèÿ /
Êîìïàíèÿ Sun ðåàëèçîâàëà çàùèòó îò "rm -rf /" â Solaris 10, âûïóùåííîì â 2005 ãîäó[1]. Ïðè âûïîëíåíèè êîìàíäû ñèñòåìà òåïåðü ñîîáùàåò, ÷òî óäàëåíèå / íå ðàçðåøåíî. Âñêîðå ïîñëå ýòîãî òàêàÿ æå ôóíêöèîíàëüíîñòü áûëà ðåàëèçîâàíà â êîìàíäå rm, ïîñòàâëÿåìîé ñ FreeBSD. GNU rm íå âûïîëíÿåò êîìàíäó "rm -rf /", åñëè íå óêàçàí ïàðàìåòð --no-preserve-root[2]. Òàêîå ïîâåäåíèå áûëî ðåàëèçîâàíî â âåðñèè GNU Core Utilities âåðñèè 6.4, âûïóùåííûõ â 2006.
[ïðàâèòü] Ïðèìåð èñïîëüçîâàíèÿ
rm -rf mydir â ðåêóðñèâíî óäàëèòü áåç ïîäòâåðæäåíèÿ è êîäà îøèáî÷íîãî çàâåðøåíèÿ ôàéë (èëè äèðåêòîðèþ) mydir.
Èíîãäà, â ðàçëè÷íûõ êîíôåðåíöèÿõ áîëåå îïûòíûå ïîëüçîâàòåëè, ïðè ïðîñüáå äàòü ñîâåò áîëåå íåîïûòíîìó, ïðåäëàãàþò ââåñòè â êîíñîëü êîìàíäó sudo rm -rf /, êîòîðàÿ â ñâîþ î÷åðåäü óäàëÿåò âñå ñîäåðæèìîå êîðíåâîé ïàïêè. Ïî ýòîìó ïîâîäó ñóùåñòâóåò øóòêà, ò.í. "ïàò÷ Áàðìèíà", ãëàñÿùàÿ ÷òî äàííàÿ êîìàíäà ÿâëÿåòñÿ óíèâåðñàëüíûì ñïîñîáîì ïî÷èíèòü ëþáûå ïðîáëåìû â SCO Unix.
[ïðàâèòü] Ñì. òàêæå
[ïðàâèòü] Ïðèìå÷àíèÿ
| Ñòàíäàðòíûå ïðîãðàììû UNIX (âñå ïðîãðàììû) | |
|---|---|
| Ôàéëîâûå ñèñòåìû | chroot dd df fdisk fsck mkisofs mkswap mount umount rehash |
| Ôàéëû è êàòàëîãè | cat chattr cd chmod chown chgrp cksum cmp cp diff du file fuser ln ls lsof mkdir mv od pwd rm rmdir split touch |
| Ïðîöåññû | at cron exit kill killall nice nohup pgrep pidof pkill ps renice sleep time top wait watch |
| Ïîëüçîâàòåëè | env finger id last logname mesg passwd su sudo uptime w wall who whoami write |
| Ñåòü | ftp host ifconfig netcat netstat nmap nslookup ping rlogin SSH traceroute wget |
| Òåêñòû | AWK comm cut ed ex expand unexpand fmt head iconv join less more paste pr sed sort tac tail tr uniq wc xargs |
| Êîìàíäíàÿ ñòðîêà | alias basename bash bind dirname echo expr false printf test true unset |
| Ïîèñê | find grep strings whereis which |
| Ðàçíîå | banner bc cal date help lp man history size tee uname yes reboot |