Theory
એક જ વૃક્ષ, drive ના અક્ષરો નહીં
તમે Windows માંથી આવતા હો તો C: અને D: નામનાં drives ની અપેક્ષા રાખો છો. Linux એ જુદી રીતે કરે છે: અહીં directories નું એક જ વૃક્ષ છે, અને એ મૂળ કહેવાતી જગ્યાએથી શરૂ થાય છે, જેને સાદી રીતે / લખાય છે. પદ્ધતિની દરેક disk પરની દરેક file એ એક જ વૃક્ષમાં ક્યાંક રહે છે.
વધારાની disks કે USB drives નવા અક્ષર બની જતાં નથી; એમને વૃક્ષની કોઈ directory પર mount કરવામાં આવે છે. એટલે campus ના server પર રસ્તો શોધવા માટે તમને આ વૃક્ષનો નકશો જોઈએ, અને સારી વાત એ છે કે Linux ની પદ્ધતિઓ એક પ્રમાણભૂત ગોઠવણ પાળે છે. આ પાઠ તમને એ નકશો આપે છે.
Theory
મૂળ અને પ્રમાણભૂત ગોઠવણ
બધું મૂળ directory / પરથી લટકે છે. / થી શરૂ થતો રસ્તો absolute path કહેવાય છે, જે મૂળથી માંડીને પૂરો રસ્તો આપે છે, દાખલા તરીકે /home/riya/notes.txt.
દરેક જણ પોતાની મરજી પ્રમાણે કરે તો અંધાધૂંધી થાય, એટલે Linux ની distributions Filesystem Hierarchy Standard (FHS) પાળે છે, જે નક્કી કરે છે કે ઉપલા સ્તરની દરેક directory શેના માટે છે. એટલા માટે જ તમે લગભગ કોઈ પણ Linux ની પદ્ધતિ સામે બેસો તોય તમને ખબર હોય છે કે configuration /etc માં રહે છે, વપરાશકારો /home માં રહે છે, અને પાયાના commands /bin માં રહે છે. નામ અને હેતુ બધી પદ્ધતિઓમાં એકસરખાં રહે છે, અને Linux નું કૌશલ્ય બધે કામ લાગે છે એનું મોટું કારણ પણ આ જ છે.
At a glance
| Directory | એમાં શું હોય છે |
|---|---|
| / | મૂળ: એક જ વૃક્ષની ટોચ, અને બધું એની નીચે જ રહે છે |
| /bin | પાયાના વપરાશકારના commands (ls, cp, cat, અને બીજા) |
| /etc | પદ્ધતિની configuration ની files |
| /home | સામાન્ય વપરાશકારોની home directories (દા.ત. /home/riya) |
| /var | વધતો રહેતો બદલાતો data: logs, mail, spool ની files |
| /tmp | કામચલાઉ files (ઘણી વાર ફરી ચાલુ કરતાં સાફ થઈ જાય છે) |
| /usr | વપરાશકારના programs અને data (/usr/bin, libraries, દસ્તાવેજો) |
| /dev | Device files (files તરીકે દેખાતું hardware) |
Formula
તમારું કામ ક્યાં રહે છે: /home
Campus ના server પર તમારી અંગત files તમારી home directory માં, એટલે કે /home ની નીચે રહે છે, દાખલા તરીકે /home/riya. એ તમારી જગ્યા છે: એના તમે માલિક છો, ત્યાં તમે છૂટથી files બનાવી અને સંપાદિત કરી શકો છો, અને shell સામાન્ય રીતે તમને ત્યાં જ મૂકે છે.
બીજી બાજુ પદ્ધતિના સહિયારા ભાગ, એટલે કે /etc, /bin, /usr, સુરક્ષિત હોય છે અને મોટે ભાગે વ્યવસ્થાપકની માલિકીના હોય છે, એટલે તમે એમને વાપરી શકો છો પણ બેદરકારીથી બદલી શકતા નથી. તમારું કામ /home માં જ છે અને પદ્ધતિની files બીજે રહે છે, એટલું જાણવાથી તમે દિશા પણ જાળવો છો અને સલામત પણ રહો છો.
Quiz
Linux ના server પર પદ્ધતિની configuration ની files તમે કઈ directory માં મળવાની અપેક્ષા રાખશો?
- /home, કારણ કે બધું ત્યાં જ સચવાય છે
- /etc, એટલે કે પદ્ધતિની configuration ની files માટેની પ્રમાણભૂત જગ્યા
- /tmp, કારણ કે configuration કામચલાઉ હોય છે
- /dev, કારણ કે configuration સાધનો પર કાબૂ રાખે છે
Show the answer
/etc, એટલે કે પદ્ધતિની configuration ની files માટેની પ્રમાણભૂત જગ્યા
Filesystem Hierarchy Standard પ્રમાણે /etc એ પદ્ધતિની configuration ની files માટેની પ્રમાણભૂત directory છે, અને Linux ની બધી પદ્ધતિઓમાં તમે એના પર આધાર રાખી શકો છો. વિકલ્પ A ખોટો છે: /home માં વપરાશકારોની અંગત directories હોય છે, પદ્ધતિની configuration નહીં. વિકલ્પ C ખોટો છે: /tmp એ કામચલાઉ files માટે છે જે ફરી ચાલુ કરતાં સાફ થઈ શકે છે, જ્યારે configuration તો ટકવું જોઈએ, એટલે એ ત્યાં ન રહે. વિકલ્પ D ખોટો છે: /dev માં device files હોય છે (files તરીકે દેખાતું hardware), configuration નહીં. FHS ની કિંમત બરાબર આ જ ધારી શકાય એવી ગોઠવણમાં છે: દરેક પાળનારી પદ્ધતિ પર configuration હંમેશા /etc માં, વપરાશકારો /home માં, અને પાયાના commands /bin માં જ હોય છે.
Think first
બધી પદ્ધતિઓમાં directory ની ગોઠવણ પ્રમાણભૂત કેમ કરવી?
દરેક Linux ના યંત્ર પર /etc, /home અને /bin નો એક જ અર્થ થાય એ કેમ મહત્ત્વનું છે? વિચારીને પછી tap કરો.
Show the answer
કારણ કે સહિયારી અને ધારી શકાય એવી ગોઠવણ જ્ઞાનને તથા software ને દરેક Linux ની પદ્ધતિ પર લઈ જઈ શકાય એવાં બનાવે છે, જે વ્યવહારમાં મોટો ફાયદો છે. જો દરેક યંત્ર પોતાની directory ની પોતાની યોજના ઉપજાવી કાઢત, તો દરેક નવા server પર બધું ક્યાં પડ્યું છે એ તમારે ફરી શીખવું પડત, અને વ્યવસ્થાપકો, scripts તથા સ્થાપેલા programs કશું ધારી જ ન શકત. Filesystem Hierarchy Standard ને લીધે તમે કોઈ પણ Linux ના યંત્ર સામે બેસો, પછી એ campus નો server હોય, વાદળનું કોઈ ઠેકાણું હોય કે અજાણી distribution હોય, અને તમને પહેલેથી ખબર હોય કે configuration /etc માં છે, logs /var માં છે, તમારી files /home માં છે, અને commands /bin માં છે. Software સ્થાપનારાં ઓજારોને ખબર હોય છે કે શું ક્યાં મૂકવું; backup ના scripts ને ખબર હોય છે કે શું સાચવવું; અને દસ્તાવેજો બધે લાગુ પડે છે. એ 'આ ચોક્કસ યંત્ર પૂરતું' જ્ઞાનને 'આખા Linux માટેનું' જ્ઞાન બનાવી દે છે. Linux નું કૌશલ્ય આટલું કીમતી ગણાય છે એનું આ પણ એક કારણ છે: ગોઠવણ પ્રમાણભૂત હોવાથી તમે એક પદ્ધતિ પર જે શીખો છો એ સીધું બીજી લાખો પદ્ધતિઓ પર કામ લાગે છે. ધારી શકાય એવું હોવું એટલે જ ઉત્પાદકતા: એક જ નકશો બધાને બંધબેસે છે.
Summary
Key takeaways
- Linux મૂળ / થી શરૂ થતું directories નું એક જ વૃક્ષ વાપરે છે, અને એમાં drive ના અક્ષરો હોતા નથી; બીજી disks ને વૃક્ષ પર mount કરવામાં આવે છે.
- / થી શરૂ થતો રસ્તો absolute path છે, એટલે કે મૂળથી માંડીને પૂરો રસ્તો (દા.ત. /home/riya/notes.txt).
- Filesystem Hierarchy Standard (FHS) નક્કી કરે છે કે ઉપલા સ્તરની દરેક directory શેના માટે છે, અને એ બધી પદ્ધતિઓમાં એકસરખું રહે છે.
- મુખ્ય directories: /bin (commands), /etc (configuration), /home (વપરાશકારો), /var (logs અને બદલાતો data), /tmp (કામચલાઉ), /usr (programs), /dev (સાધનો).
- તમારું અંગત કામ /home ની નીચેની તમારી home directory માં રહે છે; પદ્ધતિની directories સુરક્ષિત હોય છે.
- ગોઠવણ પ્રમાણભૂત કરવાથી કૌશલ્ય, scripts અને software બધી Linux ની પદ્ધતિઓ પર લઈ જઈ શકાય છે.
- યાદ રાખવાની કડી: / થી શરૂ થતું એક જ વૃક્ષ, અને શું ક્યાં રહે છે એ FHS કહી દે છે.