Rm (Unix)
આરએમ (દૂર કરવા માટે ટૂંકું) એ યુનિક્સ અને યુનિક્સ જેવી ઓપરેટિંગ સિસ્ટમ્સ પરનો મૂળભૂત આદેશ છે જેનો ઉપયોગ કમ્પ્યુટર ફાઇલો, ડિરેક્ટરીઓ અને ફાઇલ સિસ્ટમ્સમાંથી પ્રતીકાત્મક લિંક્સ જેવી વસ્તુઓને દૂર કરવા માટે થાય છે અને ઉપકરણ નોડ્સ, પાઈપ્સ અને સોકેટ્સ જેવી વિશેષ ફાઇલો પણ એમએસ-ડોસ, ઓએસ/2 અને માઇક્રોસોફ્ટ વિન્ડોઝમાં ડેલ આદેશ જેવી જ છે. આ આદેશ ઇ. એફ. આઇ. શેલમાં પણ ઉપલબ્ધ છે. ઝાંખી rm આદેશ અનલિંક સિસ્ટમ કોલનો ઉપયોગ કરીને ફાઇલસિસ્ટમમાંથી ઓબ્જેક્ટોના સંદર્ભોને દૂર કરે છે, જ્યાં તે ઓબ્જેક્ટોમાં બહુવિધ સંદર્ભો હોઈ શકે છે (ઉદાહરણ તરીકે, બે અલગ-અલગ નામો સાથેની ફાઇલ), અને ઓબ્જેક્ટો પોતે ત્યારે જ કાઢી નાખવામાં આવે છે જ્યારે તમામ સંદર્ભો દૂર કરવામાં આવે અને કોઈ પણ પ્રોગ્રામમાં હજુ પણ ઓબ્જેક્ટો માટે ખુલ્લા હેન્ડલ ન હોય. આ એવા દૃશ્યો માટે પરવાનગી આપે છે કે જ્યાં પ્રોગ્રામ ફાઇલ ખોલી શકે છે, તેને તરત જ ફાઇલસિસ્ટમમાંથી દૂર કરી શકે છે, અને પછી તેને કામચલાઉ જગ્યા માટે ઉપયોગ કરી શકે છે, એ જાણીને કે ફાઇલની જગ્યા પ્રોગ્રામ બહાર નીકળ્યા પછી ફરીથી મેળવી લેવામાં આવશે, પછી ભલે તે ક્રેશ કરીને બહાર નીકળે. આદેશ સામાન્ય રીતે ફાઇલ ડેટાને નષ્ટ કરતો નથી, કારણ કે તેનો હેતુ ખરેખર માત્ર સંદર્ભોને લિંક કરવાનું છે, અને મુક્ત ફાઇલસિસ્ટમ જગ્યામાં હજી પણ દૂર કરેલી ફાઇલમાંથી બાકીનો ડેટા હોઈ શકે છે. કેટલાક કિસ્સાઓમાં આ સુરક્ષાની ચિંતા હોઈ શકે છે, અને સખત આવૃત્તિઓ કેટલીકવાર ડેટાને ભૂંસી નાખવા માટે પ્રદાન કરે છે કારણ કે છેલ્લી લિંક કાપવામાં આવી રહી છે, અને શ્રેડ અને એસઆરએમ જેવા પ્રોગ્રામ્સ ઉપલબ્ધ છે જે ખાસ કરીને ડેટા વાઇપિંગ ક્ષમતા પ્રદાન કરે છે. આરએમ સામાન્ય રીતે ફક્ત યુનિક્સ-વ્યુત્પન્ન ઓપરેટિંગ સિસ્ટમો પર જ જોવા મળે છે, જે સામાન્ય રીતે રીસાયકલ બિન જેવી પદ્ધતિ દ્વારા કાઢી નાખેલી ફાઇલોની પુનઃપ્રાપ્તિ માટે પ્રદાન કરતી નથી, તેથી વપરાશકર્તાઓ માટે આકસ્મિક ફાઇલ કાઢી નાખવાને મર્યાદિત કરવા માટે અમુક પ્રકારના આવરણમાં આરએમને જોડવાનું વલણ છે. અનડિલીટ ઉપયોગિતાઓ છે જે અનુક્રમણિકાનું પુનઃનિર્માણ કરવાનો પ્રયાસ કરશે અને જો ભાગોનો ફરીથી ઉપયોગ કરવામાં ન આવ્યો હોય તો ફાઇલને પાછી લાવી શકે છે. ઇતિહાસ યુનિક્સની કેટલીક જૂની આવૃત્તિઓ પર, જો ડિરેક્ટરીઓ ખાલી હોય તો rm આદેશ તેને કાઢી નાખશે. આ વર્તણૂક હજુ પણ-d ફ્લેગ સાથે આરએમની કેટલીક આવૃત્તિઓમાં મેળવી શકાય છે, દા. ત., 4.4BSD-Lite2 માંથી મેળવેલ બીએસડી (જેમ કે ફ્રીબીએસડી, નેટબીએસડી, ઓપનબીએસડી અને મેકઓએસ). જી. એન. યુ. કોર્યુટિલ્સમાં સંકલિત આર. એમ. નું સંસ્કરણ પોલ રુબિન, ડેવિડ મેકેન્ઝી, રિચાર્ડ સ્ટોલમેન અને જિમ મેયરિંગ દ્વારા લખવામાં આવ્યું હતું. આ સંસ્કરણ સુસંગતતામાં મદદ કરવા માટે-d વિકલ્પ પણ પ્રદાન કરે છે. સમાન કાર્યક્ષમતા પ્રમાણભૂત rmdir આદેશ દ્વારા પૂરી પાડવામાં આવે છે. આવૃત્તિ 7 માં-i વિકલ્પએ ડી. એસ. ડબલ્યુ. અથવા "સ્વીચોમાંથી કાઢી નાંખો" નું સ્થાન લીધું, જે આવૃત્તિ 1 માં રજૂ થયું હતું. ડગ મૅકઈલરોયએ લખ્યું હતું કે ડી. એસ. ડબલ્યુ. "એક નિરાશાજનક સાધન હતું જે નકામા નામોવાળી ફાઇલોને સાફ કરવા માટે રચાયેલું હતું". આ આદેશ માઇક્રોસોફ્ટ વિન્ડોઝ માટે એક અલગ પેકેજ તરીકે ઉપલબ્ધ છે, જે સામાન્ય જીએનયુ યુનિક્સ જેવી ઉપયોગિતાઓના મૂળ વિન 32 પોર્ટ્સના અનક્સયુટીલ્સ સંગ્રહના ભાગ રૂપે ઉપલબ્ધ છે. કોલિબ્રીઓસમાં આદેશના અમલીકરણનો સમાવેશ થાય છે. આ આદેશને IBM i ઓપરેટિંગ સિસ્ટમમાં પણ મૂકવામાં આવ્યો છે. સિન્ટેક્સ આરએમ વિકલ્પો ઉમેરાયા પછી ઉલ્લેખિત ફાઇલને કાઢી નાખે છે. વપરાશકર્તાઓ કાઢી નાખવા માટેની ફાઇલોને સ્પષ્ટ કરવા માટે સંપૂર્ણ પાથ અથવા સંબંધિત ફાઇલ પાથનો ઉપયોગ કરી શકે છે. આર. એમ. default.rm દ્વારા ડિરેક્ટરીને હટાવતું નથી, વપરાશકર્તા હાલમાં જે ડિરેક્ટરીમાં છે તેમાં "ફૂ" ફાઇલને કાઢી નાખે છે. rm, અન્ય આદેશોની જેમ, તે કેવી રીતે વર્તે છે તે સ્પષ્ટ કરવા માટે વિકલ્પોનો ઉપયોગ કરે છેઃ-r, "પુનરાવર્તિત", જે ડિરેક્ટરીઓને દૂર કરે છે, સમાવિષ્ટોને અગાઉથી પુનરાવર્તિત રીતે દૂર કરે છે (જેથી ફાઇલોને ડિરેક્ટરી વિના ન છોડી શકાય). - i, "ઇન્ટરેક્ટિવ" જે દરેક કાઢી નાખવાની પુષ્ટિ કરવા માટે કહે છે. - f, "ફોર્સ", જે અસ્તિત્વમાં ન હોય તેવી ફાઇલોની અવગણના કરે છે અને કોઈપણ પુષ્ટિકરણ પ્રોમ્પ્ટને ઓવરરાઇડ કરે છે (અસરકારક રીતે-i રદ કરે છે), જો ડિરેક્ટરી લેખિત-સુરક્ષિત હોય તો તે ડિરેક્ટરીમાંથી ફાઇલોને દૂર કરશે નહીં. - v, "વર્બોઝ", જે ટર્મિનલ-d પર rm શું કરી રહ્યું છે તે પ્રિન્ટ કરે છે, "ડિરેક્ટરી", જે ખાલી ડિરેક્ટરીને કાઢી નાખે છે, અને માત્ર ત્યારે જ કામ કરે છે જ્યારે નિર્દિષ્ટ ડિરેક્ટરી ખાલી હોય. --એક-ફાઇલ-સિસ્ટમ, ફક્ત દલીલ જેવી જ ફાઇલ સિસ્ટમ પરની ફાઇલોને દૂર કરે છે, અને માઉન્ટ થયેલ ફાઇલ સિસ્ટમોને અવગણશે. આરએમને "આરએમ-આઈ" ના શેલ ઉપનામ (સી શેલ ઉર્ફે, બોર્ન શેલ અથવા બેશ) કાર્ય દ્વારા ઓવરલાઇન કરી શકાય છે જેથી ફાઇલોને આકસ્મિક રીતે કાઢી નાખવાનું ટાળી શકાય. જો વપરાશકર્તા હજી પણ પુષ્ટિ વિના મોટી સંખ્યામાં ફાઇલોને કાઢી નાખવા માંગે છે, તો તેઓ જાતે-f વિકલ્પ ઉમેરીને-i દલીલને રદ કરી શકે છે (વિસ્તૃત આદેશ વાક્ય "rm-i-f" પર પછીથી ઉલ્લેખિત વિકલ્પ પ્રાધાન્ય લે છે). કમનસીબે આ અભિગમ વાઇલ્ડકાર્ડિંગના ઉપયોગ તરફ જોખમી ટેવો પેદા કરે છે, જે આકસ્મિક દૂર કરવાના તેના પોતાના સંસ્કરણ તરફ દોરી જાય છે. આરએમ-આરએફ (વિવિધ રીતે, આરએમ-આરએફ/, આરએમ-આરએફ *, અને અન્ય) નો ઉપયોગ યુનિક્સ આપત્તિઓ વિશેના ટુચકાઓ અને ટુચકાઓમાં વારંવાર થાય છે, જેમ કે પિક્સાર ખાતે ફિલ્મ ટોય સ્ટોરી 2ના નિર્માણ દરમિયાન ઘણી ફાઇલો ગુમાવવી. આદેશનો rm-rf/રૂપાંતર, જો સુપરયુઝર દ્વારા ચલાવવામાં આવે, તો વર્તમાન ફાઇલ સિસ્ટમમાંથી સુલભ દરેક ફાઇલને મશીનમાંથી કાઢી નાખવામાં આવશે. rm નો ઉપયોગ ઘણીવાર xargs સાથે મળીને કાઢી નાખવા માટેની ફાઇલોની સૂચિ પૂરી પાડવા માટે થાય છેઃ xargs rm <ફાઇલલિસ્ટ અથવા, વર્તમાનની નીચેની તમામ ડિરેક્ટરીઓમાંની તમામ PNG છબીઓને દૂર કરવા માટેઃ શોધો. - નામ '*. png'-exec rm {} + પરવાનગીઓ સામાન્ય રીતે, મોટાભાગની ફાઇલસિસ્ટમ પર, ફાઇલને કાઢી નાખવા માટે પેરેન્ટ ડિરેક્ટરી પર લખવાની પરવાનગીની જરૂર પડે છે (અને ડિરેક્ટરીને પ્રથમ સ્થાને દાખલ કરવા માટે પરવાનગી ચલાવો). (નોંધ કરો કે, શરૂઆત કરનારાઓ માટે ગૂંચવણભરી રીતે, ફાઇલ પરની પરવાનગીઓ અપ્રસ્તુત છે. જો કે, જી. એન. યુ. આર. એમ. પુષ્ટિ માટે પૂછે છે કે શું લખાણ-સંરક્ષિત ફાઇલને કાઢી નાખવાની છે, સિવાય કે-f વિકલ્પનો ઉપયોગ કરવામાં આવે.) ડિરેક્ટરીને કાઢી નાખવા માટે (rm-r સાથે), વ્યક્તિએ તેની તમામ સામગ્રીઓને પુનરાવર્તિત રીતે કાઢી નાખવી પડશે. આ માટે જરૂરી છે કે વ્યક્તિએ તે ડિરેક્ટરી (જો તે ખાલી ન હોય તો) અને તમામ ખાલી ન હોય તેવી પેટા ડિરેક્ટરીઓ (જો કોઈ હોય તો) ને પુનરાવર્તિત રીતે વાંચવા અને લખવા અને ચલાવવાની પરવાનગી હોવી આવશ્યક છે. તેમને કાઢી નાખવા માટે ડિરેક્ટરીની સામગ્રીની યાદી બનાવવા માટે વાંચન પરવાનગીઓની જરૂર પડે છે. આ કેટલીકવાર એક વિચિત્ર પરિસ્થિતિ તરફ દોરી જાય છે જ્યાં ખાલી ન હોય તેવી ડિરેક્ટરીને કાઢી શકાતી નથી કારણ કે તેની પાસે લખવાની પરવાનગી નથી અને તેથી તેની સામગ્રીને કાઢી શકાતી નથી; પરંતુ જો તે જ ડિરેક્ટરી ખાલી હોય, તો તે તેને કાઢી શકશે. જો ફાઇલ સ્ટીકી બીટ સેટ સાથે ડિરેક્ટરીમાં રહે છે, તો ફાઇલને કાઢી નાખવા માટે ફાઇલનો માલિક હોવો જરૂરી છે. સન માઇક્રોસિસ્ટમે સોલારિસ 10માં "આરએમ-આરએફ/" સંરક્ષણ રજૂ કર્યું હતું, જે સૌપ્રથમ 2005માં રજૂ થયું હતું. આદેશ ચલાવ્યા પછી, સિસ્ટમ હવે અહેવાલ આપે છે કે/ને દૂર કરવાની મંજૂરી નથી. થોડા સમય પછી, સમાન કાર્યક્ષમતા આરએમ ઉપયોગિતાના ફ્રીબીએસડી સંસ્કરણમાં રજૂ કરવામાં આવી હતી. જીએનયુ આરએમ આરએમ-આરએફ/ચલાવવાનો ઇનકાર કરે છે જો-- સાચવો-મૂળ વિકલ્પ આપવામાં આવે છે, જે જીએનયુ કોર યુટિલિટીઝનું વર્ઝન 6,4 2006 માં રિલીઝ થયું ત્યારથી ડિફોલ્ટ છે. નવી સિસ્ટમોમાં, વિકલ્પ વિના પણ આ ફેલસેફ હંમેશા સક્રિય રહે છે. આદેશ ચલાવવા માટે, વપરાશકર્તાએ-- નો-પ્રિઝર્વ-રૂટ વિકલ્પ ઉમેરીને ફેલસેફને બાયપાસ કરવું આવશ્યક છે, પછી ભલે તે સુપરયુઝર હોય. વપરાશકર્તા-પ્રૂફિંગ સિસ્ટમ સંચાલકો, ડિઝાઇનરો અને વપરાશકર્તાઓ પણ ઘણીવાર ઉપનામ અથવા કાર્ય બનાવીને અકસ્માતે ફાઇલોને કાઢી નાખવા સામે પોતાનો બચાવ કરવાનો પ્રયાસ કરે છેઃ ઉપનામ rm = "rm-i" rm () {/bin/rm-i "$@";} આના પરિણામે rm વપરાશકર્તાને ફાઇલ-બાય-ફાઇલ ધોરણે પુષ્ટિ કરવા માટે પૂછે છે કે શું તેને કાઢી નાખવી જોઈએ કે નહીં, Y અથવા N કી દબાવીને. કમનસીબે, આ વપરાશકર્તાઓને તેમના આર. એમ. આદેશોમાં આપવામાં આવતા વાઈલ્ડકાર્ડ્સ વિશે બેદરકાર રહેવાની તાલીમ આપે છે, સાથે સાથે વૈકલ્પિક રીતે પાઉન્ડ વાય અને રીટર્ન કીને દૂર કરવાની પુષ્ટિ કરવાના વલણને પ્રોત્સાહિત કરે છે-જ્યાં સુધી તેઓ રાખવા માટે જરૂરી એક ફાઇલને પાર ન કરે ત્યાં સુધી. વપરાશકર્તાઓને "હા | આરએમ ફાઇલો" સુધી જતા પણ જોવામાં આવ્યા છે, જે આપમેળે દરેક ફાઇલ માટે "વાય" દાખલ કરે છે. એક સમાધાન જે વપરાશકર્તાઓને માત્ર એક જ વાર પુષ્ટિ કરવાની મંજૂરી આપે છે, યોગ્ય વાઇલ્ડકાર્ડિંગને પ્રોત્સાહિત કરે છે, અને સૂચિની ચકાસણીને સરળ બનાવે છે, તે કંઈક આના જેવું પ્રાપ્ત કરી શકાય છેઃ જો [-n "$ps1"]; તો પછી rm () {ls-fcsd "$@" ઇકો 'દૂર કરો [ny]?' | tr-d '\012'; વાંચો જો ["_ $REPLY" = "_ y"]; તો પછી/bin/rm-rf "$@" અન્યથા પડઘો "(રદ) 'fi} fi એ નોંધવું અગત્યનું છે કે આ કાર્યને શેલ સ્ક્રિપ્ટમાં ન બનાવવું જોઈએ, જે તેને શોધ માર્ગમાં સિસ્ટમ rm કરતા આગળ મળવાનું જોખમ ચલાવશે, ન તો તેને બિન-ઇન્ટરેક્ટિવ શેલમાં મંજૂરી આપવી જોઈએ જ્યાં તે બેચ જોબ્સને તોડી શકે. જો [-n "$ps1"] માં વ્યાખ્યાને બંધ કરીને; પછી.; ફાઈ રચના પછીની સામે રક્ષણ આપે છે. ત્યાં તૃતીય-પક્ષ વિકલ્પો છે જે "સેફ-આરએમ" અથવા "ટ્રૅશ" જેવી મહત્વપૂર્ણ ફાઇલોને આકસ્મિક રીતે કાઢી નાખતા અટકાવે છે. મહત્તમ આદેશ વાક્ય દલીલ મર્યાદા બહુવિધ લિનક્સ વિતરણોમાં ઉપયોગમાં લેવાતી જી. એન. યુ. કોર યુટિલિટીઝ અમલીકરણ આદેશ વાક્ય દલીલોમાં મર્યાદિત રહેશે, આદેશ વાક્ય દલીલો માટે કર્નલની અંદર ફાળવવામાં આવેલા પૃષ્ઠોની સંખ્યા કર્નલ 2.6.23 પહેલાં 9 ઓક્ટોબર 2007ના રોજ પ્રકાશિત કરવામાં આવી હતી, જેને કર્નલ સંકલન સમયે ચલ MAX _ ARG _ PAGES પર સમાવિષ્ટ/લિનક્સ/બિનએફએમટીએસ. એચ ફાઇલમાં વ્યાખ્યાયિત કરવામાં આવી હતી, પરંતુ નવા કર્નલો મહત્તમ દલીલની લંબાઈને મહત્તમ સ્ટેક મર્યાદા (યુલિમિત-એસ) ના 25 ટકા સુધી મર્યાદિત કરે છે. ભૂલઃ/બિન/આરએમઃ દલીલની યાદી ખૂબ લાંબી છે. જો આદેશ-વાક્ય દલીલ મર્યાદા ઓળંગી જાય તો સંકેત મળશે srm પણ જુઓ (યુનિક્સ): યુનિક્સ અનલિંક () માં સુરક્ષિત દૂર ફાઇલઃ આ યુઝર સ્પેસ પ્રોગ્રામ દ્વારા તેની મુખ્ય કાર્યક્ષમતા માટે બોલાવવામાં આવેલ અંતર્ગત સિસ્ટમ કૉલ ડેલ (આદેશ) ડેલટ્રી ડી. એસ. ડબલ્યુ. (આદેશ)-મુશ્કેલ ફાઇલોને કાઢી નાખવા માટે એક અપ્રચલિત યુનિક્સ આદેશ સંદર્ભો વધુ વાંચન બાહ્ય લિંક્સ ફાઇલ કાઢી નાખવાના પ્રમાણભૂત યુનિક્સ પ્રોગ્રામ્સ યુનિક્સ એસ. યુ. એસ. 2008 ઉપયોગિતાઓ યોજના 9 આદેશો ઇન્ફર્નો (ઓપરેટિંગ સિસ્ટમ) આદેશો આઇ. બી. એમ. આઇ. ક્યુશેલ આદેશો