Linux म्हणजे काय? History, Kernel आणि Basic File Commands
जवळजवळ प्रत्येक cloud interview मध्ये दोन प्रश्न येतात: "Linux नेमकं काय आहे?" आणि "Companies cloud कडे का जातात?" हा chapter दोन्हींची नीट उत्तरं देतो. Linux बाजूला तुम्ही UNIX, GNU आणि Linux kernel एका timeline वर ठेवाल, "Linux is a kernel" हे नेमकं उत्तर का ते बघाल, Linux आणि Windows चे layers compare कराल, आणि मग files मध्ये खोल जाल: stat दाखवतो ते तीन timestamps, touch खरं काय बदलतो, आणि cat आणि त्याचा आरसा tac चे उपयोग. Cloud बाजूला cloud म्हणजे काय, Capex आणि Opex मधला फरक शिकाल, आणि तीन दिवसांच्या sale चं server गणित सोडवाल. शेवटी interviews मध्ये सगळ्यात जास्त विचारले जाणारे AWS आणि DevOps topics.
या class मध्ये काय शिकणार
- Operating system काय करते, एका चित्रात
- UNIX ते Linux timeline, अनेकदा चुकीच्या सांगितल्या जाणाऱ्या facts सह
- Kernel vs operating system: GNU tools + Linux kernel = distribution
- Companies Linux का वापरतात, आणि Linux ची security खरी कुठून येते
- Linux server आणि Windows desktop चे layers: kernel, shell आणि GUI
- Windows चे शब्द आणि त्यांचे Linux शब्द
- तीन timestamps (Access, Modify, Change) आणि ते
statने वाचणं - आधीच्या file वर
touchकाय बदलतो, आणि Change set का करता येत नाही - वाचणं, बनवणं, append, जोडणं आणि नंबर देणं यासाठी
cat, आणिtac - Cloud म्हणजे काय, आणि Capex vs Opex
- तीन दिवसांच्या sale चं server गणित, on-premises vs cloud
- Cloud providers, आणि interviews मध्ये जास्त विचारले जाणारे AWS आणि DevOps topics
1. Operating system काय करते
का: तुम्ही type केलेली प्रत्येक command OS ला hardware वर तुमच्यासाठी काहीतरी करायला सांगते. हा layer समजला की प्रत्येक server job साठी Linux का महत्त्वाचं ते कळतं.
काय: Operating system (OS) म्हणजे तुम्ही, तुमचे apps आणि hardware (CPU, RAM, disk, network) यांच्या मधलं system software.
- तुम्ही एखादा app उघडता, उदा. word processor.
- OS disk वर program शोधते, त्याला RAM आणि CPU time देते, आणि तो सुरू करते.
- App file save करतो तेव्हा तो OS ला सांगतो, आणि OS disk वर लिहिते.
- नेहमीच्या operating systems: Windows, Linux, macOS, Android आणि iOS.
Classroom line
Don't copy a ChatGPT definition; Linux is an OS.
Class मधलं वाक्य
Linux काय आहे विचारलं तर ChatGPT ची definition नाही मारायची, ती operating system आहे.
Classroom line – हिंदी
"Linux kya hai bolta ja ke ChatGPT me definition nahi marna hai, operating system hai."
OS रोज करत असलेलं files आणि folders चं काम, आणि त्याच्या Linux commands, Amazon EC2 म्हणजे काय आणि ते कसं काम करतं: Linux म्हणजे काय मध्ये आहेत.
2. UNIX ते Linux: timeline
का: Interviewers ना history चे प्रश्न आवडतात, आणि गोष्टीची अनेक प्रसिद्ध versions चुकीची आहेत. क्रम एकदा, बरोबर facts सह, शिकून घ्या.
Classroom line
How was Linux born?
Class मधलं वाक्य
Linux कसा जन्माला आला?
Classroom line – हिंदी
"Linux kaisa paida hua? Matlab kaisa born hua."
Figure 1. 1969 Bell Labs मध्ये UNIX, 1970s मध्ये university licences आणि commercial UNIX, 1983 GNU, 1987 MINIX, 1991 Linux kernel, 1992 GPL आणि पहिली distributions, 2001 Darwin वर Mac OS X, आणि आजची distributions.
महत्त्वाच्या facts:
- 1969: Ken Thompson आणि Dennis Ritchie नी AT&T Bell Labs मध्ये UNIX बनवलं. Ritchie नी C language पण बनवली, आणि UNIX परत C मध्ये लिहिलं गेलं, त्यामुळे ते नवीन machines वर नेणं सोपं झालं.
- 1970s: UNIX licence वर मिळायचं, universities ना स्वस्तात; open source म्हणून फुकट दिलं नव्हतं. Companies नी स्वतःची commercial versions बनवली: IBM AIX, Sun Solaris आणि HP-UX.
- 1983: Richard Stallman नी free UNIX-like system साठी GNU project सुरू केला. 1991 पर्यंत त्यात shell, compiler आणि मूळ tools होते, पण पूर्ण झालेला kernel नव्हता.
- 1987: Amsterdam मधले professor Andrew Tanenbaum नी MINIX प्रकाशित केली, त्यांच्या textbook सोबत येणारी शिकवण्यासाठीची छोटी OS. Linus Torvalds नी ती पुस्तकातून शिकली; Tanenbaum त्याचे शिक्षक नव्हते.
- 1991: University of Helsinki मधला student Torvalds नी शून्यापासून नवीन kernel लिहिला. Linux UNIX-like आहे: UNIX सारखा वागतो पण त्यात UNIX चा code नाही.
- 2001: Mac OS X आला, Darwin (BSD आणि NeXTSTEP) वर बनलेला. आजचा macOS certified UNIX आहे; तो Linux मधून आलेला नाही.
Classroom line
Dennis Ritchie, the father of C.
Class मधलं वाक्य
Dennis Ritchie, ज्याच्याबद्दल C programming मध्ये ऐकलंय, त्याचा जनक.
Classroom line – हिंदी
"Dennis Ritchie, jo C programming sune ho, uska pitamaha."
"Linux" नावाची गोष्ट, GPL licence आणि कुठली distribution कोण बनवतं हे Amazon EC2 म्हणजे काय आणि ते कसं काम करतं: distributions आणि Linux चा जन्म मध्ये आहे. लक्षात ठेवायचा एक बदल: CentOS Linux बंद झालंय; CentOS Stream, Rocky Linux आणि AlmaLinux चालू आहेत.
3. Kernel vs operating system: GNU + Linux
का: रोजच्या बोलण्यात "Linux is an operating system" चालतं. Interview मधलं नेमकं उत्तर आहे: Linux is a kernel.
काय:
- Kernel हा OS चा एक भाग आहे: memory, processes, files, drivers आणि network सांभाळणारा आणि hardware शी बोलणारा गाभा.
- तुम्ही रोज लिहिता त्या
ls,cp,cat,touch,statआणिtacसारख्या commands, आणिbashshell, बहुतेक GNU कडून येतात. - GNU tools + Linux kernel + installer आणि package manager = distribution: Ubuntu, Debian, RHEL, Fedora, Amazon Linux, Kali.
- म्हणूनच पूर्ण system ला कधी कधी GNU/Linux म्हणतात.
- Business model: code फुकट आहे. Red Hat सारख्या companies subscriptions मधून कमावतात: support, updates आणि certification. Canonical Ubuntu साठी तसंच करते.
Classroom line
The kernel is one part of the OS.
Class मधलं वाक्य
Kernel म्हणजे काय? तो Operating System चा फक्त एक भाग आहे.
Classroom line – हिंदी
"Kernel kya hai? It is just a component of Operating System."
Figure 2. GNU tools (bash, gcc, coreutils) + Linux kernel + extras (installer, package manager, defaults) = Ubuntu, RHEL किंवा Amazon Linux सारखी distribution.
तुम्ही command लिहिल्यावर kernel step by step काय करतो ते Amazon EC2 म्हणजे काय आणि ते कसं काम करतं: kernel मध्ये दाखवलंय.
4. Companies Linux का वापरतात
का: Servers साठी OS निवडणं हा business निर्णय. याच कारणांमुळे तुम्ही हाताळाल तो जवळजवळ प्रत्येक cloud server Linux चालवतो.
काय: Cloud मधले बहुतेक servers Linux वर चालतात, या कारणांनी:
- Free: प्रत्येक server ला licence fee नाही. शेकडो servers असतील तर खूप बचत, आणि unlicensed copies वापरण्याचा धोका नाही.
- Open source: कोणीही code वाचू आणि बदलू शकतो, म्हणून bugs अनेक लोक शोधतात आणि दुरुस्त करतात, आणि companies तो tune करू शकतात.
- Design मधूनच secure: प्रत्येक file ला owner आणि permissions असतात, normal users system files बदलू शकत नाहीत, आणि admin कामाला
sudoलागतो. Normal user ने चालवलेला harmful program त्या user च्या files बिघडवू शकतो, पण system नाही. तरीही Linux ला updates आणि काळजी लागते; तो immune नाही. - Lightweight: servers desktop शिवाय चालतात, म्हणून कमी RAM आणि CPU लागतो. EC2 वर Amazon Linux आणि Ubuntu by default 8 GiB root volume ने सुरू होतात, Windows Server 30 GiB ने.
- Multi-user आणि multitasking: अनेक users login करू शकतात, आणि अनेक programs एकाच वेळी चालतात.
- Choice: वेगवेगळ्या गरजांसाठी अनेक distributions, EC2 वरच्या Amazon Linux पासून security testing साठीच्या Kali पर्यंत.
- Automation: सगळं commands ने होतं, म्हणून ते script करून हजार servers वर परत परत करता येतं.
Classroom line
When you pick an AMI, how much disk do Ubuntu/Linux get by default?
Class मधलं वाक्य
तुम्ही AMI select करता तेव्हा, by default Ubuntu आणि Linux ला volume किती देतात?
Classroom line – हिंदी
"Aap jab AMI select karte hain, by default Ubuntu aur Linux mein aapko volume kitna dete hai?"
5. Linux server आणि Windows desktop: layers
का: Layers बाजूबाजूला बघितले की server काय वगळतो (desktop नाही) आणि त्याला laptop पेक्षा कमी resources का लागतात ते दिसतं.
काय:
- Linux server: hardware, मग kernel, मग shell, मग तुम्ही. तुम्ही terminal मध्ये command लिहिता; shell ती वाचतो आणि kernel ला सांगतो; kernel hardware चालवतो.
- Windows desktop: hardware, मग Windows NT kernel, मग system services आणि shell, मग built-in GUI, मग तुम्ही. तुमचे clicks आधी GUI मधून जातात.
- दोघांना kernel असतो. फरक असा की Windows मध्ये GUI built in असतो, तर Linux server वर बहुतेक GUI नसतोच. Windows मध्ये पण command lines आहेत (Command Prompt आणि PowerShell).
- Shell म्हणजे तुमच्या commands घेणारा program, Linux वर बहुतेक
bash. Shell scripting म्हणजे commands एका file मध्ये save करून एकत्र चालवणं.
Classroom line
Shell scripting is a way to talk to the terminal.
Class मधलं वाक्य
Shell scripting, आपल्या terminal शी बोलण्याचा एक मार्ग.
Classroom line – हिंदी
"Shell scripting, hamare terminal ke sath baat karne ka ek tarika."
Figure 3. Linux server मध्ये hardware, kernel, shell आणि user; Windows desktop मध्ये shell आणि user च्या मध्ये built-in GUI जास्त. दोघांना kernel असतो.
6. Windows चे शब्द आणि Linux चे शब्द
का: Interviewers आणि teammates Linux चे शब्द वापरतात. "directory" आणि "root" बरोबर वापरले की तुम्ही servers वर काम केलंय हे दिसतं.
कामावर आणि interviews मध्ये Linux चे शब्द वापरा:
| Windows वर | Linux वर |
|---|---|
| Folder | Directory |
C:\ |
/ (root directory) |
| Administrator | root (किंवा sudo असलेला user) |
| Software, program | Package |
| Setup file मधून install | sudo yum install name (package manager) |
| Command Prompt, PowerShell | Terminal, shell (bash) |
| Task Manager | top, ps |
Classroom line
To sound technical, use technical words.
Class मधलं वाक्य
Technical वाटायचं असेल तर technical शब्द वापरा.
Classroom line – हिंदी
"Technical sound karna hai toh technical word use karo."
7. File बनवायचे पाच मार्ग
का: प्रत्येक पद्धत वेगळ्या कामासाठी: रिकामा placeholder, पटकन note, लांब edit. योग्य पद्धत निवडली की रोज वेळ वाचतो.
touch notes.txt
cat > notes.txt
echo "first line" > notes.txt
nano notes.txt
vi notes.txt
touchरिकामी file बनवतो, किंवा एकदम अनेक:touch a.txt b.txt c.txt.cat >रिकाम्या ओळीवर Ctrl+D येईपर्यंत तुम्ही लिहिलेलं घेतो.echo "text" > fileएक ओळ लिहितो;>>ती शेवटी जोडतो.nanoआणिvitext लिहायला आणि बदलायला editors आहेत.
प्रत्येकाच्या basics, आणि > चा trap, Linux File Commands: touch, cat, nano आणि vi Tutorial मध्ये आहेत. या chapter चा पुढचा भाग त्या chapter मध्ये नसलेलं सांगतो: timestamps, आधीच्या file वर touch, आणि cat चे आणखी उपयोग.
8. तीन timestamps, आणि stat
का: Server वर काही बिघडलं की पहिले प्रश्न असतात "कुठली file बदलली, आणि कधी?" Timestamps त्यांची उत्तरं देतात.
काय: प्रत्येक file ला metadata असतो, file बद्दलचा data: size, owner, permissions आणि वेळा. stat हे सगळं दाखवतो.
- Access (atime): content शेवटचा कधी वाचला.
- Modify (mtime): content शेवटचा कधी बदलला.
- Change (ctime): content किंवा metadata शेवटचा कधी बदलला: permissions, owner, नाव, size.
- Birth: file कधी बनली, filesystem नोंदवत असेल तर. काही systems इथे
-दाखवतात.
Classroom line
Metadata means data about data.
Class मधलं वाक्य
Metadata म्हणजे काय? Data बद्दलचा data.
Classroom line – हिंदी
"Metadata matlab kya? Data of data."
Figure 4. वाचलं की Access बदलतो, content बदलला की Modify, content किंवा metadata बदलला की Change, file बनली की Birth. stat ते सगळे दाखवतो.
कसं:
touch notes.txt
stat notes.txt
वरच्या ओळी size, inode, permissions आणि owner दाखवतात. शेवटच्या चार ओळी म्हणजे वेळा:
Access: 2025-03-01 10:00:00.000000000 +0000
Modify: 2025-03-01 10:00:00.000000000 +0000
Change: 2025-03-01 10:00:00.000000000 +0000
Birth: 2025-03-01 10:00:00.000000000 +0000
नवीन रिकाम्या file च्या चारही वेळा सारख्या असतात. ls -l फक्त Modify दाखवतो; ls -lu Access आणि ls -lc Change दाखवतो.
एक detail: Linux disks नेहमी relatime ने mount करतो. मग वाचनाने Access तेव्हाच बदलतो जेव्हा तो Modify किंवा Change पेक्षा जुना असेल, किंवा एका दिवसापेक्षा जुना असेल. म्हणून file लागोपाठ दोनदा वाचली तरी Access एकदाच बदलतो.
9. आधीच्या file वर touch काय करतो
का: आधीच असलेल्या file वर touch मुद्दाम वापरतात, उदाहरणार्थ file नुकतीच बदलली असं दाखवायला, म्हणजे backup किंवा build tool ती उचलतो.
काय: आधीच असलेल्या file वर touch content काहीच बदलत नाही. तो Access आणि Modify आत्ताचे करतो. Change तुम्ही set करू शकत नाही: file चा metadata बदलला की kernel तो आपोआप बदलतो, आणि बाकीच्या दोन वेळा set करणं हा पण असाच बदल आहे.
Worked example: प्रत्येक ओळ आधीच्या ओळीनंतर काही मिनिटांनी चालते:
touch a.txt
echo hi > a.txt
cat a.txt
chmod 600 a.txt
touch a.txt
touch -d '2025-01-01 09:00' a.txt
- 10:00 ला
touch a.txt: नवीन रिकामी file; Access, Modify आणि Change तिन्ही 10:00. - 10:05 ला
echo hi > a.txt: नवीन content, म्हणून Modify आणि Change 10:05 होतात; Access 10:00 च राहतो. - 10:10 ला
cat a.txt: वाचन, म्हणून फक्त Access 10:10 होतो. - 10:15 ला
chmod 600 a.txt: फक्त metadata, म्हणून फक्त Change 10:15 होतो. - 10:20 ला
touch a.txt: Access आणि Modify 10:20 होतात, आणि Change मागोमाग 10:20. - 10:25 ला
touch -d '2025-01-01 09:00' a.txt: Access आणि Modify ती जुनी तारीख दाखवतात, पण Change खरी वेळ, 10:25, दाखवतो.
Figure 5. Animation: touch, echo, cat, chmod, परत touch आणि touch -d, आणि प्रत्येक जण Access, Modify आणि Change पैकी कुठला बदलतो. फक्त Change नेहमी खरी वेळ दाखवतो.
प्रत्येक step नंतर स्वतः बघायला stat a.txt चालवा. touch -a फक्त Access बदलतो, touch -m फक्त Modify, आणि दोन्हींच्या मागोमाग Change. म्हणूनच तपासात Change उपयोगी असतो: कोणी touch -d ने Access आणि Modify खोटे करू शकतो, पण Change नाही.
10. cat आणि tac
का: cat files एका step मध्ये जोडतो आणि वाचतो, आणि tac log सगळ्यात नवीन ओळीपासून वाचतो, जिथे ताजा error असतो.
काय: cat (concatenate चं छोटं रूप) चे वाचण्यापेक्षा जास्त उपयोग आहेत:
- वाचा:
cat n.txtfile दाखवतो. - बनवा:
cat > n.txt, ओळी लिहा, मग रिकाम्या ओळीवर Ctrl+D. - Append:
cat >> n.txtशेवटी ओळी जोडतो. - Concatenate (जोडा):
cat a.txt n.txt > all.txtआधीa.txtच्या ओळी, मगn.txtच्या,all.txtमध्ये लिहितो. नाव इथूनच आलंय. - ओळींना नंबर:
cat -n n.txt. - उलटं:
tac n.txtओळी शेवटच्या पासून पहिल्या पर्यंत दाखवतो. नाव म्हणजेcatउलट्या spelling ने.
Worked example:
printf 'one\ntwo\nthree\n' > n.txt
cat n.txt
tac n.txt
echo four >> n.txt
tac n.txt
cat n.txtone,two,threeदाखवतो.tac n.txtthree,two,oneदाखवतो.echo four >> n.txtनंतरtacfourने सुरू होतो.- Logs साठी
tacकामाचा, कारण तिथे नवीन ओळी खाली असतात.
Classroom line
Interviewers ask how to view content in reverse order.
Class मधलं वाक्य
Interview वाले विचारतात, content reverse order मध्ये कसा check करू शकतो?
Classroom line – हिंदी
"Interview wale puchte hai, content reverse order me kaise check kar sakte hai?"
Figure 6. cat वाचतो, Ctrl+D ने बनवतो, >> ने append करतो, files जोडून एक करतो आणि -n ने ओळींना नंबर देतो; tac ओळी उलट्या दाखवतो. मधली ओळ बदलायला nano किंवा vi वापरा.
File च्या मधली ओळ cat बदलू शकत नाही; त्यासाठी nano किंवा vi वापरा.
11. Cloud म्हणजे काय
का: या course मधलं सगळं दुसऱ्याच्या servers वर चालतं. "cloud" म्हणजे काय हे माहीत असणं हा पुढच्या प्रत्येक AWS service चा पाया.
काय: Cloud computing म्हणजे दुसऱ्याच्या data centre मधले servers, storage, databases आणि networks, internet वरून, लागेल तेव्हा वापरणं, आणि जेवढं वापरलं तेवढेच पैसे देणं.
स्वतःचे servers on-premises चालवायला company ला काय लागतं:
- Servers आणि storage.
- Firewall, gateway, switches आणि routers.
- Internet links, electricity, backup power आणि air conditioning.
- Server room, आणि ती दिवस-रात्र चालवायला staff.
On-premises आणि cloud ची तुलना करणारी table, आणि IaaS, PaaS आणि SaaS models, 5.1 Why EC2? Cloud vs on-premises मध्ये आहेत.
12. Capex vs Opex
का: पैशाच्या या model मुळेच companies cloud कडे जातात. हे समजावू शकणारे engineers managers ची भाषा बोलतात.
काय:
- Capex (capital expenditure): company वर्षानुवर्षं वापरण्यासाठी विकत घेते त्या गोष्टींसाठी आधीच भरलेले पैसे: servers, storage, firewall, switches, routers, racks, UPS, AC units, server room.
- Opex (operating expenditure): दर महिन्याला भरायचा चालू खर्च: electricity, cooling, internet, staff salaries, maintenance. Cloud bill पण Opex च आहे.
- On-premises मध्ये पहिला visitor येण्याआधीच मोठा Capex लागतो, आणि दर महिन्याला Opex.
- Cloud मध्ये Capex जवळजवळ लागत नाही: तुम्ही capacity भाड्याने घेता आणि pay as you go, म्हणून बहुतेक खर्च वापरानुसार कमी-जास्त होणारा Opex बनतो.
Figure 7. Capex म्हणजे मालकीच्या hardware ची आधीची खरेदी; Opex म्हणजे दर महिन्याचा चालू खर्च. On-premises म्हणजे मोठा Capex अधिक Opex; cloud म्हणजे Capex जवळजवळ नाही आणि बहुतेक Opex.
13. Worked example: तीन दिवसांच्या sale चं server गणित
का: हे एकच example दाखवतं की online shops ना cloud का आवडतो. एखादा मोठा online store डोळ्यासमोर आणा, उदा. Big Billion Days sale मधलं Flipkart. खालचे आकडे उदाहरणासाठी आहेत.
परिस्थिती:
- नेहमीच्या दिवशी 1 crore visitors site वापरतात, आणि 50 servers त्यांना सांभाळतात.
- तीन दिवसांच्या sale मध्ये रोज 10 crore visitors येतात. त्याला साधारण 500 servers लागतात, दहा पट जास्त.
On-premises:
- Site peak मध्ये टिकायला हवी, म्हणून company 500 servers विकत घेते. हा मोठा Capex.
- ती वर्षभर त्यांची मालक असते: 500 × 365 = 182,500 server-days.
- गरज फक्त 50 × 362 + 500 × 3 = 19,600 server-days ची. भरलेल्या पैशांपैकी साधारण 11% वापरलं जातं; 450 servers 362 दिवस रिकामे बसतात, तरीही power, cooling आणि जागा वापरत.
Cloud:
- वर्षभर 50 servers चालवा.
- Sale आधी आणखी 450 टाका; तीन दिवसांनंतर ते release करा.
- 50 × 365 + 450 × 3 = 19,600 server-days चे पैसे द्या, 500 मालकीच्या पेक्षा साधारण 9 पट कमी.
Figure 8. On-premises मध्ये 3 दिवसांच्या peak साठी 500 servers वर्षभर मालकीचे आणि capacity चा साधारण 11% वापर; cloud मध्ये 450 जास्त servers 3 दिवस भाड्याने आणि मग release, म्हणून 182,500 ऐवजी 19,600 server-days चे पैसे.
हे example वापरतं ती cloud ची features:
- On-demand self-service: vendor कडे order न देता तुम्ही स्वतः काही मिनिटांत servers सुरू करता.
- Elasticity: peak साठी capacity वाढते आणि नंतर कमी होते. AWS वर Auto Scaling हे तुमच्यासाठी करतं.
- Resource pooling: provider hardware चा मोठा pool अनेक customers मध्ये वाटतो, म्हणून 450 servers भाड्याने नेहमी मिळतात.
- Pay-as-you-go: जितके तास चालवले तितकेच पैसे.
14. Cloud providers
का: Job posts विशिष्ट clouds ची नावं देतात. मुख्य providers कोण हे माहीत असलं की त्या posts वाचता येतात आणि पुढे काय शिकायचं ते ठरवता येतं.
- AWS (Amazon Web Services) 2006 मध्ये S3 आणि मग EC2 सह public साठी उघडलं. पहिले असल्याचा फायदा होऊन ते सगळ्यात मोठा provider झालं, आणि तो Amazon चा सगळ्यात जास्त नफा देणारा भाग आहे.
- Microsoft Azure आणि Google Cloud (GCP) हे पुढचे दोन मोठे.
- इतर: Oracle Cloud, IBM Cloud आणि Alibaba Cloud.
- कल्पना सगळीकडे त्याच: servers, storage, networks, users आणि permissions. आधी AWS नीट शिका, मग बाकीचे सोपे जातात.
15. AWS आणि DevOps interviews मध्ये जास्त काय विचारतात
का: कोणते topics सगळ्यात जास्त विचारले जातात हे माहीत असलं की practice चा वेळ योग्य ठिकाणी देता येतो.
हा interview अनुभवावरून काढलेला अंदाज आहे, नियम नाही. प्रत्येक company वेगळी असते.
AWS:
- IAM: users, groups, roles आणि policies.
- S3: buckets, storage classes आणि access.
- EC2 आणि security groups: inbound आणि outbound rules.
- VPC: NACL आणि security group मधला फरक जवळजवळ सगळीकडे विचारतात.
- Load Balancer + Auto Scaling: scenario questions, उदा. "रात्री 9 ला traffic दुप्पट होतो; काय set up कराल?"
DevOps, साधारण 10 प्रश्नांच्या set मध्ये:
- साधारण 3-4 Docker आणि Kubernetes वर.
- साधारण 1-2 Terraform आणि Jenkins वर.
- साधारण 1-2 Git, GitHub Actions आणि Ansible वर.
- बाकी Linux, networking आणि खऱ्या scenarios वर.
Classroom line
Everyone asks NACL vs SG in interviews.
Class मधलं वाक्य
NACL आणि security group मधला difference, सगळे interview मध्ये हेच विचारतात.
Classroom line – हिंदी
"Difference between NACL and security group, sab log interview me yahi poochte hai."
Figure 9. अंदाज: AWS interviews मध्ये IAM, S3, EC2, VPC (NACL vs security group) आणि Load Balancer + Auto Scaling scenarios जास्त; DevOps interviews मध्ये सगळ्यात जास्त भर Docker आणि Kubernetes वर, मग Terraform, Jenkins, Git आणि Ansible.
तयारी कशी करायची:
- बहुतेक वेळ सोप्या tools वर घालवून अवघड tools सोडू नका. Kubernetes शिकायला जास्त वेळ लागतो, आणि तो जास्त विचारला जातो.
- आधी प्रत्येक tool वेगळा शिका.
- मग ते जोडणारे एक-दोन end-to-end projects करा: Git मध्ये code, Jenkins किंवा GitHub Actions pipeline, Docker image, Kubernetes वर deployment, Terraform ने infrastructure. Interview मध्ये स्वतः बनवलेला project एकदम अनेक प्रश्नांची उत्तरं देतो.
- सारख्या दिसणाऱ्या गोष्टींमधला फरक माहीत ठेवा, उदा. NACL आणि security group, किंवा Docker आणि Kubernetes. त्यांचा गोंधळ म्हणजे चहात sugar ऐवजी salt टाकण्यासारखं.
Classroom line
People over-study easy Git and skip tough Kubernetes.
Class मधलं वाक्य
Git सोपा वाटतो म्हणून त्याच्यावर जास्त वाचतात, आणि Kubernetes अवघड म्हणून सोडून देतात.
Classroom line – हिंदी
"Git easy lagta hai toh uske upar zyada padhte hai, aur Kubernetes tough hai bolke chhod dete hai."
Classroom line
After all tools, do one or two end-to-end projects.
Class मधलं वाक्य
सगळे tools वाचल्यानंतर एक-दोन project end-to-end करायचे.
Classroom line – हिंदी
"Sab tools padhne ke baad ek do project end-to-end karna hai."
Classroom line
Not knowing salt from sugar, you put salt in tea.
Class मधलं वाक्य
Sugar आणि salt मधला difference माहीत नसेल तर चहात sugar ऐवजी salt टाकता.
Classroom line – हिंदी
"Sugar aur salt ka difference pata nahi toh chai me sugar ki jagah salt dal dete ho."
16. काही चुकीचं दिसलं तर
का: Timestamps नेहमी अपेक्षेप्रमाणे बदलत नाहीत. या notes मुळे stat बिघडलाय असं वाटत नाही.
catनंतर Access बदलला नाही:relatimeकाम करतंय; Access तेव्हाच बदलतो जेव्हा तो Modify किंवा Change पेक्षा जुना असेल, किंवा एका दिवसापेक्षा जुना असेल.touch -dने Change ची वेळ बदलली नाही: Change set करता येत नाही; metadata खरा कधी बदलला तेच तो नेहमी दाखवतो.statBirth: -दाखवतो: हा filesystem किंवा kernel creation time नोंदवत नाही. बाकीच्या तीन वापरा.cat > fileने file रिकामी केली: एक>content बदलून टाकतो; जोडायला>>वापरा.ls -lstatच्या Access पेक्षा वेगळी वेळ दाखवतो:ls -lModify दाखवतो. Access साठीls -luआणि Change साठीls -lcवापरा.- मोठ्या file वर
catscreen भरून टाकतो:less file,tail file, किंवाtac file | headवापरा.
Ravindra Bagale's Tip
Server गडबड करत असेल तर बाकी काहीही आधी विचारा "काय बदललं, आणि कधी?" संशयित config file वर stat एका ओळीत Modify आणि Change देतो, आणि Change touch ने खोटा करता येत नाही. त्याला folder मधल्या ls -lt ची जोड द्या, नवीन आधी, आणि बऱ्याचदा एका मिनिटात कारण सापडतं.
17. पूर्ण class एका page वर
- OS apps आणि hardware च्या मध्ये असते. Linux, Windows, macOS, Android आणि iOS या operating systems आहेत.
- UNIX 1969 मध्ये Bell Labs मध्ये जन्मलं आणि licence वर मिळायचं; GNU 1983 मध्ये सुरू झालं; Torvalds नी 1991 मध्ये शून्यापासून Linux kernel लिहिला. MINIX ही Tanenbaum यांची शिकवण्यासाठीची OS, आणि macOS Darwin (BSD) वर बनलेला.
- Linux म्हणजे kernel; GNU tools + kernel + extras मिळून distribution. Companies code साठी नाही, support साठी पैसे देतात.
- Linux free, open source, lightweight (EC2 वर Windows Server च्या 30 GiB विरुद्ध 8 GiB default root volume) आणि users, permissions आणि
sudoमुळे secure आहे. - Linux server: hardware, kernel, shell, user. Windows desktop मध्ये built-in GUI जास्त; त्यालाही kernel असतो.
- Directory, root, package, terminal: Linux चे शब्द वापरा.
- Files
touch,cat >,echo >,nanoआणिviने बनवता येतात. statAccess (वाचन), Modify (content), Change (content किंवा metadata) आणि Birth दाखवतो.- आधीच्या file वर
touchAccess आणि Modify आत्ताचे करतो; Change आपोआप मागोमाग येतो आणि कधीच set करता येत नाही. catवाचतो, बनवतो, append करतो, जोडतो आणि नंबर देतो;tacओळी उलट्या दाखवतो.- Cloud = दुसऱ्याचं data centre, internet वरून, लागेल तेव्हा, pay-as-you-go.
- Capex = hardware ची आधीची खरेदी; Opex = चालू खर्च. Cloud बहुतेक खर्च Opex बनवतो.
- तीन दिवसांच्या peak साठी 500 servers मालकीचे म्हणजे 182,500 server-days; जास्तीचे 450 भाड्याने म्हणजे 19,600.
- AWS, Azure आणि GCP आघाडीवर. Interview चा अंदाज: NACL vs security group, Load Balancer + Auto Scaling, Docker आणि Kubernetes; मग end-to-end projects करा.
18. Hands-on lab: files बनवा आणि त्यांचे timestamps वाचा
हा lab का. Server वर काही बिघडलं की पहिला प्रश्न: "काय बदललं, आणि कधी?". हा lab वेगवेगळ्या पद्धतीने files बनवतो आणि तीन timestamps बदलताना बघतो.
- तीन पद्धतीने files बनवा
- Command:
mkdir -p ~/ts && cd ~/ts && touch a.txt && echo "first line" > n.txt && cat > c.txt - काय दिसेल: Cursor थांबतो;
hellotype करा, Enter, मग Ctrl+D. - Check करा:
ls -lमध्येa.txt(size 0),c.txtआणिn.txtदिसतात. - का: रिकाम्या file साठी
touch, एका ओळीसाठीecho >, editor न उघडता काही ओळींसाठीcat >.
- Command:
- Timestamps वाचा
- Command:
stat n.txt - काय दिसेल:
Access:,Modify:,Change:आणिBirth:ओळी, सगळ्या जवळजवळ एकाच वेळेच्या. - Check करा: काही filesystems वर
Birth:-दाखवू शकतो; ते normal आहे. - का: नवीन file चे सगळे times सारखे असतात. पुढची प्रत्येक step त्यातले काही बदलते, आणि
statकोणते ते दाखवतो.
- Command:
- Content बदला
- Command:
sleep 2 && echo "second line" >> n.txt && stat n.txt - काय दिसेल:
Modify:आणिChange:हेAccess:पेक्षा नवीन. - Check करा:
cat n.txtदोन ओळी दाखवतो. - का: लिहिल्याने content (Modify) आणि file चा size, म्हणजे metadata (Change), बदलतो. 2 seconds थांबल्याने फरक दिसतो.
- Command:
- फक्त permissions बदला
- Command:
sleep 2 && chmod 600 n.txt && stat n.txt - काय दिसेल: फक्त
Change:पुढे गेला;Modify:तसाच राहिला. - Check करा:
statमध्येAccess: (0600/-rw-------)पण दिसतं. - का:
chmodcontent नाही, metadata बदलतो. Modify आणि Change मधला फरक हाच.
- Command:
- आधीच असलेल्या file ला touch करा
- Command:
sleep 2 && touch n.txt && stat n.txt - काय दिसेल:
Access:,Modify:आणिChange:तिन्ही नवीन time दाखवतात. - Check करा:
cat n.txtअजूनही त्याच दोन ओळी दाखवतो. - का:
touchcontent ला हात न लावता Access आणि Modify आत्ताचे करतो; ते set करणं हाच metadata बदल, म्हणून Change पण बदलतो.
- Command:
- cat ने files जोडा
- Command:
cat n.txt c.txt > all.txt && cat all.txt - काय दिसेल:
first line,second line,hello. - Check करा:
wc -l all.txt→3 all.txt - का: "cat" म्हणजे concatenate: अनेक files आत, एक stream बाहेर.
- Command:
- tac ने उलटं वाचा
- Command:
tac all.txt - काय दिसेल:
hello,second line,first line. - Check करा: शेवटची ओळ आधी येते.
- का: Log मध्ये सगळ्यात नवीन ओळी खाली असतात.
tacत्या आधी दाखवतो.
- Command:
- साफ करा
- Command:
cd && rm -r ~/ts - काय दिसेल: काहीच नाही.
- Check करा:
ls ~मध्ये आताtsनाही. Instance stop करा. - का: पुढच्या chapter साठी home folder नीट ठेवा.
- Command:
19. Try at home
Try at home
Task 1: timestamps
- तुमच्या EC2 instance वर
touch a.txtआणिstat a.txtचालवा. चारही वेळा लिहून ठेवा. echo hi > a.txt,cat a.txtआणिchmod 600 a.txtचालवा, मध्ये एक-एक मिनिट थांबून, आणि प्रत्येकानंतरstat a.txtचालवा. प्रत्येक वेळी कुठली वेळ बदलली?touch -d '2025-01-01 09:00' a.txtचालवा आणि Change अजून खरी वेळ दाखवतो का ते तपासा.
Task 2: cat आणि tac
- पाच ओळींची file बनवा, ती
cat -nने आणिtacने दाखवा. - दुसरी file बनवा आणि
catने दोन्हीall.txtमध्ये जोडा.
Task 3: cloud गणित
- एका shop ला नेहमी 20 servers आणि 5 दिवसांच्या सणाच्या sale साठी 200 लागतात. On-premises (200 विकत घेऊन) आणि cloud मधले server-days काढा.
- छोट्या on-premises server room साठी तीन Capex आणि तीन Opex गोष्टी लिहा.
Recap
थोडक्यात
- Linux हा 1991 चा UNIX-like kernel आहे; GNU tools आणि extras सह तो Amazon Linux किंवा Ubuntu सारखी distribution बनतो.
- Linux free, open source, हलका आणि users आणि permissions ने secure आहे, म्हणून companies तो वापरतात.
statAccess, Modify, Change आणि Birth दाखवतो;touchAccess आणि Modify set करतो, आणि Change नेहमी आपोआप मागोमाग येतो.catfiles वाचतो, बनवतो, append करतो आणि जोडतो;tacत्या उलट्या दाखवतो.- Cloud मोठ्या Capex ऐवजी pay-as-you-go Opex आणतो, आणि elasticity मुळे sale peak चे पैसे फक्त त्या दिवसांचे.
- Interviews मध्ये अनेकदा NACL vs security group, Load Balancer + Auto Scaling, आणि Docker आणि Kubernetes विचारतात; projects दाखवतात की तुम्ही tools जोडू शकता.
सराव Tasks
Pandharpur Yatra Tours हा पंढरपूर मधला प्रवास व्यवसाय आहे. Vitthal More त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.
0 / 12
सोपं Config file वाचा
का: Screen वर file वाचणं हा settings तपासण्याचा सर्वात जलद मार्ग.
काय करायचं: /etc/pandharpuryatra/app.conf ही पूर्ण file screen वर दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं सर्व files details सह दाखवा
का: Hidden files (उदा. .env), sizes व owners योग्य options नेच दिसतात.
काय करायचं: /var/www/pandharpuryatra मधल्या hidden files सह सगळ्या files ची long listing दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं रिकामी file बनवा
का: काही apps ना लिहिण्याआधी file अस्तित्वात असावी लागते.
काय करायचं: सध्याच्या folder मध्ये orders-inr.csv नावाची रिकामी file बनवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Kernel version दाखवा
का: काही drivers व tools ना ठराविक kernel version लागते.
काय करायचं: चालू kernel release दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं पूर्ण folder आतल्या सगळ्यासह copy करा
का: साधा copy folders सोडतो. पूर्ण tree साठी recursive option लागतो.
काय करायचं: site folder ला site-backup नावाच्या नव्या folder मध्ये copy करा (दोन्ही सध्याच्या folder मध्ये).
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं File चं नाव बदला
का: Linux मध्ये rename म्हणजे file ला नव्या नावावर move करणं.
काय करायचं: report.txt चं नाव report-pandharpur.txt करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम File चे timestamps पाहा
का: stat access, modify व change times दाखवतो.
काय करायचं: /etc/pandharpuryatra/app.conf file चे सगळे details व timestamps दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Permission number
का: Key files private असाव्यात.
काय करायचं: Owner ला read+write व इतरांना काहीच नाही, chmod number?
- Task मधले numbers लिहून घ्या.
- कागदावर step by step काढा.
- Box मध्ये फक्त final उत्तर लिहा.
- Check answer दाबा.
मध्यम जुना folder delete करा
का: जुने build folders disk वाया घालवतात. Folders साठी rm ला recursive option लागतो, force प्रश्न टाळतो.
काय करायचं: old-build folder व त्यातलं सगळं, प्रत्येक file साठी confirm न विचारता delete करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Server चा monthly खर्च
का: Launch आधी अंदाज लावा.
काय करायचं: Instance USD 0.0416/hour, 30 दिवस 24×7. Bill USD मध्ये? (दोन decimals)
- Task मधले numbers लिहून घ्या.
- कागदावर step by step काढा.
- Box मध्ये फक्त final उत्तर लिहा.
- Check answer दाबा.
मध्यम Storage खर्च
का: Storage per GB-month.
काय करायचं: S3 Standard मध्ये 500 GB, USD 0.023 per GB-month. Monthly खर्च USD?
- Task मधले numbers लिहून घ्या.
- कागदावर step by step काढा.
- Box मध्ये फक्त final उत्तर लिहा.
- Check answer दाबा.
अवघड Ubuntu वर nginx site enable करा
का: Ubuntu वर sites-available पासून sites-enabled ला symbolic link ने site enable होते.
काय करायचं: /etc/nginx/sites-enabled/ मध्ये /etc/nginx/sites-available/pandharpuryatra ची symbolic link बनवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
झटपट उजळणी cards
हा lesson दोन मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR त्याचा lesson उघडतो.










अजून cards: Ravi Sir's Cards.