Linux इंटरव्यू के सवाल: 24 सवाल और उत्तर
Linux इंटरव्यू में सबसे ज़्यादा फ़ाइल सिस्टम और inode, hard और symbolic links, अधिकार और sudo, प्रोसेस और सिग्नल, सिस्टम के बूट और नेटवर्क के बारे में पूछा जाता है: खुले पोर्ट कैसे देखें, DNS रिज़ॉल्यूशन कैसे काम करता है, और सर्वर न पहुँचे तो क्या करें।
Linux के सवाल DevOps इंजीनियर, सिस्टम एडमिनिस्ट्रेटर, SRE और बैकएंड डेवलपर के इंटरव्यू में पूछे जाते हैं। इंटरव्यूअर शायद ही कभी फ़्लैग याद रखने की उम्मीद करते हैं: उन्हें देखना होता है कि आप सिस्टम को समझते हैं या नहीं, और समस्या की जड़ तक पहुँच सकते हैं या नहीं। नीचे Linux इंटरव्यू के वे सवाल हैं जो सबसे ज़्यादा पूछे जाते हैं, बुनियादी से लेकर डायग्नोस्टिक तक, उत्तर और कमांड के साथ।
सुझाव: जवाब देते समय वह कमांड भी बताएँ जिससे आप अपनी बात जाँचेंगे। «मैं ss -tlnp से देखूँगा» कहना सामान्य बातों से कहीं ज़्यादा भरोसेमंद लगता है।
फ़ाइल सिस्टम
1. FHS क्या है, और मुख्य डायरेक्टरी में क्या रहता है?
FHS (Filesystem Hierarchy Standard) डायरेक्टरी की जगहें तय करने वाला मानक है। पूरा ट्री जड़ / से शुरू होता है, ड्राइव के अक्षर नहीं होते: दूसरे फ़ाइल सिस्टम ट्री की किसी डायरेक्टरी में माउंट किए जाते हैं।
/etc— सिस्टम और सर्विस की कॉन्फ़िगरेशन;/var— बदलने वाला डेटा: लॉग (/var/log), कैश, क़तारें, डेटाबेस;/home— यूज़र की होम डायरेक्टरी,/root— root की होम डायरेक्टरी;/usr— प्रोग्राम और लाइब्रेरी; आधुनिक डिस्ट्रीब्यूशन में/binऔर/sbinआमतौर पर/usr/binऔर/usr/sbinके लिंक होते हैं;/tmp— अस्थायी फ़ाइलें,/boot— कर्नल और बूटलोडर;/procऔर/sys— वर्चुअल फ़ाइल सिस्टम, जिनमें प्रोसेस और कर्नल की जानकारी होती है,/dev— डिवाइस फ़ाइलें।
2. inode क्या है?
inode फ़ाइल सिस्टम की वह संरचना है जो फ़ाइल का मेटाडेटा रखती है: प्रकार, अधिकार, मालिक, आकार, समय के निशान, hard link की संख्या और डेटा ब्लॉक के पॉइंटर। inode में फ़ाइल का नाम नहीं होता: नाम डायरेक्टरी में «नाम → inode नंबर» की प्रविष्टि के रूप में रहता है।
inode नंबर ls -i से दिखता है, और विवरण stat file से। किसी फ़ाइल सिस्टम पर inode की संख्या सीमित होती है, और df -i दिखाता है कि कितने इस्तेमाल हो चुके हैं। इससे एक क्लासिक स्थिति बनती है: «डिस्क पर जगह बहुत है, पर फ़ाइल नहीं बन रही» — क्योंकि लाखों छोटी फ़ाइलों ने inode ख़त्म कर दिए।
3. hard link और symbolic link में क्या अंतर है?
Hard link (ln file link) उसी inode के लिए एक और नाम है। दोनों नाम बराबर हैं, और डेटा तभी मिटता है जब लिंक की गिनती शून्य हो जाए। सीमाएँ: डायरेक्टरी पर hard link नहीं बनता, और वह एक ही फ़ाइल सिस्टम से बाहर नहीं जा सकता।
Symbolic link (ln -s target link) अपने inode वाली अलग फ़ाइल है, जिसके अंदर लक्ष्य का पाथ लिखा होता है। यह डायरेक्टरी और दूसरे फ़ाइल सिस्टम की ओर इशारा कर सकता है, पर लक्ष्य हटाने या बदलने पर «टूट» जाता है।
4. डिस्क भर गई है, पर du, df से कम दिखाता है। ऐसा क्यों?
सबसे आम कारण: फ़ाइल हटा दी गई, पर कोई प्रोसेस उसे अब भी खुला रखे हुए है, जैसे चल रही सर्विस का बड़ा लॉग हटाना। नाम अब नहीं रहा, इसलिए du उसे नहीं देखता, पर ब्लॉक भरे रहते हैं और df उन्हें गिनता है।
ऐसी फ़ाइलें खोजें: lsof +L1 या lsof | grep deleted। हल: प्रोसेस दोबारा शुरू करें, या डिस्क्रिप्टर से फ़ाइल काट दें: : > /proc/PID/fd/N। आगे के लिए लॉग rm से नहीं, truncate या logrotate की रोटेशन से साफ़ करें।
5. Linux का बूट कैसे होता है?
फ़र्मवेयर (BIOS या UEFI) हार्डवेयर शुरू करता है और नियंत्रण बूटलोडर को देता है, आमतौर पर GRUB। बूटलोडर कॉन्फ़िग पढ़ता है, कर्नल और initramfs को मेमोरी में लोड करता है। initramfs एक अस्थायी रूट फ़ाइल सिस्टम है, जिसमें असली रूट तक पहुँचने के लिए ज़रूरी ड्राइवर होते हैं।
कर्नल डिवाइस शुरू करता है, रूट फ़ाइल सिस्टम माउंट करता है, और PID 1 वाला यूज़र-स्पेस प्रोसेस चलाता है, जो ज़्यादातर डिस्ट्रीब्यूशन में systemd है। systemd सर्विस को डिफ़ॉल्ट target, जैसे multi-user.target, तक उठाता है। हर चरण में लगा समय systemd-analyze दिखाता है।
6. mount कमांड क्या करती है, और ऑटोमैटिक माउंट कहाँ लिखा जाता है?
mount किसी डिवाइस का फ़ाइल सिस्टम डायरेक्टरी (माउंट पॉइंट) से जोड़ता है: mount /dev/sdb1 /mnt/data। मौजूदा माउंट findmnt या बिना आर्गुमेंट के mount से दिखते हैं।
बूट पर होने वाला माउंट /etc/fstab में लिखा जाता है। वहाँ डिवाइस UUID से लिखना बेहतर है (उसे blkid दिखाता है), न कि /dev/sdb1 जैसे नाम से, जो बदल सकता है। रीबूट से पहले mount -a से बदलाव जाँचें: fstab की गलती बूट रोक सकती है।
यूज़र और अधिकार
7. Linux में फ़ाइल अधिकार कैसे काम करते हैं?
हर फ़ाइल का एक मालिक, एक ग्रुप और तीन समूह अधिकार होते हैं: मालिक, ग्रुप और बाक़ी सबके लिए। हर समूह में r (पढ़ना), w (लिखना), x (चलाना) होता है। संख्यात्मक रूप में r=4, w=2, x=1 है, इसलिए chmod 640 file मालिक को पढ़ने और लिखने, ग्रुप को पढ़ने, और बाक़ी किसी को कुछ नहीं देता।
$ ls -l app.conf
-rw-r----- 1 deploy www-data 512 Oct 12 10:03 app.conf
मालिक chown user:group file से बदला जाता है, और अधिकार chmod से।
8. डायरेक्टरी के लिए r, w, x का क्या मतलब है?
डायरेक्टरी के लिए अर्थ अलग है: r — फ़ाइलों के नाम की सूची मिल सकती है, w — अंदर फ़ाइलें बनाई, हटाई और नाम बदले जा सकते हैं, x — डायरेक्टरी में जाया जा सकता है और नाम से फ़ाइलों तक पहुँचा जा सकता है।
इसका महत्वपूर्ण नतीजा: फ़ाइल हटाने के लिए डायरेक्टरी पर लिखने का अधिकार काफ़ी है, भले ही फ़ाइल उसकी न हो। डायरेक्टरी पर x न हो, तो r भी मदद नहीं करता: नाम दिखते हैं, पर फ़ाइलें नहीं खुलतीं।
9. SUID, SGID और sticky bit क्या हैं?
किसी चलने योग्य फ़ाइल पर SUID प्रोग्राम को उसके मालिक के अधिकारों से चलाता है, न कि उसे चलाने वाले यूज़र के। क्लासिक उदाहरण /usr/bin/passwd है: वह root का है और /etc/shadow बदल सकता है। फ़ाइल पर SGID वही काम ग्रुप के लिए करता है, और डायरेक्टरी पर वह नई फ़ाइलों को डायरेक्टरी का ग्रुप विरासत में देता है, जो साझा फ़ोल्डरों के लिए सुविधाजनक है।
डायरेक्टरी पर sticky bit फ़ाइल हटाने की अनुमति केवल उसके मालिक को देता है, भले ही डायरेक्टरी सबके लिए लिखने योग्य हो। /tmp ऐसा ही है: ls -ld /tmp में drwxrwxrwt दिखता है। ऑडिट के लिए सभी SUID फ़ाइलें खोजने के लिए: find / -perm -4000 -type f 2>/dev/null।
10. umask क्या है?
umask एक मास्क है, जो नई फ़ाइलों और डायरेक्टरी से अधिकार हटाता है। बुनियादी अधिकार फ़ाइलों के लिए 666 और डायरेक्टरी के लिए 777 हैं, और umask उनमें से बिट घटाता है। आम umask 022 पर फ़ाइलें 644 और डायरेक्टरी 755 के साथ बनती हैं। मौजूदा मान umask कमांड से दिखता है।
11. यूज़र और पासवर्ड कहाँ रखे जाते हैं?
खाते /etc/passwd में होते हैं: नाम, UID, मुख्य ग्रुप का GID, होम डायरेक्टरी और शेल। पासवर्ड के हैश /etc/shadow में अलग रखे जाते हैं, जिसे केवल root पढ़ सकता है, ताकि साधारण यूज़र उन्हें ब्रूट-फ़ोर्स के लिए न ले सकें। ग्रुप /etc/group में हैं।
यूज़र की जानकारी के लिए id user और getent passwd user इस्तेमाल करें: दूसरा LDAP जैसे बाहरी स्रोत भी देखता है।
12. sudo कैसे काम करता है, और यह root से लॉगिन से बेहतर क्यों है?
sudo /etc/sudoers और /etc/sudoers.d/ के नियमों के अनुसार कोई कमांड दूसरे यूज़र (डिफ़ॉल्ट रूप से root) के नाम से चलाता है। यूज़र अपना पासवर्ड डालता है, root का नहीं, और हर कार्य लॉग में लिखा जाता है, जिसमें दिखता है कि किसने किया।
नियम सब कुछ की अनुमति दे सकता है (alena ALL=(ALL:ALL) ALL) या केवल कुछ कमांड की। sudoers बदलने के लिए visudo इस्तेमाल करें: सेव से पहले वह सिंटैक्स जाँचता है, और गलती से sudo बंद नहीं होता। Ubuntu में प्रशासनिक अधिकार sudo ग्रुप की सदस्यता से मिलते हैं, और RHEL जैसे सिस्टम में wheel ग्रुप से।
13. यूज़र को ग्रुप में कैसे जोड़ें, और बदलाव लागू क्यों नहीं हुए?
usermod -aG docker alena यूज़र को अतिरिक्त ग्रुप में जोड़ता है। -a फ़्लैग ज़रूरी है: उसके बिना -G पूरी ग्रुप सूची को बदल देगा।
बदलाव नए लॉगिन पर लागू होते हैं, क्योंकि मौजूदा सेशन पुरानी ग्रुप सूची रखता है। दोबारा लॉगिन करें, या newgrp docker से नए ग्रुप के साथ शेल खोलें। जाँच: id।
प्रोसेस
14. प्रोसेस और PID क्या हैं, और प्रोसेस कैसे देखें?
प्रोसेस एक चल रहा प्रोग्राम है, जिसका अपना एड्रेस स्पेस, खुली फ़ाइलें और PID पहचानकर्ता होता है। हर प्रोसेस का एक पैरेंट (PPID) होता है, और सबका पूर्वज PID 1 है। प्रोसेस की सूची ps aux और ps -ef से, ट्री pstree या ps -ef --forest से, और रियल टाइम में top और htop से दिखती है।
15. SIGTERM और SIGKILL में क्या अंतर है?
kill PID डिफ़ॉल्ट रूप से SIGTERM (15) भेजता है, यानी बंद होने का शिष्ट अनुरोध। प्रोसेस उसे पकड़ सकता है, कनेक्शन बंद कर सकता है, डेटा सेव कर सकता है और फिर बाहर आ सकता है। SIGKILL (9, kill -9) को पकड़ा नहीं जा सकता: कर्नल प्रोसेस को तुरंत, बिना सफ़ाई के बंद कर देता है।
सही क्रम है: पहले SIGTERM, और केवल तब SIGKILL, जब प्रोसेस जवाब न दे। एक और आम सिग्नल SIGHUP है: कई डेमन उसे पाकर कॉन्फ़िग दोबारा पढ़ते हैं।
16. ज़ॉम्बी प्रोसेस क्या है?
ज़ॉम्बी वह प्रोसेस है जो पूरा हो चुका है, पर उसके पैरेंट ने अब तक wait() कॉल से उसका एग्ज़िट कोड नहीं पढ़ा। वह लगभग कोई संसाधन नहीं लेता, पर प्रोसेस टेबल में उसकी प्रविष्टि रहती है। ps में उसकी स्थिति Z होती है।
ज़ॉम्बी को मारा नहीं जा सकता, क्योंकि वह पहले से मर चुका है। ज़रूरी है कि पैरेंट उसे «दफ़न» करे: पैरेंट प्रोग्राम ठीक करें, या पैरेंट को बंद करें, तब ज़ॉम्बी PID 1 को मिलता है, और वह उसे साफ़ कर देता है।
17. load average क्या दिखाता है?
uptime और top के तीन नंबर बताते हैं कि पिछले 1, 5 और 15 मिनट में चलने के लिए तैयार प्रोसेस की औसत संख्या कितनी थी। Linux में इसमें वे प्रोसेस भी गिने जाते हैं जो बाधित न होने वाली प्रतीक्षा (स्थिति D) में हैं, आमतौर पर डिस्क की प्रतीक्षा।
इस मान की तुलना CPU कोर की संख्या (nproc) से होती है: 4 कोर पर load 4 का मतलब पूरा लोड, 16 कोर पर एक-चौथाई। कम CPU उपयोग के साथ ऊँचा load इनपुट-आउटपुट की समस्या का संकेत है; इसे iostat या top में wa फ़ील्ड से जाँचा जाता है।
नेटवर्क
18. IP पते, रूट और खुले पोर्ट कैसे देखें?
इंटरफ़ेस के पते ip a से, और रूटिंग टेबल ip r से दिखती है। पुराने ifconfig और net-tools के netstat कई डिस्ट्रीब्यूशन में डिफ़ॉल्ट रूप से इंस्टॉल नहीं होते।
सुनने वाले पोर्ट और उन्हें खोलने वाले प्रोसेस ss -tlnp दिखाता है: t — TCP, l — केवल सुनने वाले, n — नाम में बदले बिना, p — प्रोसेस सहित। UDP के लिए ss -ulnp।
$ sudo ss -tlnp
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=812,fd=6))
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=640,fd=3))
19. सर्विस 127.0.0.1:8080 पर सुन रही है, क्या बाहर से जुड़ सकते हैं?
नहीं। पता 127.0.0.1 लूपबैक इंटरफ़ेस है, जो केवल उसी मशीन से पहुँचा जा सकता है। बाहरी कनेक्शन लेने के लिए सर्विस को बाहरी इंटरफ़ेस का पता, या 0.0.0.0 (सभी IPv4 पते) पर सुनना होगा। «पोर्ट खुला है, पर बाहर से काम नहीं करता» की यह आम वजह है, और फ़ायरवॉल भी एक कारण हो सकता है।
20. Linux होस्ट नाम को IP पते में कैसे बदलता है?
स्रोतों का क्रम /etc/nsswitch.conf में hosts: लाइन तय करती है, आमतौर पर पहले /etc/hosts फ़ाइल, फिर DNS। DNS सर्वरों के पते /etc/resolv.conf से आते हैं; systemd-resolved वाले सिस्टम में वहाँ लोकल पता 127.0.0.53 होता है, और असली सर्वर resolvectl status दिखाता है।
जाँच के लिए dig example.com या किसी ख़ास सर्वर से dig @1.1.1.1 example.com इस्तेमाल होता है। एक बारीकी: dig और nslookup सीधे DNS से पूछते हैं और /etc/hosts नहीं पढ़ते, जबकि getent hosts example.com वही रास्ता लेता है जो एप्लिकेशन लेते हैं।
21. TCP और UDP में क्या अंतर है?
TCP पहले कनेक्शन बनाता है (तीन-चरणीय हैंडशेक SYN, SYN-ACK, ACK), डिलीवरी और क्रम की गारंटी देता है, और खोए पैकेट दोबारा भेजता है। इस पर HTTP, SSH और ज़्यादातर डेटाबेस चलते हैं। UDP बिना कनेक्शन और बिना गारंटी के डेटाग्राम भेजता है, पर कम देरी के साथ: DNS अनुरोध, वीडियो कॉल और गेम इसका उपयोग करते हैं।
22. साइट नहीं खुल रही। कारण कैसे खोजेंगे?
परतों में चलें, नाम से एप्लिकेशन तक:
- क्या नाम रिज़ॉल्व होता है:
dig site.example, और क्या पता अपेक्षित पते से मेल खाता है। - क्या होस्ट पहुँच में है:
ping(हो सकता है बंद हो),tracerouteयाmtr। - क्या पोर्ट खुला है:
nc -zv host 443याcurl -v https://site.example। - सर्वर पर: चल रही है या नहीं सर्विस (
systemctl status nginx), सुन रही है या नहीं पोर्ट (ss -tlnp), फ़ायरवॉल तो नहीं रोक रहा (sudo nft list ruleset,sudo ufw status). - एप्लिकेशन के लॉग और सर्विस का
journalctl -u।
इंटरव्यूअर के लिए महत्वपूर्ण है क्रम से सोचना, किसी ख़ास यूटिलिटी की सूची नहीं।
23. TIME_WAIT स्थिति क्या है?
TCP कनेक्शन बंद होने के बाद जो पक्ष उसे पहले बंद करता है, वह सॉकेट कुछ समय TIME_WAIT में रखता है, ताकि देर से आए पुराने पैकेट उसी पते और पोर्ट वाले नए कनेक्शन में न घुस जाएँ। भारी लोड वाले सर्वर या क्लाइंट पर बहुत सारे TIME_WAIT सामान्य हैं, जो कई छोटे कनेक्शन बनाते हैं। गिनती का कमांड: ss -tan state time-wait | wc -l।
24. /etc/hosts और DNS में क्या अंतर है, और पहला कब चाहिए?
/etc/hosts एक मशीन पर स्थिर तालिका है «पता — नाम»। मानक nsswitch के साथ यह DNS से पहले जाँची जाती है, और टेस्ट के लिए सुविधाजनक है: उदाहरण के लिए DNS रिकॉर्ड बदलने से पहले किसी डोमेन को नए सर्वर पर भेजना। DNS वितरित प्रणाली है, जिसके उत्तर सभी क्लाइंट देखते हैं। /etc/hosts की गलती अक्सर उस स्थिति का कारण होती है, जब «मेरे यहाँ साइट खुलती है, सबके यहाँ नहीं»।
निष्कर्ष
Linux के इंटरव्यू के सामान्य सवाल तीन बातें परखते हैं: क्या आप सिस्टम का मॉडल समझते हैं (inode, अधिकार, प्रोसेस, बूट), क्या आप डायग्नोस्टिक टूल जानते हैं (ss, dig, journalctl, lsof), और क्या आप कारण को चरणों में ढूँढ सकते हैं। कमांड और उदाहरणों के साथ जवाब दें। फ़ाइल सिस्टम, अधिकार और नेटवर्क हमारे लिनक्स कोर्स में व्यवहार में विस्तार से सिखाए जाते हैं।
अक्सर पूछे जाने वाले प्रश्न
junior DevOps के इंटरव्यू में Linux से क्या पूछा जाता है?
आमतौर पर बुनियादी बातें: नेविगेशन और अधिकार, प्रोसेस और systemctl, लॉग देखना, नेटवर्क कमांड ip, ss, dig और curl, और bash स्क्रिप्ट की मूल बातें। अक्सर कोई व्यावहारिक काम दिया जाता है, जैसे «पता लगाएँ कि डिस्क कौन भर रहा है»।
क्या कमांड के सारे फ़्लैग याद रखना ज़रूरी है?
नहीं, यह कहना ठीक है कि फ़्लैग आप man से देख लेंगे। ज़्यादा ज़रूरी है समझना कि कौन-सा टूल कौन-सी समस्या हल करता है और उसके आउटपुट का क्या मतलब है।
इंटरव्यू की व्यावहारिक तैयारी कैसे करें?
एक वर्चुअल मशीन लें और असली काम करें: वेब सर्वर को systemd सर्विस बनाएँ, SSH कुंजी से लॉगिन सेट करें, फ़ायरवॉल लगाएँ, और पोर्ट के आधार पर प्रोसेस खोजें। अपने कदम ज़ोर से समझाना भी तैयारी का हिस्सा है।
यह विषय “Linux: с нуля до уверенного администрирования” कोर्स में अभ्यास के साथ विस्तार से समझाया गया है।
- Как устроена файловая система Linux: от корня до загрузки ядра
- Пользователи, права доступа и sudo: кто и что может делать в системе
- Сеть в Linux: от IP-адреса до сокета и DNS