Linux Commands A-Z Part 5: man, mount, nc, nohup, passwd, ps, ping, read आणि अजून, Examples सह
हा Linux Commands A-Z reference चा Part 5 आहे: man ते read. Help pages वाचायला, file hashes तपासायला, filesystems आणि temp files बनवायला, output page करायला, disks mount करायला, ports आणि DNS test करायला, priorities set करायला, network connections manage करायला, logout नंतरही jobs चालू ठेवायला, passwords manage करायला, files जोडायला, processes शोधायला आणि थांबवायला, formatted output print करायला, LVM disks तयार करायला, आपण कुठे आहोत ते कळायला, आणि scripts मधे input घ्यायला या commands वापरतात. प्रत्येक command ला why, what, options table आणि खऱ्या output आणि अर्थासह step-by-step examples आहेत.
या chapter मध्ये तुम्ही काय शिकाल
- man ने help वाचा आणि more ने output page करा
- md5sum ने files verify करा आणि mktemp ने safe temp files बनवा
- mkfs ने filesystems बनवा, mount करा, आणि pvcreate ने LVM disks तयार करा
- nc, netstat, nslookup आणि ping ने ports आणि DNS test करा
- nmcli ने networks manage करा
- ps, pgrep, pkill, nice आणि nohup ने processes शोधा, priority द्या आणि थांबवा
- passwd ने passwords manage करा
- paste, printf, pwd आणि read ने चांगल्या scripts लिहा
1. रोजचं उदाहरण: Pune housing society office
हे का लागतं?
Society secretary bye-laws पुस्तक वाचतो, प्रत्येक member चा receipt number तपासतो, नवं parking register उघडतो, notices एक एक page pin करतो, नवी water tank main line ला जोडतो, gate ला उत्तर येतं का ते ring करतो, water pump पेक्षा lift repair ला कमी priority देतो, clubhouse lock code reset करतो, आणि प्रत्येक flat ला vehicle number विचारतो.
हे काय आहे?
man म्हणजे bye-laws पुस्तक. md5sum म्हणजे receipt check. mkfs म्हणजे नवं register. more म्हणजे notice board. mount म्हणजे tank जोडणं. ping आणि nc म्हणजे gate ring करणं. nice म्हणजे priority. passwd म्हणजे lock code. read म्हणजे प्रत्येक flat ला विचारणं.
कसं करायचं (step by step)
2. Part 5 commands वापरून पाच minute चा network आणि process check
हे का लागतं?
Deep dives आधी, users app down आहे म्हणतात तेव्हा या commands एकत्र कशा चालतात ते बघा.
हे काय आहे?
आधी नाव, मग reachability, मग port, मग process.
| प्रश्न | Command |
|---|---|
| नाव resolve होतं का? | nslookup api.example.in |
| Host पोहोचतो का? | ping -c 3 10.0.1.20 |
| Port उघडा आहे का? | nc -zv 10.0.1.20 8080 |
| Process चालू आहे का? | pgrep -a java |
| तिथे कोण listen करतं? | netstat -tlnp |
कसं करायचं (step by step)
- Check एकदम चालवा.
nslookup api.example.in | tail -2; ping -c1 -W1 10.0.1.20 | grep loss; nc -zv -w2 10.0.1.20 8080
Output:
Name: api.example.in
Address: 10.0.1.20
1 packets transmitted, 1 received, 0% packet loss
nc: connect to 10.0.1.20 port 8080 (tcp) failed: Connection refused
याचा अर्थ: DNS आणि network ठीक; 8080 वर कोणी listen करत नाही.
- Server बघा.
ssh 10.0.1.20 "pgrep -a java || echo none"
Output:
none
याचा अर्थ: App चालू नाही; सुरू करा आणि logs बघा.
3. man: Manual वाचा
man सविस्तर: built-in manual वाचा
हे का लागतं?
Data centre मधे internet नाही, किंवा interview task मधे एक option विसरलात. प्रत्येक Linux box स्वतःचा manual ठेवतो, आणि man तो उघडतो.
हे काय आहे?
man manual pages sections मधे दाखवतो: 1 user commands, 5 file formats, 8 admin commands. Pages less मधे उघडतात, म्हणून /word search आणि q बाहेर. Command नाव माहीत नसेल तर man -k page titles search करतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
man cmd | Page उघडा. |
man 5 crontab | निवडलेला section. |
man -k word | Titles search (apropos). |
man -f cmd | एक line summary (whatis). |
cmd --help | पटकन usage. |
sudo mandb | Index rebuild. |
कसं करायचं (step by step)
- Page उघडा.
man tar
Output:
TAR(1) GNU TAR Manual TAR(1)
NAME
tar - an archiving utility
याचा अर्थ: Section 1: user command.
- Command नाही, file format.
man 5 crontab
Output:
CRONTAB(5) File Formats Manual
NAME
crontab - files used to schedule the execution of programs
याचा अर्थ: Section 5 file fields समजावतो.
- नाव माहीत नाही.
man -k "disk usage"
Output:
du (1) - estimate file space usage
df (1) - report file system space usage
याचा अर्थ: du आणि df सापडतात.
- Page मधे search.
man rsync then /--delete then n
Output:
--delete delete extraneous files from dest dirs
याचा अर्थ: हव्या option वर थेट जा.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Hinjewadi मधल्या bank DC मधे servers ना internet नाही; changes दरम्यान engineers man आणि --help वर अवलंबून असतात.
4. md5sum: MD5 checksum
md5sum सविस्तर: file बदलली नाही ना ते तपासा
हे का लागतं?
4 GB backup दुसऱ्या server वर copy केला, किंवा ISO download केलं. ते सारखंच आहे का? Checksums compare करून seconds मधे उत्तर.
हे काय आहे?
md5sum file चा 128-bit fingerprint print करतो. एक byte बदलला तरी value वेगळी. Copy errors पकडायला ठीक पण security साठी नाही; tampering विरुद्ध sha256sum. -c saved sums ची list तपासतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
md5sum f | Sum print. |
md5sum f1 f2 | अनेक files. |
md5sum f > f.md5 | Save करा. |
md5sum -c f.md5 | Saved sums तपासा. |
md5sum --quiet -c | फक्त failures. |
कसं करायचं (step by step)
- Backup चा fingerprint.
md5sum db-2026-10-27.sql.gz
Output:
5d41402abc4b2a76b9719d911017c592 db-2026-10-27.sql.gz
याचा अर्थ: Hash मग file name.
- Copy नंतर save आणि check.
md5sum db-2026-10-27.sql.gz > db.md5; scp db* backup01:/b/; ssh backup01 "cd /b && md5sum -c db.md5"
Output:
db-2026-10-27.sql.gz: OK
याचा अर्थ: दोन्ही बाजूंना सारखं.
- खराब copy.
md5sum -c db.md5
Output:
db-2026-10-27.sql.gz: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
याचा अर्थ: परत copy करा.
- Config बदलला का?
md5sum /etc/nginx/nginx.conf
Output:
9e107d9d372bb6826bd81d3542a419d6 /etc/nginx/nginx.conf
याचा अर्थ: Change ticket मधल्या value शी compare.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Pimpri मधलं media house archive NAS वर copy केल्यावर प्रत्येक video master चा md5sum तपासतं.
5. mkfs: Filesystem बनवा
mkfs सविस्तर: disk वर filesystem टाका
हे का लागतं?
नवी disk किंवा LVM volume raw असते. Mount करून files ठेवण्याआधी filesystem बनवावी लागते. चुकीच्या device वर केल्यास data जातो, म्हणून काळजी महत्त्वाची.
हे काय आहे?
mkfs.TYPE रिकामी filesystem लिहितो: mkfs.xfs (RHEL default), mkfs.ext4 (Ubuntu default), USB साठी mkfs.vfat. आधीचं सगळं पुसतो. -L label. आधी नेहमी lsblk -f ने device confirm करा.
नेहमीचे options
| Option | काय करतो |
|---|---|
mkfs.xfs /dev/X | XFS. |
mkfs.ext4 /dev/X | ext4. |
-L data | Label. |
mkfs.xfs -f | असलेली signature overwrite. |
mkfs.ext4 -m 1 | Root साठी फक्त 1% राखीव. |
blkid /dev/X | काय आहे ते तपासा. |
कसं करायचं (step by step)
- रिकामं device confirm.
lsblk -f /dev/nvme1n1
Output:
NAME FSTYPE MOUNTPOINTS
nvme1n1
याचा अर्थ: FSTYPE नाही: रिकामं.
- Label सह XFS.
sudo mkfs.xfs -L data /dev/nvme1n1
Output:
meta-data=/dev/nvme1n1 isize=512 agcount=4, agsize=3276800 blks
data = bsize=4096 blocks=13107200
याचा अर्थ: 50 GB XFS filesystem.
- तपासा.
blkid /dev/nvme1n1
Output:
/dev/nvme1n1: LABEL="data" UUID="1f0c2a7e-..." TYPE="xfs"
याचा अर्थ: हा UUID fstab मधे.
- असलेल्या filesystem ला नकार.
sudo mkfs.xfs /dev/nvme1n1
Output:
mkfs.xfs: /dev/nvme1n1 appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
याचा अर्थ: Safety stop: -f आधी परत तपासा.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Chakan auto plant नव्या historian disks ना plc-hist सारखे labels देतो म्हणजे reboot नंतर mounts गोंधळत नाहीत.
6. mktemp: Safe temp file किंवा folder
mktemp सविस्तर: scripts मधे safe temporary files
हे का लागतं?
/tmp/out.txt ला लिहिणाऱ्या scripts दोन copies चालल्या की clash होतात, आणि attackers ते नाव आधीच बनवू शकतात. mktemp प्रत्येक वेळी unique, private नाव देतो.
हे काय आहे?
mktemp random नाव आणि mode 600 (folders साठी 700) सह file (किंवा -d ने folder) बनवतो, आणि path print करतो. Script संपल्यावर delete करायला trap सोबत वापरा.
नेहमीचे options
| Option | काय करतो |
|---|---|
mktemp | Temp file. |
mktemp -d | Temp folder. |
mktemp /tmp/rep.XXXXXX | स्वतःचा pattern. |
mktemp -p /data | Folder मधे बनवा. |
mktemp -u | फक्त नाव (unsafe). |
कसं करायचं (step by step)
- Temp file बनवा.
mktemp
Output:
/tmp/tmp.k3Jd9QaZ1p
याचा अर्थ: प्रत्येक वेळी unique.
- Private permissions.
ls -l $(mktemp)
Output:
-rw-------. 1 ravi ravi 0 Oct 27 20:40 /tmp/tmp.Wq0x8LmP2c
याचा अर्थ: फक्त owner वाचू शकतो.
- Cleanup सह script मधे.
T=$(mktemp -d); trap 'rm -rf "$T"' EXIT; echo "$T"
Output:
/tmp/tmp.9fKs2LwQ0a
याचा अर्थ: Script बाहेर पडल्यावर delete, error असला तरी.
- नाव pattern.
mktemp /tmp/report.XXXXXX.csv
Output:
/tmp/report.a8Zq1P.csv
याचा अर्थ: X random letters ने बदलतात.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: दोन cron jobs एकमेकांना overwrite केल्यावर Kalyani Nagar मधल्या analytics startup ने code review मधे mktemp आणि trap mandatory केलं.
7. more: साधा pager
more सविस्तर: साधा pager
हे का लागतं?
Minimal rescue systems आणि जुन्या Unix boxes वर less नसू शकतो. File page by page वाचायला more जवळजवळ नेहमी असतो.
हे काय आहे?
more file एका वेळी एक screen दाखवतो. Space पुढचं page, Enter पुढची line, /word search, q बाहेर. नीट मागे scroll करू शकत नाही; less असेल तर तो चांगला.
नेहमीचे options
| Option | काय करतो |
|---|---|
more f | उघडा. |
Space / Enter | Page / line. |
/word | पुढे search. |
more +50 f | Line 50 पासून. |
cmd | more | Output page करा. |
कसं करायचं (step by step)
- Log वाचा.
more /var/log/dnf.log
Output:
2026-10-27T20:01:11 INFO --- logging initialized ---
--More--(4%)
याचा अर्थ: किती पुढे आलात ते दाखवतो.
- खालून सुरू.
more +100 /etc/services
Output:
ftp 21/tcp ...
याचा अर्थ: Line 100 वर जातो.
- Command output page.
rpm -qa | more
Output:
bash-5.1.8-9.el9.x86_64
--More--
याचा अर्थ: मोठ्या lists वाचता येतात.
- Search.
more /etc/ssh/sshd_config then /Port
Output:
...skipping
#Port 22
याचा अर्थ: Match वर जातो.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Bhosari college lab आधी more शिकवते कारण तो प्रत्येक exam VM वर असतो, मग less.
8. mount: Filesystem जोडा
mount सविस्तर: disks आणि shares जोडा
हे का लागतं?
Filesystem folder ला जोडल्याशिवाय उपयोगी नाही. नव्या disks, NFS shares, ISO images mount करता, आणि "disk read-only" किंवा share गायब झाल्यावर mounts तपासता.
हे काय आहे?
mount device किंवा share ला mount point ला जोडतो. Arguments शिवाय mounts list करतो (findmnt जास्त स्पष्ट). कायमचे mounts /etc/fstab मधे; mount -a fstab मधलं सगळं mount करतो आणि reboot आधी test करायचा safe मार्ग.
नेहमीचे options
| Option | काय करतो |
|---|---|
mount DEV DIR | Mount. |
mount -t nfs h:/x DIR | Type. |
mount -o ro | Read-only. |
mount -o remount,rw / | Options live बदला. |
mount -a | fstab मधलं सगळं. |
findmnt DIR | एक mount दाखवा. |
mount -o loop f.iso DIR | ISO mount. |
कसं करायचं (step by step)
- नवी disk mount.
sudo mkdir -p /data && sudo mount /dev/nvme1n1 /data && df -h /data
Output:
/dev/nvme1n1 50G 390M 50G 1% /data
याचा अर्थ: वापरायला तयार, पण फक्त reboot पर्यंत.
- कायमचं करा.
echo "UUID=1f0c2a7e-... /data xfs defaults,nofail 0 0" | sudo tee -a /etc/fstab; sudo mount -a && echo fstab-ok
Output:
fstab-ok
याचा अर्थ: Disk नसली तरी nofail server boot होऊ देतो.
- NFS share mount.
sudo mount -t nfs nas01:/exports/reports /mnt/reports; findmnt /mnt/reports
Output:
TARGET SOURCE FSTYPE OPTIONS
/mnt/reports nas01:/exports/reports nfs4 rw,relatime,vers=4.2
याचा अर्थ: NFS 4.2, read-write.
- Errors नंतर read-only.
findmnt -no OPTIONS /data
Output:
ro,relatime
याचा अर्थ: Kernel ने ro केलं: dmesg आणि fsck तपासा.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Baner मधली architecture firm प्रत्येक workstation वर fstab मधून nofail सह plotter NAS mount करते म्हणजे off-site laptops boot होतात.
9. nc: Raw TCP/UDP connections
nc सविस्तर: कोणताही TCP किंवा UDP port test करा
हे का लागतं?
App म्हणतं "database ला connect होत नाही". Network, firewall की DB? कोणताही client install न करता port पोहोचतो का ते nc test करतो.
हे काय आहे?
nc (netcat, RHEL वर ncat) raw TCP किंवा UDP connections उघडतो. -z फक्त check करून बंद, -v report, -w timeout, -l listen म्हणजे दुसऱ्या बाजूने test करता येतं.
नेहमीचे options
| Option | काय करतो |
|---|---|
nc -zv host port | Port open आहे का? |
-w 3 | Timeout seconds. |
-u | UDP. |
nc -l 9000 | Listen. |
nc host port < file | File पाठवा. |
कसं करायचं (step by step)
- DB port पोहोचतो का?
nc -zv -w 3 10.0.2.15 5432
Output:
Ncat: Connected to 10.0.2.15:5432.
याचा अर्थ: Network आणि firewall ठीक; DB login तपासा.
- Blocked port.
nc -zv -w 3 10.0.2.15 3306
Output:
Ncat: TIMEOUT.
याचा अर्थ: Timeout म्हणजे बहुतेक firewall किंवा security group drop करतो.
- कोणी listen करत नाही.
nc -zv -w 3 localhost 8080
Output:
Ncat: Connection refused.
याचा अर्थ: Refused: host ने उत्तर दिलं पण त्या port वर app नाही.
- App नसताना test.
nc -l 9000 (server) ; nc -zv server 9000 (client)
Output:
Ncat: Connected to server:9000.
याचा अर्थ: Firewall path open आहे हे सिद्ध होतं.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Wakad मधल्या logistics firm ची network team ticket उघडण्याआधी प्रत्येक vendor कडून nc -zv output मागते.
10. netstat: Sockets आणि routes साठी जुनं tool
netstat सविस्तर: जुनं socket tool (आणि ss)
हे का लागतं?
जुने runbooks आणि interviewers अजून netstat -tulpn म्हणतात. तो वाचता यायला हवा आणि modern systems वर ss तेच करतो हे माहीत हवं.
हे काय आहे?
netstat (net-tools) sockets, routes आणि interface stats list करतो. -t TCP, -u UDP, -l listening, -p process, -n numeric. iproute2 मधला ss जलद आणि default installed; ss Part 6 मधे.
नेहमीचे options
| Option | काय करतो |
|---|---|
-tulpn | Process सह listening ports. |
-an | सगळे sockets, numeric. |
-rn | Routes. |
-i | Interface counters. |
-s | Protocol stats. |
कसं करायचं (step by step)
- Listening ports.
sudo netstat -tulpn
Output:
Proto Local Address State PID/Program name
tcp 0.0.0.0:22 LISTEN 1021/sshd
tcp 0.0.0.0:443 LISTEN 1043/nginx
याचा अर्थ: SSH आणि nginx सगळ्या addresses वर listen.
- State प्रमाणे connections मोजा.
netstat -ant | awk 'NR>2{print $6}' | sort | uniq -c
Output:
120 ESTABLISHED
840 TIME_WAIT
6 LISTEN
याचा अर्थ: Busy web servers साठी खूप TIME_WAIT normal.
- ss ने तेच.
sudo ss -tulpn
Output:
tcp LISTEN 0 511 0.0.0.0:443 users:(("nginx",pid=1043))
याचा अर्थ: नव्या servers वर ss.
- Routes.
netstat -rn
Output:
Destination Gateway Genmask Iface
0.0.0.0 10.0.1.1 0.0.0.0 eth0
याचा अर्थ: Default gateway 10.0.1.1.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Swargate मधलं सरकारी office अजून CentOS 6 servers चालवतं जिथे netstat हाच पर्याय.
11. nice: कमी priority ने command सुरू
nice सविस्तर: job कमी priority ने सुरू करा
हे का लागतं?
Customers app वापरत असताना मोठा backup किंवा report files compress करतो. nice ने सुरू करा म्हणजे app ला priority राहते.
हे काय आहे?
nice command ला बदललेल्या niceness ने चालवतो, -20 (सर्वोच्च priority) ते 19 (सर्वात कमी). Default 0; साधा nice 10 जोडतो. 0 खाली फक्त root. चालू process साठी renice (Part 6). Disk साठी ionice.
नेहमीचे options
| Option | काय करतो |
|---|---|
nice cmd | Niceness 10. |
nice -n 19 cmd | सर्वात कमी. |
sudo nice -n -5 cmd | जास्त (root). |
ionice -c3 cmd | Idle disk class. |
ps -o pid,ni,cmd | Niceness बघा. |
कसं करायचं (step by step)
- कमी priority backup.
nice -n 19 tar czf /backup/app.tgz /srv/app &
Output:
[1] 6120
याचा अर्थ: चालतो, पण CPU इतरांना देतो.
- तपासा.
ps -o pid,ni,cmd -p 6120
Output:
PID NI CMD
6120 19 tar czf /backup/app.tgz /srv/app
याचा अर्थ: NI 19.
- Disk वर पण कमी.
nice -n 19 ionice -c3 rsync -a /srv/ /backup/srv/
याचा अर्थ: Idle disk class: दुसऱ्या कोणाला गरज नसतानाच disk.
- Normal user वाढवू शकत नाही.
nice -n -5 sleep 1
Output:
nice: cannot set niceness: Permission denied
याचा अर्थ: 0 खाली root लागतो.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Karve Road वरची CA firm month-end report jobs nice -n 19 ने चालवते म्हणजे terminal server वरचे staff desktops जलद राहतात.
12. nmcli: NetworkManager control
nmcli सविस्तर: networking कायमचं configure करा
हे का लागतं?
ip changes reboot वर जातात. RHEL आणि Fedora वर network config NetworkManager कडे, आणि static IPs, DNS आणि gateways कायमचे set करायचा command-line मार्ग nmcli.
हे काय आहे?
nmcli NetworkManager control करतो. Objects: device (खरे interfaces), connection (saved profiles). Connection modify करा मग up करा. Settings ची नावं ipv4.addresses, ipv4.gateway, ipv4.dns, ipv4.method manual.
नेहमीचे options
| Option | काय करतो |
|---|---|
nmcli dev status | Devices. |
nmcli con show | Connections. |
nmcli con mod NAME ipv4.addresses IP/24 | IP set. |
ipv4.method manual | Static. |
ipv4.dns "1.1.1.1 8.8.8.8" | DNS. |
nmcli con up NAME | Apply. |
nmcli -g ip4.address dev show eth0 | एक value. |
कसं करायचं (step by step)
- Devices.
nmcli dev status
Output:
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected System eth0
lo loopback unmanaged --
याचा अर्थ: eth0 "System eth0" profile वापरतो.
- Static IP set.
sudo nmcli con mod "System eth0" ipv4.method manual ipv4.addresses 192.168.10.20/24 ipv4.gateway 192.168.10.1 ipv4.dns "192.168.10.5 1.1.1.1"
याचा अर्थ: Profile मधे save, अजून live नाही.
- Apply.
sudo nmcli con up "System eth0"
Output:
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
याचा अर्थ: आत्ता आणि reboot नंतर live.
- तपासा.
nmcli -g ip4.address,ip4.dns dev show eth0
Output:
192.168.10.20/24
192.168.10.5 | 1.1.1.1
याचा अर्थ: Set केल्याप्रमाणे.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Hadapsar hospital checked-in script मधून nmcli ने PACS servers वर static IPs set करतं.
13. nohup: Logout नंतरही command चालू
nohup सविस्तर: logout नंतर job चालू ठेवा
हे का लागतं?
SSH वर 3 तासांचं data load सुरू केलं, Wi-Fi गेलं, आणि job मेला. nohup hang-up signal ने त्याला मरू देत नाही.
हे काय आहे?
nohup SIGHUP ignore करणारा command चालवतो, जो terminal बंद झाल्यावर येतो. Redirect न केल्यास output nohup.out मधे. Background साठी & जोडा. परत येऊन बघायचं असेल तर tmux किंवा screen चांगले.
नेहमीचे options
| Option | काय करतो |
|---|---|
nohup cmd & | Background, logout नंतरही. |
nohup cmd > log 2>&1 & | स्वतःची log file. |
nohup.out | Default output file. |
disown | आधी सुरू केलेल्या job साठी. |
कसं करायचं (step by step)
- Load सुरू.
nohup python3 load.py > load.log 2>&1 &
Output:
[1] 7011
याचा अर्थ: Logout करणं safe.
- Logout करून परत; चालू आहे का?
pgrep -a -f load.py
Output:
7011 python3 load.py
याचा अर्थ: अजून आहे.
- Progress बघा.
tail -2 load.log
Output:
rows loaded: 1200000
rows loaded: 1250000
याचा अर्थ: Output file मधे राहिला.
- Redirect शिवाय.
nohup ./sync.sh &
Output:
nohup: ignoring input and appending output to 'nohup.out'
याचा अर्थ: Output current folder मधल्या nohup.out मधे.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Koregaon Park मधली research lab jump host वरून nohup ने रात्रभर model training चालवते.
14. nslookup: साधी DNS query
nslookup सविस्तर: पटकन DNS lookups
हे का लागतं?
Users म्हणतात site उघडत नाही. पहिला प्रश्न: नाव resolve होतं का, आणि योग्य IP ला? nslookup Linux, Windows आणि macOS वर असतो, म्हणून सगळीकडच्या support teams ना माहीत.
हे काय आहे?
nslookup DNS server कडे records मागतो. नाव द्या, -type= ने record type आणि विचारायचा server optional. "Non-authoritative answer" म्हणजे cache मधून आलं. dig जास्त detail देतो (Part 2).
नेहमीचे options
| Option | काय करतो |
|---|---|
nslookup name | Default server कडून A record. |
nslookup name 1.1.1.1 | निवडलेल्या server ला विचारा. |
-type=mx | Mail servers. |
-type=txt | TXT (SPF, verification). |
nslookup IP | Reverse lookup. |
कसं करायचं (step by step)
- नाव resolve.
nslookup shop.example.in
Output:
Server: 10.0.0.2
Address: 10.0.0.2#53
Non-authoritative answer:
Name: shop.example.in
Address: 203.0.113.40
याचा अर्थ: VPC resolver मधून 203.0.113.40.
- Public server शी compare.
nslookup shop.example.in 8.8.8.8
Output:
Address: 203.0.113.41
याचा अर्थ: वेगळी उत्तरं: DNS बदल अजून पसरतोय.
- Mail servers.
nslookup -type=mx example.in
Output:
example.in mail exchanger = 10 mx1.mailhost.in.
याचा अर्थ: Mail mx1 ला जातं.
- नाव अस्तित्वात नाही.
nslookup shpo.example.in
Output:
** server can't find shpo.example.in: NXDOMAIN
याचा अर्थ: Typing चूक किंवा record नाही.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Hinjewadi IT helpdesk users ना Windows वर nslookup चालवून उत्तर ticket मधे paste करायला सांगतो.
15. passwd: Password बदला
passwd सविस्तर: passwords set, lock आणि expire करा
हे का लागतं?
नव्या joiners ना पहिला password, leavers लगेच lock, आणि audits ला passwords expire हवेत. passwd तिन्ही करतो.
हे काय आहे?
passwd तुमचा password बदलतो, किंवा root म्हणून कोणत्याही user चा. -l lock, -u unlock, -e पुढच्या login ला बदल force, -S status. Hashes /etc/shadow मधे. chage ageing rules.
नेहमीचे options
| Option | काय करतो |
|---|---|
passwd | माझा बदला. |
sudo passwd user | User चा set. |
-l / -u | Lock / unlock. |
-e | आत्ता expire. |
-S | Status. |
--stdin | Input मधून (RHEL). |
chage -l user | Ageing info. |
कसं करायचं (step by step)
- पहिला password, login ला बदला.
sudo passwd anita; sudo passwd -e anita
Output:
passwd: all authentication tokens updated successfully.
Expiring password for user anita.
याचा अर्थ: पहिल्या login ला तिला स्वतःचा निवडावा लागेल.
- Leaver lock.
sudo passwd -l rohit; sudo passwd -S rohit
Output:
rohit LK 2026-10-27 0 90 7 -1 (Password locked.)
याचा अर्थ: LK = locked. SSH keys पण काढा.
- Ageing rules.
sudo chage -l anita | head -3
Output:
Last password change : password must be changed
Password expires : password must be changed
Maximum number of days : 90
याचा अर्थ: 90 दिवसांची policy.
- कमकुवत password नाकारला.
passwd
Output:
New password: ****
BAD PASSWORD: The password is shorter than 8 characters
याचा अर्थ: pwquality rules लागू करतो.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Yerawada मधला BPO HR exit mails नंतर एका तासात passwd -l ने accounts lock करतो.
16. paste: Lines शेजारी जोडा
paste सविस्तर: files बाजूला बाजूला जोडा
हे का लागतं?
एका file मधे server names आणि एकात IPs, line by line. एक CSV हवा. paste त्यांना column-wise जोडतो.
हे काय आहे?
paste files एकत्र वाचतो आणि प्रत्येकाची line N tab ने जोडतो. -d दुसरा separator; -s एका file च्या सगळ्या lines एका line मधे.
नेहमीचे options
| Option | काय करतो |
|---|---|
paste a b | Tab सह बाजूला. |
-d , | Comma separator. |
-s | एक file एका line मधे. |
paste -sd+ f | bc | Column sum. |
paste - - < f | दोन lines एकात. |
कसं करायचं (step by step)
- दोन lists जोडा.
paste -d, names.txt ips.txt
Output:
web01,10.0.1.11
web02,10.0.1.12
याचा अर्थ: एका step मधे CSV.
- एका line ची list.
paste -sd, names.txt
Output:
web01,web02,db01
याचा अर्थ: Ansible --limit साठी उपयोगी.
- Numbers sum.
paste -sd+ sales.txt | bc
Output:
184250
याचा अर्थ: प्रत्येक line add.
- Lines जोड्या.
paste - - < pairs.txt
Output:
key1 value1
key2 value2
याचा अर्थ: प्रत्येक दोन lines एक होतात.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Market Yard मधला व्यापारी spreadsheet मधे load करण्याआधी daily price आणि stock files paste ने जोडतो.
17. pgrep: नावाने process ids
pgrep सविस्तर: नावाने process IDs शोधा
हे का लागतं?
ps aux | grep java grep ला पण match करतो आणि cleanup लागतो. pgrep script साठी तयार, फक्त हवे ते PIDs देतो.
हे काय आहे?
pgrep process names (किंवा -f ने पूर्ण command line) match करून PIDs print करतो. -a command जोडतो, -u user filter, -c count, -x exact नाव. Exit code 1 म्हणजे काही नाही.
नेहमीचे options
| Option | काय करतो |
|---|---|
pgrep name | PIDs. |
-a | Command सह. |
-f | पूर्ण command line match. |
-u user | User प्रमाणे. |
-c | Count. |
-x | Exact नाव. |
-o / -n | सर्वात जुना / नवा. |
कसं करायचं (step by step)
- java शोधा.
pgrep -a java
Output:
4121 java -jar /opt/report/report.jar
4388 java -jar /opt/api/api.jar
याचा अर्थ: दोन java apps.
- Jar ने एक शोधा.
pgrep -f api.jar
Output:
4388
याचा अर्थ: -f arguments बघतो.
- nginx workers मोजा.
pgrep -c -u nginx nginx
Output:
4
याचा अर्थ: चार workers.
- Script मधे.
pgrep -x crond > /dev/null || sudo systemctl start crond
याचा अर्थ: crond चालू नसेल तरच सुरू.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Kharadi मधल्या SaaS company ची health script pgrep -f worker.py वापरते आणि count कमी झाल्यावर workers restart करते.
18. ping: Host उत्तर देतो का
ping सविस्तर: host पोहोचतो का, आणि किती जलद?
हे का लागतं?
पहिला network प्रश्न नेहमी "मी पोहोचू शकतो का?" ping round-trip time आणि packet loss सह उत्तर देतो.
हे काय आहे?
ping ICMP echo requests पाठवून replies दाखवतो. -c शिवाय Ctrl+C पर्यंत चालतो. बरेच clouds आणि firewalls ICMP block करतात, म्हणून reply नाही म्हणजे नेहमी down नाही; nc किंवा curl ने खरा port test करा.
नेहमीचे options
| Option | काय करतो |
|---|---|
-c 4 | 4 पाठवा. |
-i 0.2 | Interval. |
-W 2 | प्रत्येक reply ला 2 s. |
-s 1472 | Packet size (MTU tests). |
-M do | Fragment करू नका. |
-q | फक्त summary. |
कसं करायचं (step by step)
- Basic test.
ping -c 4 8.8.8.8
Output:
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=12.4 ms
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss
rtt min/avg/max/mdev = 12.1/12.5/13.0/0.3 ms
याचा अर्थ: Internet पोहोचतं, 12 ms.
- Packet loss.
ping -c 20 -q 10.0.5.9
Output:
20 packets transmitted, 14 received, 30% packet loss
याचा अर्थ: 30% loss: खराब link किंवा overloaded device.
- नाव fail, IP चालतो.
ping -c1 db01; ping -c1 10.0.2.15
Output:
ping: db01: Name or service not known
64 bytes from 10.0.2.15
याचा अर्थ: हे DNS आहे, network नाही.
- MTU test.
ping -c2 -M do -s 1472 10.0.2.15
Output:
ping: local error: message too long, mtu=1400
याचा अर्थ: Path MTU लहान: VPN overhead.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Talegaon मधलं warehouse प्रत्येक handheld scanner gateway ला दर minute ping करतं आणि 5% पेक्षा जास्त loss वर alert देतं.
19. pkill: नाव/pattern ने processes ला signal
pkill सविस्तर: pattern ने processes ना signal
हे का लागतं?
Runaway script ने खूप copies सुरू केल्या. नावाने किंवा command line च्या भागाने सगळ्या एकदम थांबवायच्या.
हे काय आहे?
pkill pgrep सारखंच matching वापरतो पण signal पाठवतो, default SIGTERM. काय लागेल ते बघायला आधी त्याच pattern ने pgrep चालवा. -f पूर्ण command line match, -u user पुरतं.
नेहमीचे options
| Option | काय करतो |
|---|---|
pkill name | नावाने SIGTERM. |
-f pattern | पूर्ण command line. |
-u user | फक्त user. |
-HUP | Reload signal. |
-9 | Force. |
-t pts/3 | Terminal प्रमाणे. |
कसं करायचं (step by step)
- Preview.
pgrep -af "export_job.sh"
Output:
5120 bash export_job.sh
5121 bash export_job.sh
5122 bash export_job.sh
याचा अर्थ: तीन copies लागतील.
- थांबवा.
pkill -f "export_job.sh"; pgrep -cf export_job.sh
Output:
0
याचा अर्थ: सगळे गेले.
- नावाने reload.
sudo pkill -HUP rsyslogd
याचा अर्थ: rsyslog log files परत उघडतो.
- अडकलेलं session काढा.
sudo pkill -t pts/3
याचा अर्थ: pts/3 वर जो आहे तो logout.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Viman Nagar मधल्या travel portal चा on-call guide म्हणतो: आधी pgrep, मग pkill, कधीच फक्त pkill नाही.
20. printf: Formatted text print
printf सविस्तर: scripts मधे formatted output
हे का लागतं?
echo shells मधे वेगळा वागतो आणि columns align करू शकत नाही. printf अगदी जे सांगाल तेच print करतो: padded columns, fixed decimals, अनपेक्षित newlines नाहीत.
हे काय आहे?
printf format आणि values घेतो. %s string, %d integer, %f decimal (%.2f दोन जागा), %-10s 10 chars मधे left-aligned, \n newline. जास्त values साठी format repeat होतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
%s | String. |
%d | Integer. |
%.2f | दोन decimals. |
%-12s | 12 मधे left align. |
%5d | 5 मधे right align. |
\n \t | Newline, tab. |
printf -v var | Variable मधे save. |
कसं करायचं (step by step)
- साधं.
printf "Hello %s\n" Ravi
Output:
Hello Ravi
याचा अर्थ: Newline फक्त सांगितल्यामुळे.
- Aligned table.
printf "%-8s %6s\n" HOST LOAD web01 0.42 db01 3.10
Output:
HOST LOAD
web01 0.42
db01 3.10
याचा अर्थ: प्रत्येक जोडीसाठी format repeat.
- पैसे.
printf "Total: Rs %.2f\n" 1234.5
Output:
Total: Rs 1234.50
याचा अर्थ: नेहमी दोन decimals.
- Zero padded file names.
printf "img_%03d.jpg\n" 7 42
Output:
img_007.jpg
img_042.jpg
याचा अर्थ: बरोबर sort होतात.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Deccan मधली stock analytics script daily summary printf ने print करते म्हणजे email मधे columns रांगेत येतात.
21. ps: Processes list
ps सविस्तर: processes list करा
हे का लागतं?
कोणता process memory वापरतो, कोणी सुरू केला, किती वेळ चालतोय, आणि parent कोण: ps एका snapshot मधे उत्तर देतो जो sort आणि save करता येतो.
हे काय आहे?
ps processes चा snapshot print करतो. ps aux (BSD style) आणि ps -ef (Unix style) सगळे list करतात. -o columns, --sort sort, -p PIDs, --forest tree. top आणि htop live versions.
नेहमीचे options
| Option | काय करतो |
|---|---|
ps aux | सगळे, CPU आणि memory सह. |
ps -ef | सगळे, parent PID सह. |
-o pid,user,%mem,cmd | Columns. |
--sort=-%mem | सर्वात जास्त memory आधी. |
-p PID | एक process. |
--forest | Tree. |
-o etime | Run time. |
कसं करायचं (step by step)
- सर्वात जास्त memory वापरणारे.
ps -eo pid,user,%mem,rss,cmd --sort=-%mem | head -4
Output:
PID USER %MEM RSS CMD
811 mysql 41.0 3.2G /usr/sbin/mysqld
4121 app 12.5 980M java -jar report.jar
याचा अर्थ: mysqld 3.2 GB वापरतो.
- किती वेळ चालतोय?
ps -o pid,etime,cmd -p 4121
Output:
PID ELAPSED CMD
4121 3-04:12:09 java -jar report.jar
याचा अर्थ: 3 दिवस 4 तास.
- Process चा parent.
ps -o ppid= -p 4121 | xargs ps -o pid,cmd -p
Output:
PID CMD
1 /usr/lib/systemd/systemd
याचा अर्थ: systemd ने सुरू केला.
- Zombies.
ps -eo pid,ppid,stat,cmd | awk '$3 ~ /Z/'
Output:
5520 5501 Z [worker] <defunct>
याचा अर्थ: Zombie: त्याच्या parent 5501 ने reap करायला हवं.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Wagholi मधली e-pharmacy दर 5 minutes ला ps aux output save करते म्हणजे slowdown दरम्यान काय चालू होतं ते दिसतं.
22. pvcreate: LVM साठी disk तयार
pvcreate सविस्तर: LVM साठी disk तयार करा
हे का लागतं?
LVM physical volumes ने सुरू होतो. Disk volume group मधे जाण्याआधी pvcreate तिला LVM साठी mark करतो. Free space बघायला pvs आणि pvdisplay.
हे काय आहे?
pvcreate disk किंवा partition वर LVM label लिहितो. मग vgcreate किंवा vgextend group मधे जोडतो, आणि lvcreate (Part 4) volumes कापतो. pvs PVs size आणि free space सह list करतो; pvmove disk वरून data हलवतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
pvcreate /dev/X | PV बनवा. |
pvs | PVs list. |
pvdisplay /dev/X | Details. |
vgextend vg /dev/X | Group मधे जोडा. |
pvmove /dev/X | Data हलवा. |
pvremove /dev/X | Label काढा. |
कसं करायचं (step by step)
- नवी 50 GB disk जोडा.
sudo pvcreate /dev/nvme2n1
Output:
Physical volume "/dev/nvme2n1" successfully created.
याचा अर्थ: LVM साठी label.
- Group वाढवा.
sudo vgextend vgdata /dev/nvme2n1
Output:
Volume group "vgdata" successfully extended
याचा अर्थ: vgdata ला आता जास्त free space.
- PVs बघा.
sudo pvs
Output:
PV VG Fmt Attr PSize PFree
/dev/nvme1n1 vgdata lvm2 a-- <50.00g 20.00g
/dev/nvme2n1 vgdata lvm2 a-- <50.00g <50.00g
याचा अर्थ: दोन disks मिळून 70 GB free.
- Disk आधीच वापरात.
sudo pvcreate /dev/nvme0n1
Output:
Can't open /dev/nvme0n1 exclusively. Mounted filesystem?
याचा अर्थ: ही root disk: थांबा.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Pune hospital ची PACS team images 80% झाल्यावर दर वेळी pvcreate आणि vgextend ने नवी EBS disk जोडते.
23. pwd: Current folder print
pwd सविस्तर: मी कुठे आहे?
हे का लागतं?
rm, tar किंवा relative path आधी current folder माहीत हवा. Scripts ना paths बनवायला पण लागतो.
हे काय आहे?
pwd current working directory print करतो. pwd -L (default) symlinks मधून तुम्ही typed केलेला path दाखवतो; pwd -P खरा physical path. $PWD मधे तीच value.
नेहमीचे options
| Option | काय करतो |
|---|---|
pwd | Current folder. |
pwd -P | खरा path. |
pwd -L | Logical path. |
$PWD | Variable. |
$OLDPWD | मागचा folder. |
कसं करायचं (step by step)
- मी कुठे?
pwd
Output:
/home/ravi/projects
याचा अर्थ: काही risky चालवण्याआधी.
- Symlink मधून.
cd /opt/app/current; pwd; pwd -P
Output:
/opt/app/current
/opt/app/releases/v42
याचा अर्थ: -P खरं release दाखवतो.
- Script मधे.
echo "backup from $PWD" > note.txt; cat note.txt
Output:
backup from /srv/data
याचा अर्थ: pwd सारखंच.
- मागे जा.
cd /etc; cd -; echo $OLDPWD
Output:
/home/ravi/projects
/etc
याचा अर्थ: cd - OLDPWD वापरतो.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Kothrud मधली training institute पहिल्या महिन्यात students ना प्रत्येक rm आधी pwd type करायला लावते.
24. read: Input variables मधे वाचा
read सविस्तर: scripts मधे input घ्या
हे का लागतं?
Scripts ना input लागतो: delete आधी confirmation, echo शिवाय password, किंवा file ची प्रत्येक line. read हे सगळं करतो.
हे काय आहे?
read shell builtin आहे जो line variables मधे वाचतो. -p prompt, -s typing लपवतो, -t timeout, -r backslashes ठेवतो, IFS split character. while IFS= read -r line म्हणजे file वरचा safe loop.
नेहमीचे options
| Option | काय करतो |
|---|---|
read var | Line वाचा. |
-p "text" | Prompt. |
-s | Silent (passwords). |
-t 10 | Timeout. |
-r | Raw, backslashes ठेवा. |
IFS=, read a b | Comma वर split. |
-a arr | Array मधे. |
कसं करायचं (step by step)
- Confirm.
read -p "Delete old logs? (y/n) " ans; [ "$ans" = y ] && echo deleting
Output:
Delete old logs? (y/n) y
deleting
याचा अर्थ: फक्त y पुढे जातो.
- लपवलेला password.
read -s -p "DB password: " pw; echo; echo "${#pw} chars"
Output:
DB password:
12 chars
याचा अर्थ: Type करताना काही दिसत नाही.
- CSV वर loop.
while IFS=, read -r host ip; do echo "$host -> $ip"; done < servers.csv
Output:
web01 -> 10.0.1.11
web02 -> 10.0.1.12
याचा अर्थ: प्रत्येक line दोन variables मधे.
- Timeout.
read -t 5 -p "Continue? " a || echo "no answer, stopping"
Output:
Continue? no answer, stopping
याचा अर्थ: Unattended runs साठी safe default.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Hadapsar factory ची shift script read ने supervisor कडून batch number विचारते आणि प्रत्येक run सह log करते.
25. या range मधल्या commands ज्या आधीच सविस्तर covered आहेत
हे का लागतं?
या commands चा पूर्ण why, what आणि how section आधीच्या chapter मधे आहे. इथे परत लिहिलं तर फक्त page लांब होईल.
हे काय आहे?
प्रत्येक link options, examples आणि output असलेला नेमका section उघडतो.
कसं करायचं (step by step)
26. अनेक industries मधली खरी उदाहरणं
हे का लागतं?
तेच Linux skill प्रत्येक प्रकारच्या company मध्ये लागतं. वेगवेगळ्या ठिकाणी पाहिलं की लक्षात राहतं.
हे काय आहे?
प्रत्येक row म्हणजे एक काल्पनिक team. कोण हे वापरतं आणि कसं ते दाखवते.
कसं करायचं (step by step)
| Team आणि शहर | ते कसं वापरतात | Command |
|---|---|---|
| Kiran, telecom, Hinjewadi | Go-live आधी partner ports test करतो | nc -zv partner.example.in 443 |
| Swati, hospital IT, Shivajinagar | PACS disks जोडते | pvcreate /dev/nvme2n1 |
| Amit, BPO, Yerawada | Leavers lock करतो | passwd -l user |
| Priya, SaaS, Kharadi | मेलेले workers restart करते | pgrep -f worker.py |
| Rohan, media, Pimpri | Uploads verify करतो | md5sum -c MD5SUMS |
| Anjali, factory, Chakan | लांब jobs safely चालवते | nohup ./batch.sh & |
27. नेहमीच्या errors आणि त्यांचे fixes
हे का लागतं?
हे errors सगळ्यांना येतात. कारण माहीत असलं की तास वाचतात.
हे काय आहे?
आधी नेमका message वाचा. मग खालच्या row शी जुळवा.
कसं करायचं (step by step)
| दिसणारा error | का होतं | Fix कसा करायचा |
|---|---|---|
No manual entry for ssh_config | man pages install नाहीत किंवा चुकीचा section | man-pages install करा किंवा -k ने शोधा.man -k ssh_config |
md5sum: WARNING: 1 computed checksum did NOT match | File बदलली किंवा खराब | परत copy करून verify.md5sum -c MD5SUMS |
mkfs: /dev/sdb1 is mounted; will not make a filesystem here! | Target वापरात | Device नाव तपासा; खरंच नवी disk असेल तर unmount.lsblk -f |
mount: wrong fs type, bad option, bad superblock | Filesystem नाही किंवा चुकीचा type | blkid ने तपासा; नवी असेल तर mkfs.blkid /dev/sdb1 |
nc: connect to host port 5432 (tcp) failed: Connection refused | त्या port वर कोणी listen करत नाही | Service सुरू करा किंवा port तपासा.ss -tlnp |
nc: connect timed out | Firewall किंवा security group packets drop करतो | Firewall किंवा security group मधे port उघडा.firewall-cmd --list-ports |
nohup: ignoring input and appending output to 'nohup.out' | Normal message; output nohup.out मधे | Output स्वतःच्या log मधे redirect करा.nohup ./job.sh > job.log 2>&1 & |
** server can't find name: NXDOMAIN | Record नाही | Spelling आणि DNS zone तपासा.nslookup -type=any example.in |
passwd: Authentication token manipulation error | /etc/shadow read-only किंवा disk full | df आणि mount options तपासा.df -h / |
ping: name: Name or service not known | DNS failure, network नाही | IP ping करा; मग resolv.conf तपासा.cat /etc/resolv.conf |
pkill killed more than expected | -f सह pattern खूप broad | आधी pgrep -af ने preview.pgrep -af "export_job" |
pvcreate: Can't open /dev/X exclusively. Mounted filesystem? | Disk वापरात | बरोबर रिकामी disk निवडा.lsblk |
28. Troubleshooting step by step
हे का लागतं?
Part 5 ची command अपेक्षेप्रमाणे वागत नसेल तर या steps.
हे काय आहे?
वरून खाली जा. ज्या step ला problem दिसतो तिथे थांबा.
कसं करायचं (step by step)
- Tool install आहे का?
command -v nc nmcli netstat || echo missing
- Device बरोबर आहे का?
lsblk -f
- DNS की network?
ping -c1 10.0.1.20; nslookup api.example.in
- Kill आधी preview.
pgrep -af pattern
- man page वाचा.
man -k keyword
- Exit codes तपासा.
nc -z host 443; echo $?
29. Lab 1: Filesystem सह disk जोडा आणि data verify करा
हे का लागतं?
Practice disk म्हणून loop file वापरा, filesystem बनवा, mount करा आणि copy verify करा.
हे काय आहे?
पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).
कसं करायचं (step by step)
- 100 MB file disk.
truncate -s 100M /tmp/disk.img
- Filesystem बनवा.
mkfs.ext4 -q /tmp/disk.img
- Mount करा.
sudo mkdir -p /mnt/lab && sudo mount -o loop /tmp/disk.img /mnt/lab && df -h /mnt/lab | tail -1
Output:
/dev/loop0 93M 24K 86M 1% /mnt/lab
- Copy आणि verify.
sudo cp /etc/hosts /mnt/lab/ && md5sum /etc/hosts /mnt/lab/hosts
Output:
(two identical hashes)
- साफ करा.
sudo umount /mnt/lab; rm /tmp/disk.img
30. Lab 2: Safe interactive script
हे का लागतं?
Input विचारणारी, temp file वापरणारी, table print करणारी आणि test process थांबवणारी script लिहा.
हे काय आहे?
पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).
कसं करायचं (step by step)
- Test process सुरू.
nohup sleep 600 > /dev/null 2>&1 &
Output:
[1] 7001
- शोधा.
pgrep -a sleep
Output:
7001 sleep 600
- Temp file आणि table.
t=$(mktemp); ps -o pid,ni,cmd -p 7001 > $t; printf "%-6s %s\n" PID CMD; tail -1 $t
Output:
PID CMD
7001 0 sleep 600
- विचारा आणि थांबवा.
read -p "Stop it? (y/n) " a; [ "$a" = y ] && pkill -x sleep
Output:
Stop it? (y/n) y
- तपासा.
pgrep sleep || echo gone
Output:
gone
Ravindra Bagale's Tip
Before you kill, mount or format anything, run the read-only version first: pgrep before pkill, lsblk before mkfs, nc -z before blaming the app. Five seconds of checking saves hours of recovery.
Ravindra Bagale's Tip – मराठी
काहीही kill, mount किंवा format करण्याआधी read-only version आधी चालवा: pkill आधी pgrep, mkfs आधी lsblk, app ला दोष देण्याआधी nc -z. पाच seconds चं checking तासांची recovery वाचवतं.
Ravindra Bagale's Tip – हिंदी
कुछ भी kill, mount या format करने से पहले read-only version पहले चलाएं: pkill से पहले pgrep, mkfs से पहले lsblk, app को दोष देने से पहले nc -z. पाँच seconds की जाँच घंटों की recovery बचाती है.
31. नेहमी विचारले जाणारे प्रश्न
प्र. netstat की ss?
ss नवा आणि जलद; netstat जुन्या systems वर अजून common.
प्र. nslookup की dig?
dig जास्त detail देतो; nslookup Windows सह सगळीकडे.
प्र. nohup की screen?
एका fire-and-forget job साठी nohup; परत येऊन बघायला screen किंवा tmux.
प्र. md5sum अजून safe?
अपघाती corruption साठी ठीक; छेडछाडीविरुद्ध sha256sum.
प्र. AWS वर ping का fail?
Security groups बहुदा ICMP block करतात. nc ने खरा port test करा.
प्र. kill की pkill?
kill PIDs घेतो; pkill नावं किंवा patterns.
32. मुलाखत प्रश्न आणि उत्तरं
Beginner level
प्र. Command चं help page कसं उघडाल?
man command.
प्र. Current folder कसा कळेल?
pwd.
प्र. Host पोहोचतो का कसं test कराल?
ping -c 4 host.
प्र. तुमचा password कसा बदलाल?
passwd.
Mid level level
प्र. curl शिवाय port 443 test करा.
nc -zv host 443.
प्र. Logout नंतर job चालू ठेवा.
nohup cmd > log 2>&1 &.
प्र. सर्वात जास्त memory processes.
ps aux --sort=-%mem | head.
प्र. User account lock करा.
passwd -l user.
Senior level
प्र. नवी EBS disk कायम /data साठी. Steps?
lsblk, mkfs.xfs, mkdir /data, mount, /etc/fstab मधे UUID line, mount -a.
प्र. App पोहोचत नाही. कसं narrow कराल?
nslookup, ping, nc -zv, मग server वर ss किंवा netstat, मग logs.
प्र. Batch job API slow करतो. Kill न करता पर्याय?
nice/renice 19, ionice -c3, किंवा नंतर schedule.
प्र. Temp files सह script safe कशी कराल?
mktemp आणि exit ला काढायला trap.
घरी करून बघा
- man ls वाचा आणि माहीत नसलेले तीन options शोधा.
- Loop-file disk बनवा, format आणि mount करा.
- स्वतःच्या machine वर पाच ports nc -zv ने test करा.
- नाव वाचून printf ने greeting print करणारी script लिहा.
सराव Tasks
Maple Leaf Books हा टोरांटो मधला पुस्तक विक्री व्यवसाय आहे. Emily Tremblay त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे CAD मध्ये मोजले जातात आणि AWS resources ca-central-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.
0 / 23
सोपं man pages search
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: crontab keyword साठी manual pages search करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं File hash
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: invoice.pdf चा MD5 checksum print करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Temp folder
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: build. ने सुरू होणारी आणि XXXXXX असलेली safe temporary directory बनवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Device status
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: nmcli ने फक्त active connections दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं User lock
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: deepak user चं account lock करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Password status
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: meena user चा password status दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं तीनदा ping
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: 192.168.1.1 ला बरोबर 3 वेळा ping करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम man section
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: passwd साठी manual चा section 5 उघडा (file format).
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम List verify
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: checks.md5 मधल्या सगळ्या files verify करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम XFS बनवा
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: /dev/xvdf वर XFS filesystem बनवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Disk mount
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: /dev/xvdg1 ला /reports वर mount करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Port test
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: cache01 वर port 6379 उघडा आहे का verbose आणि data न पाठवता तपासा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Listening ports
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: netstat ने listening UDP ports numbers आणि programs सह दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Low priority ने सुरू
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: ./reindex.sh niceness 15 सह चालवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम TXT records
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: mailer.example.org चे TXT records शोधा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Colon ने जोडा
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: users.txt आणि shells.txt colon वापरून बाजूला जोडा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम User प्रमाणे count
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: postgres user च्या processes मोजा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Padded number
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: printf ने 5 हा number 0005 म्हणून newline सह print करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम User चे processes
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: ps ने nginx user चे processes दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड Read-only remount
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: Unmount न करता /archive read-only remount करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड User प्रमाणे kill
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: tempuser user च्या प्रत्येक process ला SIGTERM पाठवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड दोन PVs
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: /dev/xvdh आणि /dev/xvdi एका command मधे LVM physical volumes बनवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड Timeout सह read
का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.
काय करायचं: zone variable मधे value वाचा, जास्तीत जास्त 8 seconds थांबा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
33. संबंधित chapters
- Linux Commands A-Z Index
- DevOps साठी Linux Ops Refresh
- Automation साठी Bash Scripting
- Linux grep आणि find Commands Examples सह
- Linux Servers मध्ये Passwordless SSH
थोडक्यात सांगायचं तर
- man, more: help आणि लांब output वाचा.
- mkfs, mount, pvcreate: disks.
- nc, netstat, nslookup, ping, nmcli: network.
- ps, pgrep, pkill, nice, nohup: processes.
- passwd: accounts.
- paste, printf, pwd, read, mktemp, md5sum: scripting.
उजळणी, तुलना आणि मुलाखत cards
हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.








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