50 शेल स्क्रिप्टिंग साक्षात्कार प्रश्न और उत्तर (2024)
लिनक्स शेल स्क्रिप्टिंग साक्षात्कार प्रश्न और उत्तर
1) शैल क्या है?
शेल उपयोगकर्ता और कर्नेल के बीच एक इंटरफ़ेस है। भले ही कर्नेल केवल एक ही हो सकता है; एक सिस्टम में कई शेल एक साथ चल सकते हैं। इसलिए, जब भी कोई उपयोगकर्ता कीबोर्ड के माध्यम से कोई कमांड दर्ज करता है, तो शेल उसे निष्पादित करने के लिए कर्नेल के साथ संचार करता है और फिर उपयोगकर्ता को आउटपुट दिखाता है।
👉 निःशुल्क पीडीएफ डाउनलोड: शेल स्क्रिप्टिंग साक्षात्कार प्रश्न और उत्तर
2) शेल स्क्रिप्टिंग क्या है?
शैल स्क्रिप्टिंग एक ओपन-सोर्स कंप्यूटर प्रोग्राम है जिसे यूनिक्स/लिनक्स शेल द्वारा चलाने के लिए डिज़ाइन किया गया है। शेल स्क्रिप्टिंग शेल को निष्पादित करने के लिए कमांड की एक श्रृंखला लिखने के लिए एक प्रोग्राम है। यह कमांड के लंबे और दोहराव वाले अनुक्रमों को एक एकल और सरल स्क्रिप्ट में जोड़ सकता है जिसे किसी भी समय संग्रहीत और निष्पादित किया जा सकता है, जो प्रोग्रामिंग प्रयासों को कम करता है।
3) एक सामान्य लिनक्स सिस्टम पर आमतौर पर उपयोग किए जाने वाले विभिन्न प्रकार के शेल क्या हैं?
csh,ksh,bash,Bourne. आज सबसे अधिक इस्तेमाल किया जाने वाला और उन्नत शेल "Bash" है।
4) लिनक्स सिस्टम पर एक विंडो के लिए फ़ाइल शॉर्टकट के समतुल्य क्या है?
लिनक्स पर “लिंक” का उपयोग करके शॉर्टकट बनाए जाते हैं। दो प्रकार के लिंक हैं जिनका उपयोग किया जा सकता है अर्थात् “सॉफ्ट लिंक” और “हार्ड लिंक”।
5) सॉफ्ट और हार्ड लिंक में क्या अंतर है?
सॉफ्ट लिंक फ़ाइल नाम से जुड़े होते हैं और अलग-अलग फ़ाइल सिस्टम पर भी मौजूद हो सकते हैं; हालाँकि हार्ड लिंक फ़ाइल के इनोड से जुड़े होते हैं और उन्हें फ़ाइल के समान फ़ाइल सिस्टम पर होना चाहिए। मूल फ़ाइल को हटाने से सॉफ्ट लिंक निष्क्रिय हो जाता है (टूटा हुआ लिंक) लेकिन हार्ड लिंक पर इसका कोई असर नहीं पड़ता (हार्ड लिंक अभी भी फ़ाइल की कॉपी एक्सेस करेगा)
6) आप लिनक्स में किसी स्क्रिप्ट में तर्क कैसे पास करेंगे और उन तक कैसे पहुंचेंगे?
तर्क इस प्रकार दिए जा सकते हैं:
स्क्रिप्टनाम “Arg1” “Arg2″…..”Argn” और इसे स्क्रिप्ट के अंदर $1, $2.. $n के रूप में एक्सेस किया जा सकता है
7) $* और $@ में क्या अंतर है?
$@ प्रत्येक उद्धृत तर्क को अलग-अलग तर्क के रूप में मानता है लेकिन $* स्थितीय मापदंडों के संपूर्ण सेट को एक एकल स्ट्रिंग के रूप में मानता है।
8) फ़ाइल की सामग्री को बदलने के लिए sed कमांड का उपयोग करें (emulate tac कमांड)
उदाहरण के लिए:
if cat fille ABCD EFGH
तो O/p होना चाहिए
ईएफजीएच
ए बी सी डी
sed '1! G; h;$!d' file1
यहाँ G कमांड पैटर्न स्पेस में जोड़ता है,
h कमांड पैटर्न बफर को होल्ड बफर में कॉपी करता है
और d कमांड वर्तमान पैटर्न स्पेस को हटा देता है।
9) एक फ़ाइल दी गई है, शब्द “ABC” की सभी घटनाओं को 5 से “DEF” से बदलेंth पंक्ति के अंत तक केवल उन्हीं पंक्तियों में जिसमें शब्द "MNO" हो
sed –n '5,$p' file1|sed '/MNO/s/ABC/DEF/'
10) एक फ़ाइल दी गई है, प्रत्येक शब्द की गिनती खोजने के लिए एक कमांड अनुक्रम लिखें।
tr –s "(backslash)040" <file1|tr –s "(backslash)011"|tr "(backslash)040 (backslash)011" "(backslash)012" |uniq –c where "(backslash)040" is octal equivalent of "space"
“(बैकस्लैश)011” “टैब कैरेक्टर” का ऑक्टल समकक्ष है और
“(बैकस्लैश)012” न्यूलाइन वर्ण का अष्टाधारी समतुल्य है।
11) आप 99 कैसे ज्ञात करेंगे?th केवल पूंछ और सिर कमांड का उपयोग कर फ़ाइल की रेखा?
tail +99 फ़ाइल1|head -1
12) 10 प्रिंट करेंth tail और head कमांड का उपयोग किए बिना लाइन।
sed –n '10p' file1
13) मैं अपने बैश शेल में चाहता हूं कि मेरा प्रॉम्प्ट '$”Present working directory”:”hostname”> प्रारूप का हो और जैसे ही मैं लॉग इन करूं, उपयोगकर्ता-परिभाषित फ़ंक्शन की सूची वाली फ़ाइल लोड हो, आप इसे कैसे स्वचालित करेंगे?
बैश शेल में, हम “.profile” फ़ाइल बना सकते हैं जो लॉग इन करते ही स्वचालित रूप से लागू हो जाती है और इसमें निम्नलिखित सिंटैक्स लिखती है।
export PS1='$ `pwd`:`hostname`>' .File1
यहां फ़ाइल1 वह फ़ाइल है जिसमें उपयोगकर्ता-परिभाषित फ़ंक्शन हैं और “.” वर्तमान शेल में इस फ़ाइल को आमंत्रित करता है।
14) किसी फ़ाइल में “s” अनुमति बिट के बारे में बताएं?
“s” बिट को “सेट यूजर आईडी” (SUID) बिट कहा जाता है।
किसी फ़ाइल पर “s” बिट प्रोग्राम के इंस्टैंस के दौरान प्रक्रिया को फ़ाइल के स्वामी के विशेषाधिकार प्रदान करता है।
उदाहरण के लिए, वर्तमान पासवर्ड बदलने के लिए "passwd" कमांड निष्पादित करने से उपयोगकर्ता अपना नया पासवर्ड शैडो फ़ाइल में लिख देता है, भले ही उसका स्वामी "रूट" हो।
15) मैं एक ऐसी निर्देशिका बनाना चाहता हूँ, जिसमें समूह का कोई भी व्यक्ति फ़ाइल बना सके और उसमें किसी भी व्यक्ति की फ़ाइल तक पहुँच सके, लेकिन कोई भी व्यक्ति स्वयं द्वारा बनाई गई फ़ाइल के अलावा किसी अन्य फ़ाइल को हटा न सके।
हम समूह में सभी को पढ़ने और निष्पादित करने वाली निर्देशिका बना सकते हैं और इसके चिपचिपे बिट "t" को निम्नानुसार सेट कर सकते हैं:
mkdir direc1 chmod g+wx direc1 chmod +t direc1
16) आप कैसे पता लगा सकते हैं कि सिस्टम कितने समय से चल रहा है?
हम इसे “uptime” कमांड का उपयोग करके पा सकते हैं।
17) कोई भी उपयोगकर्ता किसी विशिष्ट उपयोगकर्ता के बारे में सभी जानकारी कैसे प्राप्त कर सकता है, जैसे उसका डिफ़ॉल्ट शेल, वास्तविक नाम, डिफ़ॉल्ट निर्देशिका, वह कब और कितनी देर से सिस्टम का उपयोग कर रहा है?
उंगली “लॉगिन नाम” …जहां लॉगिन नाम लॉगिन नाम है
वह उपयोगकर्ता जिसकी जानकारी अपेक्षित है.
18) $$ और $! के बीच क्या अंतर है?
$$ वर्तमान में निष्पादित प्रक्रिया की प्रक्रिया आईडी देता है जबकि $! उस प्रक्रिया की प्रक्रिया आईडी दिखाता है जो हाल ही में पृष्ठभूमि में चली गई थी।
19) ज़ॉम्बी प्रक्रियाएं क्या हैं?
ये वे प्रक्रियाएँ हैं जो मर चुकी हैं लेकिन जिनकी निकास स्थिति अभी भी पैरेंट प्रक्रिया द्वारा नहीं चुनी गई है। ये प्रक्रियाएँ भले ही कार्यात्मक न हों, फिर भी प्रक्रिया तालिका में उनकी प्रक्रिया आईडी प्रविष्टि होती है।
20) आप एक मशीन से दूसरी मशीन में फ़ाइल की कॉपी कैसे करेंगे?
हम एक मशीन से दूसरी मशीन में फ़ाइल कॉपी करने के लिए “ftp,” “scp” या “rsync” जैसी उपयोगिताओं का उपयोग कर सकते हैं।
उदाहरणार्थ, FTP का उपयोग:
एफ़टीपी होस्टनाम
>फ़ाइल1 डालें
>अलविदा
उपरोक्त प्रतिलिपियाँ स्थानीय सिस्टम से गंतव्य सिस्टम तक फ़ाइल फ़ाइल1 की प्रतिलिपि बनाती हैं जिसका होस्टनाम निर्दिष्ट किया गया है।
अनुभवी लोगों के लिए शेल स्क्रिप्टिंग साक्षात्कार प्रश्न और उत्तर
21) मैं लगातार अपडेट होने वाली लॉग फ़ाइल की निगरानी करना चाहता हूं, इसे सबसे अधिक कुशलतापूर्वक प्राप्त करने के लिए किस कमांड का उपयोग किया जा सकता है?
हम tail –f फ़ाइलनाम का उपयोग कर सकते हैं। इससे std o/p पर केवल डिफ़ॉल्ट अंतिम 10 पंक्तियाँ प्रदर्शित होंगी जो फ़ाइल के अपडेट होने वाले भाग को लगातार दिखाती हैं।
22) मैं एक दूरस्थ सर्वर से कनेक्ट करना चाहता हूं और कुछ कमांड निष्पादित करना चाहता हूं, मैं यह कैसे कर सकता हूं?
ऐसा करने के लिए हम ssh का उपयोग कर सकते हैं:
ssh उपयोगकर्ता नाम@serverIP -p sshport
उदाहरण
एसएसएच रूट@122.52.251.171 -पी 22
उपरोक्त आदेश निष्पादित होने के बाद, आपसे पासवर्ड दर्ज करने के लिए कहा जाएगा
23) मेरे पास 2 फ़ाइलें हैं और मैं उन रिकॉर्ड्स को प्रिंट करना चाहता हूँ जो दोनों में समान हैं।
हम “comm” कमांड का उपयोग इस प्रकार कर सकते हैं:
comm -12 file1 file2 … 12 उन सामग्रियों को दबा देगा जो
1 के लिए अद्वितीयst और 2nd फ़ाइल क्रमशः.
24) फिबोनाची श्रृंखला के पहले 10 तत्वों को प्रिंट करने के लिए एक स्क्रिप्ट लिखें।
#!/bin/sh a=1 b=1 echo $a echo $b for I in 1 2 3 4 5 6 7 8 do c=a b=$a b=$(($a+$c)) echo $b done
25) आप लिनक्स से डेटाबेस सर्वर से कैसे जुड़ेंगे?
हम ओपन क्लाइंट ड्राइवर के साथ आने वाली isql उपयोगिता का उपयोग इस प्रकार कर सकते हैं:
isql –S serverName –U उपयोगकर्ता नाम –P पासवर्ड
26) लिनक्स में 3 मानक स्ट्रीम क्या हैं?
0 – मानक इनपुट1 – मानक आउटपुट2 – मानक त्रुटि
27) मैं फ़ाइल 1 से कमांड के सभी इनपुट को पढ़ना चाहता हूं, सभी आउटपुट को फ़ाइल 2 पर और त्रुटि को फ़ाइल 3 पर भेजना चाहता हूं, मैं यह कैसे प्राप्त कर सकता हूं?
आज्ञा फ़ाइल1 1>फ़ाइल2
28) जब मैं exec का उपयोग करके कोई कमांड निष्पादित करता हूँ तो मेरी वर्तमान प्रक्रिया का क्या होगा?
"exec" नई फोर्क की गई प्रक्रिया को वर्तमान प्रक्रिया पर ओवरले करता है; इसलिए जब मैं exec का उपयोग करके कमांड निष्पादित करता हूं, तो कमांड किसी भी नई प्रक्रिया को बनाए बिना वर्तमान शेल पर निष्पादित हो जाती है।
उदाहरणार्थ, क्रियान्वयन "exec ls"
कमांड प्रॉम्प्ट पर ls निष्पादित होगा और एक बार ls बाहर निकल जाएगा, प्रक्रिया बंद हो जाएगी
29) आप awk का उपयोग करके wc –l का अनुकरण कैसे करेंगे?
awk 'END {print NR} fileName'
30) एक फ़ाइल दी गई है, उसमें “ABC” शब्द वाली पंक्तियों की संख्या ज्ञात कीजिए।
grep –c “ABC” फ़ाइल1
31) grep और egrep में क्या अंतर है?
egrep विस्तारित grep है जो अतिरिक्त grep सुविधाओं का समर्थन करता है जैसे “+” (पिछले वर्ण की 1 या अधिक उपस्थिति),,”?”(पिछले वर्ण की 0 या 1 उपस्थिति) और “|” (वैकल्पिक मिलान)
32) लिनक्स में ऐरे कैसे सेट करें?
Ksh में वाक्यविन्यास:
Set –A arrayname= (element1 element2 ….. element) In bash A=(element1 element2 element3 …. elementn)
33) “फॉर” लूप का सिंटैक्स लिखें
सिंटेक्स:
for iterator in (elements) do execute commands done
34) आप किसी विशिष्ट उपयोगकर्ता द्वारा उपयोग किए गए कुल डिस्क स्थान का पता कैसे लगाएंगे?
du -s /home/user1 ….जहाँ user1 वह उपयोगकर्ता है जिसके लिए कुल डिस्क स्थान ढूँढना आवश्यक है।
35) लिनक्स में “if” कंडीशनल के लिए सिंटैक्स लिखें?
वाक्य - विन्यास
If condition is successful then execute commands else execute commands fi
36) $ का क्या महत्व है?
कमांड $? अंतिम निष्पादित कमांड की निकास स्थिति बताता है।
37) हम किसी फाइल में सभी रिक्त पंक्तियों को कैसे हटा सकते हैं?
sed '^ [(backslash)011(backslash)040]*$/d' file1
जहाँ (बैकस्लैश)011 स्पेस का अष्टाधारी समतुल्य है और
(बैकस्लैश)040 टैब का अष्टाधारी समतुल्य है
38) मैं प्रत्येक 100 पर एक लाइन “ABCDEF” कैसे डालूँगा?th एक फ़ाइल की रेखा?
sed '100i\ABCDEF' फ़ाइल1
39) 2 दिनों से कम समय में संशोधित सभी फ़ाइलों को खोजने और प्रत्येक की रिकॉर्ड गिनती प्रिंट करने के लिए एक कमांड अनुक्रम लिखें।
खोजें. –mtime -2 –exec wc –l {} \;
40) मैं वर्तमान शेल में बनाई गई प्रत्येक फ़ाइल पर सभी उपयोगकर्ताओं के लिए डिफ़ॉल्ट rwx अनुमति कैसे सेट कर सकता हूं?
हम इसका उपयोग कर सकते हैं:
umask 777
यह प्रत्येक उपयोगकर्ता के लिए बनाई गई प्रत्येक फ़ाइल के लिए डिफ़ॉल्ट rwx अनुमति सेट करेगा।
41) हम प्रक्रिया आईडी से प्रक्रिया का नाम कैसे पता कर सकते हैं?
हम प्रयोग कर सकते हैं "ps –p ProcessId"
42) लिनक्स पर प्रत्येक फ़ाइल सिस्टम के चार मूलभूत घटक क्या हैं?
बूटब्लॉक, सुपर ब्लॉक, इनोड ब्लॉक और डेटाब्लॉक लिनक्स पर प्रत्येक फाइल सिस्टम के मूलभूत घटक पाए जाते हैं।
43) बूट ब्लॉक क्या है?
इस ब्लॉक में "मास्टर बूट रिकॉर्ड" (एमबीआर) नामक एक छोटा प्रोग्राम होता है जो सिस्टम बूट अप के दौरान कर्नेल को लोड करता है।
44) सुपर ब्लॉक क्या है?
सुपर ब्लॉक में फ़ाइल सिस्टम के बारे में सभी जानकारी होती है जैसे फ़ाइल सिस्टम का आकार, ब्लॉक आकार, उसके मुक्त डेटा ब्लॉकों की संख्या और मुक्त इनोड्स और डेटा ब्लॉकों की सूची।
45) इनोड ब्लॉक क्या है?
इस ब्लॉक में फ़ाइल सिस्टम की प्रत्येक फ़ाइल के लिए इनोड होता है, साथ ही फ़ाइल नाम को छोड़कर सभी फ़ाइल विशेषताएँ भी होती हैं।
46) मैं संपीड़ित फ़ाइल को अनुलग्नक के रूप में मेल कैसे भेज सकता हूँ?
ज़िप फ़ाइल1.zip फ़ाइल1|mailx –s “विषय” प्राप्तकर्ता का ईमेल आईडी
ईमेल सामग्री
EOF
47) हम शेल में कमांड उपनाम कैसे बनाते हैं?
उपनाम उपनाम = "कमांड जिसका उपनाम बनाया जाना है"।
48) किसी फ़ाइल के “सी” और “बी” अनुमति फ़ील्ड क्या हैं?
“सी” और “बी” अनुमति क्षेत्र आम तौर पर डिवाइस फ़ाइल से जुड़े होते हैं। यह निर्दिष्ट करता है कि फ़ाइल एक विशेष वर्ण फ़ाइल है या ब्लॉक विशेष फ़ाइल है।
49) शेबैंग लाइन का उपयोग क्या है?
प्रत्येक स्क्रिप्ट के शीर्ष पर स्थित शेबैंग लाइन उस इंजन का स्थान निर्धारित करती है जिसका उपयोग स्क्रिप्ट को निष्पादित करने के लिए किया जाना है।
ये साक्षात्कार प्रश्न आपके मौखिक (मौखिक) में भी मदद करेंगे