Linux directories आणि paths: pwd, ls, mkdir, cd, absolute vs relative paths आणि ~
चला, सुरू करूया. मागच्या class मध्ये आपण SSH ने आपल्या EC2 server मध्ये login केलं आणि बघितलं की operating system म्हणजे मुख्यतः files आणि folders. आज आपण server च्या आत खरंच फिरणार. मी कुठे आहे? इथे काय आहे? Folder कसा बनवायचा, त्यात कसं जायचं, बाहेर कसं यायचं, आणि एका ओळीत कुठल्याही folder मध्ये कसं पोचायचं? Class संपेपर्यंत /home/ec2-user/calendar/weeks सारखा path वाचला की तो नक्की कुठे नेतो ते तुम्हाला कळेल. तुमचा server चालू ठेवा आणि प्रत्येक command माझ्यासोबत type करा.
या class मध्ये काय शिकणार
- SSH ची छोटी उजळणी, आणि हमखास येणारे चार errors
- Linux users: root आणि ec2-user, आणि login ec2-user म्हणून का
- Idle SSH session तुटला तर पटकन परत कसं यायचं
- Linux चं झाड: सगळं / (root) पासून सुरू होतं
- तुमची home directory, आणि pwd
- Path वाचणं
- Files vs folders (directories)
- mkdir: एक folder किंवा अनेक
- ls आणि ls -r
- cd ने folder मध्ये जाणं, आणि prompt काय सांगतो
- वर जाणं: cd .., cd ../.., cd ../../..
- नुसतं cd, cd -, आणि बाजूच्या folder मध्ये जाणं
- mkdir -p: एका ओळीत folder च्या आत folders
- Absolute paths, relative paths आणि ~
- उदाहरण 1: calendar (week1 बनवायचे चार मार्ग)
- उदाहरण 2: one ते five (22 बनवायचे तीन मार्ग)
- नावात spaces
- Tab completion, आणि नावं सारखी सुरू होत असतील तर काय करायचं
- clear आणि history
- Practice task
1. छोटी उजळणी: SSH ने login
का. प्रत्येक Linux class server मध्ये login करूनच सुरू होतो. SSH fail झालं, तर पुढचं काहीच चालत नाही. सगळ्या fixes सकट पूर्ण step-by-step मागच्या chapter मध्ये आहे: EC2 server च्या आत: EBS, ENI, instance states, SSH ने connect करणं, आणि Linux म्हणजे काय.
काय. Command चे चार भाग:
ssh -i Downloads\firstserver.pem ec2-user@3.3.3.3
ssh: program.-i: पुढे identity file (तुमची private key) येणार.Downloads\firstserver.pem: key चा path.Dowtype करून Tab, मगfirtype करून Tab, म्हणजे typo होत नाही.ec2-user@3.3.3.3: user name,@, आणि तुमच्या server चा public IPv4.3.3.3.3फक्त जागा भरायला आहे; तुमचा स्वतःचा वापरा.
IP Ctrl+V ने किंवा right-click ने paste करा. Windows 10 आणि 11 च्या PowerShell मध्ये आणि Windows Terminal मध्ये दोन्ही चालतात.
हमखास येणारे चार errors:
| Error | नेहमीचं कारण | Fix |
|---|---|---|
Permission denied (publickey) |
या server साठी चुकीची key, किंवा चुकीचं user name | launch ला निवडलेली key वापरा; Amazon Linux वर ec2-user |
No such file or directory |
key च्या path मध्ये typo | Tab completion वापरा |
परत Permission denied |
user name चुकीचं: ec2user, किंवा ec2-user@... च्या आत space |
ते ec2-user आहे, hyphen सकट, आणि spaces शिवाय |
Connection timed out |
stop आणि start नंतर public IP बदलला | console मधून नवीन public IP copy करा |
तरीही SSH चालत नसेल तर:
ssh -Vने OpenSSH client तपासा. PowerShell नेsshis not recognized सांगितलं, तर OpenSSH Client optional feature add करा, किंवा Microsoft चं latest PowerShell install करा. मग नवीन window उघडा.- EC2 Instance Connect वापरा: instance select करा → Connect → EC2 Instance Connect → Connect. Browser मध्ये terminal उघडतं.
- PuTTY हा जुना third-party tool आहे. आता तो क्वचितच लागतो, कारण Windows मध्ये
sshआधीच आहे.
Classroom line
Miss one sentence and you won't follow the next.
Class मधलं वाक्य
"Ek vakya nahi aaiklat, pudhcha vakya nahi kalnar mag."
एक वाक्य नाही ऐकलंत, तर पुढचं वाक्य मग कळणार नाही.
Classroom line
Miss one sentence and you won't follow the next.
Correction
Class मध्ये लाल error text "जुन्या PowerShell" वर ढकलला, आणि Ctrl+V ने paste होत नाही असं ऐकलं. लाल text चा अर्थ फक्त command fail झाला. एक नेहमीचं कारण म्हणजे OpenSSH client नसणं; ssh -V ने तपासा. आणि सध्याच्या PowerShell आणि Windows Terminal मध्ये Ctrl+V ने paste होतं; right-click पण चालतं.
2. Linux users: root आणि ec2-user
का. Prompt मध्ये ec2-user दिसतं. हा कोण, आणि administrator म्हणून login का नाही करायचं?
काय.
- root हा Linux system चा administrator. तो काहीही करू शकतो, पूर्ण system delete सुद्धा.
- ec2-user हा Amazon Linux वरचा नेहमीचा default login user. Ubuntu वर default user
ubuntuअसतो. - Linux मध्ये system programs साठी अजून बरेच accounts असतात, पण login साठी हे दोनच महत्त्वाचे.
- आपण
ec2-userम्हणून login करतो. एखाद्या कामाला admin rights लागले, तर फक्त त्या command च्या आधीsudoलावतो, उदा.sudo yum install tree -y.
AWS हे कसं set up करतं.
- Launch ला तुम्ही key pair निवडता. Key pair कुठल्याही user ला बांधलेला नसतो.
- पहिल्या boot ला AWS त्या key चा public भाग default user च्या
~/.ssh/authorized_keysfile मध्ये टाकतं: Amazon Linux वरec2-user, Ubuntu वरubuntu. - म्हणूनच तुमची key
ec2-userसाठी चालते. rootम्हणून थेट SSH login सुरक्षेसाठी बंद असतो. त्याऐवजीsudoवापरा.
Correction
Class मध्ये सांगितलं की AWS root साठी key देत नाही कारण key ec2-user ची असते, आणि Linux मध्ये default दोन users असतात. Key pair कुठल्याही user ला बांधलेला नसतो; AWS पहिल्या boot ला तो default user साठी install करतं, आणि root SSH login मुद्दाम बंद असतो. Linux मध्ये बरेच system accounts असतात; login साठी root आणि ec2-user हे दोनच महत्त्वाचे.
3. Idle SSH session तुटला तर
का. Terminal थोडा वेळ सोडून परत आलात, आणि अचानक तुम्ही तुमच्या Windows prompt वर (PS C:\Users\ravi>) आहात. Server ठीक आहे. फक्त connection तुटलं.
काय. AWS default ने idle SSH sessions बंद करत नाही. बहुतेक वेळा तुमचा घरचा router किंवा Wi-Fi काही idle minutes नंतर शांत connections विसरतो, किंवा laptop sleep मध्ये जातो, म्हणून connection तुटतं.
पटकन परत कसं यायचं.
- PowerShell मध्ये Up Arrow दाबा. तुमचा शेवटचा command,
ssh -i ...ची ओळ, परत येते. - Enter दाबा. तुम्ही परत login झालात.
- Connection तुटूच नये म्हणून keep-alive लावा:
ssh -o ServerAliveInterval=60 -i Downloads\firstserver.pem ec2-user@3.3.3.3. मग SSH दर 60 seconds ला छोटा message पाठवतं, म्हणजे router connection लक्षात ठेवतो.
Correction
Class मध्ये connection "10 ते 15 minutes नंतर" तुटतं असं सांगितलं, जणू तो ठरलेला नियम आहे. असा कुठलाही AWS नियम नाही. किती वेळ लागतो ते तुमच्या router, Wi-Fi किंवा laptop च्या sleep settings वर अवलंबून असतं.
4. Linux चं झाड: सगळं / पासून सुरू होतं
का. Windows वर तुम्ही drives मध्ये विचार करता: C:\, D:\. Linux मध्ये drive letters नसतात. सगळं एकाच वरच्या टोकापासून लटकतं.
काय.
- सगळ्याच्या वर
/असतो, त्याला root (root directory) म्हणतात. /खाली system directories असतात:bin,sbin,etc,home,root,dev,opt,usr,varआणि बाकी./homeमध्ये प्रत्येक user चा एक folder:/home/ec2-user,/home/ubuntu,/home/ravi.- तुमचं स्वतःचं काम तुमच्या home folder मध्ये,
/home/ec2-userमध्ये. - "root" शब्दाबाबत सावध.
/म्हणजे root directory./root(slash नंतर नाव) म्हणजे root user चा home folder. या दोन वेगळ्या जागा आहेत.
Figure 1. Linux चं झाड / (root) पासून सुरू होतं. त्याखाली bin, sbin, etc, home, root, dev, opt, usr आणि var. /home मध्ये प्रत्येक user चा folder; तुमच्या files /home/ec2-user खाली.
मुख्य directories मध्ये काय असतं (आत्ता फक्त नावं ओळखा):
| Directory | काय असतं |
|---|---|
/bin, /usr/bin |
ls आणि mkdir सारखे commands |
/sbin |
system admin commands |
/etc |
settings (configuration files) |
/home |
प्रत्येक user चा home folder |
/root |
root user चा home |
/var |
logs आणि बदलणारा data, उदा. /var/log |
/dev |
devices, जसे disks |
/opt |
तुम्ही install केलेलं extra software |
Correction
Class च्या board वर / ला "Windows च्या C:\ सारखं" म्हटलं. सुरुवातीला ते चित्र ठीक आहे, पण / हा बाकीच्यांसारखा folder नाही: तो पूर्ण झाडाचं एकमेव वरचं टोक आहे, आणि बाकीच्या disks सुद्धा त्याच्याखालीच कुठेतरी दिसतात.
5. तुमची home directory, आणि pwd
का. "मी कुठे आहे?" हा दरवेळचा पहिला प्रश्न. काहीही बनवायच्या किंवा delete करायच्या आधी तुम्ही कुठे उभे आहात ते माहित पाहिजे.
काय. pwd म्हणजे print working directory. तुम्ही आत्ता ज्या directory मध्ये आहात तिचा पूर्ण path तो print करतो.
कसं.
- Login करा.
pwdtype करून Enter दाबा./home/ec2-userदिसतं.- Login नंतर तुम्ही नेहमी तुमच्या home directory मध्येच पोचता.
6. Path वाचणं
का. "इथे जा" हे Linux path ने सांगतं. एक path एकदा सावकाश वाचला, की बाकी सगळे वाचता येतात.
काय. /home/ec2-user/ravi/one घ्या:
- पहिला
/म्हणजे root, वरचं टोक. - बाकीचा प्रत्येक
/फक्त नावं वेगळी करतो. त्याला "आत जा" असं वाचा. - म्हणजे: root पासून सुरू →
homeमध्ये →ec2-userमध्ये →raviमध्ये →oneमध्ये.
Figure 2. /home/ec2-user/ravi/one हा path: पहिला / म्हणजे root; बाकीचा प्रत्येक / नावं वेगळी करतो. Root, मग home, ec2-user, ravi आणि one मध्ये असा वाचा.
उदाहरण: levels मोजा.
/home/ec2-userमध्ये root खाली दोन directories:homeआणिec2-user.- Root धरून तीन levels:
/,home,ec2-user. /home/ec2-user/ravi/oneमध्ये root खाली चार directories.
Correction
Board वर सांगितलं की /home/ec2-user मध्ये "तीन folders आहेत: /, home आणि ec2-user". / path च्या आतला folder नाही; ते वरचं टोक आहे. "दोन directories, किंवा root धरून तीन levels" असं म्हणा.
7. Files vs folders
का. तुम्ही जे काही बनवाल ते या दोघांपैकी एक असेल. दोघं वेगळे वागतात.
काय.
- File मध्ये content असतो. ती वाचायला किंवा लिहायला उघडता: notes, web page, script.
- Folder म्हणजे container. त्यात files आणि दुसरे folders असतात. डबा (tiffin box) आठवा: डबा स्वतः जेवण नाही; त्यात जेवण असतं, आणि छोटे डबे सुद्धा.
- Windows folder म्हणतं. Linux directory म्हणतं. गोष्ट एकच. हा course दोन्ही शब्द वापरतो.
Classroom line
A folder is like a tiffin box.
Class मधलं वाक्य
Folder म्हणजे एक tiffin box सारखा.
Classroom line – हिंदी
"Folder ek tiffin box ki tarah hai."
Figure 3. File मध्ये content असतो, जो तुम्ही वाचता आणि लिहिता. Folder (Linux मध्ये directory) म्हणजे tiffin box सारखा container: त्यात files आणि दुसरे folders असतात.
8. mkdir: एक folder, किंवा अनेक
का. काहीही नीट लावायच्या आधी folders लागतात.
काय. mkdir म्हणजे make directory.
कसं.
mkdir raviनेraviनावाचा एक folder बनतो.- Linux काहीच print करत नाही. Output नाही म्हणजे success. सगळं ठीक असलं की Linux शांत राहतं.
lsमध्येraviदिसतो.- एकदम अनेक:
mkdir raja rani aws. प्रत्येक नाव म्हणजे वेगळा folder. - तेच नाव परत करून बघा:
mkdir ravi. - Error:
mkdir: cannot create directory 'ravi': File exists. एकाच folder मधल्या दोन गोष्टींचं नाव एक असू शकत नाही.
Ravindra Bagale's Tip
ravi आधीच असला तरी mkdir -p ravi error देत नाही. Scripts मध्ये उपयोगी. -p चं खरं काम section 13 मध्ये.
9. ls आणि ls -r
का. प्रत्येक बदलानंतर बघा. बघायचं ते ls ने.
काय. ls म्हणजे list. तुम्ही ज्या directory मध्ये आहात तिच्यातल्या files आणि directories ची list देतो.
कसं.
ls→aws raja rani ravi. Alphabetical क्रम.ls -r→ravi rani raja aws.-roption क्रम उलटा करतो (Z ते A).- नवीन server वर home folder मध्ये
lsकाहीच दाखवत नाही. ते normal आहे.
-r हा option आहे: dash नंतरचं अक्षर, जे command चं वागणं बदलतं. असे बरेच भेटतील: ls -l, ls -a, ls -R.
10. cd ने folder मध्ये जाणं, आणि prompt काय सांगतो
का. Folders बनवणं हे निम्मं काम. त्यांच्या आत पण जाता आलं पाहिजे.
काय. cd म्हणजे change directory.
कसं.
- Home पासून सुरू. Prompt आहे
[ec2-user@ip-172-31-5-10 ~]$. cd ravi- आता prompt च्या शेवटी
~ ]$ऐवजीravi ]$दिसतं. pwd→/home/ec2-user/ravi.mkdir oneनेraviच्या आतoneबनतो.cd onepwd→/home/ec2-user/ravi/one.
Prompt वाचणं [ec2-user@ip-172-31-5-10 ~]$:
ec2-user: तुम्ही कोण.ip-172-31-5-10: server चं नाव, त्याच्या private IP वरून बनलेलं (इथला IP उदाहरण आहे).~: तुम्ही कुठे. Prompt path चा फक्त शेवटचा भाग दाखवतो, आणि home मध्ये असाल तर~दाखवतो.$: normal user. Root shell मध्ये#दिसतो.

Class board वरून: डावीकडे: mkdir ravi, cd ravi, mkdir one; pwd दाखवतो /home/ec2-user/ravi; cd one; pwd दाखवतो /home/ec2-user/ravi/one. उजवीकडे: space असलेलं folder चं नाव quotes मध्ये, एक किंवा एकदम अनेक.
Classroom line
Pay attention, and do your own work yourself.
Class मधलं वाक्य
"Laksha dya, tumcha kaam tumhich karat ja."
लक्ष द्या, तुमचं काम तुम्हीच करत जा.
Classroom line
Pay attention, and do your own work yourself.
Correction
Prompt मधला ~ एक प्रकारची status खूण आहे असं सांगितलं. तो तुमच्या home path चं छोटं रूप आहे. Prompt छोटा ठेवायला shell /home/ec2-user ऐवजी ~ दाखवतो.
11. वर जाणं: cd .., cd ../.., cd ../../..
का. Folder मध्ये गेलात. आता बाहेर कसं यायचं?
काय. .. (दोन टिंबं) म्हणजे parent directory: एक level वर. प्रत्येक ../ अजून एक level वर नेतो.
कसं.
- समजा तुम्ही
/home/ec2-user/ravi/oneमध्ये आहात. cd ..→/home/ec2-user/ravi(एक level वर).- परत जा:
cd one. cd ../..→/home/ec2-user(दोन levels वर).- परत जा:
cd ravi/one. cd ../../..→/home(तीन levels वर).- प्रत्येक step नंतर
pwdने तपासा.
उदाहरण: नेहमीची चूक.
- तुम्ही
/homeमध्ये आहात (cd ../../..नंतर). - तुम्ही
cd myfoldertype करता. - Error:
-bash: cd: myfolder: No such file or directory. - का?
myfolderहाec2-userच्या आत आहे,/homeच्या आत नाही. - Fix:
cd ec2-user/myfolder.
Correction
Class मध्ये "तीन levels" म्हणताना cd ../../../.. (चार levels) type केलं, म्हणून result board शी जुळला नाही. तीन levels वर म्हणजे cd ../../..: प्रत्येक level ला एक .. मोजा, आणि आधी आणि नंतर pwd ने तपासा.
12. नुसतं cd, cd -, आणि बाजूच्या folder मध्ये जाणं
का. खूप ../ type करणं हळू आहे. दोन shortcuts रोज वेळ वाचवतात.
काय.
- नुसतं
cdकुठूनही तुम्हाला home (/home/ec2-user) मध्ये नेतं. cd -तुम्हाला आधीच्या directory मध्ये परत नेतं, आणि कुठे गेलं ते print करतं. परत दाबा, परत मागे. Back आणि forward switch सारखं.- बाजूला: तुमच्या शेजारच्या folder मध्ये जायला, एकाच ओळीत आधी वर, मग खाली.
Classroom line
There's a shortcut here too: to go back where you came from.
Class मधलं वाक्य
इथे shortcut पण आहे... जिथून आलात तिथेच परत जायचं.
Classroom line – हिंदी
"Shortcut bhi hai yaha pe... jahan se aaye ho wahi pe jana hai."
उदाहरण: पूर्ण फेरी. समजा तुमच्या home मध्ये one/two आणि myfolder शेजारी शेजारी आहेत.
cd ~/one/twoमगpwd→/home/ec2-user/one/two.cd ..→/home/ec2-user/one.cd ../myfolder→/home/ec2-user/myfolder(वर home मध्ये, मग myfolder मध्ये).cd ../..→/home.cd→/home/ec2-user.cd -→/homeprint करतो आणि तिथे जातो.
खोलवरून बाजूला. /home/ec2-user/one/two मधून cd ../../myfolder ने एका step मध्ये myfolder गाठता येतो. परत: cd ../one/two.
Figure 4. Animation: pwd, cd .., cd ../myfolder, cd ../.., cd आणि cd -. प्रत्येक command नंतर तुम्ही कुठे आहात ते orange box दाखवतो.
Classroom line
What is our job? To solve the problem in the least time.
Class मधलं वाक्य
आपलं काम काय असतं? कमीत कमी वेळात problem solve करायचा.
Classroom line – हिंदी
"Hum logo ka kaam kya rehta hai, kam se kam time ke andar problem solve karna hai."
13. mkdir -p: एका ओळीत folder च्या आत folders
का. खऱ्या projects ना nested folders लागतात: project/src/css. मध्ये मध्ये cd करत एकेक बनवणं हळू आहे.
काय. mkdir साठी spaces आणि slashes चा अर्थ वेगळा:
mkdir india maharashtra pune→ spaces = तीन वेगळे folders, शेजारी शेजारी.mkdir -p india/maharashtra/pune→ slashes = एक दुसऱ्याच्या आत:indiaच्या आतmaharashtra, त्याच्या आतpune.-pम्हणजे parents (--parents): वाटेतले नसलेले parent folders बनव, आणि आधीच असतील तर error देऊ नको.-pशिवाय,indiaअजून नसेल तरmkdir india/maharashtra/punefail होतो:No such file or directory.
Figure 5. mkdir india maharashtra pune ने तीन folders शेजारी शेजारी बनतात. mkdir -p india/maharashtra/pune ने ते एकाच्या आत एक बनतात.

Class board वरून: india च्या आत maharashtra, आणि त्याच्या आत pune. एकच command तिन्ही बनवतो: mkdir -p india/maharashtra/pune.
उदाहरण: सिद्ध करा.
cd(home ला जा).mkdir -p india/maharashtra/punecd indiaमगls→maharashtra.cd maharashtraमगls→pune.cd puneमगpwd→/home/ec2-user/india/maharashtra/pune.
Class मधला प्रश्न: months मध्ये jan, feb आणि mar.
mkdir -p months/jan/feb/marने ते एकाच्या आत एक बनतात:janच्या आतfeb,febच्या आतmar. बहुतेक वेळा हे नको असतं.- शेजारी शेजारी, सोपा मार्ग:
mkdir months,cd months,mkdir jan feb mar. - किंवा home मधूनच, spaces ने वेगळे केलेले पूर्ण paths द्या:
mkdir -p months/jan months/feb months/mar. - Bonus shortcut (पुढच्या class मध्ये अजून):
mkdir -p months/{jan,feb,mar}. Shell braces उघडून step 3 मधले तीन paths बनवतो.
Classroom line
What will just typing it get you? Short-term satisfaction... What is the main aim? To understand a new concept.
Class मधलं वाक्य
"Tumhi kelyan kay honar ahe? Short term satisfaction bhetnar... Main aim kay ahe? Kahitari navin concept kalayla pahije."
तुम्ही नुसतं केल्याने काय होणार आहे? Short term satisfaction मिळणार... Main aim काय आहे? काहीतरी नवीन concept कळायला पाहिजे.
Classroom line
What will just typing it get you? Short-term satisfaction... What is the main aim? To understand a new concept.
14. Absolute paths, relative paths आणि ~
का. Path घेणारा प्रत्येक command (cd, mkdir, ls, cp) तिन्ही प्रकार चालवतो. हे माहित असलं, की कुठल्याही folder पर्यंत आधी चालत न जाता त्यावर काम करता येतं.
काय.
- Absolute path:
/ने सुरू होतो. तो root पासून सुरू होतो, म्हणून तुम्ही कुठेही असा, त्याचा अर्थ तीच जागा. उदा./home/ec2-user/calendar/weeks. - Relative path:
/ने सुरू होत नाही. तो तुम्ही आत्ता जिथे आहात तिथून सुरू होतो...म्हणजे parent; नुसतं नाव म्हणजे सध्याच्या folder च्या आतला folder. उदा.../weeks. - Tilde path:
~ने सुरू होतो.~म्हणजे तुमची home directory. उदा.~/calendar/weeks.
~ कोण login आहे त्यावर अवलंबून:
ec2-userम्हणून login:~=/home/ec2-user.ubuntuम्हणून login:~=/home/ubuntu.raviम्हणून login:~=/home/ravi./नेहमी पूर्ण झाडाचं वरचं टोक.~म्हणजे त्यातला तुमचा स्वतःचा folder.
Figure 6. ~ म्हणजे जो login आहे त्याचं home: /home/ec2-user, /home/ubuntu किंवा /home/ravi. Shell ~ ला त्या path मध्ये बदलतो.
Correction
Class मध्ये सांगितलं की "Linux backend ~ बदलतो". Command चालण्याआधी ~ ला तुमच्या home path मध्ये shell (bash) बदलतो. याचा एक परिणाम: quotes च्या आत '~/x' बदलत नाही, म्हणून ~ quotes च्या बाहेर ठेवा.
15. उदाहरण 1: calendar
का. हेच board वरचं उदाहरण तिन्ही प्रकारचे paths डोक्यात बसवतं.
तयारी (home मधून):
mkdir calendarcd calendarmkdir months weeks dayscd monthsmkdir jan feb marpwd→/home/ec2-user/calendar/months. तुम्हीmonthsमध्ये आहात.
काम: तुम्ही months मध्ये असताना weeks च्या आत week1 बनवा. चार मार्ग:
- तिथे चालत जा, मग बनवा:
cd .., मगcd weeks, मगmkdir week1. - Relative, आहात तिथेच राहून:
mkdir ../weeks/week1(वरcalendarमध्ये,weeksमध्ये,week1बनव). - Absolute, कुठूनही चालतो:
mkdir /home/ec2-user/calendar/weeks/week1. - Tilde:
mkdir ~/calendar/weeks/week1.
Figure 7. तुम्ही months मध्ये आहात. weeks च्या आत week1 बनवा: तिथे चालत जाऊन, relative path ने, absolute path ने किंवा tilde path ने. चारही /home/ec2-user/calendar/weeks/week1 बनवतात.
तपासा: ls ~/calendar/weeks → week1. चारही एकाच नावाने करून बघितले, तर दुसऱ्यापासून पुढे File exists येतं, कारण week1 आधीच आहे. चारही practice करायला दरवेळी नवीन नाव वापरा: week1, week2, week3, week4.
Classroom line
Real study happens when you build situations in your own mind.
Class मधलं वाक्य
"Jevha tumhi manatlya manat situation aanta na tevha study hoto."
जेव्हा तुम्ही मनातल्या मनात situation आणता ना, तेव्हा study होतो.
Classroom line
Real study happens when you build situations in your own mind.
16. उदाहरण 2: one ते five
तयारी:
cdmkdir -p one/two/three/four/fivecd one/two/three/fourpwd→/home/ec2-user/one/two/three/four. तुम्हीfourमध्ये आहात.
काम: two च्या आत 22 बनवा. तीन मार्ग:
- Absolute:
mkdir /home/ec2-user/one/two/22. (mkdir -pपण चालतो; parents असले तर तो error देत नाही.) - Relative:
mkdir ../../22. पहिला..fourमधूनthreeमध्ये नेतो; दुसराthreeमधूनtwoमध्ये. - Tilde:
mkdir ~/one/two/22.
Figure 8. Animation: तुम्ही four मध्ये आहात. दोन .. steps two पर्यंत चढतात, आणि two च्या आत 22 दिसतो. Absolute, relative आणि tilde paths चा result एकच.

Class board वरून: Class च्या board वर ec2-user खाली 1 ते 5 नावाचे folders वापरले. 4 च्या आतून, 2 च्या आत 22 बनवायचे तीन मार्ग: mkdir /home/ec2-user/1/2/22, mkdir ../../22 आणि mkdir ~/1/2/22.
तपासा: ls ~/one/two → 22 three.
Classroom line
Go back and forth like this yourself; make up your own situations.
Class मधलं वाक्य
"Tumhi swata asa maage pudhe kara, situation banva."
तुम्ही स्वतः असं मागे पुढे करा, situation बनवा.
Classroom line
Go back and forth like this yourself; make up your own situations.
17. नावात spaces
का. Windows वर "My Folder" नेहमीचं. Shell मध्ये space arguments वेगळे करतो, म्हणून गोंधळ होतो.
काय.
mkdir my folderने दोन folders बनतात:myआणिfolder.mkdir 'my folder'नेmy folderनावाचा एक folder बनतो. Double quotes पण चालतात:mkdir "my folder".- Spaces असलेली अनेक नावं:
mkdir 'my folder' 'your folder'. - आत जायला:
cd 'my folder', किंवाcd mytype करून Tab दाबा. Tabcd my\ folder/लिहितो. - Backslash
\हा escape character आहे: तो shell ला सांगतो "पुढचा space नावाचाच भाग आहे".
Figure 9. mkdir my folder ने दोन folders बनतात. mkdir 'my folder' ने एक. cd my\ folder space escape करतो; Tab तुमच्यासाठी हे लिहितो.
उदाहरण.
mkdir 'my folder'cd my+ Tab →cd my\ folder/→ Enter.mkdir 'inside folder'pwd→/home/ec2-user/my folder.ls→inside folder.
Classroom line
Go on. Create folders with spaces... Press Tab and see what happens.
Class मधलं वाक्य
"Kara. Space deun folder create karun bagha... Bagha tab press karun kay hotay."
करा. Space देऊन folder create करून बघा... Tab press करून काय होतंय ते बघा.
Classroom line
Go on. Create folders with spaces... Press Tab and see what happens.
Ravindra Bagale's Tip
Job वर files आणि folders च्या नावात spaces टाळा. my-folder किंवा my_folder वापरा. Scripts, URLs आणि दुसऱ्यांचे commands तुम्हाला धन्यवाद देतील.
18. Tab completion, आणि नावं सारखी सुरू होत असतील तर
का. Job वर कोणीही लांब paths अक्षर अक्षर type करत नाही. Tab जास्त fast आहे आणि spelling च्या चुका करत नाही.
काय.
- नावाची पहिली काही अक्षरं type करून Tab दाबा. एकच नाव जुळत असेल, तर shell ते पूर्ण करतो.
- अनेक नावं जुळत असतील, तर एक Tab फक्त त्यांच्यातली common अक्षरं पूर्ण करतो, किंवा काहीच करत नाही.
- जुळणारी नावं बघायला दोनदा Tab दाबा.
- एकच नाव जुळेपर्यंत अजून एक-दोन अक्षरं type करा, मग Tab दाबा.
उदाहरण 1: tata, twelve, taja (आणि two).
- नवीन folder मध्ये:
mkdir tata twelve taja two. cd t+ Tab → काहीच होत नाही: चार नावंtने सुरू होतात.- Tab Tab →
taja/ tata/ twelve/ two/. cd taj+ Tab →cd taja/.cd .., मगcd tat+ Tab →cd tata/.
उदाहरण 2: amazon, amma, aman.
mkdir amazon amma amancd ama+ Tab →amaवरच थांबतो, कारणamazonआणिamanदोन्हीamaने सुरू होतात.cd amaz+ Tab →cd amazon/.cd aman+ Tab →cd aman/.cd amm+ Tab →cd amma/.
Figure 10. Animation: cd t + Tab काहीच करत नाही (चार नावं जुळतात); Tab Tab ती दाखवतो; cd taj + Tab ने taja पूर्ण होतं. दुसऱ्या उदाहरणात ama unique नाही, म्हणून amaz किंवा aman type करा.
Correction
Class च्या उदाहरणात amazon गाठायला ama आणि Tab type केलं. aman पण असल्यामुळे ama unique नाही, म्हणून Tab ama वरच थांबतो. amaz type करा, मग Tab.
19. clear आणि history
clear.
clear(किंवा Ctrl+L) screen साफ करतो.- फक्त screen. तुमच्या files आणि folders ना हात लागत नाही.
history.
historyतुम्ही चालवलेल्या commands ची numbered list print करतो.- काय केलं ते बघायला, किंवा लांब command परत copy करायला उपयोगी.
!45command नंबर 45 परत चालवतो.- Up Arrow त्याच list मधून मागे मागे जातो.
Classroom line
While I'm explaining, don't type along... when I'm showing, just watch.
Class मधलं वाक्य
"Jevha mi sangto na tevha karat jau naka... mi dakhavto bagha mhanje bagha."
जेव्हा मी सांगतो ना, तेव्हा करत जाऊ नका... मी दाखवतो, बघा म्हणजे बघा.
Classroom line
While I'm explaining, don't type along... when I'm showing, just watch.
Correction
history ने server वर चालवलेलं सगळं बघता येतं असं सांगितलं. तो फक्त या user च्या shell चे commands दाखवतो (~/.bash_history मध्ये save होतात), आणि user ते edit किंवा clear करू शकतो. तो audit log नाही. AWS वर account मधल्या actions ची नोंद CloudTrail ठेवतं; ते course मध्ये पुढे येईल.
20. Practice task
Classroom line
Don't look at someone else's screen... put in the effort yourself.
Class मधलं वाक्य
"Dusryachya screen kade baghu naka... swatah traas ghya."
दुसऱ्याच्या screen कडे बघू नका... स्वतः त्रास घ्या.
Classroom line
Don't look at someone else's screen... put in the effort yourself.
घरी करून बघा
Task 1: झाड बनवा आणि त्यात फिरा
- Login करून
pwdचालवा. काय दिसतं ते लिहून ठेवा. mkdir -p school/class1/divA school/class2cd school/class1/divA, मगpwd.- Home ला न जाता एका command मध्ये
class2मध्ये जा. (cd ../../class2) - दोनदा
cd -वापरा आणि कुठे पोचता ते बघा. - नुसतं
cd, मगpwd.
Task 2: तीन मार्ग
divAच्या आतून relative path नेschoolच्या आतnotesबनवा. (mkdir ../../notes)- Absolute path ने
schoolच्या आतexamsबनवा. ~path नेschoolच्या आतresultsबनवा.ls ~/schoolमध्येclass1 class2 exams notes resultsदिसलं पाहिजे.
Task 3: spaces आणि Tab
mkdir 'my notes' 'my marks'- Tab वापरून
my marksमध्ये जा. Tab काय type करतो? - सारख्या सुरू होणाऱ्या तीन folders बनवा:
mkdir data date dance. - प्रत्येकात कमीत कमी अक्षरं + Tab वापरून पोचायचा सराव करा.
Task 4: तुमच्या स्वतःच्या situations
- कागदावर कमीत कमी चार levels खोल folder चं झाड काढा.
- एकाच
mkdir -pओळीत ते बनवा. - त्यातले कुठलेही दोन folders निवडा. त्यांच्यात absolute path, relative path आणि
~path ने ये-जा करा. historyचालवा आणि काय केलं ते परत वाचा.- संपलं की console मधून instance stop करा.
Classroom line
Don't forget to stop the server.
Class मधलं वाक्य
"Server bandh karayla visru naka."
Server बंद करायला विसरू नका.
Classroom line
Don't forget to stop the server.
Correction
Class च्या शेवटी IP "reboot केल्यावर" बदलतो असं सांगितलं. Reboot केल्यावर public IP तोच राहतो. आपोआप दिलेला public IP instance stop करून मग start केल्यावर बदलतो (Elastic IP राहतो). आणि stopped instance ला पण त्याच्या EBS disk चे पैसे लागतात; मागचा chapter बघा.
Ravindra Bagale's Tip
प्रत्येक mkdir, cp किंवा rm आधी स्वतःला विचारा "मी कुठे आहे?", आणि खात्री नसेल तर pwd चालवा. Beginners च्या बहुतेक चुका चुकीच्या command ने नाही, तर चुकीच्या folder मध्ये होतात. या commands च्या थोडक्यात reference साठी 3.2 Navigation आणि 3.3 Working with files and directories बघा.
Recap
थोडक्यात
- SSH:
ssh -i <key> ec2-user@<public IP>. Key path साठी Tab. Ctrl+V किंवा right-click ने paste. - Errors: publickey (चुकीची key किंवा user), no such file (key path), timed out (stop/start नंतर IP बदलला).
ec2-userम्हणून login; admin कामासाठीsudo. Key pair user ला बांधलेला नसतो; root SSH login बंद.- Idle SSH तुटतो तो router, Wi-Fi किंवा sleep मुळे, AWS मुळे नाही. Up Arrow + Enter ने परत;
ServerAliveInterval=60ने टिकतो. /पूर्ण झाडाचं वरचं टोक./rootम्हणजे root user चं home, वेगळी जागा.- Login नंतर
/home/ec2-userमध्ये.pwdतुम्ही कुठे ते सांगतो. - Path मध्ये पहिला
/म्हणजे root; बाकीचे नावं वेगळी करतात. - File मध्ये content; folder (directory) मध्ये files आणि folders.
mkdir a b cने तीन folders. Output नाही = success. तेच नाव परत =File exists.lslist देतो;ls -rउलट्या क्रमाने.cd nameने आत. Home मध्ये prompt~दाखवतो.cd ..एक वर;cd ../..दोन वर;cd ../../..तीन वर.- नुसतं
cd= home.cd -= आधीच्या directory मध्ये परत. mkdir -p a/b/cने nested folders; spaces ने शेजारी शेजारी.- Absolute
/ने सुरू; relative तुम्ही जिथे आहात तिथून;~तुमचं home (shell ते बदलतो). - Calendar:
week1चे चार मार्ग. One ते five:22चे तीन मार्ग. - Spaces: नाव quotes मध्ये किंवा
\ने escape. त्यापेक्षा spaces टाळा. - Tab पूर्ण करतो; Tab Tab list दाखवतो; नावं सारखी सुरू होत असतील तर अजून अक्षरं type करा.
clearफक्त screen साफ करतो.historyया user चे commands दाखवतो; तो audit log नाही.- Practice नंतर server stop करा. Reboot ने public IP तोच; stop आणि start ने बदलतो.
समजलं का? आज घरी स्वतःच्या situations बनवा, absolute, relative आणि ~ तिन्ही वापरा. पुढच्या class मध्ये files.
Ravindra Bagale, trainer: linkedin.com/in/ravindra-bagale. Folders ची नावं (ravi, calendar, india/maharashtra/pune, one ते five, tata, amazon), ravi हे user name आणि 3.3.3.3 आणि 172.31.5.10 हे addresses शिकण्यासाठीची उदाहरणं आहेत. Commands चे outputs GNU bash आणि coreutils वर तपासले, जे Amazon Linux 2023 पण वापरतं; AWS चं वागणं October 2026 च्या AWS च्याच documentation वरून.