Linux Metacharacters શું છે અને તમે તેમને કેવી રીતે ઉપયોગ કરો છો

વિકિપીડિયા અનુસાર, એક મેટાચેન્ચર એ કોઈ પાત્ર છે જેનો વિશિષ્ટ અર્થ છે, જેમ કે કેરેટ (^), ડોલર ચિહ્ન ($) અથવા ફૂદડી (*).

લીનક્સની દ્રષ્ટિએ, આ મેટાચાર્કૅક્ટર્સની યોગ્ય સંખ્યા છે અને તેનો અર્થ શું છે કે કયા કમાંડ અથવા પ્રોગ્રામ તમે ચલાવી રહ્યા છો તેના આધારે અલગ પડે છે.

મેટકાર્કેર (.) તરીકેનો ફુલ સ્ટોપ

નમ્રતાપૂર્ણ સ્ટોપનો ઉપયોગ વર્તમાન સ્થિતિને દાન કરવા માટે કરવામાં આવે છે જ્યારે આદેશો ચલાવી રહ્યા હોય, જેમ કે સીડી , શોધો અથવા શ, પરંતુ કાર્યક્રમોમાં જેમ કે awk , grep અને sed તે કોઈપણ અક્ષરને દર્શાવવા માટે વપરાય છે.

ઉદાહરણ તરીકે, નીચેનો આદેશ વર્તમાન ફોલ્ડરમાં બધી mp3 ફાઇલો અને નીચે મળશે.

શોધવા . -name * .mp3

જો તમે તે કમાન્ડને કામ કરતી ડિરેક્ટરી (પીડબલ્યુડી) પ્રસ્તુત કરો છો તો તમે કદાચ તમારા હોમ ફોલ્ડરમાં મ્યુઝિક ફોલ્ડરમાં તમારી એમપી 3 ફાઇલોને રાખીશું એમ ધારી લઈએ તો તમને પરિણામ મળશે.

હવે આ આદેશ જુઓ:

ps -ef | grep f..efox

Ps કમાંટ તમારા કમ્પ્યુટર પર ચાલી રહેલી તમામ પ્રક્રિયાઓની યાદી આપે છે. Grep આદેશ ઇનપુટની લીટીઓ અને પેટર્ન માટે શોધ કરે છે.

તેથી ps -ef આદેશ ચાલતી પ્રક્રિયાઓની સૂચિ મેળવે છે અને તેને grep ને આપે છે જે યાદીમાંની કોઈપણ લાઇનને શોધે છે જેમાં f..efox છે. કોઈપણ અક્ષર અર્થ કરી શકો છો

જો તમારી પાસે ફાયરફોક્સ ચાલતું હોય તો તમને એક મેચ મળશે. તેવી જ રીતે, જો તમારી પાસે પ્રોગ્રામ ફૉનફોક્સ અથવા ફ્રીફૉક્સ ચલાવવામાં આવે છે તો તે પણ પરત કરવામાં આવશે.

મેટાકાર્ક્ટર (*) તરીકે ફૂદડી

ફૂદડી વધુ સાર્વત્રિક રીતે જાણીતા મેટાચાર્ટર છે અને પેટર્નની શોધ કરતી વખતે તેનો અર્થ 0 અથવા વધુ થાય છે.

દાખ્લા તરીકે:

શોધવા . -name * .mp3

* .mp3 કોઈ ફાઇલનામ માટે એક મેચ આપે છે જે એમપી 3 માં સમાપ્ત થાય છે. તેવી જ રીતે, હું grep કમાન્ડ સાથે ફૂદડીનો ઉપયોગ નીચે મુજબના શો તરીકે કરી શક્યો હોત:

ps -ef | grep F * efox

તે નોંધવું યોગ્ય છે કે આ થોડું અલગ છે કારણ કે ફૂદડી એટલે કે શૂન્ય અથવા તેથી વધારે એટલે કે ફાયરફોક્સ, ફેસફૉક્સ અને ફોનફૉક્સ શોધવાથી તે ફ્લુફેક્સ, ફરેટફેક્સ અને ફક્ત ફફૉક્સ પણ શોધી શકે છે.

ધ કેરેટ એઝ એ ​​મેટાકાર્ક્ટર (^)

રેખા અથવા સ્ટ્રિંગની શરૂઆત દર્શાવવા માટે કેરેટ (^) નો ઉપયોગ થાય છે. તો કેવી રીતે તેનો ઉપયોગ થાય છે?

Ls આદેશ નીચે પ્રમાણે ફોલ્ડરમાં બધી ફાઈલોની યાદી માટે વપરાય છે:

ls

જો તમે ફોલ્ડરમાં બધી ફાઇલોને જાણવા માગો છો કે જે ચોક્કસ શબ્દમાળા જેવા કે "જીનોમ" થી શરૂ થાય છે તો કેરેટનો ઉપયોગ શબ્દમાળાને સ્પષ્ટ કરવા માટે કરી શકાય છે.

દાખ્લા તરીકે:

ls | grep ^ gnome

નોંધ લો કે આ ફક્ત તે જ યાદી આપે છે જે gnome સાથે શરૂ થાય છે. જો તમે ફાઇલ ઇચ્છો છો કે જે ફાઇલનામમાં ગૌણ હોય તો ગમે ત્યાં તમે ફરીથી એસ્ટરિક્સમાં પાછા ફેરવશો.

ઉપરોક્ત ઉદાહરણમાં, ls ફાઇલનામોની યાદી આપે છે અને તે યાદીને grep માં પસાર કરે છે જે પેટર્ન મેચિંગ માટે વપરાય છે. grep જાણે છે કે કેરેટ પ્રતીકનો અર્થ એ છે કે તેના પછી જે અક્ષરો આવે છે અને આ કિસ્સામાં, તે એક ગૌણ છે.

મેટાકાર્ક્ટર ($) તરીકે ડોલરનું ચિહ્ન

ડોલર પ્રતીકમાં ઘણા અર્થો હોઈ શકે છે જે લિનક્સમાં મેટાચાર્કેક્ટર છે.

જ્યારે પેટર્નને મેચ કરવા માટે વપરાય છે ત્યારે તેનો અર્થ એ કે કેરેટથી વિરુદ્ધ થાય છે અને તે કોઈપણ પેટર્ન સૂચવે છે જે ચોક્કસ શબ્દમાળા સાથે સમાપ્ત થાય છે.

દાખ્લા તરીકે:

ls | grep png $

આ બધી ફાઇલોને સૂચિબદ્ધ કરે છે જે PNG સાથે સમાપ્ત થાય છે.

ડોલર પ્રતીક પણ bash શેલ અંદર પર્યાવરણ ચલો ઍક્સેસ કરવા માટે વપરાય છે.

દાખ્લા તરીકે:

નિકાસ કૂતરો = મોલી
ઇકો $ કૂતરો

લીટી નિકાસ કૂતરો = મોલી એક પર્યાવરણ ચલ બનાવે છે જે કૂતરો કહેવાય છે અને મોલી માટે તેની કિંમત સુયોજિત કરે છે. પર્યાવરણ ચલને ઍક્સેસ કરવા માટે $ પ્રતીક વપરાય છે. $ પ્રતીક સાથે ઇકો $ કૂતરો સ્ટેટમેન્ટ મોલી દર્શાવે છે પરંતુ તે વિના, ઇકો ડોગ સ્ટેટમેન્ટ માત્ર શબ્દ ડોગ દર્શાવે છે

મેટાચાર્યકારોથી બહાર નીકળ્યા

ક્યારેક તમે metacharacter એક વિશિષ્ટ અર્થ નથી માંગતા નથી. જો તમારી પાસે એક ફાઇલ છે જે ફ્રેડફોક્સ અને ફાયરફોક્સ નામની ફાઇલ છે.

હવે નીચે આપેલ આદેશ જુઓ:

ls | grep f.refox

તમને શું લાગે છે? એફ. રફૉક્સ અને ફાયરફોક્સ બંને પરત આવે છે કારણ કે તેઓ બન્ને પેટર્નને મેચ કરે છે.

ફક્ત ફ્રાફૉક્સ જ પાછા ફરવા માટે તમને સંપૂર્ણ સ્ટોપમાંથી છટકી જવાની જરૂર છે જેનો અર્થ એ છે કે પૂર્ણ સ્ટોપ નીચે મુજબ છે:

ls | grep f \\. refox

સામાન્ય મેટાચાર્ટર અને તેમના અર્થ

લિનક્સ મેટાચાર્ટરની સૂચિ
અક્ષર અર્થ
. કોઈપણ અક્ષર
* શૂન્ય અથવા વધુ અક્ષરો
કોઈ પણ રેખા અથવા સ્ટ્રિંગ સાથે મેળ ખાતી જે પેટર્નથી શરૂ થાય છે (એટલે ​​કે ^ જીનોમ)
$ કોઈપણ લાઇન અથવા સ્ટ્રિંગને પેટર્ન સાથે અંત થાય છે (એટલે ​​કે જીનોમ $)
\\ તેના વિશિષ્ટ અર્થને દૂર કરવા માટેના આગલા અક્ષરને દૂર કરે છે
[] એક યાદી અથવા શ્રેણી (એટલે ​​કે ["abc", "def"] અથવા [1..9] સાથે મેળ ખાય છે.
+ એક અથવા વધુ પૂર્વવર્તી મેળ ખાતા (એટલે ​​કે grep a +)
? શૂન્ય અથવા એક પૂર્વવર્તી મેળ ખાય છે