Directory Navigation Commands (pwd, cd, mkdir, rmdir, ls, tree)

Linux ના વૃક્ષમાં ફરવું એટલે થોડાક commands: pwd દેખાડે છે કે તમે ક્યાં છો, cd તમને ખસેડે છે, ls અહીં શું છે એ યાદી આપે છે, mkdir અને rmdir directories બનાવે અને કાઢે છે, અને tree આખી ડાળ દોરી આપે છે.

10 min read · 7 cards · 2 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

Server પર રસ્તો શોધવો

તમે campus ના server પર log in કરો છો અને તમારી home directory, એટલે કે /home/riya માં આવીને ઊભા રહો છો. હવે શું? તમારે જાણવું પડે કે તમે ક્યાં છો, અહીં શું પડ્યું છે એ જોવું પડે, બીજે ક્યાંક જવું પડે, અને તમારા કામ માટે folders બનાવવાં પડે. Commands નું આ પહેલું જૂથ બરાબર એ જ કરે છે.

ફરવા માટેના આ commands તમે સૌથી વધુ વાર ટાઇપ કરશો, અને ટેવ પડ્યા પછી તો દિવસમાં સેંકડો વાર. એ નાના અને ઝડપી છે. આ પાઠ આખા કુટુંબનો પરિચય આપે છે અને એમને ખરેખરી session માં સાથે કામ કરતાં દેખાડે છે.

At a glance

Commandએ શું કરે છે
pwdPrint working directory: તમે અત્યારે ક્યાં છો એ દેખાડે છે
lsઅત્યારની directory માં શું છે એની યાદી આપે છે (ls -l વિગતવાર, ls -a છુપી files પણ દેખાડે)
cd dirdir માં જવું; એકલો cd ઘરે લઈ જાય છે, cd .. એક પગથિયું ઉપર લઈ જાય છે
mkdir dirનવી directory બનાવે છે (mkdir -p ઉપરની directories પણ બનાવે છે)
rmdir dirDirectory કાઢે છે, પણ ખાલી હોય તો જ
treeDirectory અને એની અંદરનું બધું વૃક્ષ તરીકે દોરે છે

Practical

ફરવાની એક session

$ pwd
/home/riya
$ mkdir -p project/src      # make project and project/src in one go
$ cd project
$ pwd
/home/riya/project
$ ls
src
$ cd ..                     # go back up to /home/riya
$ pwd
/home/riya

Formula

બે ટૂંકા રસ્તા જે તમે સતત વાપરશો

`.` એટલે અહીં (અત્યારની directory) અને `..` એટલે ઉપરની directory (એક પગથિયું ઉપર). એટલે cd .. એક directory ઉપર લઈ જાય છે, અને ./script.sh નો અર્થ થાય છે 'બરાબર અહીં જ પડેલો script'.

વધુમાં: કોઈ argument વગરનો `cd` તમને ગમે ત્યાંથી સીધા /home/riya એટલે ઘરે લઈ જાય છે, અને / થી શરૂ થતો રસ્તો absolute કહેવાય (મૂળથી ગણાય) જ્યારે એના વગરનો રસ્તો relative કહેવાય (તમે અત્યારે જ્યાં છો ત્યાંથી ગણાય). આ થોડાક વિચારો, એટલે કે . અને .. તથા ઘર અને absolute સામે relative, એ જ ફરવાનું આખું વ્યાકરણ છે.

Quiz

તમે /home/riya/project/src માં છો અને cd .. ચલાવો છો (એક પગથિયું ઉપર). હવે તમે ક્યાં છો?

  1. /home/riya, એટલે સીધા ઘરે પહોંચી ગયા
  2. /home/riya/project, એટલે src થી એક પગથિયું ઉપર
  3. /home/riya/project/src, એટલે કશો ફેર પડ્યો નથી
  4. / , એટલે મૂળ directory
Show the answer

/home/riya/project, એટલે src થી એક પગથિયું ઉપર

'..' એટલે ઉપરની directory, એટલે cd .. તમને બરાબર એક પગથિયું ઉપર લઈ જાય છે: /home/riya/project/src માંથી /home/riya/project માં. વિકલ્પ A એ argument વગરના cd નું (કે cd ~ નું) વર્ણન છે, અહીંથી ચલાવેલા cd .. નું નહીં; એક પગથિયું ઉપર જવાથી project માં પહોંચાય છે, છેક ઘર સુધી નહીં. વિકલ્પ C ખોટો છે: cd .. તમારી જગ્યા બદલે જ છે. વિકલ્પ D ખોટો છે: cd .. ફક્ત એક જ પગથિયું ઉપર જાય છે, છેક મૂળ સુધી નહીં. યાદ રાખો: .. એટલે એક પગથિયું ઉપર; અનેક પગથિયાં ઉપર જવું હોય તો એને દોહરાવો (cd ../..) અથવા absolute રસ્તો વાપરો.

Think first

અંદર files હોય એવી directory કાઢવાની rmdir કેમ ના પાડે છે?

Files ધરાવતા folder પર તમે rmdir અજમાવો છો અને એ 'Directory not empty' કહીને નિષ્ફળ જાય છે. rmdir આટલી સાવધ કેમ છે? વિચારીને પછી tap કરો.

Show the answer

કારણ કે rmdir જાણીજોઈને સલામત રાખવામાં આવ્યો છે: એ ફક્ત ખાલી directories જ કાઢે છે, જેથી તમારા કામથી ભરેલું folder ભૂલથી નાશ ન પામે. હજી files કે અંદરની directories ધરાવતી directory પર તમે rmdir ચલાવો, તો એ ના પાડે છે અને 'Directory not empty' છાપે છે, જે ખરેખર મદદરૂપ ચોકી છે, કારણ કે એ તમને કહે છે કે 'અહીં હજી સામાન પડ્યો છે; ખાતરી છે?'. Directory ને અને એની અંદરના બધાને કાઢવા હોય તો તમારે જુદો અને વધુ શક્તિશાળી command જોઈએ, એટલે કે rm -r (recursive), જે તમને પછીના પાઠમાં મળશે. એ command ખરેખર જોખમી છે કારણ કે એ આખી ડાળ કાઢી નાખે છે અને કોઈ કચરાપેટી હોતી નથી, એટલે Linux રોજિંદા rmdir ને નિર્દોષ રાખે છે અને જ્યારે તમે ખરેખર ભરેલી directory ભૂંસવા માંગતા હો ત્યારે જ સભાનપણે rm -r તરફ હાથ લંબાવવાનું રાખે છે. રચનાની પાછળનું તત્ત્વ એ છે કે સહેલો અને રોજિંદો command સલામત હોવો જોઈએ, અને નાશ કરનારો command તમારી પાસે સ્પષ્ટ માગણી કરાવે એવો હોવો જોઈએ. rmdir ની આ ચીકાશ તમારું જ રક્ષણ કરે છે; ચેતવણીને માન આપો અને rm -r સુધી જતાં પહેલાં તપાસી લો.

Summary

Key takeaways

  • pwd તમારી અત્યારની directory દેખાડે છે; ls એની અંદરનું બતાવે છે (ls -l વિગતવાર, ls -a છુપી files સહિત).
  • cd તમને ખસેડે છે: cd dir એ directory માં લઈ જાય, cd .. એક પગથિયું ઉપર લઈ જાય, એકલો cd ઘરે લઈ જાય.
  • mkdir directory બનાવે છે (mkdir -p ખૂટતી ઉપરની directories પણ બનાવે છે); tree ડાળ દોરી આપે છે.
  • '.' એટલે અત્યારની directory અને '..' એટલે એની ઉપરની; relative રીતે ફરવાનું આ બે પર જ ચાલે છે.
  • / થી શરૂ થતો રસ્તો absolute છે (મૂળથી); બાકીનો રસ્તો તમે જ્યાં છો ત્યાંથી ગણાતો relative છે.
  • rmdir ફક્ત ખાલી directories કાઢે છે; ભરેલી હોય તો 'Directory not empty' કહીને નિષ્ફળ જાય છે (ભરેલી માટે સાવધાનીથી rm -r વાપરો).
  • યાદ રાખવાની કડી: pwd એટલે ક્યાં, ls એટલે શું, cd એટલે ખસવું, mkdir એટલે બનાવવું, rmdir એટલે ખાલી હોય તો કાઢવું.

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Basic Linux Commands

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati

Directory Navigation Commands (pwd, cd, mkdir, rmdir, ls, tree) · Linux Operating System (LOS) (Minor-04) · Gri-Learn