BOSS-Linux/C2/Redirection-Pipes/Gujarati

From Script | Spoken-Tutorial
Revision as of 14:46, 23 February 2017 by PoojaMoolya (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
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 તરફથી હું શિવાની ગડા વિદાય લઉં છું.ટ્યુ્ટોરીઅલમાં ભાગ લેવા આભાર.

Contributors and Content Editors

Jyotisolanki, PoojaMoolya