BOSS-Linux/C2/Redirection-Pipes/Gujarati
From Script | Spoken-Tutorial
Time | Narration |
---|---|
00:00 | રીડાયરેક્શન અને પાઈપ્સના મૌખિક ટ્યુ્ટોરીઅલમાં સ્વાગત છે. |
00:07 | હું ઉબુન્ટુ લીનક્સ OS નો ઉપયોગ કરી રહી છું. |
00:09 | અમે ધારીએ છીએ કે તમને લિનક્સ ઓપરેટીંગ સિસ્ટમ ઉપર કાર્ય કરવાનો અનુભવ હશે અને આદેશો વિશે થોડું જ્ઞાન ધરાવતા હશો. |
00:16 | જો તમને અભિરુચિ હોય તો,તે આ વેબસાઈટ પરના અન્ય મૌખિક ટ્યુ્ટોરીઅલ ઉપર ઉપલબ્ધ છે. |
00:22 | નોંધ લઈએ કે લિનક્સ અક્ષર-પ્રકાર(સાદા કે કેપિટલ)સંવેદનશીલ છે. |
00:25 | જ્યાં સુધી કઈ ઉલ્લેખેલ ન હોય ત્યાં સુધી બધા આદેશો સાદા અક્ષરમાં જ લેવાય છે . |
00:32 | આપણે લિનક્સમાં મોટા ભાગનું કાર્ય ટર્મિનલ દ્વારા કરીએ છીએ. |
00:35 | જયારે આપણને કોઈ આદેશ પ્રદર્શિત કરવો હોય,તેને કિબોર્ડથી લખીએ છીએ. |
00:39 | જેમકે આપણને તારીખ અને સમય જાણવો છે. |
00:41 | તો આપણે કિબોર્ડ દ્વારા "date" લખીશું અને એન્ટર દબાવીશું. |
00:46 | સામાન્ય રીતે આપણે કિબોર્ડ દ્વારા ઈનપુટ આપીએ છીએ. |
00:48 | તેવી રીતે આપણા આદેશનું આઉટપુટ આપણે ટર્મિનલ બારી ઉપર જ જોઈએ છીએ. |
00:56 | ઘણીવાર આદેશ પ્રદર્શિત કરીએ ત્યારે ઘણી વાર એરર પણ મળે છે. |
00:59 | ઉદાહરણ તરીકે,"cat ખાલી જગ્યા aaa" લખીએ અને એન્ટર દબાવીએ. |
01:05 | પણ aaa નામની કોઈ ફાઈલ અસ્તિત્વમાં નથી. |
01:08 | તેથી આવી એરર મળે છે. |
01:10 | આ એરર પણ ટેર્મીનલ બારી ઉપર આવે છે.તેથી આપણે આ સંદેશ ટેર્મીનલ ઉપર જોઈ શકીએ છીએ |
01:20 | આ ઈનપુટીંગ,આઉટપુટીંગ અને એરર રીપોર્ટીંગ ત્રણેય આદેશને સંબંધિત વિશિષ્ટ પ્રક્રિયાઓ છે. |
01:24 | રીડાયરેક્શન વિશે શીખતા પહેલા આપણને બે મહત્વની વિભાવનાઓની જાણ હોવી જોઈએ.જે છે સ્ટ્રીમ(stream) અને ફાઈલ ડીસ્ક્રીપ્ટર(descriptor). |
01:31 | બેશ જેવા લિનક્સ શેલ,ઈનપુટ લઇ અને આઉટપુટને શ્રેણી અથવા અક્ષરોની હારમાળા સ્વરૂપે મોકલે છે. |
01:37 | દરેક અક્ષર તેની આગળના અને પાછળના અક્ષરથી કોઈ સંબંધ ધરાવતો નથી. |
01:41 | હારમાળાઓ ફાઈલ આઈઓ કાર્યરીતિઓ(techniques)થી પ્રાપ્ય થાય છે. |
01:44 | આનાથી કોઈ ફર્ક નથી પડતો કે અક્ષરોની વાસ્તવિક હારમાળાઓ ફાઈલ,કિબોર્ડ,વિન્ડો વગેરેમાંથી આવે છે કે જાય છે. |
01:51 | લિનક્સમાં,પ્રક્રિયાની પ્રત્યેક ખુલ્લી ફાઈલ એક પૂર્ણાંક અંક સાથે સંકળાયેલ હોય છે. |
01:57 | આ આંકડાકીય કિંમતો "ફાઈલ ડીસ્ક્રીપ્ટર્સ" તરીકે ઓળખાય છે. |
02:05 | લિનક્સ શેલ્સ ત્રણ મુખ્ય આઈ/ઓ સ્ટ્રીમ્સનો ઉપયોગ કરે છે. |
02:08 | તે દરેક એક અનન્ય ફાઈલ ડીસ્ક્રીપ્ટર સાથે સંકળાયેલ છે. |
02:12 | "એસટીડીઇન" એ સ્ટાનડર્ડ ઈનપુટ સ્ટ્રીમ છે. |
02:15 | તે આદેશોને ઈનપુટ પૂરું પાડે છે. |
02:17 | તે ફાઈલ ડીસ્ક્રીપ્ટર ૦ ધરાવે છે. |
02:19 | "એસટીડીઆઉટ" એ સ્ટાનડર્ડ આઉટપુટ સ્ટ્રીમ છે. |
02:22 | તે આદેશોથી આવતા આઉટપુટને પ્રદર્શિત કરે છે.તે ફાઈલ ડીસ્ક્રીપ્ટર 1 ધરાવે છે. |
02:26 | "એસટીડીએર" એ સ્ટાનડર્ડ એરર સ્ટ્રીમ છે.તે આદેશોથી મળતા એરર આઉટપુટને પ્રદર્શિત કરે છે. તે ફાઈલ ડીસ્ક્રીપ્ટર ૨ ધરાવે છે. |
02:36 | ઈનપુટ સ્ટ્રીમ્સ પ્રોગ્રામ્સને ઈનપુટ પૂરું પાડે છે. |
02:40 | સામાન્ય રીતે ટર્મિનલમાં કિબોર્ડ દ્વારા લખેલ લખાણમાંથી તે ઈનપુટ લે છે. |
02:44 | આઉટપુટ સ્ટ્રીમ્સ સામાન્ય રીતે ટર્મિનલ ઉપર ટેક્સ્ટ અક્ષરો પ્રિન્ટ કરે છે. |
02:47 | ટર્મિનલ હકીકતમાં ASCII ટાઈપરાઈટર અથવા પ્રદર્શિત એટલેકે ડિસ્પ્લે કરનાર એક ટર્મિનલ હતું. |
02:52 | પણ હવે તે ગ્રાફિકલ ડેસ્કટોપ ઉપર એક ટેક્સ્ટ વિન્ડો છે. |
02:56 | આપણે જોયું કે સામાન્ય રીતે ત્રણે સ્ટ્રીમ્સ સામાન્ય રીતે કેટલીક ફાઈલો સાથે જોડાએલ હોય છે. |
03:01 | પણ લિનક્સમાં,આપણે આને બદલી શકીએ. |
03:04 | આપણે આ ત્રણેય સ્ટ્રીમ્સને બીજી અન્ય ફાઈલો સાથે જોડી શકીએ. |
03:07 | આ પ્રક્રિયાને રીડાયરેક્શન કહેવાય છે. |
03:09 | ચાલો હવે જોઈએ કે ત્રણ સ્ટ્રીમ્સમાં રીડાયરેક્શન કેવી રીતે થાય છે. |
03:14 | પહેલા આપણે જોઈએ કે સ્ટાનડર્ડ ઈનપુટ કેવી રીતે રીડાયરેક્ટ થાય. |
03:17 | આપણે સ્ટાનડર્ડ ઈનને ફાઈલમાંથી, <(ડાબી તરફના ખૂણાવાળા કૌંસ) પ્રચાલકથી રીડાયરેક્ટ કરીએ.જોઈએ કેવી રીતે થાય છે. |
03:22 | આપણે જાણીએ છીએ કે wc આદેશનો ઉપયોગ ફાઈલમાં લીટીઓ,શબ્દો અને અક્ષરોની સંખ્યા શોધવા થાય છે. |
03:28 | ટર્મિનલ બારી ઉપર wc લખીએ. |
03:31 | હવે એન્ટર દબાવીએ. |
03:32 | શું થાય છે?એક ઝબકતું કર્સર દેખાય છે.આનો મતલબ એ છે કે કિબોર્ડથી એન્ટર દબાવવું પડશે. |
03:37 | થોડું લખાણ મુકીએ જેમકે "This tutorial is very important". |
03:46 | હવે એન્ટર દબાવીએ. |
03:48 | હવે CTRL અને d કળ એક સાથે દબાવીએ. |
03:52 | હવે આ આદેશ આપણે લખેલી લીટીઓ ઉપર કામ કરશે. |
03:55 | આદેશ ટર્મિનલ ઉપર આઉટપુટ આપશે. |
03:57 | અહીં wc આદેશ પછી કોઈ ફાઈલ અપાઈ નથી. |
04:01 | તેથી તે સ્ટાનડર્ડ ઈનપુટ સ્ટ્રીમમાંથી ઈનપુટ લે છે. |
04:04 | સ્ટાનડર્ડ ઈનપુટ સ્ટ્રીમ મૂળભૂત રીતે કિબોર્ડ સાથે જોડાયેલ હોય છે.તેથી wc આદેશ કિબોર્ડથી ઈનપુટ લેશે. |
04:12 | હવે જો આપણે આ લખીએ "wc ખાલી જગ્યા <(ડાબા ખૂણાવાળો કૌંસ) ખાલી જગ્યા test1 .txt" |
04:19 | wc આદેશ ફાઈલ test1.textમાં રહેલ લીટીઓ,શબ્દો અને અક્ષરોની સંખ્યા બતાવે છે. |
04:27 | હવે "wc ખાલી જગ્યા test1.txt" લખીએ. |
04:34 | આપણને સરખું જ પરિણામ મળે છે. |
04:37 | તો ફર્ક શું? |
04:39 | જયારે આપણે "wc ખાલી જગ્યા test1.txt" લખીએ,આદેશ ફાઈલ test1.txt ખોલે છે અને તેને વાંચે છે. |
04:46 | પણ જયારે આપણે "wc ખાલી જગ્યા 'ડાબા ખૂણાવાળો કૌંસ' test1.txt" લખીએ છીએ,wc આદેશને કોઈ ફાઈલ ખોલવા મળતી નથી. |
04:53 | તેની જગ્યાએ,તે સ્ટાનડર્ડઈન પાસેથી ઈનપુટ લેવાનો પ્રયત્ન કરે છે. |
04:57 | તો હવે આપણે સ્ટાનડર્ડઈનને ફાઈલ test1.txt સાથે નિર્દેશિત કરી દીધી છે. |
05:01 | તેથી આદેશ test1માંથી વાંચે છે. |
05:04 | પણ તે સ્ટાનડર્ડઈનમાં ડેટા ક્યાંથી આવી રહ્યા છે તે માટે અજાણ છે. |
05:10 | તો આપણે જોયું કે સ્ટાનડર્ડ ઈનપુટને કેવી રીતે રીડાયરેક્ટ કરવું. |
05:12 | હવે જોઈએ કે સ્ટાનડર્ડ આઉટપુટ અને સ્ટાનડર્ડ એરરને કેવી રીતે રીડાયરેક્ટ કરવું. |
05:17 | આઉટપુટ અથવા એરરને ફાઈલ સાથે રીડાયરેક્ટ કરવાના બે માર્ગ છે: |
05:20 | ધારો,n ફાઈલ ડીસ્ક્રીપ્ટરને નિર્દેશ કરે છે."n" જમણા ખૂણાવાળો કૌંસ ફાઈલ ડીસ્ક્રીપ્ટર nથી મળતા આઉટપુટને ફાઈલ સાથે રીડાયરેક્ટ કરે છે. |
05:29 | તમારી પાસે તે ફાઈલમાં લખવાનો અધિકાર હોવો જોઈએ. |
05:32 | જો આ ફાઈલ હયાત ન હોય તો નવી બની જશે. |
05:35 | જો હયાત હોય તો તેમાં રહેલ ડેટા કોઈ પણ ચેતવણી વગર રદ થઇ જાય છે. |
05:40 | "n >>(બે જમણા ખૂણાવાળા કૌંસ)" પણ ફાઈલ ડીસ્ક્રીપ્ટર nથી મળતા આઉટપુટને ફાઈલ સાથે રીડાયરેક્ટ કરે છે |
05:47 | આના માટે પણ તમારી પાસે તે ફાઈલમાં લખવાનો અધિકાર હોવો જોઈએ. |
05:50 | જો ફાઈલ હયાત ન હોય તો નવી બની જશે. |
05:52 | જો ફાઈલ હયાત હશે તો,આઉટપુટ આ ફાઈલમાં રહેલ લખાણના અંતે જોડાઈ જશે. |
05:59 | n જે એક જમણા ખૂણાવાળા કૌંસ અથવા બે જમણા ખૂણાવાળા કૌંસ સાથે હોય છે તે "ફાઈલ ડીસ્ક્રીપ્ટર"ને નિર્દેશ કરે છે. |
06:05 | જો તેને અવગણવામાં આવે તો તે સ્ટાનડર્ડ આઉટપુટ જે ફાઈલ ડીસ્ક્રીપ્ટર ૧ છે તેને માની લે છે. |
06:10 | તેથી >(જમણા ખૂણાવાળો કૌંસ) અને અંક૧>(એક જમણા ખૂણાવાળો કૌંસ) સમાન છે. |
06:15 | પણ એરર સ્ટ્રીમને રીડાયરેક્ટ કરવા,તમારે અંક ૨>(એક જમણા ખૂણાવાળો કૌંસ) અથવા અંક ૨>>(બે જમણા ખૂણાવાળા કૌંસ) નો ઉપયોગ કરવો પડશે. |
06:22 | ચાલો તે જોઈએ. |
06:24 | છેલ્લા ઉદાહરણમાં આપણે જોયું કે ફાઈલ અને standardinવાળા wc આદેશનું પરિણામ ટર્મિનલ બારી ઉપર મળે છે. |
06:31 | જો આપણને આ ટર્મિનલ બારી ઉપર પ્રદર્શિત ન કરવું હોય તો શું કરી શકાય? |
06:34 | આપણે તેને એક ફાઈલમાં સંગ્રહિત કરીએ,જેથી આ માહિતીનો પછી ઉપયોગ કરી શકાય. |
06:38 | મૂળભૂત રીતે wc તેનું આઉટપુટ standardoutમાં લખે છે. |
06:42 | standardout મૂળભૂત રીતે ટર્મિનલ બારી સાથે જોડાયેલ હોય છે. |
06:45 | તેથી આપણે ટર્મિનલ બારી ઉપર આઉટપુટ જોઈ શકીએ છીએ. |
06:48 | પણ જો આપણે standardoutને ફાઈલમાં રીડાયરેક્ટ કરી શકીએ તો જ wc આદેશનું આઉટપુટ તે ફાઈલમાં લખાશે. |
06:57 | ચાલો આપણે લખીએ "wc ખાલી જગ્યા test1.txt 'જમણા ખૂણાવાળા કૌંસ' wc_results.txt" |
07:09 | એન્ટર દબાવીએ. |
07:11 | આ થયું કે નહિ તે જાણવા આપણે ફાઈલમાં રહેલ માહિતી c-a-t આદેશ દ્વારા પ્રદર્શિત કરી શકીએ. |
07:23 | હા તે થયું છે. |
07:24 | ધારોકે,આપણી પાસે આ જ ડિરેક્ટરીમાં બીજી ફાઈલ test2 છે. |
07:30 | હવે આપણે test2 ફાઈલ સાથે આજ આદેશ અમલમાં મુકીશું."wc ખાલી જગ્યા test2.txt 'જમણા ખૂણાવાળો કૌંસ' wc_results.txt" |
07:44 | આનાથી wc_resultsમાં રહેલ લખાણ ઉપર નવું લખાણ આવી જશે. |
07:48 | ચાલો આ જોઈએ. |
07:56 | આની જગ્યાએ જો આપણે "wc ખાલી જગ્યા test1.txt 'બે વાર જમણા ખૂણાવાળો કૌંસ" wc_results.txt" |
08:07 | આ આદેશથી નવું લખાણ ફાઈલ wc_results.txtમાં રહેલ લખાણ ઉપર નથી આવી જતું.નવું લખાણ તેના અંતે જોડાઈ જાય છે. |
08:15 | ચાલો આ પણ જોઈએ. |
08:26 | સ્ટાનડર્ડ એરરને રીડાયરેક્ટીંગ પણ આજ રીતે કરાય છે. |
08:29 | ફર્ક આટલો જ છે કે આ ઘટનામાં એક જમણા ખૂણાવાળા કૌંસ અથવા બે જમણા ખૂણાવાળા કૌંસ ચિહ્નની પહેલા સ્ટાનડર્ડ એરરનો ફાઈલ ડીસ્ક્રીપ્ટર અંક મુકવો પડશે. |
08:38 | જેમ આપણે જાણીએ છીએ કે "aaa" નામની કોઈ ફાઈલ મોજુદ નથી."wc ખાલી જગ્યા aaa" લખીએ. |
08:46 | શેલ એરર આપે છે કે "આવી કોઈ ફાઈલ કે ડિરેક્ટરી નથી" |
08:50 | હવે આપણને કોઈ એરર સંદેશો પડદા ઉપર નથી જોઈતા.તે કોઈ અન્ય ફાઈલ સાથે રીડાયરેક્ટ કરી શકાય છે. |
08:55 | આ માટે આપણે આ આદેશ "wc ખાલી જગ્યા aaa ખાલી જગ્યા 2 'જમણા ખૂણાવાળો કૌંસ' errorlog.txt" આપી શકીએ. |
09:06 | હવે એરર ટર્મિનલ ઉપર પ્રદર્શિત નહીં થાય,પણ તે ફાઈલ errorlog.txtમાં આવી જશે. |
09:12 | આ આપણે આ આદેશ "cat ખાલી જગ્યા errorlog.txt" દ્વારા જોઈ શકીએ. |
09:22 | હવે જો હું આ આદેશ "cat ખાલી જગ્યા bbb ખાલી જગ્યા 2 'જમણા ખૂણાવાળો કૌંસ' errorlog.txt" દ્વારા બીજી એરર ઉત્પન્ન કરું. |
09:34 | તો પહેલાની એરર ઉપર આ નવી એરર આવી ગઈ દેખાશે. |
09:39 | જુઓ "cat ખાલી જગ્યા errorlog.txt" |
09:46 | જો આપણને બધી એરરને એક સાથે જોવી હોય તો શું? તેના માટે આ આદેશ આપવો પડશે "wc ખાલી જગ્યા aaa ખાલી જગ્યા 2 'બે જમણા ખૂણાવાળા કૌંસ' errorlog.txt" |
09:58 | આ આપણે cat આદેશ આપી તપાસી શકીએ. |
10:06 | આપણે જોયું કે ત્રણેય સ્ટ્રીમ્સ સ્ટાનડર્ડ ઈનપુટ,સ્ટાનડર્ડ આઉટપુટ,સ્ટાનડર્ડ એરર કેવી અલગ અલગ રીતે રીડાયરેક્ટ થાય છે અને હાથ ધરવામાં આવે છે.પણ આ વિભાવનાની સાચી શક્તિનું અનુમાન આપણે ત્યારે લગાવી શકીએ જયારે એક સાથે આ સ્ટ્રીમ્સને હાથ ધરવામાં આવે.મતલબ જુદી-જુદી સ્ટ્રીમ્સને જોડવું. |
10:20 | આ પ્રક્રિયાને પાઈપલાઈનીંગ કહેવાય છે. |
10:22 | આદેશોની સાંકળો બનાવવા પાઈપ્સનો ઉપયોગ થાય છે. |
10:25 | પાઈપ એક આદેશના આઉટપુટને સાંકળમાં આવતા તેના પછીના બીજા આદેશના ઈનપુટ સાથે જોડે છે. |
10:30 | આદેશ2-વિકલ્પ|આદેશ3-વિકલ્પ1-વિકલ્પ2|આદેશ4 |
10:46 | વર્તમાન ડિરેક્ટરીમાં રહેલી કુલ ફાઈલો અને ડિરેક્ટરીઓની સંખ્યા આપણને જાણવી હોય તો. |
10:51 | આપણે શું કરી શકીએ? આપણે જાણીએ છીએ "ls ખાલી જગ્યા -l" વર્તમાન ડિરેક્ટરીની બધી ફાઈલો અને ડિરેક્ટરીઓની યાદી બતાવે છે. |
10:58 | આ આઉટપુટને આપણે એક ફાઈલમાં રીડાયરેક્ટ કરી શકીએ."ls ખાલી જગ્યા -l 'જમણા ખૂણાવાળો કૌંસ' files.txt" |
11:08 | "cat ખાલી જગ્યા files.txt" અમલમાં મુકીએ. |
11:14 | તો દરેક લીટી ફાઈલ અથવા ડિરેક્ટરીનું નામ છે. |
11:17 | જો આ ફાઈલની કુલ લીટીઓની માત્રા શોધીએ,તો આના માટે આપણે files.txt નો ઉપયોગ કરી શકીએ. |
11:24 | આ આપણે આદેશ "wc ખાલી જગ્યા -l files.txt" દ્વારા કરી શકીએ. |
11:32 | તે આપણો હેતુ પાર પાડે છે છતાં થોડીક મુશ્કેલીઓ છે. |
11:35 | પહેલા આપણને એક ઇન્ટરમીડીએટ ફાઈલ ની જરૂર છે,જે અહીં ફાઈલ files.txt છે. |
11:40 | જો પ્રથમ આદેશ અઢળક ડેટા ઉત્પન્ન કરે છે,તો તે બિન જરૂરી ડિસ્ક મેમરી ખાય છે. |
11:46 | વળી જો આપણને આદેશોની સાંકળ બનાવવી હોય તો,આ પદ્ધતિ ઘણી ધીરી પડે છે. |
11:50 | wc ખાલી જગ્યા -l" |
12:01 | અને આપણને સરખું જ પરિણામ વધારે સરળતાથી મળે છે. |
12:06 | ls આદેશનું આઉટપુટ wc આદેશના ઈનપુટ રીતે જાય છે. |
12:10 | આપણે હજી લાંબી આદેશોની સાંકળ પાઈપ્સ દ્વારા ઉમેરી શકીએ. |
12:15 | પાઈપ્સનો સર્વ સામાન્ય ઉપયોગ છે ઘણા પૃષ્ઠોને પ્રદર્શિત કરવું. |
12:19 | "cd ખાલી જગ્યા /user/bin" લખીએ. |
12:24 | તો આપણે હવે બિન ડિરેક્ટરીમાં છીએ. |
12:28 | હવે "ls -l" આપીએ. |
12:31 | આપણે આઉટપુટ બરાબર જોઈ શકતા નથી.પણ જો આપણે તેને પાઈપ સાથે જોડી ઉપયોગમાં લઈએ તો,આઉટપુટ બરાબર દેખાશે. |
12:37 | યાદી જોવા એન્ટર દબાવીએ. |
12:41 | બહાર નીકળવા "q" દબાવીએ. |
12:45 | આ થોડાક આદેશો હતા જે ફાઈલ સાથે કાર્ય કરવા આપણને મદદરૂપ થાય છે. |
12:48 | હજી બીજા ઘણા આદેશો છે. |
12:50 | વળી,આપણે જે આદેશો જોયા તે ઘણા વિકલ્પો પણ ધરાવે છે. |
12:54 | "man" આદેશ દ્વારા તમે તેના વિશે વધુ જાણકારી મેળવી શકશો. |
12:58 | આદેશો શીખવાનો સૌથી શ્રેષ્ઠ માર્ગ છે તેનો વારંવાર ઉપયોગ કરવો. |
13:04 | અહીં આ ટ્યુ્ટોરીઅલ સમાપ્ત થાય છે. |
13:07 | મૌખિક ટ્યુ્ટોરીઅલ ટોક ટુ અ ટીચર યોજનાનો ભાગ છે.જેને રાષ્ટ્રીય સાક્ષરતા મિશને ICT ના માધ્યમથી સમર્થિત કરેલ છે. |
13:15 | મિશન વિષે વધુ જાણકારી આ લિંક ઉપર ઉપલબ્ધ છે. |
13:19 | IIT Bombay તરફથી હું શિવાની ગડા વિદાય લઉં છું.ટ્યુ્ટોરીઅલમાં ભાગ લેવા આભાર. |