Ravindra BagaleCourses & study guides English

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)

नवी data disk सुरुवातीपासून शेवटपर्यंत जोडणंDisk pvcreateFilesystem बनवाMount कराps आणि nc ने तपासाmd5sum ने files verifyझालं
प्रत्येक step या part मधली command वापरते.

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)

  1. 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 करत नाही.

  1. 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 cmdPage उघडा.
man 5 crontabनिवडलेला section.
man -k wordTitles search (apropos).
man -f cmdएक line summary (whatis).
cmd --helpपटकन usage.
sudo mandbIndex rebuild.

कसं करायचं (step by step)

  1. Page उघडा.
man tar

Output:

TAR(1)   GNU TAR Manual   TAR(1)
NAME
       tar - an archiving utility

याचा अर्थ: Section 1: user command.

  1. 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 समजावतो.

  1. नाव माहीत नाही.
man -k "disk usage"

Output:

du (1)  - estimate file space usage
df (1)  - report file system space usage

याचा अर्थ: du आणि df सापडतात.

  1. 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 fSum print.
md5sum f1 f2अनेक files.
md5sum f > f.md5Save करा.
md5sum -c f.md5Saved sums तपासा.
md5sum --quiet -cफक्त failures.

कसं करायचं (step by step)

  1. Backup चा fingerprint.
md5sum db-2026-10-27.sql.gz

Output:

5d41402abc4b2a76b9719d911017c592  db-2026-10-27.sql.gz

याचा अर्थ: Hash मग file name.

  1. 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

याचा अर्थ: दोन्ही बाजूंना सारखं.

  1. खराब copy.
md5sum -c db.md5

Output:

db-2026-10-27.sql.gz: FAILED
md5sum: WARNING: 1 computed checksum did NOT match

याचा अर्थ: परत copy करा.

  1. 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/XXFS.
mkfs.ext4 /dev/Xext4.
-L dataLabel.
mkfs.xfs -fअसलेली signature overwrite.
mkfs.ext4 -m 1Root साठी फक्त 1% राखीव.
blkid /dev/Xकाय आहे ते तपासा.

कसं करायचं (step by step)

  1. रिकामं device confirm.
lsblk -f /dev/nvme1n1

Output:

NAME    FSTYPE MOUNTPOINTS
nvme1n1

याचा अर्थ: FSTYPE नाही: रिकामं.

  1. 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.

  1. तपासा.
blkid /dev/nvme1n1

Output:

/dev/nvme1n1: LABEL="data" UUID="1f0c2a7e-..." TYPE="xfs"

याचा अर्थ: हा UUID fstab मधे.

  1. असलेल्या 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काय करतो
mktempTemp file.
mktemp -dTemp folder.
mktemp /tmp/rep.XXXXXXस्वतःचा pattern.
mktemp -p /dataFolder मधे बनवा.
mktemp -uफक्त नाव (unsafe).

कसं करायचं (step by step)

  1. Temp file बनवा.
mktemp

Output:

/tmp/tmp.k3Jd9QaZ1p

याचा अर्थ: प्रत्येक वेळी unique.

  1. Private permissions.
ls -l $(mktemp)

Output:

-rw-------. 1 ravi ravi 0 Oct 27 20:40 /tmp/tmp.Wq0x8LmP2c

याचा अर्थ: फक्त owner वाचू शकतो.

  1. Cleanup सह script मधे.
T=$(mktemp -d); trap 'rm -rf "$T"' EXIT; echo "$T"

Output:

/tmp/tmp.9fKs2LwQ0a

याचा अर्थ: Script बाहेर पडल्यावर delete, error असला तरी.

  1. नाव 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 / EnterPage / line.
/wordपुढे search.
more +50 fLine 50 पासून.
cmd | moreOutput page करा.

कसं करायचं (step by step)

  1. Log वाचा.
more /var/log/dnf.log

Output:

2026-10-27T20:01:11 INFO --- logging initialized ---
--More--(4%)

याचा अर्थ: किती पुढे आलात ते दाखवतो.

  1. खालून सुरू.
more +100 /etc/services

Output:

ftp  21/tcp ...

याचा अर्थ: Line 100 वर जातो.

  1. Command output page.
rpm -qa | more

Output:

bash-5.1.8-9.el9.x86_64
--More--

याचा अर्थ: मोठ्या lists वाचता येतात.

  1. 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 DIRMount.
mount -t nfs h:/x DIRType.
mount -o roRead-only.
mount -o remount,rw /Options live बदला.
mount -afstab मधलं सगळं.
findmnt DIRएक mount दाखवा.
mount -o loop f.iso DIRISO mount.

कसं करायचं (step by step)

  1. नवी disk mount.
sudo mkdir -p /data && sudo mount /dev/nvme1n1 /data && df -h /data

Output:

/dev/nvme1n1   50G  390M   50G   1% /data

याचा अर्थ: वापरायला तयार, पण फक्त reboot पर्यंत.

  1. कायमचं करा.
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 होऊ देतो.

  1. 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.

  1. 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 portPort open आहे का?
-w 3Timeout seconds.
-uUDP.
nc -l 9000Listen.
nc host port < fileFile पाठवा.

कसं करायचं (step by step)

  1. DB port पोहोचतो का?
nc -zv -w 3 10.0.2.15 5432

Output:

Ncat: Connected to 10.0.2.15:5432.

याचा अर्थ: Network आणि firewall ठीक; DB login तपासा.

  1. Blocked port.
nc -zv -w 3 10.0.2.15 3306

Output:

Ncat: TIMEOUT.

याचा अर्थ: Timeout म्हणजे बहुतेक firewall किंवा security group drop करतो.

  1. कोणी listen करत नाही.
nc -zv -w 3 localhost 8080

Output:

Ncat: Connection refused.

याचा अर्थ: Refused: host ने उत्तर दिलं पण त्या port वर app नाही.

  1. 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काय करतो
-tulpnProcess सह listening ports.
-anसगळे sockets, numeric.
-rnRoutes.
-iInterface counters.
-sProtocol stats.

कसं करायचं (step by step)

  1. 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.

  1. 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.

  1. ss ने तेच.
sudo ss -tulpn

Output:

tcp LISTEN 0 511 0.0.0.0:443 users:(("nginx",pid=1043))

याचा अर्थ: नव्या servers वर ss.

  1. 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 cmdNiceness 10.
nice -n 19 cmdसर्वात कमी.
sudo nice -n -5 cmdजास्त (root).
ionice -c3 cmdIdle disk class.
ps -o pid,ni,cmdNiceness बघा.

कसं करायचं (step by step)

  1. कमी priority backup.
nice -n 19 tar czf /backup/app.tgz /srv/app &

Output:

[1] 6120

याचा अर्थ: चालतो, पण CPU इतरांना देतो.

  1. तपासा.
ps -o pid,ni,cmd -p 6120

Output:

  PID  NI CMD
 6120  19 tar czf /backup/app.tgz /srv/app

याचा अर्थ: NI 19.

  1. Disk वर पण कमी.
nice -n 19 ionice -c3 rsync -a /srv/ /backup/srv/

याचा अर्थ: Idle disk class: दुसऱ्या कोणाला गरज नसतानाच disk.

  1. 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 statusDevices.
nmcli con showConnections.
nmcli con mod NAME ipv4.addresses IP/24IP set.
ipv4.method manualStatic.
ipv4.dns "1.1.1.1 8.8.8.8"DNS.
nmcli con up NAMEApply.
nmcli -g ip4.address dev show eth0एक value.

कसं करायचं (step by step)

  1. Devices.
nmcli dev status

Output:

DEVICE  TYPE      STATE      CONNECTION
eth0    ethernet  connected  System eth0
lo      loopback  unmanaged  --

याचा अर्थ: eth0 "System eth0" profile वापरतो.

  1. 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 नाही.

  1. Apply.
sudo nmcli con up "System eth0"

Output:

Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)

याचा अर्थ: आत्ता आणि reboot नंतर live.

  1. तपासा.
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.outDefault output file.
disownआधी सुरू केलेल्या job साठी.

कसं करायचं (step by step)

  1. Load सुरू.
nohup python3 load.py > load.log 2>&1 &

Output:

[1] 7011

याचा अर्थ: Logout करणं safe.

  1. Logout करून परत; चालू आहे का?
pgrep -a -f load.py

Output:

7011 python3 load.py

याचा अर्थ: अजून आहे.

  1. Progress बघा.
tail -2 load.log

Output:

rows loaded: 1200000
rows loaded: 1250000

याचा अर्थ: Output file मधे राहिला.

  1. 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 nameDefault server कडून A record.
nslookup name 1.1.1.1निवडलेल्या server ला विचारा.
-type=mxMail servers.
-type=txtTXT (SPF, verification).
nslookup IPReverse lookup.

कसं करायचं (step by step)

  1. नाव 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.

  1. Public server शी compare.
nslookup shop.example.in 8.8.8.8

Output:

Address: 203.0.113.41

याचा अर्थ: वेगळी उत्तरं: DNS बदल अजून पसरतोय.

  1. Mail servers.
nslookup -type=mx example.in

Output:

example.in mail exchanger = 10 mx1.mailhost.in.

याचा अर्थ: Mail mx1 ला जातं.

  1. नाव अस्तित्वात नाही.
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 userUser चा set.
-l / -uLock / unlock.
-eआत्ता expire.
-SStatus.
--stdinInput मधून (RHEL).
chage -l userAgeing info.

कसं करायचं (step by step)

  1. पहिला password, login ला बदला.
sudo passwd anita; sudo passwd -e anita

Output:

passwd: all authentication tokens updated successfully.
Expiring password for user anita.

याचा अर्थ: पहिल्या login ला तिला स्वतःचा निवडावा लागेल.

  1. 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 पण काढा.

  1. 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.

  1. कमकुवत 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 bTab सह बाजूला.
-d ,Comma separator.
-sएक file एका line मधे.
paste -sd+ f | bcColumn sum.
paste - - < fदोन lines एकात.

कसं करायचं (step by step)

  1. दोन lists जोडा.
paste -d, names.txt ips.txt

Output:

web01,10.0.1.11
web02,10.0.1.12

याचा अर्थ: एका step मधे CSV.

  1. एका line ची list.
paste -sd, names.txt

Output:

web01,web02,db01

याचा अर्थ: Ansible --limit साठी उपयोगी.

  1. Numbers sum.
paste -sd+ sales.txt | bc

Output:

184250

याचा अर्थ: प्रत्येक line add.

  1. 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 namePIDs.
-aCommand सह.
-fपूर्ण command line match.
-u userUser प्रमाणे.
-cCount.
-xExact नाव.
-o / -nसर्वात जुना / नवा.

कसं करायचं (step by step)

  1. java शोधा.
pgrep -a java

Output:

4121 java -jar /opt/report/report.jar
4388 java -jar /opt/api/api.jar

याचा अर्थ: दोन java apps.

  1. Jar ने एक शोधा.
pgrep -f api.jar

Output:

4388

याचा अर्थ: -f arguments बघतो.

  1. nginx workers मोजा.
pgrep -c -u nginx nginx

Output:

4

याचा अर्थ: चार workers.

  1. 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 44 पाठवा.
-i 0.2Interval.
-W 2प्रत्येक reply ला 2 s.
-s 1472Packet size (MTU tests).
-M doFragment करू नका.
-qफक्त summary.

कसं करायचं (step by step)

  1. 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.

  1. Packet loss.
ping -c 20 -q 10.0.5.9

Output:

20 packets transmitted, 14 received, 30% packet loss

याचा अर्थ: 30% loss: खराब link किंवा overloaded device.

  1. नाव 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 नाही.

  1. 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.
-HUPReload signal.
-9Force.
-t pts/3Terminal प्रमाणे.

कसं करायचं (step by step)

  1. Preview.
pgrep -af "export_job.sh"

Output:

5120 bash export_job.sh
5121 bash export_job.sh
5122 bash export_job.sh

याचा अर्थ: तीन copies लागतील.

  1. थांबवा.
pkill -f "export_job.sh"; pgrep -cf export_job.sh

Output:

0

याचा अर्थ: सगळे गेले.

  1. नावाने reload.
sudo pkill -HUP rsyslogd

याचा अर्थ: rsyslog log files परत उघडतो.

  1. अडकलेलं 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काय करतो
%sString.
%dInteger.
%.2fदोन decimals.
%-12s12 मधे left align.
%5d5 मधे right align.
\n \tNewline, tab.
printf -v varVariable मधे save.

कसं करायचं (step by step)

  1. साधं.
printf "Hello %s\n" Ravi

Output:

Hello Ravi

याचा अर्थ: Newline फक्त सांगितल्यामुळे.

  1. 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.

  1. पैसे.
printf "Total: Rs %.2f\n" 1234.5

Output:

Total: Rs 1234.50

याचा अर्थ: नेहमी दोन decimals.

  1. 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,cmdColumns.
--sort=-%memसर्वात जास्त memory आधी.
-p PIDएक process.
--forestTree.
-o etimeRun time.

कसं करायचं (step by step)

  1. सर्वात जास्त 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 वापरतो.

  1. किती वेळ चालतोय?
ps -o pid,etime,cmd -p 4121

Output:

  PID     ELAPSED CMD
 4121 3-04:12:09 java -jar report.jar

याचा अर्थ: 3 दिवस 4 तास.

  1. Process चा parent.
ps -o ppid= -p 4121 | xargs ps -o pid,cmd -p

Output:

  PID CMD
    1 /usr/lib/systemd/systemd

याचा अर्थ: systemd ने सुरू केला.

  1. 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/XPV बनवा.
pvsPVs list.
pvdisplay /dev/XDetails.
vgextend vg /dev/XGroup मधे जोडा.
pvmove /dev/XData हलवा.
pvremove /dev/XLabel काढा.

कसं करायचं (step by step)

  1. नवी 50 GB disk जोडा.
sudo pvcreate /dev/nvme2n1

Output:

Physical volume "/dev/nvme2n1" successfully created.

याचा अर्थ: LVM साठी label.

  1. Group वाढवा.
sudo vgextend vgdata /dev/nvme2n1

Output:

Volume group "vgdata" successfully extended

याचा अर्थ: vgdata ला आता जास्त free space.

  1. 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.

  1. 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काय करतो
pwdCurrent folder.
pwd -Pखरा path.
pwd -LLogical path.
$PWDVariable.
$OLDPWDमागचा folder.

कसं करायचं (step by step)

  1. मी कुठे?
pwd

Output:

/home/ravi/projects

याचा अर्थ: काही risky चालवण्याआधी.

  1. Symlink मधून.
cd /opt/app/current; pwd; pwd -P

Output:

/opt/app/current
/opt/app/releases/v42

याचा अर्थ: -P खरं release दाखवतो.

  1. Script मधे.
echo "backup from $PWD" > note.txt; cat note.txt

Output:

backup from /srv/data

याचा अर्थ: pwd सारखंच.

  1. मागे जा.
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 varLine वाचा.
-p "text"Prompt.
-sSilent (passwords).
-t 10Timeout.
-rRaw, backslashes ठेवा.
IFS=, read a bComma वर split.
-a arrArray मधे.

कसं करायचं (step by step)

  1. Confirm.
read -p "Delete old logs? (y/n) " ans; [ "$ans" = y ] && echo deleting

Output:

Delete old logs? (y/n) y
deleting

याचा अर्थ: फक्त y पुढे जातो.

  1. लपवलेला password.
read -s -p "DB password: " pw; echo; echo "${#pw} chars"

Output:

DB password:
12 chars

याचा अर्थ: Type करताना काही दिसत नाही.

  1. 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 मधे.

  1. 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)

  • mkdir: Folders बनवा: -p, -m आणि -v
  • mv: Files move आणि rename: -i, -n आणि -v

26. अनेक industries मधली खरी उदाहरणं

हे का लागतं?

तेच Linux skill प्रत्येक प्रकारच्या company मध्ये लागतं. वेगवेगळ्या ठिकाणी पाहिलं की लक्षात राहतं.

हे काय आहे?

प्रत्येक row म्हणजे एक काल्पनिक team. कोण हे वापरतं आणि कसं ते दाखवते.

कसं करायचं (step by step)

Team आणि शहरते कसं वापरतातCommand
Kiran, telecom, HinjewadiGo-live आधी partner ports test करतोnc -zv partner.example.in 443
Swati, hospital IT, ShivajinagarPACS disks जोडतेpvcreate /dev/nvme2n1
Amit, BPO, YerawadaLeavers lock करतोpasswd -l user
Priya, SaaS, Kharadiमेलेले workers restart करतेpgrep -f worker.py
Rohan, media, PimpriUploads 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_configman pages install नाहीत किंवा चुकीचा sectionman-pages install करा किंवा -k ने शोधा.
man -k ssh_config
md5sum: WARNING: 1 computed checksum did NOT matchFile बदलली किंवा खराबपरत 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 superblockFilesystem नाही किंवा चुकीचा typeblkid ने तपासा; नवी असेल तर mkfs.
blkid /dev/sdb1
nc: connect to host port 5432 (tcp) failed: Connection refusedत्या port वर कोणी listen करत नाहीService सुरू करा किंवा port तपासा.
ss -tlnp
nc: connect timed outFirewall किंवा 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: NXDOMAINRecord नाहीSpelling आणि DNS zone तपासा.
nslookup -type=any example.in
passwd: Authentication token manipulation error/etc/shadow read-only किंवा disk fulldf आणि mount options तपासा.
df -h /
ping: name: Name or service not knownDNS 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)

  1. Tool install आहे का?
command -v nc nmcli netstat || echo missing
  1. Device बरोबर आहे का?
lsblk -f
  1. DNS की network?
ping -c1 10.0.1.20; nslookup api.example.in
  1. Kill आधी preview.
pgrep -af pattern
  1. man page वाचा.
man -k keyword
  1. 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)

  1. 100 MB file disk.
truncate -s 100M /tmp/disk.img
  1. Filesystem बनवा.
mkfs.ext4 -q /tmp/disk.img
  1. 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
  1. Copy आणि verify.
sudo cp /etc/hosts /mnt/lab/ && md5sum /etc/hosts /mnt/lab/hosts

Output:

(two identical hashes)
  1. साफ करा.
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)

  1. Test process सुरू.
nohup sleep 600 > /dev/null 2>&1 &

Output:

[1] 7001
  1. शोधा.
pgrep -a sleep

Output:

7001 sleep 600
  1. 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
  1. विचारा आणि थांबवा.
read -p "Stop it? (y/n) " a; [ "$a" = y ] && pkill -x sleep

Output:

Stop it? (y/n) y
  1. तपासा.
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.

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.

घरी करून बघा

  1. man ls वाचा आणि माहीत नसलेले तीन options शोधा.
  2. Loop-file disk बनवा, format आणि mount करा.
  3. स्वतःच्या machine वर पाच ports nc -zv ने test करा.
  4. नाव वाचून printf ने greeting print करणारी script लिहा.

सराव Tasks

या scenario बद्दल

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 करा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं File hash

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: invoice.pdf चा MD5 checksum print करा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं Temp folder

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: build. ने सुरू होणारी आणि XXXXXX असलेली safe temporary directory बनवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं Device status

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: nmcli ने फक्त active connections दाखवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं User lock

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: deepak user चं account lock करा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं Password status

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: meena user चा password status दाखवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं तीनदा ping

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: 192.168.1.1 ला बरोबर 3 वेळा ping करा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम man section

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: passwd साठी manual चा section 5 उघडा (file format).

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम List verify

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: checks.md5 मधल्या सगळ्या files verify करा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम XFS बनवा

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: /dev/xvdf वर XFS filesystem बनवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम Disk mount

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: /dev/xvdg1 ला /reports वर mount करा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम Port test

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: cache01 वर port 6379 उघडा आहे का verbose आणि data न पाठवता तपासा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम Listening ports

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: netstat ने listening UDP ports numbers आणि programs सह दाखवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम Low priority ने सुरू

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: ./reindex.sh niceness 15 सह चालवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम TXT records

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: mailer.example.org चे TXT records शोधा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम Colon ने जोडा

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: users.txt आणि shells.txt colon वापरून बाजूला जोडा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम User प्रमाणे count

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: postgres user च्या processes मोजा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम Padded number

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: printf ने 5 हा number 0005 म्हणून newline सह print करा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम User चे processes

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: ps ने nginx user चे processes दाखवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

अवघड Read-only remount

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: Unmount न करता /archive read-only remount करा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

अवघड User प्रमाणे kill

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: tempuser user च्या प्रत्येक process ला SIGTERM पाठवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

अवघड दोन PVs

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: /dev/xvdh आणि /dev/xvdi एका command मधे LVM physical volumes बनवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

अवघड Timeout सह read

का: BIZ Linux servers चालवतो आणि man ते read commands रोज वापरतो.

काय करायचं: zone variable मधे value वाचा, जास्तीत जास्त 8 seconds थांबा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

थोडक्यात सांगायचं तर

  1. man, more: help आणि लांब output वाचा.
  2. mkfs, mount, pvcreate: disks.
  3. nc, netstat, nslookup, ping, nmcli: network.
  4. ps, pgrep, pkill, nice, nohup: processes.
  5. passwd: accounts.
  6. paste, printf, pwd, read, mktemp, md5sum: scripting.

उजळणी, तुलना आणि मुलाखत cards

हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.

4 steps मधे busy process शोधा. सगळ्यात जास्त CPU. नावाने एक app. Host जिवंत आहे? Logout नंतर job चालू ठेवा.
उजळणी card: 4 steps मधे busy process शोधा · PNG download करा · Card page उघडा
Disk safely mount करा. Disk बघा. Mount करा. तपासा. fstab test.
उजळणी card: Disk safely mount करा · PNG download करा · Card page उघडा
ps vs pgrep. Process table दाखवतो. / Matching PIDs देतो.
तुलना: ps vs pgrep · PNG download करा · Card page उघडा
ping vs nc. Host check (ICMP). / TCP port check.
तुलना: ping vs nc · PNG download करा · Card page उघडा
Remote port उघडा आहे?. nc ने test. Ping फक्त host check करतो. Timeout म्हणजे firewall.
मुलाखत card: Remote port उघडा आहे? · PNG download करा · Card page उघडा
SSH बंद झाल्यावर job मरतो?. Shell SIGHUP पाठवतो. nohup वापरा. किंवा screen session.
मुलाखत card: SSH बंद झाल्यावर job मरतो? · PNG download करा · Card page उघडा
सोडून गेलेल्याचं account lock?. Password lock. Status तपासा. Login ला change force.
मुलाखत card: सोडून गेलेल्याचं account lock? · PNG download करा · Card page उघडा
umount म्हणतो target busy?. कोणी process वापरतोय. शोधा. आधी folder सोडा.
मुलाखत card: umount म्हणतो target busy? · PNG download करा · Card page उघडा

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