Linux Commands A-Z Part 4: hostname, ip, journalctl, jq, kill, lsof, lvcreate आणि अजून, Examples सह
हा Linux Commands A-Z reference चा Part 4 आहे: hostname ते lvcreate. Server ला नाव द्यायला, त्याचं network, firewall आणि CPU वाचायला, processes आणि disks बघायला, journalctl ने logs वाचायला, jq ने JSON filter करायला, processes थांबवायला, कोण login झालं ते बघायला, मोठ्या files वाचायला, links बनवायला, files जलद शोधायला, logs लिहायला आणि rotate करायला, files आणि disks list करायला, open files शोधायला आणि LVM volumes बनवायला या commands वापरतात. प्रत्येक command ला why, what, options table आणि खऱ्या output आणि अर्थासह step-by-step examples आहेत. ip, journalctl, ls आणि lsof ला जास्त depth आहे कारण त्या जवळजवळ प्रत्येक incident मधे लागतात.
या chapter मध्ये तुम्ही काय शिकाल
- hostname आणि hostnamectl ने server ला नाव द्या आणि id ने identity वाचा
- ip ने addresses, routes आणि ARP वाचा, आणि ifconfig चा जुना output
- iptables rules योग्य order मधे वाचा आणि जोडा
- htop, iostat, lscpu आणि lsblk ने CPU, memory आणि disks बघा
- journalctl आणि less ने logs वाचा, logger ने लिहा, logrotate ने rotate करा
- jq ने APIs चा JSON filter करा
- kill आणि killall ने processes थांबवा, आणि jobs manage करा
- files, links आणि holders शोधायला ls, ln, locate आणि lsof वापरा, आणि lvcreate ने storage वाढवा
1. रोजचं उदाहरण: Swargate housing society office
हे का लागतं?
Society secretary प्रत्येक wing चा name board तपासतो, कोण आलं त्याचं gate register वाचतो, water tank level बघतो, CCTV recorder log बघतो, गळक्या pipe साठी plumber ला बोलावतो, भटक्या vendor ला परत पाठवतो, आणि जुनी भरली की नवी storage room जोडतो.
हे काय आहे?
hostname म्हणजे name board. last म्हणजे gate register. lsblk आणि iostat म्हणजे water tank. journalctl म्हणजे CCTV log. ip म्हणजे pipes. kill म्हणजे vendor ला परत पाठवणं. lvcreate म्हणजे नवी storage room.
कसं करायचं (step by step)
2. Part 4 commands वापरून पाच minute चा incident check
हे का लागतं?
Deep dives आधी, outage मधले पहिले प्रश्न या commands कसे सोडवतात ते बघा.
हे काय आहे?
Server confirm करा, network तपासा, errors वाचा, मग process शोधा.
| प्रश्न | Command |
|---|---|
| मी कोणत्या server वर? | hostname |
| Network up? | ip -br a |
| काय fail झालं? | journalctl -p err -b |
| Port कोणाकडे? | lsof -i :8080 |
| Disk bottleneck? | iostat -x |
कसं करायचं (step by step)
- Check एकदम चालवा.
hostname; ip -br a | grep -v lo; sudo journalctl -p err -b -n 2 --no-pager
Output:
web01.prod.example.in
eth0 UP 10.0.1.5/24
app[3120]: java.net.BindException: Address already in use
systemd[1]: app.service: Failed with result 'exit-code'.
याचा अर्थ: बरोबर server, network up, app ला port bind करता आला नाही.
- Port कोण धरतोय ते शोधा.
sudo lsof -i :8080 -P -n
Output:
COMMAND PID USER FD TYPE NODE NAME
java 2950 app 45u IPv6 TCP *:8080 (LISTEN)
याचा अर्थ: जुनी copy (PID 2950) अजून चालू. kill ने थांबवा, मग service सुरू करा.
3. hostname: Host name दाखवा/set
hostname सविस्तर: server चं नाव आणि IPs
हे का लागतं?
Prompts, logs, monitoring आणि certificates सगळीकडे host name दिसतं. चुकीच्या नावामुळे alerts चुकीच्या server वर जातात. Server चा IP पण बऱ्याचदा पटकन लागतो.
हे काय आहे?
hostname current host name print किंवा set करतो. फक्त hostname ने केलेला बदल reboot वर जातो; systemd systems वर कायमसाठी hostnamectl. hostname -I machine चे सगळे IP addresses देतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
hostname | नाव print. |
hostname -f | पूर्ण नाव (FQDN). |
hostname -s | छोटं नाव. |
hostname -I | सगळे IP addresses. |
sudo hostname new | Reboot पर्यंत set. |
कसं करायचं (step by step)
- मी कोणत्या server वर?
hostname
Output:
web01
याचा अर्थ: Risky commands आधी नेहमी तपासा.
- पूर्ण नाव.
hostname -f
Output:
web01.prod.example.in
याचा अर्थ: छोटं नाव आणि domain.
- माझे IPs.
hostname -I
Output:
10.0.1.15 172.17.0.1
याचा अर्थ: Server IP आणि docker bridge.
- तात्पुरता बदल.
sudo hostname test01; hostname
Output:
test01
याचा अर्थ: Reboot नंतर जातो. कायमसाठी hostnamectl.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Pune मधलं hospital servers ला opd-db01 सारखी नावं देतं आणि data ला हात लावण्याआधी प्रत्येक script मधे hostname तपासतं.
4. hostnamectl: systemd ने host name manage
hostnamectl सविस्तर: नाव कायमचं set करा आणि system info बघा
हे का लागतं?
नवे VMs ip-10-0-1-15 सारख्या random नावांनी येतात. Reboot नंतरही टिकणारं अर्थपूर्ण नाव हवं, आणि OS, kernel आणि hardware चा पटकन view.
हे काय आहे?
hostnamectl systemd-hostnamed शी बोलतो. तो /etc/hostname लिहितो, चालू नाव set करतो आणि एकाच screen वर OS, kernel, architecture, virtualization आणि machine ID दाखवतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
hostnamectl | Status दाखवा. |
hostnamectl set-hostname name | कायमचं set. |
hostnamectl --static | फक्त saved नाव. |
hostnamectl set-hostname "Pretty" --pretty | Spaces असलेलं display नाव. |
hostnamectl set-location "Pune DC" | Location नोंदवा. |
कसं करायचं (step by step)
- System info बघा.
hostnamectl
Output:
Static hostname: ip-10-0-1-15
Operating System: Rocky Linux 9.4 (Blue Onyx)
Kernel: Linux 5.14.0-427.el9.x86_64
Virtualization: amazon
Architecture: x86-64
याचा अर्थ: OS, kernel आणि cloud एकाच view मधे.
- खरं नाव set.
sudo hostnamectl set-hostname pay-api01.prod.example.in
याचा अर्थ: /etc/hostname मधे save आणि आत्ताच live.
- तपासा.
cat /etc/hostname; hostname
Output:
pay-api01.prod.example.in
pay-api01.prod.example.in
याचा अर्थ: Reboot नंतर टिकेल.
- /etc/hosts मधे पण.
echo "127.0.1.1 pay-api01.prod.example.in pay-api01" | sudo tee -a /etc/hosts
Output:
127.0.1.1 pay-api01.prod.example.in pay-api01
याचा अर्थ: sudo चे "unable to resolve host" warnings थांबतात.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Hinjewadi मधल्या fintech चा Ansible role inventory मधून hostnamectl set-hostname चालवतो म्हणजे प्रत्येक server नाव CMDB शी जुळतं.
5. htop: Interactive process viewer
htop सविस्तर: CPU, memory आणि processes चा सोपा live view
हे का लागतं?
Server slow असतो तेव्हा कोणता process CPU किंवा memory खातोय, प्रत्येक core प्रमाणे, एका नजरेत बघून action घ्यायचीय. htop top पेक्षा वाचायला आणि वापरायला सोपा.
हे काय आहे?
htop interactive process viewer (RHEL वर EPEL मधून install). प्रत्येक CPU core, memory आणि swap चे bars, मग sortable processes list. Function keys ने search, filter, tree, priority बदल आणि kill करता येतं.
नेहमीचे options
| Option | काय करतो |
|---|---|
htop | सुरू. |
F6 or < > | Sort column निवडा. |
F3 or / | Search. |
F4 or \ | Filter. |
F5 or t | Tree view. |
F9 or k | Signal पाठवा. |
htop -u nginx | फक्त एक user. |
htop -p 811,812 | फक्त हे PIDs. |
कसं करायचं (step by step)
- Install.
sudo dnf install -y epel-release && sudo dnf install -y htop
Output:
Complete!
याचा अर्थ: Ubuntu वर: sudo apt install htop.
- उघडा आणि memory ने sort.
htop (press F6, pick PERCENT_MEM)
Output:
1[||||||| 32%] Mem[|||||||| 5.1G/7.6G]
PID USER %CPU %MEM COMMAND
811 mysql 3.1 41.0 /usr/sbin/mysqld
याचा अर्थ: mysqld 41% RAM वापरतो.
- फक्त web user.
htop -u nginx
Output:
(only nginx processes listed)
याचा अर्थ: कमी गोंधळ.
- Tree view.
htop (press F5)
Output:
nginx: master
├─ nginx: worker
└─ nginx: worker
याचा अर्थ: Parents आणि children दाखवतो.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Wakad मधला game studio launches दरम्यान कोणता server गरम आहे ते बघायला wall screen वर htop ठेवतो.
6. id: User आणि group ids
id सविस्तर: user ID, group IDs आणि SELinux context
हे का लागतं?
Permission problems म्हणजे "मी कोण आणि माझे groups कोणते". id names आणि numbers सह उत्तर देतो, जे NFS, containers आणि file ownership साठी महत्त्वाचे.
हे काय आहे?
id current किंवा दिलेल्या user चा user ID (uid), main group (gid) आणि सगळे groups print करतो. -Z ने SELinux context पण. Numbers महत्त्वाचे कारण files नाव नाही, number साठवतात.
नेहमीचे options
| Option | काय करतो |
|---|---|
id | मी, सगळे details. |
id ravi | दुसरा user. |
id -u | फक्त माझा UID. |
id -un | माझं user name. |
id -Gn | Group names. |
id -Z | SELinux context. |
कसं करायचं (step by step)
- मी कोण?
id
Output:
uid=1001(ravi) gid=1001(ravi) groups=1001(ravi),10(wheel),3000(devs)
याचा अर्थ: UID 1001; wheel म्हणजे sudo.
- Script मधे मी root आहे का?
[ "$(id -u)" -eq 0 ] && echo root || echo "not root"
Output:
not root
याचा अर्थ: UID 0 म्हणजे नेहमी root.
- App user आहे का?
id app
Output:
uid=990(app) gid=988(app) groups=988(app)
याचा अर्थ: कमी UID असलेलं system account.
- NFS file owner म्हणून number दाखवते.
ls -ln /mnt/share/report.xlsx; id -u priya
Output:
-rw-r--r-- 1 1502 1502 ... report.xlsx
1003
याचा अर्थ: Servers मधे UID वेगळा; म्हणून access fail.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Pune university ची IT team प्रत्येक lab server वर id तपासते म्हणजे student UIDs NFS home server शी जुळतात.
7. ifconfig: Network interfaces दाखवणारं जुनं tool
ifconfig सविस्तर: जुनं network tool (आणि त्याचा ip replacement)
हे का लागतं?
बरेच guides, जुन्या scripts आणि काही interviewers अजून ifconfig वापरतात. त्याचा output वाचता यायला हवा, आणि modern Linux वर त्याची जागा घेणारा ip command माहीत हवा.
हे काय आहे?
ifconfig जुन्या net-tools package मधला आहे आणि RHEL 8+ आणि नव्या Ubuntu वर default install नसतो. Interfaces, IPs, MAC, MTU आणि packet counters दाखवतो, आणि तात्पुरता IP set करू शकतो. त्याऐवजी ip addr आणि ip link वापरा.
नेहमीचे options
| Option | काय करतो |
|---|---|
ifconfig | Active interfaces. |
ifconfig -a | सगळे, down सकट. |
ifconfig eth0 | एक interface. |
ifconfig eth0 up/down | Up किंवा down. |
ip addr | Modern equivalent. |
कसं करायचं (step by step)
- नव्या server वर सापडत नाही?
ifconfig
Output:
bash: ifconfig: command not found
याचा अर्थ: net-tools install करा किंवा ip वापरा.
- गरज असेल तर install.
sudo dnf install -y net-tools
Output:
Complete!
याचा अर्थ: ifconfig, netstat आणि route मिळतात.
- एक interface वाचा.
ifconfig eth0
Output:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001
inet 10.0.1.15 netmask 255.255.255.0
ether 0a:1b:2c:3d:4e:5f
RX errors 0 dropped 0
याचा अर्थ: UP आणि RUNNING, IP 10.0.1.15, errors नाहीत.
- ip ने तेच.
ip -br addr show eth0
Output:
eth0 UP 10.0.1.15/24 fe80::81b:2cff:fe3d:4e5f/64
याचा अर्थ: -br एक छोटी line देतो.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Nigdi college lab जुन्या exam papers साठी अजून ifconfig शिकवते, मग खऱ्या jobs साठी ip equivalent दाखवते.
8. iostat: Disk I/O stats
iostat सविस्तर: disk bottleneck आहे का?
हे का लागतं?
Database slow आहे, CPU idle दिसतो, पण load जास्त. बहुतेक disk खूप busy असते. iostat प्रत्येक disk किती busy आणि requests किती थांबतात ते दाखवतो.
हे काय आहे?
iostat sysstat package मधे आहे. तो CPU iowait आणि -x ने प्रत्येक disk चे reads, writes, throughput, average wait (r_await, w_await) आणि %util सांगतो. पहिला report boot पासूनचा; interval द्या आणि नंतरचे reports बघा.
नेहमीचे options
| Option | काय करतो |
|---|---|
iostat | Boot पासून CPU आणि disks. |
iostat -x 2 | Extended, दर 2 s. |
iostat -xz 2 5 | Idle disks लपवा, 5 reports. |
iostat -h | Human units. |
iostat -d nvme0n1 | एक disk. |
कसं करायचं (step by step)
- Install.
sudo dnf install -y sysstat
Output:
Complete!
याचा अर्थ: sar आणि mpstat पण मिळतात.
- Disks बघा.
iostat -xz 2 3
Output:
Device r/s w/s rkB/s wkB/s r_await w_await %util
nvme1n1 820.0 410.0 52480 26240 18.40 25.10 99.2
याचा अर्थ: 99% util आणि 18 ते 25 ms waits: data disk भरून गेली.
- CPU iowait तपासा.
iostat -c 2 2
Output:
avg-cpu: %user %system %iowait %idle
6.1 2.4 38.7 52.8
याचा अर्थ: CPU चा 38% वेळ disk साठी थांबतो.
- Process शोधा.
sudo iotop -o -b -n 1 | head -4
Output:
Total DISK READ: 51.2 M/s
PID USER DISK READ COMMAND
811 mysql 49.8 M/s mysqld
याचा अर्थ: mysqld वाचतोय; त्याच्या slow queries तपासा.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Pune मधल्या stock-broking firm ने प्रत्येक market open ला iostat 100% util दाखवल्यावर database जलद disks वर हलवला.
9. ip: Addresses आणि routes दाखवा/set
ip सविस्तर: addresses, links, routes आणि neighbours
हे का लागतं?
प्रत्येक network problem याने सुरू होतो: server ला योग्य IP आहे का, link up आहे का, आणि route बरोबर आहे का? कोणत्याही modern Linux वर ip तिन्हींची उत्तरं देतो.
हे काय आहे?
iproute2 मधला ip ifconfig, route आणि arp ची जागा घेतो. Objects: addr (IP addresses), link (interfaces), route (routing table), neigh (ARP), rule. बदल live असतात पण save होत नाहीत; nmcli किंवा netplan ने save करा.
नेहमीचे options
| Option | काय करतो |
|---|---|
ip a | सगळे addresses. |
ip -br a | Brief, प्रत्येकी एक line. |
ip link | Interfaces आणि state. |
ip r | Routing table. |
ip route get IP | या IP साठी कोणता route. |
ip neigh | ARP table. |
ip -s link | Packet आणि error counters. |
ip addr add IP/24 dev X | IP जोडा (तात्पुरता). |
कसं करायचं (step by step)
- Brief view.
ip -br a
Output:
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 10.0.1.15/24
याचा अर्थ: eth0 up, 10.0.1.15 सह.
- Routes.
ip r
Output:
default via 10.0.1.1 dev eth0 proto dhcp metric 100
10.0.1.0/24 dev eth0 proto kernel scope link src 10.0.1.15
याचा अर्थ: Internet traffic gateway 10.0.1.1 ला जातो.
- DB कडे कोणता मार्ग?
ip route get 10.0.2.15
Output:
10.0.2.15 via 10.0.1.1 dev eth0 src 10.0.1.15
याचा अर्थ: Gateway मधून जातो.
- Link वर errors?
ip -s link show eth0
Output:
RX: bytes packets errors dropped
9128371 71233 0 0
याचा अर्थ: Zero errors: cable किंवा virtual NIC ठीक.
- Test IP जोडा.
sudo ip addr add 10.0.1.99/24 dev eth0; ip -br a show eth0
Output:
eth0 UP 10.0.1.15/24 10.0.1.99/24
याचा अर्थ: Reboot वर जातो; कायमसाठी nmcli.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Talawade factory चा network engineer machines report करणं थांबवतात तेव्हा प्रत्येक PLC subnet साठी ip route get तपासतो.
10. iptables: Low-level firewall rules
iptables सविस्तर: packet filter rules वाचा आणि जोडा
हे का लागतं?
Docker, Kubernetes, जुने servers आणि बऱ्याच cloud images अजून iptables rules वापरतात. Traffic block होतो किंवा port forward fail होतो तेव्हा ते वाचता यायला हवेत.
हे काय आहे?
iptables kernel netfilter rules tables (filter, nat, mangle) आणि chains (INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING) मधे manage करतो. Rules वरून खाली तपासले जातात; पहिला match जिंकतो. RHEL 8+ वर हा nftables चा front end, आणि firewalld preferred.
नेहमीचे options
| Option | काय करतो |
|---|---|
-L -n -v | Rules, numbers, counters list. |
--line-numbers | Rule positions. |
-A INPUT ... | Rule शेवटी जोडा. |
-I INPUT 1 ... | वरती insert. |
-D INPUT 3 | Rule 3 delete. |
-t nat -L | NAT table. |
iptables-save | सगळे rules dump. |
कसं करायचं (step by step)
- Input rules list.
sudo iptables -L INPUT -n -v --line-numbers
Output:
Chain INPUT (policy ACCEPT)
num pkts bytes target prot source destination
1 1200 88K ACCEPT tcp 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
2 45 2700 DROP tcp 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
याचा अर्थ: Port 8080 drop होतो; 45 packets त्या rule ला लागले.
- DROP च्या वर फक्त office मधून 8080 allow.
sudo iptables -I INPUT 2 -p tcp -s 203.0.113.0/24 --dport 8080 -j ACCEPT
याचा अर्थ: Position 2 वर insert, म्हणून DROP आधी तपासला जातो.
- Docker port forwards बघा.
sudo iptables -t nat -L DOCKER -n
Output:
DNAT tcp 0.0.0.0/0 0.0.0.0/0 tcp dpt:8081 to:172.17.0.2:80
याचा अर्थ: Host 8081 container च्या port 80 ला जातो.
- Rules backup.
sudo iptables-save > /root/iptables-$(date +%F).rules
याचा अर्थ: iptables-restore ने restore.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Hadapsar मधल्या ISP चा NOC customer ला packets server पर्यंत पोहोचतात हे सिद्ध करायला iptables counters वाचतो.
11. jobs: Shell jobs list
jobs सविस्तर: हा shell काय चालवतोय ते list करा
हे का लागतं?
काही commands & ने सुरू केले किंवा Ctrl+Z ने थांबवले आणि track सुटला. jobs ते दाखवतो म्हणजे एक परत आणता येतो किंवा kill करता येतो.
हे काय आहे?
jobs हा shell builtin. तो फक्त current shell चे jobs, job number, state (Running, Stopped, Done) आणि command सह list करतो. fg, bg आणि kill सह %N वापरा. nohup, disown किंवा tmux शिवाय jobs shell सोबत मरतात.
नेहमीचे options
| Option | काय करतो |
|---|---|
jobs | Jobs list. |
jobs -l | PIDs सह. |
jobs -r | फक्त running. |
jobs -s | फक्त stopped. |
kill %2 | Job 2 kill. |
disown %1 | Logout नंतर job 1 ठेवा. |
कसं करायचं (step by step)
- दोन jobs सुरू.
tar czf /tmp/a.tgz /srv/app & sleep 900 &
Output:
[1] 5102
[2] 5103
याचा अर्थ: Job numbers आणि PIDs.
- PIDs सह list.
jobs -l
Output:
[1]- 5102 Running tar czf /tmp/a.tgz /srv/app &
[2]+ 5103 Running sleep 900 &
याचा अर्थ: दोन्ही अजून चालू.
- sleep job थांबवा.
kill %2; jobs
Output:
[1]- Running tar czf ...
[2]+ Terminated sleep 900
याचा अर्थ: Job 2 गेला.
- Logout नंतर tar ठेवा.
disown %1
याचा अर्थ: Shell तो विसरतो, म्हणून logout त्याला kill करत नाही.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Kothrud मधला freelance developer & सह build चालवतो आणि त्याच terminal मधे docs लिहिताना jobs तपासतो.
12. journalctl: systemd logs वाचा
journalctl सविस्तर: systemd logs जलद वाचा
हे का लागतं?
Service start fail झाली, server रात्री reboot झाला, किंवा SSH logins fail होतायत. systemd systems वर हे सगळे logs journal मधे असतात, आणि journalctl service, वेळ आणि severity ने filter करतो.
हे काय आहे?
journalctl systemd-journald चा binary journal वाचतो. Unit (-u), boot (-b), वेळ (--since, --until), priority (-p) ने filter करतो, आणि live follow (-f). Storage=persistent नसेल तर reboot वर logs जातात.
नेहमीचे options
| Option | काय करतो |
|---|---|
-u nginx | एक service. |
-f | Live follow. |
-b / -b -1 | हा boot / मागचा boot. |
--since "1 hour ago" | Time filter. |
-p err | Errors आणि वाईट. |
-n 50 | शेवटच्या 50 lines. |
-o cat | फक्त message text. |
--disk-usage | Journal size. |
--vacuum-size=500M | Journal छोटा करा. |
कसं करायचं (step by step)
- nginx fail का?
sudo journalctl -u nginx -n 5 --no-pager
Output:
nginx[2210]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
systemd[1]: nginx.service: Failed with result 'exit-code'.
याचा अर्थ: Port 80 आधीच दुसऱ्या process ने घेतलाय.
- या boot चे errors.
sudo journalctl -b -p err --no-pager | tail -3
Output:
kernel: nvme1n1: I/O error, dev nvme1n1, sector 1024
...
याचा अर्थ: Disk I/O error: hardware तपासा.
- काल रात्री काय झालं?
sudo journalctl --since "2026-10-25 23:00" --until "2026-10-26 01:00" -p warning
Output:
(warnings and errors in that window)
याचा अर्थ: Incident window पुरतं.
- Failed SSH logins.
sudo journalctl -u sshd --since today | grep -c "Failed password"
Output:
312
याचा अर्थ: आज 312 failed password attempts: fail2ban तपासा.
- Journal किती मोठा?
journalctl --disk-usage
Output:
Archived and active journals take up 585.0M in the file system.
याचा अर्थ: Disk कमी असेल तर --vacuum-size ने छोटा करा.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Viman Nagar मधलं travel portal on-call engineers ना एक command देतं: journalctl -u booking-api -p err --since "15 min ago".
13. jq: JSON वाचा आणि filter
jq सविस्तर: command line वर JSON वाचा आणि filter करा
हे का लागतं?
Cloud CLIs, APIs आणि Kubernetes सगळे JSON देतात. 500 lines चा JSON डोळ्यांनी वाचणं हळू. jq हवे ते fields एका line मधे काढतो.
हे काय आहे?
jq हा JSON processor. .name किंवा .items[].id सारखा filter structure मधून फिरतो. select() ने निवडतो, नवे objects बनवतो, length ने मोजतो, आणि scripts साठी -r ने raw strings print करतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
jq . | Pretty print. |
jq .name | एक field. |
jq ".items[]" | प्रत्येक array item. |
jq -r | Raw strings, quotes नाहीत. |
jq "select(.x>1)" | Items filter. |
jq length | मोजा. |
jq -c | Compact, एक line. |
कसं करायचं (step by step)
- API reply pretty print.
curl -s https://api.example.in/health | jq .
Output:
{
"status": "ok",
"db": "up",
"version": "2.4.1"
}
याचा अर्थ: Indented आणि colored.
- Script साठी एक field.
curl -s https://api.example.in/health | jq -r .status
Output:
ok
याचा अर्थ: -r quotes काढतो.
- Running instance IDs.
aws ec2 describe-instances | jq -r '.Reservations[].Instances[] | select(.State.Name=="running") | .InstanceId'
Output:
i-0a1b2c3d4e5f60718
i-0f9e8d7c6b5a40312
याचा अर्थ: Arrays फिरा, filter, print.
- Running नसलेले pods मोजा.
kubectl get pods -o json | jq '[.items[] | select(.status.phase!="Running")] | length'
Output:
2
याचा अर्थ: [ ] ने list बनवा, मग length.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Baner मधली cloud team AWS CLI JSON jq मधून CSV मधे pipe करून daily cost report बनवते.
14. kill: Process ला signal पाठवा
kill सविस्तर: process थांबवायला किंवा reload करायला signals पाठवा
हे का लागतं?
Process अडकतो, CPU खातो, किंवा downtime शिवाय config reload करायचा असतो. kill त्याला signal पाठवतो, सभ्य विनंतीपासून जबरदस्तीच्या stop पर्यंत.
हे काय आहे?
kill PID ला signal पाठवतो. Default SIGTERM (15): कृपया cleanup करून बाहेर पडा. SIGHUP (1) बऱ्याचदा reload. SIGKILL (9) पकडता येत नाही: kernel लगेच process थांबवतो, cleanup नाही. 9 आधी नेहमी 15 करून बघा.
नेहमीचे options
| Option | काय करतो |
|---|---|
kill PID | SIGTERM (15). |
kill -HUP PID | Reload (1). |
kill -9 PID | जबरदस्ती stop. |
kill -0 PID | जिवंत आहे का? (signal जात नाही) |
kill -l | Signals list. |
kill %1 | Shell job 1 kill. |
कसं करायचं (step by step)
- PID शोधा.
pgrep -a java
Output:
4121 java -jar /opt/report/report.jar
याचा अर्थ: PID 4121.
- थांबायला सांगा.
kill 4121; sleep 5; kill -0 4121 && echo alive || echo gone
Output:
gone
याचा अर्थ: तो नीट बाहेर पडला.
- Users न तोडता nginx config reload.
sudo kill -HUP $(cat /run/nginx.pid)
याचा अर्थ: Workers नव्या config सह restart; connections राहतात.
- अडकलेल्या process साठी शेवटचा उपाय.
kill -9 4121
याचा अर्थ: Cleanup नाही: temp files आणि locks राहू शकतात.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Kharadi bank च्या runbook मधे लिहिलंय: kill, 30 seconds थांबा, thread dump घ्या, आणि मगच kill -9.
15. killall: नावाने processes ला signal
killall सविस्तर: नावाने processes ना signal
हे का लागतं?
एका program ने 20 worker processes सुरू केले आणि सगळे अडकले. 20 PIDs एक एक kill करणं हळू. killall नाव वापरतो.
हे काय आहे?
killall (psmisc package) त्या exact नावाच्या प्रत्येक process ला signal पाठवतो. pkill सारखाच पण patterns match करतो. Shared servers वर काळजी: -u न दिल्यास त्या नावाचे सगळ्या users चे processes लागतात.
नेहमीचे options
| Option | काय करतो |
|---|---|
killall name | त्या नावाच्या सगळ्यांना SIGTERM. |
killall -u ravi name | फक्त ravi चे. |
killall -i name | प्रत्येकासाठी विचारा. |
killall -9 name | Force. |
killall -w name | बाहेर पडेपर्यंत थांबा. |
pkill -f pattern | पूर्ण command line match. |
कसं करायचं (step by step)
- किती workers?
pgrep -c php-fpm
Output:
21
याचा अर्थ: 21 processes.
- थांबवा आणि थांबा.
sudo killall -w php-fpm
याचा अर्थ: सगळे बाहेर पडल्यावर परत येतो.
- फक्त एका user चे.
killall -u ravi python3
याचा अर्थ: इतर users ना हात लागत नाही.
- Script नाव match.
pkill -f "report_job.py"
याचा अर्थ: killall ला फक्त "python3" दिसेल; -f arguments match करतो.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Hinjewadi मधली QA lab nightly browser tests नंतर killall -u tester chrome वापरते म्हणजे पुढचा run clean सुरू होतो.
16. last: Login history
last सविस्तर: कोण login झालं आणि server कधी reboot झाला
हे का लागतं?
Incident नंतर कोणी विचारतं: server वर कोण होतं, आणि तो कधी reboot झाला? last login records मधून उत्तर देतो.
हे काय आहे?
last /var/log/wtmp वाचून logins, logouts, reboots आणि shutdowns, नवे आधी, source IP आणि duration सह list करतो. lastb /var/log/btmp मधून failed logins वाचतो. lastlog प्रत्येक user चा शेवटचा login दाखवतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
last | सगळे records. |
last -n 10 | शेवटचे 10. |
last ravi | एक user. |
last reboot | Reboots. |
last -x | Shutdowns आणि runlevel बदल सकट. |
last -F | पूर्ण dates आणि times. |
sudo lastb | Failed logins. |
कसं करायचं (step by step)
- अलीकडचे logins.
last -n 3
Output:
ravi pts/0 49.36.12.8 Mon Oct 26 01:02 still logged in
priya pts/1 10.0.1.5 Sun Oct 25 22:10 - 23:40 (01:30)
reboot system boot 5.14.0-427 Sun Oct 25 21:58 still running
याचा अर्थ: ravi आत्ता आहे; priya 1.5 तास होती; 21:58 ला reboot.
- कधी reboot झाला?
last reboot | head -2
Output:
reboot system boot 5.14.0-427 Sun Oct 25 21:58 still running
reboot system boot 5.14.0-427 Tue Oct 20 03:00 - 21:57 (5+18:57)
याचा अर्थ: काल रात्रीआधी जवळजवळ 6 दिवस चालू.
- Failed login attempts.
sudo lastb -n 3
Output:
root ssh:notty 185.220.1.2 Mon Oct 26 00:59 - 00:59
admin ssh:notty 185.220.1.2 Mon Oct 26 00:59 - 00:59
याचा अर्थ: Bot passwords guess करतोय.
- प्रत्येक user चा शेवटचा login.
lastlog | grep -v "Never"
Output:
Username Port From Latest
ravi pts/0 49.36.12.8 Mon Oct 26 01:02:11
याचा अर्थ: Disable करायला न वापरलेली accounts शोधा.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Yerawada मधल्या BPO च्या audit report मधे change दरम्यान प्रत्येक server वर कोणता admin होता ते दाखवायला last -F output असतो.
17. less: File page by page
less सविस्तर: मोठ्या files आणि outputs page by page वाचा
हे का लागतं?
2 million lines चा log cat ने screen भरून टाकेल आणि editor अडकवेल. less तो लगेच उघडतो आणि search, jump आणि follow करू देतो.
हे काय आहे?
less हा pager: एका वेळी एक screen दाखवतो आणि लागेल तेवढंच वाचतो. Keys: Space पुढचं page, b मागे, /word search, n पुढचा match, G शेवट, g सुरुवात, F tail -f सारखं follow, q बाहेर. man less वापरतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
less f | उघडा. |
less -N f | Line numbers. |
less -S f | लांब lines wrap करू नका. |
less +F f | Follow mode मधे सुरू. |
less -i | Search case ignore. |
cmd | less | Output page by page. |
कसं करायचं (step by step)
- मोठा log उघडा.
less -N /var/log/app/app.log
Output:
1 2026-10-26 00:00:01 INFO start
2 2026-10-26 00:00:02 INFO db connected
:
याचा अर्थ: Gigabytes असले तरी लगेच उघडतो.
- Error search.
/ERROR then n
Output:
2026-10-26 00:41:10 ERROR payment timeout id=7781
याचा अर्थ: n पुढच्या match ला, N मागे.
- Wrap न करता wide CSV.
less -S sales.csv
Output:
date,region,store,amount,tax,discount,channel...
याचा अर्थ: Arrow keys ने बाजूला scroll.
- Live log follow.
less +F /var/log/nginx/access.log
Output:
Waiting for data... (interrupt to abort)
याचा अर्थ: Ctrl+C follow थांबवतो म्हणजे search करता येतं; F परत सुरू.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Magarpatta मधला support desk tail -f ऐवजी less +F शिकवतो, कारण log न गमावता pause आणि search करता येतं.
18. ln: Hard आणि soft links
ln सविस्तर: hard links आणि symbolic links
हे का लागतं?
/opt/app/current सारखा एक stable path latest release ला point करायला हवा, किंवा copy न करता config दोन ठिकाणी. Links हे करतात, आणि release बदलणं एक command होतं.
हे काय आहे?
ln links बनवतो. Hard link म्हणजे त्याच inode चं दुसरं नाव (तोच data); filesystems पार करू शकत नाही किंवा folders ला point करू शकत नाही. Symbolic link (-s) म्हणजे path ठेवणारी छोटी file; कुठेही point करू शकते पण target काढल्यास तुटते.
नेहमीचे options
| Option | काय करतो |
|---|---|
ln target name | Hard link. |
ln -s target name | Symbolic link. |
ln -sf target name | असलेली link replace. |
ln -sfn dir link | Folder च्या link ला replace. |
readlink -f link | खरं कुठे point करतं? |
find -L . -type l | तुटलेल्या links शोधा. |
कसं करायचं (step by step)
- current ला release कडे point.
sudo ln -s /opt/app/releases/v41 /opt/app/current; ls -l /opt/app/current
Output:
lrwxrwxrwx 1 root root 24 Oct 26 01:30 /opt/app/current -> /opt/app/releases/v41
याचा अर्थ: Arrow target दाखवतो.
- Link बदलून v42 deploy.
sudo ln -sfn /opt/app/releases/v42 /opt/app/current; readlink -f /opt/app/current
Output:
/opt/app/releases/v42
याचा अर्थ: -n जुन्या link ला file मानतो, म्हणून आत जात नाही, replace होते.
- Hard link: तोच inode.
ln data.csv data-copy.csv; ls -li data*.csv
Output:
1310722 -rw-r--r-- 2 ravi ravi 9.1M data.csv
1310722 -rw-r--r-- 2 ravi ravi 9.1M data-copy.csv
याचा अर्थ: तोच inode number, link count 2, जास्त जागा नाही.
- तुटलेल्या links.
find /etc -xtype l
Output:
/etc/nginx/sites-enabled/old-site
याचा अर्थ: Target delete झालं; link काढा किंवा fix करा.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Baner मधली e-commerce team current symlink मागच्या folder कडे वळवून वाईट release दोन seconds मधे rollback करते.
19. locate: Database मधून files पटकन शोधा
locate सविस्तर: database मधून files लगेच शोधा
हे का लागतं?
पूर्ण disk वर find ला minutes लागू शकतात. फक्त "X नावाची file कुठे" हवं असेल तर locate milliseconds मधे उत्तर देतो.
हे काय आहे?
locate (mlocate किंवा plocate package) updatedb ने बनवलेल्या file names च्या database मधे शोधतो, साधारण दिवसातून एकदा timer ने. जलद पण जुना असू शकतो: नव्या files नसतात आणि deleted files अजून दिसू शकतात. Refresh साठी sudo updatedb.
नेहमीचे options
| Option | काय करतो |
|---|---|
locate name | Search. |
locate -i name | Case ignore. |
locate -c name | फक्त count. |
locate -e name | फक्त अजून असलेल्या files. |
locate -r regex | Regex. |
sudo updatedb | Database rebuild. |
कसं करायचं (step by step)
- Install आणि build.
sudo dnf install -y mlocate && sudo updatedb
Output:
Complete!
याचा अर्थ: पहिला build पूर्ण disk एकदा वाचतो.
- File शोधा.
locate sshd_config
Output:
/etc/ssh/sshd_config
/usr/share/man/man5/sshd_config.5.gz
याचा अर्थ: Instant, नाव असलेला प्रत्येक path.
- आत्ता बनवलेली file नाही.
touch /tmp/newfile.txt; locate newfile.txt; echo "code=$?"
Output:
code=1
याचा अर्थ: Database file पेक्षा जुना.
- Refresh करून परत.
sudo updatedb; locate newfile.txt
Output:
/tmp/newfile.txt
याचा अर्थ: आता सापडली.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Deccan मधला web host shared server वरची प्रत्येक WordPress site एका second मधे शोधायला locate wp-config.php वापरतो.
20. logger: System log मधे message
logger सविस्तर: system log मधे स्वतःचे messages लिहा
हे का लागतं?
Backup script रात्री 2 ला चालली. चालली का? ती system log मधे लिहिते असेल तर result इतर प्रत्येक event च्या शेजारी असतो, central logging ला पोहोचतो आणि alerts trigger करू शकतो.
हे काय आहे?
logger syslog आणि systemd journal ला message पाठवतो. -t tag set करतो (program name म्हणून दिसतो), -p user.err सारखी facility आणि priority. journalctl -t tag ने किंवा /var/log/messages मधे परत वाचा.
नेहमीचे options
| Option | काय करतो |
|---|---|
logger "msg" | Message लिहा. |
logger -t backup "msg" | Tag सह. |
logger -p user.err "msg" | Priority सह. |
logger -s "msg" | Screen वर पण. |
logger -f file | File ची प्रत्येक line log. |
कसं करायचं (step by step)
- Success log करा.
logger -t backup "nightly backup ok size=4.2G"
याचा अर्थ: काही print होत नाही; log मधे गेलं.
- वाचा.
journalctl -t backup -n 1 --no-pager
Output:
Oct 26 02:00:41 web01 backup[5541]: nightly backup ok size=4.2G
याचा अर्थ: Tag, PID आणि वेळ जोडले.
- Error priority सह failure.
logger -t backup -p user.err "nightly backup FAILED rc=23"
याचा अर्थ: err level बघणारं monitoring alert देईल.
- Script मधे वापरा.
rsync -a /srv/ backup01:/b/ && logger -t backup ok || logger -t backup -p user.err failed
याचा अर्थ: एक line, दोन्ही results log.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Nashik Phata मधल्या cold-storage company च्या sensor scripts logger ने temperatures log करतात म्हणजे alerts central server ला पोहोचतात.
21. logrotate: Logs rotate आणि compress
logrotate सविस्तर: logs ने disk भरू देऊ नका
हे का लागतं?
App रोज 2 GB logs लिहितं. Rotation शिवाय आठवड्यात disk भरते आणि app crash होतं. logrotate schedule प्रमाणे जुने logs rename, compress आणि delete करतो.
हे काय आहे?
logrotate रोज (cron किंवा systemd timer) चालतो आणि /etc/logrotate.conf आणि /etc/logrotate.d/ मधल्या files वाचतो. प्रत्येक block मधे log paths आणि rules: daily किंवा weekly, rotate N, compress, missingok, notifempty, आणि app ला logs reopen करायला सांगायला postrotate. Reopen न करू शकणाऱ्या apps साठी copytruncate.
नेहमीचे options
| Option | काय करतो |
|---|---|
daily / weekly | किती वेळा. |
rotate 14 | 14 जुन्या files ठेवा. |
compress | जुन्या files gzip. |
delaycompress | सगळ्यात नवी जुनी file unzipped. |
maxsize 500M | मोठी झाली तर आधी rotate. |
copytruncate | Copy करा, मग file रिकामी. |
logrotate -d conf | Dry run (debug). |
logrotate -f conf | आत्ता force. |
कसं करायचं (step by step)
- App साठी rule लिहा.
printf '/var/log/app/*.log {\n daily\n rotate 14\n compress\n delaycompress\n missingok\n notifempty\n maxsize 500M\n copytruncate\n}\n' | sudo tee /etc/logrotate.d/app
Output:
/var/log/app/*.log {
daily
rotate 14
...
याचा अर्थ: Daily, 14 ठेवा, compress, किंवा 500 MB ला आधी.
- Dry run.
sudo logrotate -d /etc/logrotate.d/app
Output:
considering log /var/log/app/app.log
log needs rotating
याचा अर्थ: काय होईल ते दाखवतो; काही बदलत नाही.
- एकदा force.
sudo logrotate -f /etc/logrotate.d/app; ls /var/log/app
Output:
app.log app.log.1
याचा अर्थ: आत्ता rotate; पुढच्या run ला app.log.1 compress.
- शेवटचं कधी चाललं?
sudo grep app.log /var/lib/logrotate/logrotate.status
Output:
"/var/log/app/app.log" 2026-10-26-1:35:0
याचा अर्थ: State file प्रत्येक log ची नोंद ठेवते.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Hinjewadi मधली telecom billing team month-end runs मधे, logs वेगाने वाढतात तेव्हा, hourly logrotate सह maxsize 1G वापरते.
22. ls: Files list
ls सविस्तर: admins सारख्या files list करा
हे का लागतं?
प्रत्येक task "या folder मधे काय आहे" ने सुरू होतो: sizes, owners, permissions, नव्या files, hidden files. ls -l हे interviewers ला सगळ्यात आधी वाचता यायला हवं.
हे काय आहे?
ls folder contents list करतो. -l long format देतो: type आणि permissions, link count, owner, group, size, change time, name. -a hidden dot files, -h human sizes, -t time ने sort, -S size ने, -r उलटं, -d folder स्वतः, -i inode, -Z SELinux label.
नेहमीचे options
| Option | काय करतो |
|---|---|
-l | Long format. |
-a / -A | Hidden files (A . आणि .. सोडतो). |
-h | Human sizes. |
-t | नवे आधी. |
-S | मोठे आधी. |
-r | उलटं. |
-R | Recursive. |
-d | Folder स्वतः. |
-i | Inode numbers. |
-Z | SELinux context. |
--time-style=long-iso | स्पष्ट dates. |
कसं करायचं (step by step)
- Long format वाचा.
ls -lh /etc/ssh/sshd_config
Output:
-rw-------. 1 root root 3.6K Oct 20 10:12 /etc/ssh/sshd_config
याचा अर्थ: - file; फक्त root ला rw; . म्हणजे SELinux label; 3.6 KB.
- नव्या files आधी.
ls -lt /var/log | head -4
Output:
total 98340
-rw-r----- 1 root root 2.1M Oct 26 01:40 secure
-rw-r----- 1 root root 8.4M Oct 26 01:40 messages
-rw------- 1 root root 12K Oct 26 01:30 cron
याचा अर्थ: आत्ता कोणते logs लिहिले जातायत.
- मोठे आधी, hidden सकट.
ls -lAhS ~ | head -4
Output:
total 2.2G
-rw-r--r-- 1 ravi ravi 2.0G Oct 12 old.iso
-rw------- 1 ravi ravi 41K Oct 26 .bash_history
याचा अर्थ: Home folder मधला जागा खाणारा शोधा.
- Folder, त्यातलं नाही.
ls -ld /srv/devs
Output:
drwxrws--- 2 root devs 4096 Oct 26 01:10 /srv/devs
याचा अर्थ: Group भागातला s म्हणजे setgid.
- SELinux labels.
ls -Z /var/www/html
Output:
unconfined_u:object_r:httpd_sys_content_t:s0 index.html
याचा अर्थ: httpd_sys_content_t मुळे web server वाचू शकतो.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Kothrud मधल्या web agency चा कोणत्याही 403 error वर पहिला check म्हणजे web folder वर ls -lZ.
23. lsblk: Block devices list
lsblk सविस्तर: disks, partitions आणि mounts tree म्हणून बघा
हे का लागतं?
काहीही format, mount, extend किंवा dd करण्याआधी कोणती disk कोणती ते माहीत हवं. lsblk प्रत्येक block device, size आणि कुठे mounted ते स्पष्ट tree मधे दाखवतो.
हे काय आहे?
lsblk sysfs वाचून disks, partitions, LVM volumes, RAID आणि loop devices list करतो. -f filesystem type, label आणि UUID जोडतो; -o columns निवडतो. काहीच बदलत नाही, म्हणून नेहमी safe.
नेहमीचे options
| Option | काय करतो |
|---|---|
lsblk | Devices चा tree. |
lsblk -f | Filesystems आणि UUIDs. |
lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS | निवडलेले columns. |
lsblk -d | फक्त disks. |
lsblk -p | पूर्ण /dev paths. |
lsblk -J | JSON output. |
कसं करायचं (step by step)
- सगळं बघा.
lsblk
Output:
NAME SIZE TYPE MOUNTPOINTS
nvme0n1 20G disk
├─nvme0n1p1 1G part /boot
└─nvme0n1p2 19G part
├─rl-root 17G lvm /
└─rl-swap 2G lvm [SWAP]
nvme1n1 50G disk
याचा अर्थ: दुसरी disk nvme1n1 ला partitions किंवा mounts नाहीत: तीच नवी.
- fstab साठी filesystems आणि UUIDs.
lsblk -f /dev/nvme1n1
Output:
NAME FSTYPE UUID MOUNTPOINTS
nvme1n1p1 xfs 7c1e2f3a-9b8d-4e5f-a1b2-c3d4e5f60718 /data
याचा अर्थ: /etc/fstab मधे device name नाही, UUID वापरा.
- फक्त disks.
lsblk -d -o NAME,SIZE,MODEL
Output:
NAME SIZE MODEL
nvme0n1 20G Amazon Elastic Block Store
nvme1n1 50G Amazon Elastic Block Store
याचा अर्थ: पटकन inventory.
- Cloud disk वाढवल्यानंतर.
lsblk /dev/nvme1n1
Output:
nvme1n1 80G disk
└─nvme1n1p1 50G part /data
याचा अर्थ: Disk 80G पण partition अजून 50G: growpart ने वाढवा.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Hinjewadi मधली data team प्रत्येक dd आणि mkfs आधी lsblk चालवते; त्यांच्या disk runbook ची पहिली line.
24. lscpu: CPU details
lscpu सविस्तर: या server ला कोणता CPU आहे?
हे का लागतं?
Database sizing, per core software licensing, किंवा VM ला पैसे दिलेले cores मिळाले का तपासणं, सगळ्याला CPU facts लागतात. lscpu ते नीट दाखवतो.
हे काय आहे?
lscpu /proc/cpuinfo आणि sysfs वाचून architecture, CPU count, threads per core, cores per socket, sockets, model, speed, caches, NUMA nodes आणि virtualization summarize करतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
lscpu | Summary. |
lscpu -e | प्रत्येक CPU ची एक line. |
lscpu -J | JSON. |
nproc | फक्त CPU count. |
lscpu | grep -i numa | NUMA layout. |
कसं करायचं (step by step)
- Summary.
lscpu | grep -E "^(Architecture|CPU\(s\)|Thread|Core|Socket|Model name)"
Output:
Architecture: x86_64
CPU(s): 4
Model name: Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
Thread(s) per core: 2
Core(s) per socket: 2
Socket(s): 1
याचा अर्थ: 4 vCPUs = 2 cores x 2 threads.
- Script साठी फक्त count.
nproc
Output:
4
याचा अर्थ: Worker counts set करायला, जसं make -j$(nproc).
- हा VM आहे का?
lscpu | grep -i hypervisor
Output:
Hypervisor vendor: KVM
याचा अर्थ: KVM (AWS Nitro) वर चालतोय.
- ARM की Intel?
lscpu | head -1
Output:
Architecture: aarch64
याचा अर्थ: aarch64 म्हणजे ARM (AWS Graviton सारखा): ARM images वापरा.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Pune मधला software vendor bank ला per-core licence quote करण्याआधी lscpu cores तपासतो.
25. lsof: Open files list
lsof सविस्तर: open files, ports आणि deleted files list करा
हे का लागतं?
Disk full पण du कमी दाखवतो, port busy आहे, किंवा "too many open files" errors येतात. तिन्ही open files बद्दल आहेत, आणि lsof ते दाखवतो.
हे काय आहे?
Linux मधे सगळं file आहे: regular files, folders, sockets, pipes आणि devices. lsof process प्रमाणे PID, user, file descriptor आणि name सह list करतो. Filters: -p PID, -u user, -i network, +D folder, +L1 deleted पण open.
नेहमीचे options
| Option | काय करतो |
|---|---|
lsof -i :80 | Port 80 कोण वापरतो. |
lsof -i -P -n | सगळ्या network files, numeric. |
lsof -p PID | Process च्या files. |
lsof -u ravi | User च्या files. |
lsof +D /var/log | Folder मधे open files. |
lsof +L1 | Deleted पण अजून open. |
कसं करायचं (step by step)
- 443 वर कोण ऐकतो?
sudo lsof -i :443 -sTCP:LISTEN -P -n
Output:
COMMAND PID USER FD TYPE NODE NAME
nginx 1043 root 7u IPv4 TCP *:443 (LISTEN)
याचा अर्थ: nginx, PID 1043.
- Disk full: deleted open files शोधा.
sudo lsof +L1 | head -3
Output:
COMMAND PID USER FD SIZE/OFF NLINK NAME
java 4121 app 12w 7340032000 0 /var/log/app/debug.log (deleted)
याचा अर्थ: 7 GB अजून java धरून आहे. जागा मोकळी करायला restart (किंवा fd truncate).
- Process ने किती files उघडल्या?
sudo lsof -p 4121 | wc -l
Output:
1019
याचा अर्थ: 1024 limit जवळ: LimitNOFILE वाढवा.
- Database ला connections.
sudo lsof -i TCP:5432 -P -n | grep -c ESTABLISHED
Output:
48
याचा अर्थ: 48 open DB connections.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Wakad मधल्या SaaS company ला पहाटे 3 ला, reboot शिवाय, lsof +L1 ने crashed worker ने धरलेला 40 GB deleted log सापडला.
26. lvcreate: LVM logical volume बनवा
lvcreate सविस्तर: LVM logical volumes बनवा
हे का लागतं?
Partitions resize करणं कठीण. LVM ने disks volume group मधे pool करता आणि नंतर online सुद्धा वाढवता येणारे flexible logical volumes कापता. lvcreate ते volumes बनवतो.
हे काय आहे?
LVM चे तीन layers: physical volumes (disk किंवा partition वर pvcreate), त्यांना pool करणारा volume group (vgcreate), आणि format करून mount करायचे logical volumes (lvcreate). -L size, -l extents किंवा 100%FREE सारखा percent, -n नाव, -s snapshot.
नेहमीचे options
| Option | काय करतो |
|---|---|
-L 20G | Size. |
-l 100%FREE | सगळी free space. |
-n data | नाव. |
-s -L 5G -n snap vg/lv | Snapshot. |
lvs | Volumes list. |
lvextend -r -L +10G vg/lv | वाढवा आणि filesystem resize. |
कसं करायचं (step by step)
- Disk आणि group तयार.
sudo pvcreate /dev/nvme1n1 && sudo vgcreate vgdata /dev/nvme1n1
Output:
Physical volume "/dev/nvme1n1" successfully created.
Volume group "vgdata" successfully created
याचा अर्थ: vgdata नावाचा 50 GB pool.
- 20 GB volume बनवा.
sudo lvcreate -L 20G -n lvapp vgdata
Output:
Logical volume "lvapp" created.
याचा अर्थ: Device /dev/vgdata/lvapp.
- Format आणि mount.
sudo mkfs.xfs /dev/vgdata/lvapp && sudo mkdir -p /app && sudo mount /dev/vgdata/lvapp /app && df -h /app
Output:
/dev/mapper/vgdata-lvapp 20G 175M 20G 1% /app
याचा अर्थ: वापरायला तयार; /etc/fstab मधे जोडा.
- नंतर online वाढवा.
sudo lvextend -r -L +10G /dev/vgdata/lvapp
Output:
Size of logical volume vgdata/lvapp changed from 20.00 GiB to 30.00 GiB.
data blocks changed from 5242880 to 7864320
याचा अर्थ: -r filesystem पण वाढवतो. Downtime नाही.
- तपासा.
sudo lvs
Output:
LV VG Attr LSize
lvapp vgdata -wi-ao---- 30.00g
याचा अर्थ: 30 GB, active आणि open.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Pune hospital चा PACS server radiology team ला न थांबवता दर quarter lvextend ने image volume वाढवतो.
27. अनेक industries मधली खरी उदाहरणं
हे का लागतं?
तेच Linux skill प्रत्येक प्रकारच्या company मध्ये लागतं. वेगवेगळ्या ठिकाणी पाहिलं की लक्षात राहतं.
हे काय आहे?
प्रत्येक row म्हणजे एक काल्पनिक team. कोण हे वापरतं आणि कसं ते दाखवते.
कसं करायचं (step by step)
| Team आणि शहर | ते कसं वापरतात | Command |
|---|---|---|
| Kiran, SRE, Kharadi | प्रत्येक reboot नंतर मागच्या boot चे errors वाचतो | journalctl -b -1 -p err |
| Anjali, fintech, Magarpatta | JSON मधून build versions वाचते | jq -r .version package.json |
| Rohit, SaaS, Baner | Symlink switch करून deploy करतो | ln -sfn /srv/releases/v43 /srv/current |
| Priya, cloud, Hinjewadi | कोणत्याही mkfs आधी disks तपासते | lsblk -f |
| Amol, ERP, Pimpri | Upgrades आधी DB volume snapshot करतो | lvcreate -s -L 5G -n db-pre vg01/db |
| Sneha, bank, Camp | Audit साठी login history print करते | last -n 50 |
28. नेहमीच्या errors आणि त्यांचे fixes
हे का लागतं?
हे errors सगळ्यांना येतात. कारण माहीत असलं की तास वाचतात.
हे काय आहे?
आधी नेमका message वाचा. मग खालच्या row शी जुळवा.
कसं करायचं (step by step)
| दिसणारा error | का होतं | Fix कसा करायचा |
|---|---|---|
Cannot find device "eth1" | या server वर interface नाव वेगळं | आधी interfaces list करा.ip -br link |
ifconfig: command not found | net-tools install नाही | ip वापरा, किंवा net-tools install.ip -br a |
iptables: Bad rule (does a matching rule exist in that chain?) | नसलेला rule delete करणं | Number ने delete करा.iptables -L INPUT --line-numbers |
New iptables ACCEPT rule never matches | DROP rule नंतर append केला | DROP च्या वर insert करा.iptables -I INPUT 3 -p tcp --dport 80 -j ACCEPT |
No journal files were found. | Journal ठेवला नाही किंवा permission नाही | sudo वापरा; persistence साठी /var/log/journal बनवा.mkdir -p /var/log/journal; systemctl restart systemd-journald |
jq: error: Cannot index array with "name" | Input list आहे, object नाही | आधी .[] जोडा.jq '.[].name' f.json |
parse error: Invalid numeric literal at line 1, column 10 | Input JSON नाही (बहुतेक HTML error page) | आधी raw reply तपासा.curl -s URL | head -c 200 |
kill: (3120) - Operation not permitted | Process दुसऱ्या user चा | Owner तपासून sudo वापरा.ps -o user,pid,cmd -p 3120 |
ln: failed to create symbolic link '/opt/app/current': File exists | Link आधीच आहे | -sfn ने replace करा.ln -sfn /opt/app/releases/v43 /opt/app/current |
locate: can not stat () `/var/lib/plocate/plocate.db' | Database अजून बनला नाही | updatedb चालवा.updatedb |
error: skipping "/var/log/app/app.log" because parent directory has insecure permissions | logrotate ला group किंवा world writable folder दिसतो | Rule मधे su line जोडा.su app app |
Volume group "vg01" has insufficient free space | Free पेक्षा जास्त मागितलं | vgs तपासा; 100%FREE वापरा किंवा disk जोडा.vgs; lvcreate -l 100%FREE -n data vg01 |
29. Troubleshooting step by step
हे का लागतं?
Part 4 ची command अपेक्षेप्रमाणे वागत नसेल तर या steps.
हे काय आहे?
वरून खाली जा. ज्या step ला problem दिसतो तिथे थांबा.
कसं करायचं (step by step)
- लागेल तिथे root आहात का?
id -u
- Command install आहे का?
command -v htop iostat jq lsof
- नाव बरोबर आहे का (interface, unit, VG)?
ip -br link; systemctl list-units --type=service | head; vgs
- बदल फक्त reboot पर्यंत आहे का?
cat /etc/hostname; nmcli con show
- Log जास्त काही सांगतो का?
journalctl -xe -n 20
- Input तुम्हाला वाटतो तसाच आहे का?
head -c 200 file.json
30. Lab 1: Disk full पण du कमी दिसतो
हे का लागतं?
Deleted पण open file बनवा, lsof ने शोधा, जागा मोकळी करा, आणि log rotation जोडा.
हे काय आहे?
पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).
कसं करायचं (step by step)
- मोठी file लिहा आणि open ठेवा.
dd if=/dev/zero of=/tmp/big.log bs=1M count=300 status=none; tail -f /tmp/big.log > /dev/null &
Output:
[1] 7001
- Delete करा.
rm /tmp/big.log; df -h /tmp | tail -1
Output:
tmpfs 1.8G 300M 1.5G 17% /tmp
- शोधा.
lsof +L1 2>/dev/null | grep big.log
Output:
tail 7001 ravi 3r REG 300M 0 /tmp/big.log (deleted)
- जागा मोकळी करा.
kill %1; df -h /tmp | tail -1
Output:
tmpfs 1.8G 0 1.8G 0% /tmp
- logrotate rule dry run.
sudo logrotate -d /etc/logrotate.d/app
Output:
considering log /var/log/app/app.log
31. Lab 2: Loop disk वर LVM ने storage जोडा
हे का लागतं?
File पासून practice disk बनवा, त्यावर LVM बनवा, mount करा आणि वाढवा.
हे काय आहे?
पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).
कसं करायचं (step by step)
- 1 GB practice disk बनवा.
truncate -s 1G /tmp/disk.img && sudo losetup -f --show /tmp/disk.img
Output:
/dev/loop0
- बघा.
lsblk /dev/loop0
Output:
loop0 7:0 0 1G 0 loop
- PV, VG आणि LV.
sudo pvcreate /dev/loop0 && sudo vgcreate vglab /dev/loop0 && sudo lvcreate -L 400M -n data vglab
Output:
Logical volume "data" created.
- Format आणि mount.
sudo mkfs.xfs -q /dev/vglab/data && sudo mkdir -p /mnt/lab && sudo mount /dev/vglab/data /mnt/lab && df -h /mnt/lab | tail -1
Output:
/dev/mapper/vglab-data 395M 24M 371M 7% /mnt/lab
- Online वाढवा.
sudo lvextend -r -L +200M /dev/vglab/data && df -h /mnt/lab | tail -1
Output:
/dev/mapper/vglab-data 595M 25M 570M 5% /mnt/lab
Ravindra Bagale's Tip
Keep a personal incident checklist: hostname, ip -br a, journalctl -p err -b, lsof -i, iostat -x, df -h. Run it in the same order every time and you will rarely miss the cause.
Ravindra Bagale's Tip – मराठी
स्वतःची incident checklist ठेवा: hostname, ip -br a, journalctl -p err -b, lsof -i, iostat -x, df -h. प्रत्येक वेळी एकाच order मधे चालवा आणि cause क्वचितच चुकेल.
Ravindra Bagale's Tip – हिंदी
अपनी incident checklist रखें: hostname, ip -br a, journalctl -p err -b, lsof -i, iostat -x, df -h. हर बार इसी order में चलाएँ, कारण शायद ही छूटेगा.
32. नेहमी विचारले जाणारे प्रश्न
प्र. ip की ifconfig?
ip. ifconfig जुना आहे आणि बहुतेक install नसतो.
प्र. आधी kill -9?
नाही. App cleanup करू शकेल म्हणून आधी साधा kill.
प्र. Hard link की symlink?
बहुतेक वेळा symlink; hard links filesystems पार करू शकत नाहीत किंवा folders कडे point करू शकत नाहीत.
प्र. locate नवी file का miss करतो?
त्याचा database दिवसातून एकदा update होतो; updatedb चालवा.
प्र. जुने journals कुठे?
/var/log/journal असेल तर तिथे; नाहीतर reboot ला जातात.
प्र. XFS volume छोटा करता येतो?
नाही. XFS फक्त वाढतो. Sizes plan करा किंवा छोटा करायचा असेल तर ext4.
33. मुलाखत प्रश्न आणि उत्तरं
Beginner level
प्र. तुमचा IP कसा बघाल?
ip -br a.
प्र. कायमचं hostname कसं set कराल?
hostnamectl set-hostname name.
प्र. नव्या files आधी कशा list कराल?
ls -lt.
प्र. एका service चे logs कसे बघाल?
journalctl -u name.
Mid level level
प्र. Port 443 कोणता process वापरतो?
lsof -i :443 किंवा ss -ltnp.
प्र. SIGTERM vs SIGKILL?
TERM पकडता येतो आणि cleanup होतो; KILL नाही.
प्र. Script मधे JSON मधून फक्त version वाचा.
jq -r .version file.json.
प्र. Disk bottleneck आहे हे कसं कळेल?
iostat -x: जास्त %util आणि await, आणि जास्त iowait.
Senior level
प्र. Downtime शिवाय /data 10 GB ने वाढवा.
Disk जोडा, pvcreate, vgextend, lvextend -r -L +10G.
प्र. Server रात्री reboot झाला. का ते कसं शोधाल?
last reboot, journalctl -b -1 -p err, OOM किंवा kernel panic तपासा.
प्र. iptables ACCEPT rule काही करत नाही. का?
तो DROP च्या खाली आहे; --line-numbers ने list करून वर insert करा.
प्र. एका server वर zero-downtime deploy आणि rollback?
Release folders आणि current switch करायला ln -sfn.
घरी करून बघा
- तुमच्या VM वर incident check चालवा आणि output save करा.
- Loop disk वर Lab 2 करा आणि मग lvremove, vgremove आणि losetup -d ने काढा.
- कोणत्याही public API reply ला jq ने सुंदर print करा.
- Release symlink बनवा, दोनदा switch करा आणि readlink -f ने तपासा.
सराव Tasks
Vidarbha Cotton Mills हा नागपूर मधला वस्त्रोद्योग व्यवसाय आहे. Ganesh Wankhede त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.
0 / 22
सोपं नाव set
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: कायमचं host name app02 set करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं IPs दाखवा
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: hostname ने या machine चे सगळे IP addresses print करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Group names
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: deploy user चे group names print करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Host चा route
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: 192.168.10.20 ला पोहोचायला वापरला जाणारा route दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं एका service चा log
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: crond service चा journal दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं सभ्य stop
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: PID 4410 ला default stop signal पाठवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Reboot history
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: System चे शेवटचे 4 reboots दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Symlink बनवा
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: /opt/kube/kubectl कडे point करणारा /usr/local/bin/kc नावाचा symlink बनवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं UUIDs सह disks
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: Filesystem type आणि UUID सह /dev/xvdf device list करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Tagged log line
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: ci tag सह deploy done message system log मधे लिहा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Link counters
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: ens5 interface चे packet statistics दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Disk stats
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: दर 5 seconds ला 3 वेळा extended disk stats दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम एका वेळेपासून
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: 30 minutes पूर्वीपासूनच्या journal entries दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Raw value
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: cfg.json मधून region key ची raw value print करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम User साठी नावाने kill
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: web user च्या मालकीचे node नावाचे सगळे processes थांबवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम मोठे आधी
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: /var/tmp long format, human sizes, मोठे आधी list करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Folder स्वतः
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: /opt folder स्वतःचे permissions दाखवा, contents नाही.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Port कोण वापरतं
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: Port 3306 कोणता process वापरतो ते दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड वर insert
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: INPUT च्या सगळ्यात वर tcp port 9100 accept करणारा rule insert करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड या boot चे unit errors
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: sshd साठी या boot चे फक्त error priority messages दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड Items मोजा
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: team.json मधल्या users list मधे किती items आहेत ते print करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड सगळी free space
का: BIZ Linux servers चालवतो आणि hostname ते lvcreate commands रोज वापरतो.
काय करायचं: vgdata मधे सगळी free space वापरून logs नावाचा logical volume बनवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
34. संबंधित chapters
- Linux Commands A-Z Index
- DevOps साठी Linux Ops Refresh
- Automation साठी Bash Scripting
- Linux grep आणि find Commands Examples सह
- Linux Servers मध्ये Passwordless SSH
थोडक्यात सांगायचं तर
- कायमच्या नावासाठी hostnamectl.
- ip -br a, ip route, ip neigh.
- journalctl -u, -b, -p, --since.
- kill: आधी TERM, शेवटी KILL.
- Deleted पण open files साठी lsof +L1.
- LVM: pvcreate, vgcreate, lvcreate, lvextend -r.
उजळणी, तुलना आणि मुलाखत cards
हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.








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