Linux Commands A-Z Part 3: echo, find, grep, firewall-cmd, free, fsck आणि अजून, Examples सह
हा Linux Commands A-Z reference चा Part 3 आहे: echo ते host. Scripts मधे values print आणि pass करायला, files शोधायला, firewall ports उघडायला, memory तपासायला, filesystems दुरुस्त करायला, file कोण धरून आहे ते बघायला, users आणि ACLs वाचायला, logs compress करायला, files ची सुरुवात वाचायला, history परत वापरायला आणि DNS test करायला या commands वापरतात. grep ला वीस options आणि चौदा worked steps सह पूर्ण deep dive आहे, कारण खऱ्या support कामात तुम्ही तीच सगळ्यात जास्त type कराल. प्रत्येक command ला why, what, options table आणि खऱ्या output आणि अर्थासह step-by-step examples आहेत.
या chapter मध्ये तुम्ही काय शिकाल
- echo, env, export, expr आणि exit ने scripts मधे values print, export आणि calculate करा
- find ने नाव, size, वेळ आणि owner ने files शोधा, आणि file ने ओळखा
- grep ने pro सारखं text search करा: regex, context, counts, recursion आणि exit codes
- firewall-cmd ने ports उघडा आणि free ने memory वाचा
- fdisk ने partition आणि fsck ने safely repair करा
- getent, groups, getfacl आणि groupadd ने users, groups आणि ACLs वाचा
- gzip आणि gunzip ने logs compress करा, आणि head ने files वाचा
- history ने commands परत वापरा, fg ने jobs manage करा, fuser ने file holders बघा आणि host ने DNS test करा
1. रोजचं उदाहरण: Pune Metro station control room
हे का लागतं?
Civil Court station वर controller speakers वर announcements करतो, एका platform साठी CCTV log search करतो, कोणती gates उघडी आहेत ते तपासतो, parking किती भरलंय ते बघतो, fault दाखवलेली lift तपासतो, staff room कोण वापरतंय ते बघतो, आणि पुढची train confirm करायला central office ला call करतो.
हे काय आहे?
echo म्हणजे announcement. grep म्हणजे CCTV log search. firewall-cmd म्हणजे gates. free म्हणजे parking level. fsck म्हणजे lift check. fuser म्हणजे staff room मधे कोण. host म्हणजे central office ला call.
कसं करायचं (step by step)
2. Part 3 commands वापरून पाच minute चं triage
हे का लागतं?
Deep dives आधी, app slow किंवा fail होत असताना या commands एकत्र कशा चालतात ते बघा.
हे काय आहे?
आधी memory, मग errors, मग port, मग DNS, मग मोठ्या files.
| प्रश्न | Command |
|---|---|
| Memory कमी आहे का? | free -h |
| आज errors? | grep -c ERROR app.log |
| Firewall मधे port उघडा? | firewall-cmd --list-ports |
| DB नाव resolve होतं? | host db.internal |
| मोठ्या files? | find / -xdev -size +1G |
कसं करायचं (step by step)
- Triage एकदम चालवा.
free -h | grep Mem; grep -c ERROR /var/log/app/app.log; sudo firewall-cmd --list-ports; host db.internal
Output:
Mem: 7.6Gi 6.9Gi 210Mi 12Mi 520Mi 410Mi
37
80/tcp 443/tcp
db.internal has address 10.0.2.15
याचा अर्थ: फक्त 410 MB available, 37 errors, ports ठीक, DNS ठीक. Memory हा पहिला संशयित.
- Context सह नवे errors बघा.
grep -B1 -A2 ERROR /var/log/app/app.log | tail -4
Output:
2026-10-26 00:41:11 INFO cache size 1.9G
2026-10-26 00:41:12 ERROR java.lang.OutOfMemoryError: Java heap space
at com.shop.Cart.load(Cart.java:88)
--
याचा अर्थ: आधीची line वाढता cache दाखवते; error memory confirm करतो.
3. echo: Text print
echo सविस्तर: text, variables आणि escape codes print
हे का लागतं?
Scripts ने user ला काय चाललंय ते सांगायला हवं, files मधे lines लिहायला हव्यात आणि debug करताना variables च्या values दाखवायला हव्यात. echo हा काहीही print करण्याचा सगळ्यात सोपा मार्ग.
हे काय आहे?
echo हा shell builtin आहे जो arguments print करून शेवटी new line देतो. echo पर्यंत पोहोचण्याआधी shell variables आणि wildcards expand करतो, म्हणून quoting ठरवतं काय मिळेल. Exact formatting साठी printf जास्त safe.
नेहमीचे options
| Option | काय करतो |
|---|---|
echo text | Text आणि new line print. |
echo -n text | शेवटी new line नाही. |
echo -e "a\tb" | \t आणि \n सारखे escapes समजतो. |
echo "$VAR" | Variable safe print. |
echo '$VAR' | Single quotes: जसंच्या तसं. |
echo $? | मागच्या command चा exit code. |
कसं करायचं (step by step)
- Message print करा.
echo "Backup started"
Output:
Backup started
याचा अर्थ: Text आणि new line.
- Variable दाखवा.
echo "User is $USER on $HOSTNAME"
Output:
User is ec2-user on web01
याचा अर्थ: Double quotes variables expand करतात.
- Expansion थांबवा.
echo 'Cost is $5'
Output:
Cost is $5
याचा अर्थ: Single quotes $ जसाच्या तसा ठेवतात.
- Tab वापरा.
echo -e "name\tcity\nRavi\tPune"
Output:
name city
Ravi Pune
याचा अर्थ: -e \t ला tab आणि \n ला new line करतो.
- File मधे लिहा.
echo "server=10.0.1.5" | sudo tee -a /etc/app.conf
Output:
server=10.0.1.5
याचा अर्थ: tee -a root म्हणून append करतो; साधं sudo echo >> fail होतं.
- मागचा command चालला का ते तपासा.
ls /nope; echo $?
Output:
ls: cannot access '/nope': No such file or directory
2
याचा अर्थ: 0 म्हणजे success; बाकी काहीही म्हणजे error.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Kothrud मधल्या school चा IT admin प्रत्येक computer setup झाल्यावर script मधे echo ने "Lab PC 12 ready" print करतो.
4. env: Command साठी environment दाखवा/set
env सविस्तर: command चं environment बघा आणि बदला
हे का लागतं?
Program PATH, LANG, TZ किंवा JAVA_HOME सारख्या variables वर वेगळा वागतो. तुमच्यासाठी चालतं पण cron मधे किंवा दुसऱ्या user साठी नाही, तेव्हा बहुतेक environment कारण असतं.
हे काय आहे?
env सगळे exported variables print करतो, किंवा तुमचा shell न बदलता एक command जास्त किंवा कमी variables सह चालवतो. Script च्या पहिल्या line मधे #!/usr/bin/env python3 असं PATH मधे program शोधायला पण वापरतात.
नेहमीचे options
| Option | काय करतो |
|---|---|
env | Exported variables list. |
env VAR=v cmd | VAR set करून cmd चालवा. |
env -i cmd | रिकाम्या environment सह चालवा. |
env -u VAR cmd | VAR शिवाय चालवा. |
#!/usr/bin/env bash | Script साठी PATH मधे bash शोधा. |
कसं करायचं (step by step)
- सगळं list करा.
env | sort | head -4
Output:
HISTSIZE=1000
HOME=/home/ec2-user
LANG=C.UTF-8
LOGNAME=ec2-user
याचा अर्थ: प्रत्येक line NAME=value.
- एक variable शोधा.
env | grep ^PATH=
Output:
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
याचा अर्थ: Commands शोधण्याचे folders, क्रमाने.
- एक command दुसऱ्या time zone मधे.
env TZ=Asia/Kolkata date
Output:
Mon Oct 26 01:30:00 IST 2026
याचा अर्थ: फक्त या command ला TZ दिसतो; shell बदलत नाही.
- Cron सारखं test करा.
env -i /bin/bash -c 'echo "PATH=$PATH"'
Output:
PATH=/usr/local/bin:/usr/bin
याचा अर्थ: रिकाम्या environment मधे bash छोटा default PATH वापरतो, cron सारखा.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Magarpatta मधली analytics team reports वर env LANG=C sort चालवते म्हणजे प्रत्येक server वर sorting सारखं येतं.
5. exit: Status code सह shell सोडा
exit सविस्तर: shell सोडा आणि status परत द्या
हे का लागतं?
Scripts ने cron, CI pipelines आणि इतर scripts ना ते चालले का ते सांगायला हवं. तो message म्हणजे exit code, आणि exit तो set करतो.
हे काय आहे?
exit हा builtin current shell किंवा script ला 0 ते 255 मधल्या number सह संपवतो. 0 म्हणजे success. Login session मधे तो logout करतो. Function मधे return वापरा.
नेहमीचे options
| Option | काय करतो |
|---|---|
exit | मागच्या command च्या status ने exit. |
exit 0 | Success. |
exit 1 | General error. |
exit 2 | चुकीच्या usage साठी common. |
echo $? | Script नंतर code वाचा. |
कसं करायचं (step by step)
- Check script लिहा.
printf '#!/bin/bash\n[ -f /etc/app.conf ] || { echo missing; exit 1; }\necho ok\n' > chk.sh; chmod +x chk.sh
याचा अर्थ: File नसेल तर script 1 ने थांबते.
- चालवा आणि code वाचा.
./chk.sh; echo "code=$?"
Output:
missing
code=1
याचा अर्थ: Callers ना 1 दिसतो आणि fail झालं कळतं.
- Chain मधे वापरा.
./chk.sh && echo "deploy"
Output:
missing
याचा अर्थ: && फक्त exit 0 वर पुढचा भाग चालवतो.
- SSH session सोडा.
exit
Output:
logout
Connection to 10.0.1.5 closed.
याचा अर्थ: तुम्ही परत स्वतःच्या machine वर.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Chakan auto plant चा CI job test script non-zero exit देतो तेव्हा build fail करतो, म्हणून बिघडलेलं firmware line वर पोहोचत नाही.
6. export: Variable child programs ना दिसेल असं
export सविस्तर: child programs ना variables द्या
हे का लागतं?
तुम्ही shell मधे JAVA_HOME किंवा AWS_PROFILE set करता, पण सुरू केलेल्या program ला ते दिसत नाही. साधा variable shell मधेच राहतो; export तो पुढे देतो.
हे काय आहे?
export shell variable ला mark करतो म्हणजे या shell मधून सुरू होणाऱ्या प्रत्येक command च्या environment मधे तो copy होतो. Parent shell किंवा इतर terminals वर परिणाम नाही. टिकवायला ~/.bashrc किंवा /etc/profile.d/ मधे ठेवा.
नेहमीचे options
| Option | काय करतो |
|---|---|
export VAR=value | Set आणि export. |
export VAR | असलेला variable export. |
export -p | Exported variables list. |
export -n VAR | Export थांबवा. |
export PATH="$PATH:/opt/bin" | PATH मधे folder जोडा. |
कसं करायचं (step by step)
- साधा variable पुढे जात नाही.
APP_ENV=prod; bash -c 'echo "[$APP_ENV]"'
Output:
[]
याचा अर्थ: Child shell ला दिसत नाही.
- Export करा.
export APP_ENV=prod; bash -c 'echo "[$APP_ENV]"'
Output:
[prod]
याचा अर्थ: आता प्रत्येक child ला दिसतो.
- Tool folder PATH मधे जोडा.
export PATH="$PATH:/opt/tools/bin"; command -v mytool
Output:
/opt/tools/bin/mytool
याचा अर्थ: आता shell ला tool सापडतो.
- सगळ्या users साठी ठेवा.
echo 'export JAVA_HOME=/usr/lib/jvm/java-17' | sudo tee /etc/profile.d/java.sh
Output:
export JAVA_HOME=/usr/lib/jvm/java-17
याचा अर्थ: नवे login shells /etc/profile.d/ मधल्या files load करतात.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Baner मधली SaaS team Terraform चालवण्याआधी AWS_PROFILE=staging export करते म्हणजे चुकून production ला हात लागत नाही.
7. expr: साधं maths आणि string checks
expr सविस्तर: साधं गणित आणि string checks
हे का लागतं?
जुन्या scripts आणि खूप छोट्या systems (BusyBox असलेले routers) गणित आणि string length साठी expr वापरतात. Legacy scripts वाचताना तो भेटेल.
हे काय आहे?
expr वेगवेगळ्या words चं expression evaluate करून result print करतो. प्रत्येक number आणि operator वेगळा argument हवा, आणि * escape करावा लागतो. bash मधे $(( )) जलद आणि स्वच्छ.
नेहमीचे options
| Option | काय करतो |
|---|---|
expr 5 + 3 | बेरीज. |
expr 6 \* 4 | गुणाकार (* escape). |
expr 17 % 5 | बाकी. |
expr length "$s" | String length. |
expr "$s" : "ab*" | सुरुवातीपासून match, length print. |
कसं करायचं (step by step)
- दोन numbers add.
expr 40 + 2
Output:
42
याचा अर्थ: + च्या आजूबाजूला spaces हवेत.
- गुणाकार.
expr 7 \* 6
Output:
42
याचा अर्थ: Backslash शिवाय shell * ला wildcard म्हणून expand करतो.
- String length.
expr length "PuneCity"
Output:
8
याचा अर्थ: Characters मोजतो.
- Modern bash मधे तेच.
echo $(( 7 * 6 )); s=PuneCity; echo ${#s}
Output:
42
8
याचा अर्थ: bash scripts मधे हेच वापरा.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Bhosari factory चे जुने BusyBox gateways retries expr ने मोजतात कारण bash install नाही.
8. fdisk: Disk partitions बनवा आणि list
fdisk सविस्तर: disk partitions list आणि create
हे का लागतं?
नवी data disk रिकामी येते. Filesystem बनवून mount करण्याआधी बऱ्याचदा partition लागतो. fdisk हे classic tool, आणि fdisk -l सगळ्या disks बघण्याचा सगळ्यात जलद मार्ग.
हे काय आहे?
fdisk हे MBR आणि GPT partition tables साठी interactive menu tool आहे. w दाबेपर्यंत बदल memory मधेच राहतात. Scripts साठी parted किंवा sfdisk. Partition बनवल्यावर kernel ला दिसायला partprobe किंवा reboot.
नेहमीचे options
| Option | काय करतो |
|---|---|
fdisk -l | सगळ्या disks आणि partitions list. |
fdisk /dev/sdb | Menu मधे disk उघडा. |
n | नवा partition (menu मधे). |
p | Table print. |
w | Write करून exit. |
q | Save न करता बाहेर. |
कसं करायचं (step by step)
- नवी disk शोधा.
sudo fdisk -l | grep "^Disk /dev"
Output:
Disk /dev/nvme0n1: 20 GiB, 21474836480 bytes
Disk /dev/nvme1n1: 50 GiB, 53687091200 bytes
याचा अर्थ: nvme1n1 ही नवी 50 GiB disk.
- उघडा.
sudo fdisk /dev/nvme1n1
Output:
Command (m for help):
याचा अर्थ: तुम्ही menu मधे. अजून काही बदललं नाही.
- पूर्ण disk चा एक partition.
n, p, 1, Enter, Enter, w
Output:
Created a new partition 1 of type 'Linux' and of size 50 GiB.
The partition table has been altered.
याचा अर्थ: Default start आणि end पूर्ण disk वापरतात; w save करतो.
- Confirm.
lsblk /dev/nvme1n1
Output:
NAME SIZE TYPE
nvme1n1 50G disk
└─nvme1n1p1 50G part
याचा अर्थ: नवा partition p1 mkfs साठी तयार.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Hadapsar hospital चा admin X-ray images साठी 500 GB disk जोडतो: fdisk, मग mkfs.xfs, मग /etc/fstab मधे line.
9. fg: Job foreground ला आणा
fg सविस्तर: background job परत समोर आणा
हे का लागतं?
vim मधे चुकून Ctrl+Z दाबलं, किंवा लांब copy background ला पाठवली आणि आता तिच्या प्रश्नाला उत्तर द्यायचंय. fg job परत समोर आणतो.
हे काय आहे?
fg हा shell builtin. तो या shell चा stopped किंवा background job foreground ला आणतो म्हणजे keyboard परत त्याचा. Jobs ना numbers असतात; jobs ने बघा. bg background मधेच resume करतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
fg | सगळ्यात नवा job. |
fg %2 | Job 2. |
fg %vim | vim ने सुरू होणारा job. |
Ctrl+Z | चालू job थांबवा. |
jobs -l | PIDs सह jobs list. |
कसं करायचं (step by step)
- Edit सुरू करून थांबवा.
vim notes.txt (then Ctrl+Z)
Output:
[1]+ Stopped vim notes.txt
याचा अर्थ: Job 1 paused आहे, बंद नाही.
- लांब job background ला.
sleep 600 &
Output:
[2] 4821
याचा अर्थ: Job 2, PID 4821.
- List करा.
jobs
Output:
[1]+ Stopped vim notes.txt
[2]- Running sleep 600 &
याचा अर्थ: + म्हणजे current job, - त्याच्या आधीचा.
- vim कडे परत.
fg %1
Output:
(vim opens again with your text)
याचा अर्थ: Save न केलेलं काम अजून तिथेच.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Viman Nagar मधला support engineer configs edit करताना tail -f background ला ठेवतो, आणि fg आणि Ctrl+Z ने switch करतो.
10. file: File कोणत्या प्रकारची ते ओळखा
file सविस्तर: ही file कोणत्या प्रकारची?
हे का लागतं?
report.pdf नावाची file खरं तर zip, script किंवा virus असू शकते. Uploads, downloads आणि जुन्या backups ना बऱ्याचदा चुकीचं किंवा extension नसतं. file नाव नाही, content तपासतो.
हे काय आहे?
file file चे पहिले bytes ("magic number") वाचून database शी compare करतो आणि type सांगतो. Text encoding, line endings आणि program 32 की 64 bit ते पण सांगतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
file name | Type दाखवा. |
file -i name | MIME type दाखवा. |
file -b name | Brief: file name नाही. |
file -s /dev/sdb1 | Device वाचा (filesystem शोधा). |
file -L link | Symlinks follow. |
कसं करायचं (step by step)
- संशयास्पद upload तपासा.
file invoice.pdf
Output:
invoice.pdf: Zip archive data, at least v2.0 to extract
याचा अर्थ: ही zip आहे, PDF नाही. डोळे झाकून उघडू नका.
- Windows मधून आलेली script तपासा.
file deploy.sh
Output:
deploy.sh: Bourne-Again shell script, ASCII text executable, with CRLF line terminators
याचा अर्थ: CRLF bash तोडतं; dos2unix किंवा sed ने fix.
- Binary तपासा.
file /usr/bin/ls
Output:
/usr/bin/ls: ELF 64-bit LSB pie executable, x86-64, dynamically linked
याचा अर्थ: 64-bit Intel किंवा AMD program.
- नवी disk format आहे का?
sudo file -s /dev/nvme1n1p1
Output:
/dev/nvme1n1p1: data
याचा अर्थ: "data" म्हणजे अजून filesystem नाही.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Shivajinagar मधल्या law firm चा mail gateway attachments वर file -i चालवतो आणि documents नावाने आलेले executables block करतो.
11. find: Name, size, time ने files शोधा
find सविस्तर: नाव, size, वेळ आणि owner ने files शोधा
हे का लागतं?
Disks जुन्या logs ने भरतात, कोणी विचारतं config कुठे आहे, किंवा security ला सगळ्या world-writable files हव्यात. find या सगळ्यांची उत्तरं देतो, आणि सापडलेल्यावर action पण करतो.
हे काय आहे?
find folder tree फिरतो आणि प्रत्येक file -name, -type, -size, -mtime, -user आणि -perm सारख्या conditions ने तपासतो. जुळलेल्या files print होतात, किंवा -delete किंवा -exec सारख्या action ला जातात. locate सारखं नाही, find disk live वाचतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
-name "*.log" | नावाने (pattern quote). |
-iname | नाव, case ignore. |
-type f / d / l | File, folder, link. |
-size +100M | 100 MB पेक्षा मोठी. |
-mtime +7 | 7 दिवसांपेक्षा आधी बदललेली. |
-user / -perm | Owner किंवा permission. |
-maxdepth 1 | खोल जाऊ नका. |
-exec cmd {} + | Matches वर command. |
-delete | Matches delete. |
कसं करायचं (step by step)
- Config file शोधा.
sudo find /etc -name "nginx.conf"
Output:
/etc/nginx/nginx.conf
याचा अर्थ: Patterns नेहमी quote करा म्हणजे shell expand करत नाही.
- Root disk वरच्या मोठ्या files.
sudo find / -xdev -type f -size +500M 2>/dev/null
Output:
/var/log/app/debug.log
/home/ravi/old.iso
याचा अर्थ: -xdev एकाच filesystem वर राहतो.
- जुने logs.
find /var/log/app -name "*.log" -mtime +30
Output:
/var/log/app/app-2026-09-01.log
याचा अर्थ: 30 दिवसांपेक्षा आधी बदललेले.
- Safe delete: आधी list, मग delete.
find /var/log/app -name "*.log" -mtime +30 -delete
याचा अर्थ: तीच test, आता -delete सह. -delete शेवटी ठेवा.
- Matches वर command.
find /srv/app -name "*.sh" -exec chmod 750 {} +
याचा अर्थ: {} म्हणजे file list; + एकदम अनेक files देतो.
- Security check: world-writable files.
sudo find /srv -type f -perm -o+w
Output:
/srv/upload/tmp.txt
याचा अर्थ: हे कोणीही बदलू शकतं; fix करा.
- मागच्या तासात बदललेल्या files.
sudo find /etc -mmin -60 -type f
Output:
/etc/resolv.conf
याचा अर्थ: आत्ताच config ला कोणी हात लावला?
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Hinjewadi मधली bank रोज रात्री report folders वर -mtime +90 -delete सह find चालवते, म्हणून month end ला disks भरत नाहीत.
12. firewall-cmd: firewalld rules manage
firewall-cmd सविस्तर: RHEL वर ports safe उघडा
हे का लागतं?
Web server install केला पण कोणीच पोहोचू शकत नाही. RHEL, Rocky आणि Fedora वर firewalld default ने ports block करतो, आणि SSH न तोडता ते उघडायचा मार्ग म्हणजे firewall-cmd.
हे काय आहे?
firewall-cmd firewalld service शी बोलतो. Rules zones मधे (public, internal, trusted) असतात. --permanent शिवायचा rule reload वर जातो; --permanent सह save होतो पण apply व्हायला --reload लागतो. दोन्ही वापरा, किंवा --runtime-to-permanent.
नेहमीचे options
| Option | काय करतो |
|---|---|
--state | firewalld चालू आहे का? |
--get-active-zones | वापरातले zones. |
--list-all | Default zone चे rules. |
--add-service=http | Known service allow. |
--add-port=8080/tcp | Port allow. |
--remove-port=8080/tcp | Port बंद. |
--permanent | Rule save. |
--reload | Saved rules load. |
कसं करायचं (step by step)
- चालू आहे का.
sudo firewall-cmd --state
Output:
running
याचा अर्थ: firewalld active.
- Rules बघा.
sudo firewall-cmd --list-all
Output:
public (active)
interfaces: eth0
services: cockpit dhcpv6-client ssh
ports:
याचा अर्थ: फक्त ssh, cockpit आणि dhcpv6 उघडे.
- HTTP आणि HTTPS कायमचे उघडा.
sudo firewall-cmd --permanent --add-service={http,https}
Output:
success
याचा अर्थ: Save झालं, अजून live नाही.
- Apply.
sudo firewall-cmd --reload
Output:
success
याचा अर्थ: Saved rules आता live.
- Confirm.
sudo firewall-cmd --list-services
Output:
cockpit dhcpv6-client http https ssh
याचा अर्थ: http आणि https उघडे.
- एका network मधूनच port allow.
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=10.0.0.0/16 port port=5432 protocol=tcp accept'
Output:
success
याचा अर्थ: PostgreSQL फक्त internal network मधून.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Yerawada मधली insurance company auditors च्या मागणीप्रमाणे rich rule ने port 5432 फक्त app subnet मधून allow करते.
13. free: Memory आणि swap वापर
free सविस्तर: खरंच किती memory मोकळी?
हे का लागतं?
App slow आहे किंवा killed झालं, आणि server ची RAM संपली का ते जाणायचंय. योग्य column वाचलात तर free एका line मधे उत्तर देतो.
हे काय आहे?
free /proc/meminfo वाचून total, used, free, shared, buff/cache आणि available memory, आणि swap दाखवतो. Linux मोकळी RAM cache साठी वापरतो, म्हणून "free" कमी दिसतं; "available" म्हणजे नव्या programs ना खरं मिळू शकणारी.
नेहमीचे options
| Option | काय करतो |
|---|---|
free -h | Human sizes. |
free -m | MiB मधे. |
free -s 2 | दर 2 seconds ला. |
free -t | Total line जोडा. |
free -w | Wide: buffers आणि cache वेगळे. |
कसं करायचं (step by step)
- Memory वाचा.
free -h
Output:
total used free shared buff/cache available
Mem: 7.6Gi 2.1Gi 320Mi 12Mi 5.2Gi 5.3Gi
Swap: 2.0Gi 0B 2.0Gi
याचा अर्थ: Free 320 Mi, पण 5.3 Gi available कारण cache सोडता येतो.
- फक्त available number.
free -m | awk '/^Mem:/{print $7}'
Output:
5427
याचा अर्थ: Monitoring scripts साठी चांगलं.
- Load test दरम्यान बघा.
free -h -s 5
Output:
(prints every 5 seconds)
याचा अर्थ: Available सतत कमी होतंय का बघा.
- काही killed झालं का?
sudo dmesg -T | grep -i "out of memory"
Output:
[Mon Oct 26 00:12:03 2026] Out of memory: Killed process 3120 (java)
याचा अर्थ: Kernel च्या OOM killer ने java थांबवलं.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Wakad मधली e-learning site live exams दरम्यान available memory 10% खाली गेली की alert देते.
14. fsck: Filesystem check आणि repair
fsck सविस्तर: filesystem check आणि repair
हे का लागतं?
Power cut किंवा crash नंतर filesystem मधे तुटलेल्या links असू शकतात, आणि server boot वर emergency mode मधे जाऊ शकतो. fsck तपासतो आणि repair करतो.
हे काय आहे?
fsck हा front end आहे जो योग्य checker बोलावतो, जसं ext4 साठी e2fsck. फक्त unmounted filesystem वर चालवा, नाहीतर नुकसान होऊ शकतं. XFS साठी xfs_repair; XFS वर fsck काही करत नाही.
नेहमीचे options
| Option | काय करतो |
|---|---|
fsck /dev/sdb1 | Check (प्रत्येक fix आधी विचारतो). |
fsck -n /dev/sdb1 | फक्त check, काही बदलत नाही. |
fsck -y /dev/sdb1 | न विचारता सगळं fix. |
fsck -f | Clean असलं तरी force check. |
xfs_repair /dev/sdb1 | XFS repair tool. |
कसं करायचं (step by step)
- Filesystem type शोधा.
lsblk -f /dev/nvme1n1
Output:
NAME FSTYPE MOUNTPOINT
nvme1n1p1 ext4 /data
याचा अर्थ: ext4, /data वर mounted.
- आधी unmount.
sudo umount /data
याचा अर्थ: Mounted filesystem वर fsck चालवू नका.
- Dry run.
sudo fsck -n /dev/nvme1n1p1
Output:
e2fsck 1.46.5
/dev/nvme1n1p1: clean, 11/3276800 files, 251161/13107200 blocks
याचा अर्थ: -n फक्त report करतो. Clean म्हणजे नुकसान नाही.
- Full check आणि repair force.
sudo fsck -fy /dev/nvme1n1p1
Output:
Pass 1: Checking inodes, blocks, and sizes
...
Pass 5: Checking group summary information
याचा अर्थ: पाच passes; -y सापडलेलं fix करतो.
- परत mount.
sudo mount /data && df -h /data
Output:
/dev/nvme1n1p1 49G 24K 47G 1% /data
याचा अर्थ: परत service मधे.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Pimpri factory चा server power cut नंतर emergency mode मधे गेला; admin ने /data वर fsck -y चालवला आणि तो boot झाला.
15. fuser: File किंवा port कोणती process वापरते
fuser सविस्तर: ही file किंवा port कोण वापरतंय?
हे का लागतं?
umount "target is busy" म्हणतो, किंवा port आधीच वापरात आहे आणि नवी service सुरू होत नाही. कोणता process तो धरून आहे ते जाणायचंय. fuser एका line मधे सांगतो.
हे काय आहे?
fuser file, folder, mount किंवा network port वापरणाऱ्या processes चे PIDs print करतो. PID नंतरची अक्षरं वापर दाखवतात: c current folder, f open file, e running program, m mapped file. तो ते processes kill पण करू शकतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
fuser -v file | Verbose: user, PID, access, command. |
fuser -m /mnt | त्या mount वापरणारं सगळं. |
fuser 80/tcp | TCP port 80 कोण वापरतो. |
fuser -k | ते processes kill. |
fuser -ki | प्रत्येक kill आधी विचारा. |
कसं करायचं (step by step)
- Unmount fail.
sudo umount /data
Output:
umount: /data: target is busy.
याचा अर्थ: अजून काहीतरी /data वापरतंय.
- कोण ते शोधा.
sudo fuser -vm /data
Output:
USER PID ACCESS COMMAND
/data: ravi 2210 ..c.. bash
याचा अर्थ: ravi user चा shell /data मधे बसलाय.
- Port 80 कोण धरतो?
sudo fuser -v 80/tcp
Output:
USER PID ACCESS COMMAND
80/tcp: root 1043 F.... nginx
याचा अर्थ: nginx आधीच 80 वर ऐकतो.
- विचारा, मग kill.
sudo fuser -kim /data
Output:
/data: 2210c
Kill process 2210 ? (y/N) y
याचा अर्थ: त्यानंतर umount चालतो.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Bavdhan मधली media firm edit storage unmount करण्याआधी fuser -vm वापरते म्हणजे editors ना warning मिळते, अचानक कट होत नाहीत.
16. getent: Users, groups, hosts शोधा
getent सविस्तर: users, groups आणि hosts system च्या पद्धतीने शोधा
हे का लागतं?
LDAP किंवा Active Directory ला जोडलेल्या servers वर users /etc/passwd मधे नसतात, म्हणून grep ला काहीच सापडत नाही. Logins आणि name lookups साठी system जे sources वापरते, getent तेच विचारतो.
हे काय आहे?
getent /etc/nsswitch.conf प्रमाणे NSS मधून databases वाचतो: passwd, group, hosts, services आणि अजून. Files, SSSD, LDAP किंवा DNS मधून classic file format मधे lines देतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
getent passwd ravi | एक user. |
getent group wheel | एक group आणि members. |
getent hosts name | Apps सारखं resolve. |
getent services 443 | Port name. |
getent ahosts name | सगळे addresses, IPv4 आणि IPv6. |
कसं करायचं (step by step)
- User तपासा.
getent passwd ravi
Output:
ravi:x:1001:1001:Ravi:/home/ravi:/bin/bash
याचा अर्थ: Name, UID, GID, comment, home, shell.
- grep ला न दिसणारा domain user.
getent passwd priya@corp.example.in
Output:
priya@corp.example.in:*:1855001104:1855000513:Priya:/home/priya:/bin/bash
याचा अर्थ: SSSD मधून आला, /etc/passwd मधून नाही.
- Group members.
getent group wheel
Output:
wheel:x:10:ravi,priya
याचा अर्थ: ravi आणि priya sudo वापरू शकतात.
- Apps सारखं resolve.
getent hosts db.internal
Output:
10.0.2.15 db.internal
याचा अर्थ: nsswitch क्रमाने /etc/hosts आणि DNS वापरतो.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Kalyani Nagar मधली IT team SSH ला दोष देण्याआधी getent passwd ने AD logins तपासते.
17. getfacl: ACL permissions दाखवा
getfacl सविस्तर: जास्तीच्या permissions (ACLs) वाचा
हे का लागतं?
साध्या permissions मधे फक्त एक owner आणि एक group. Auditor किंवा दुसऱ्या team ला access लागतो तेव्हा admins ACLs जोडतात. फक्त ls -l बघितलं तर ते दिसणार नाहीत.
हे काय आहे?
getfacl file किंवा folder ची access control list print करतो: owner, group, named users, named groups, mask आणि नव्या files साठी default ACLs. ls -l mode च्या शेवटी + म्हणजे ACL आहे. ACLs setfacl ने बदला.
नेहमीचे options
| Option | काय करतो |
|---|---|
getfacl file | ACL दाखवा. |
getfacl -R dir | पूर्ण folder tree. |
getfacl -R dir > acl.bak | ACLs backup. |
setfacl --restore=acl.bak | Restore करा. |
setfacl -m u:name:rx dir | एका user ला read आणि enter. |
कसं करायचं (step by step)
- Plus चिन्ह बघा.
ls -ld /srv/reports
Output:
drwxrwx---+ 2 app finance 4096 Oct 26 01:00 /srv/reports
याचा अर्थ: + म्हणजे जास्तीच्या ACL entries.
- वाचा.
getfacl /srv/reports
Output:
# file: srv/reports
# owner: app
# group: finance
user::rwx
user:auditor:r-x
group::rwx
mask::rwx
other::---
याचा अर्थ: auditor user read आणि enter करू शकतो.
- अजून एका user ला access.
sudo setfacl -m u:priya:rx /srv/reports
याचा अर्थ: priya ला आता read आणि enter.
- बदलांआधी backup.
getfacl -R /srv/reports > /root/reports.acl
याचा अर्थ: काही चुकलं तर setfacl --restore ने restore.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Camp भागातली CA firm audit season मधे auditors ना client folders वर read-only ACL access देते.
18. grep: Text मधे patterns शोधा
grep deep dive: pro सारखा text शोधा
हे का लागतं?
Admin चं बहुतेक काम म्हणजे एक line शोधणं: log मधला error, config मधली setting, access logs मधला IP, list मधला user. grep हे इतर कोणत्याही tool पेक्षा जास्त वापरलं जाणारं, आणि ls नंतर Linux interview मधला सगळ्यात common command.
हे काय आहे?
grep files किंवा input line by line वाचतो आणि pattern जुळणाऱ्या lines print करतो. Pattern म्हणजे regular expression: default basic, -E ने extended, -F ने fixed text, -P ने Perl style. Options case, counting, context lines, file names आणि recursion control करतात. Exit code 0 म्हणजे सापडलं, 1 नाही, 2 error, म्हणून scripts साठी grep perfect.
नेहमीचे options
| Option | काय करतो |
|---|---|
-i | Case ignore. |
-v | न जुळणाऱ्या lines. |
-n | Line numbers. |
-c | जुळणाऱ्या lines मोजा. |
-l / -L | जुळणाऱ्या / न जुळणाऱ्या files ची नावं. |
-r / -R | Folders शोधा (R links follow). |
-w | फक्त पूर्ण शब्द. |
-x | पूर्ण line जुळली पाहिजे. |
-E | Extended regex: | + ? {}. |
-F | Fixed text, regex नाही. |
-o | फक्त जुळलेला भाग. |
-A / -B / -C n | नंतरच्या / आधीच्या / आजूबाजूच्या lines. |
-q | Quiet: फक्त exit code. |
--include="*.conf" | Recursive मधे फक्त या files. |
--color=auto | Matches highlight. |
कसं करायचं (step by step)
- Log मधे errors शोधा.
grep ERROR /var/log/app/app.log
Output:
2026-10-26 00:41:10 ERROR payment timeout id=7781
2026-10-26 00:52:33 ERROR db connection refused
याचा अर्थ: ERROR असलेली प्रत्येक line, लिहिल्याप्रमाणे.
- Case ignore आणि line numbers.
grep -in "timeout" /var/log/app/app.log
Output:
118:2026-10-26 00:41:10 ERROR payment timeout id=7781
240:2026-10-26 01:02:09 WARN Timeout retry 2
याचा अर्थ: Timeout आणि timeout दोन्ही जुळतात; number म्हणजे file मधली line.
- मोजा.
grep -c ERROR /var/log/app/app.log
Output:
37
याचा अर्थ: 37 lines मधे ERROR.
- Error च्या आजूबाजूचं बघा.
grep -B2 -A3 "db connection refused" /var/log/app/app.log
Output:
(2 lines before, the match, 3 lines after)
याचा अर्थ: Context failure च्या आधी काय झालं ते दाखवतो.
- Config मधल्या comments आणि blank lines लपवा.
grep -Ev "^\s*(#|$)" /etc/ssh/sshd_config
Output:
Include /etc/ssh/sshd_config.d/*.conf
PermitRootLogin no
PasswordAuthentication no
याचा अर्थ: -v उलटं करतो, -E (a|b) चालू करतो; ^ सुरुवात, $ शेवट.
- एकदम दोन patterns.
grep -E "ERROR|FATAL" app.log | tail -2
Output:
2026-10-26 01:10:00 FATAL out of memory
2026-10-26 01:12:41 ERROR worker crashed
याचा अर्थ: Extended regex मधे | म्हणजे OR.
- फक्त पूर्ण शब्द.
grep -w "root" /etc/passwd
Output:
root:x:0:0:root:/root:/bin/bash
याचा अर्थ: chroot किंवा rootless जुळत नाही.
- फक्त IPs काढा.
grep -oE "([0-9]{1,3}\.){3}[0-9]{1,3}" access.log | sort | uniq -c | sort -rn | head -3
Output:
942 49.36.12.8
311 103.21.5.90
87 10.0.1.5
याचा अर्थ: -o फक्त जुळलेला भाग print करतो; मग प्रत्येक IP मोजा.
- पूर्ण folder, फक्त config files.
grep -rn --include="*.conf" "listen" /etc/nginx/
Output:
/etc/nginx/conf.d/shop.conf:3: listen 443 ssl;
याचा अर्थ: -r folders फिरतो; --include files मर्यादित करतो.
- कोणत्या files मधे hostname?
grep -rl "db-old.internal" /srv/app/config
Output:
/srv/app/config/prod.yml
/srv/app/config/batch.yml
याचा अर्थ: फक्त file names: migration आधी update करायची list.
- Dots किंवा brackets असलेला text जसाच्या तसा.
grep -F "[10.0.1.5]" haproxy.log | head -1
Output:
Oct 26 01:01:02 lb1 haproxy[812]: [10.0.1.5] backend up
याचा अर्थ: -F regex बंद करतो, म्हणून [ आणि . साधी अक्षरं.
- Script मधे grep.
if grep -q "^PermitRootLogin no" /etc/ssh/sshd_config; then echo SAFE; else echo FIX; fi
Output:
SAFE
याचा अर्थ: -q काही print करत नाही; exit code if चालवतो.
- Command output filter.
ps aux | grep "[n]ginx"
Output:
root 1043 0.0 0.1 nginx: master process
nginx 1044 0.0 0.2 nginx: worker process
याचा अर्थ: [n] trick: grep ची स्वतःची line जुळत नाही.
- Compressed logs शोधा.
zgrep -c "ERROR" /var/log/app/app.log.1.gz
Output:
52
याचा अर्थ: zgrep .gz files unpack न करता वाचतो.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Kharadi मधली payments team प्रत्येक RBI audit दरम्यान zgrep ने 30 दिवसांच्या zipped logs मधे "declined" शोधते आणि bank प्रमाणे seconds मधे मोजते.
19. groupadd: Group बनवा
groupadd सविस्तर: team group बनवा
हे का लागतं?
Permissions व्यक्तीप्रमाणे पेक्षा team प्रमाणे manage करणं सोपं. devs किंवा finance सारखा group बनवा, लोकांना त्यात जोडा, आणि group ला folders चा access द्या.
हे काय आहे?
groupadd /etc/group (आणि /etc/gshadow) मधे नव्या group name आणि GID ची line जोडतो. Members नंतर usermod -aG किंवा gpasswd -a ने जोडतात. groupdel group काढतो; groupmod rename करतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
groupadd devs | Group बनवा. |
groupadd -g 3000 devs | GID निवडा. |
groupadd -r svc | System group (कमी GID). |
gpasswd -a ravi devs | Member जोडा. |
groupdel devs | Group delete. |
कसं करायचं (step by step)
- Group बनवा.
sudo groupadd -g 3000 devs
याचा अर्थ: Output नाही म्हणजे success.
- तपासा.
getent group devs
Output:
devs:x:3000:
याचा अर्थ: GID 3000, अजून members नाहीत.
- दोन लोक जोडा.
sudo usermod -aG devs ravi; sudo usermod -aG devs priya; getent group devs
Output:
devs:x:3000:ravi,priya
याचा अर्थ: -a त्यांचे इतर groups ठेवतो. कधी विसरू नका.
- Group ला shared folder.
sudo mkdir /srv/devs && sudo chgrp devs /srv/devs && sudo chmod 2770 /srv/devs
याचा अर्थ: 2 (setgid) मुळे नव्या files devs च्या.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Model Colony मधल्या architecture firm चे design, accounts आणि print groups आहेत, प्रत्येकाचा स्वतःचा shared folder.
20. groups: User चे groups
groups सविस्तर: मी कोणत्या groups मधे आहे?
हे का लागतं?
तुम्हाला docker किंवा wheel group मधे जोडलं पण अजून permission denied येतं. पहिला check: या session ला खरंच कोणते groups आहेत?
हे काय आहे?
groups current user चे, किंवा दिलेल्या user चे groups print करतो. स्वतःच्या shell साठी session सुरू झाली तेव्हाचे groups दाखवतो; नंतर जोडलेल्या groups साठी नवा login किंवा newgrp लागतो. id तेच numbers सह दाखवतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
groups | माझे groups. |
groups ravi | दुसरा user. |
id -nG | तेच, id मधून. |
newgrp docker | नव्या group सह shell. |
su - $USER | Groups load करायला fresh login. |
कसं करायचं (step by step)
- स्वतःला तपासा.
groups
Output:
ravi wheel devs
याचा अर्थ: तुम्ही ravi, wheel आणि devs मधे.
- docker मधे जोडल्यावर.
groups ravi
Output:
ravi : ravi wheel devs docker
याचा अर्थ: Account ला docker आहे...
- ...पण या shell ला नाही.
groups
Output:
ravi wheel devs
याचा अर्थ: बदलाआधी session सुरू झाली.
- Load करा.
newgrp docker; docker ps
Output:
CONTAINER ID IMAGE COMMAND STATUS
याचा अर्थ: आता docker sudo शिवाय चालतो.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Sangvi मधल्या startup च्या onboarding doc मधे लिहिलंय: docker मधे जोडल्यावर logout-login करा, मग groups ने तपासा.
21. gunzip: .gz files uncompress
gunzip सविस्तर: .gz files unpack
हे का लागतं?
Logs .gz म्हणून rotate होतात, database dumps .sql.gz म्हणून पाठवले जातात, आणि downloads .gz येतात. ते परत साध्या files म्हणून हवेत, किंवा unpack न करता वाचायचेत.
हे काय आहे?
gunzip म्हणजे gzip -d. तो file.gz ला file ने replace करतो आणि time stamp ठेवतो. -k .gz पण ठेवतो, -c screen वर लिहितो म्हणजे pipe करता येतं. zcat, zless आणि zgrep .gz files थेट वाचतात.
नेहमीचे options
| Option | काय करतो |
|---|---|
gunzip f.gz | Unpack करून .gz काढा. |
gunzip -k f.gz | .gz ठेवा. |
gunzip -c f.gz | Standard output ला. |
gunzip -t f.gz | Archive test. |
zcat f.gz | Unpack न करता वाचा. |
कसं करायचं (step by step)
- आधी test.
gunzip -t dump.sql.gz && echo OK
Output:
OK
याचा अर्थ: Archive खराब नाही.
- Unpack करा आणि original ठेवा.
gunzip -k dump.sql.gz; ls -lh dump.sql*
Output:
-rw-r--r-- 1 ravi ravi 1.9G Oct 26 01:00 dump.sql
-rw-r--r-- 1 ravi ravi 210M Oct 26 01:00 dump.sql.gz
याचा अर्थ: Pack असताना सुमारे 9 पट छोटं.
- मोठी file न लिहिता DB restore.
gunzip -c dump.sql.gz | mysql shopdb
याचा अर्थ: 1.9 GB disk वाचते.
- जुना log वाचा.
zcat /var/log/nginx/access.log.2.gz | tail -1
Output:
49.36.12.8 - - [24/Oct/2026:23:59:58 +0530] "GET / HTTP/1.1" 200
याचा अर्थ: कोणतीही file बनत नाही.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Hadapsar मधला e-commerce DBA nightly .sql.gz dumps gunzip -c pipe करून mysql मधे test server वर restore करतो.
22. gzip: gzip ने files compress
gzip सविस्तर: जागा वाचवायला files compress
हे का लागतं?
Text logs आणि CSV exports compress केल्यावर 5 ते 10 पट छोटे होतात. त्याने disk, backup वेळ आणि transfer cost वाचते. gzip सगळीकडे आहे आणि जलद.
हे काय आहे?
gzip एका वेळी एक file compress करतो आणि तिला file.gz ने replace करतो. Folders bundle करत नाही; त्यासाठी tar -czf. Levels -1 (जलद) ते -9 (छोटं). JPG किंवा MP4 सारख्या आधीच compressed files फारशा छोट्या होत नाहीत.
नेहमीचे options
| Option | काय करतो |
|---|---|
gzip f | Compress, f replace. |
gzip -k f | Original ठेवा. |
gzip -9 f | Best compression. |
gzip -l f.gz | Ratio दाखवा. |
gzip -r dir | Folder मधली प्रत्येक file. |
gzip -d f.gz | Unpack (gunzip सारखं). |
कसं करायचं (step by step)
- मोठा log compress.
ls -lh app.log; gzip app.log; ls -lh app.log.gz
Output:
-rw-r--r-- 1 app app 820M app.log
-rw-r--r-- 1 app app 61M app.log.gz
याचा अर्थ: 820 MB वरून 61 MB.
- Ratio बघा.
gzip -l app.log.gz
Output:
compressed uncompressed ratio uncompressed_name
63963136 859832320 92.6% app.log
याचा अर्थ: 92.6% छोटं.
- सध्या original ठेवा.
gzip -k -9 export.csv; ls export.csv*
Output:
export.csv export.csv.gz
याचा अर्थ: दोन्ही files राहतात.
- चालता चालता compress.
mysqldump shopdb | gzip > shopdb-$(date +%F).sql.gz
याचा अर्थ: Dump कधीच uncompressed disk वर बसत नाही.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Baner मधली analytics company S3 ला upload करण्याआधी daily CSV exports gzip करते आणि transfer bill 85% ने कमी करते.
23. halt: System थांबवा
halt सविस्तर: system थांबवा (आणि poweroff पेक्षा वेगळं कसं)
हे का लागतं?
Physical server हलवण्याआधी किंवा disk fail झाल्यावर filesystems खराब होऊ नयेत म्हणून तो नीट थांबवावा लागतो. halt, poweroff आणि shutdown माहीत असलं की "off" पण वीज खाणारा server, किंवा परत start न करता येणारा remote box टाळता येतो.
हे काय आहे?
systemd systems वर halt सगळ्या services आणि kernel थांबवतो पण power कदाचित कापत नाही; poweroff machine पण बंद करतो. Cloud VM वर दोन्ही instance stop करतात. shutdown delay आणि logged-in users ना warning जोडतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
halt | System थांबवा. |
halt -p | Halt आणि power off. |
poweroff | थांबवा आणि power कापा. |
shutdown -h +10 "msg" | Warning सह 10 minutes मधे halt. |
shutdown -c | Planned shutdown cancel. |
कसं करायचं (step by step)
- Users ना warning आणि schedule.
sudo shutdown -h +10 "Disk swap in 10 min, save work"
Output:
Shutdown scheduled for Mon 2026-10-26 01:50:00 IST, use 'shutdown -c' to cancel.
याचा अर्थ: Logged-in users ना message दिसतो.
- विचार बदलला.
sudo shutdown -c
याचा अर्थ: Plan cancel.
- आत्ता बंद.
sudo poweroff
Output:
Connection to 10.0.1.5 closed by remote host.
याचा अर्थ: Services थांबतात, disks sync, power off.
- नंतर शेवटचे shutdowns तपासा.
last -x shutdown | head -2
Output:
shutdown system down 5.14.0-427 Mon Oct 26 01:51 - 02:30 (00:39)
याचा अर्थ: कोणी आणि केव्हा याची नोंद.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Bhosari data room चा supervisor UPS maintenance आधी message सह shutdown -h +15 वापरतो म्हणजे engineers काम save करू शकतात.
24. head: पहिल्या lines
head सविस्तर: file च्या पहिल्या lines बघा
हे का लागतं?
3 GB CSV किंवा log उघडायला खूप मोठा. फक्त columns, पहिले records किंवा output ची सुरुवात बघायचीय. head फक्त तेच दाखवतो.
हे काय आहे?
head default ला पहिल्या 10 lines print करतो, किंवा -n ने निवडलेला number, किंवा -c ने bytes. Minus number दिल्यावर शेवटच्या N lines सोडून सगळं. तो लवकर वाचणं थांबवतो, म्हणून मोठ्या files वर instant.
नेहमीचे options
| Option | काय करतो |
|---|---|
head f | पहिल्या 10 lines. |
head -n 3 f | पहिल्या 3 lines. |
head -n -5 f | शेवटच्या 5 सोडून सगळं. |
head -c 100 f | पहिले 100 bytes. |
head -q a b | अनेक files, name headers नाहीत. |
कसं करायचं (step by step)
- CSV columns बघा.
head -n 1 sales.csv
Output:
date,region,store,amount
याचा अर्थ: फक्त header row.
- Columns आणि दोन records.
head -n 3 sales.csv
Output:
date,region,store,amount
2026-10-01,West,Pune-FC,48210
2026-10-01,West,Nashik,22050
याचा अर्थ: Format समजायला पुरेसं.
- Top 5 memory users.
ps aux --sort=-%mem | head -n 6
Output:
USER PID %CPU %MEM COMMAND
mysql 811 3.1 41.0 /usr/sbin/mysqld
...
याचा अर्थ: Header आणि पाच processes.
- Binary file चं type बघा.
head -c 4 backup.img | od -c
Output:
0000000 177 E L F
याचा अर्थ: \177ELF म्हणजे Linux program चं magic.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Pune retail chain चा data analyst load करण्याआधी column order तपासायला प्रत्येक store file वर head -n 5 चालवतो.
25. history: आधीच्या commands
history सविस्तर: जुने commands शोधा आणि पुन्हा वापरा
हे का लागतं?
मागच्या आठवड्यात चाललेला लांब command परत हवाय, किंवा server वर काय बदललं ते सांगायचंय. history तुम्ही type केलेल्या commands ची list ठेवतो.
हे काय आहे?
history हा bash builtin. Commands memory मधे ठेवले जातात आणि shell बंद झाल्यावर ~/.bash_history मधे save होतात. HISTSIZE आणि HISTFILESIZE किती ते ठरवतात; HISTTIMEFORMAT dates जोडतो. हे per user आणि edit करता येतं, म्हणून audit log नाही.
नेहमीचे options
| Option | काय करतो |
|---|---|
history | List दाखवा. |
history 20 | शेवटचे 20. |
!123 | Command number 123 चालवा. |
!! | शेवटचा command परत. |
Ctrl+R | Type करताना मागे search. |
history -d 123 | एक entry delete. |
history -a | आत्ता file मधे लिहा. |
कसं करायचं (step by step)
- Dates जोडा.
export HISTTIMEFORMAT='%F %T '; history 3
Output:
981 2026-10-26 01:20:11 df -h
982 2026-10-26 01:21:40 sudo systemctl restart nginx
983 2026-10-26 01:22:02 history 3
याचा अर्थ: आता प्रत्येक कधी चालला ते कळतं.
- जुना command शोधा.
history | grep rsync
Output:
640 rsync -avz /srv/app/ backup01:/backup/app/
याचा अर्थ: Number 640 हवा तो.
- परत चालवा.
!640
Output:
rsync -avz /srv/app/ backup01:/backup/app/
sending incremental file list
याचा अर्थ: Bash आधी command print करतो, मग चालवतो.
- sudo विसरलात?
sudo !!
Output:
sudo systemctl restart nginx
याचा अर्थ: !! म्हणजे शेवटचा command.
- Type केलेला password काढा.
history -d 981; history -w
याचा अर्थ: Command line वर secrets कधी type करू नका; केले तर delete करा.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Kondhwa मधला MSP सगळ्या client servers वर HISTTIMEFORMAT आणि मोठा HISTSIZE set करतो म्हणजे night shift handovers स्पष्ट होतात.
26. host: साधा DNS lookup
host सविस्तर: जलद DNS lookups
हे का लागतं?
DNS बदलानंतर पटकन हो किंवा नाही हवं: हे नाव नव्या IP ला point करतं का? dig चा लांब output न देता host छोटं, वाचायला सोपं उत्तर देतो.
हे काय आहे?
host हे bind-utils (RHEL) किंवा bind9-host (Ubuntu) package मधलं साधं DNS lookup tool. Default ला A, AAAA आणि MX records, IPs साठी reverse lookups, -t ने कोणताही record type, आणि निवडलेल्या server ला विचारू शकतो.
नेहमीचे options
| Option | काय करतो |
|---|---|
host name | A, AAAA आणि MX. |
host IP | Reverse lookup. |
host -t mx name | एक record type. |
host name 8.8.8.8 | निवडलेल्या server ला विचारा. |
host -a name | सगळं, verbose. |
कसं करायचं (step by step)
- साधा lookup.
host example.com
Output:
example.com has address 93.184.215.14
example.com has IPv6 address 2606:2800:21f:cb07:6820:80da:af6b:8b2c
याचा अर्थ: IPv4 आणि IPv6 addresses.
- Mail servers.
host -t mx gmail.com
Output:
gmail.com mail is handled by 5 gmail-smtp-in.l.google.com.
याचा अर्थ: कमी number म्हणजे preferred.
- Reverse lookup.
host 8.8.8.8
Output:
8.8.8.8.in-addr.arpa domain name pointer dns.google.
याचा अर्थ: IP चं PTR नाव.
- बदलानंतर public server ला विचारा.
host shop.example.in 1.1.1.1
Output:
Using domain server:
Address: 1.1.1.1#53
shop.example.in has address 13.235.10.20
याचा अर्थ: नवा IP बाहेरून आधीच दिसतोय.
खालच्या tasks मधे सराव करा: सराव tasks
खरा वापर: Shivajinagar मधली web agency client ला live सांगण्याआधी प्रत्येक DNS cutover host name 8.8.8.8 आणि host name 1.1.1.1 ने तपासते.
27. अनेक industries मधली खरी उदाहरणं
हे का लागतं?
तेच Linux skill प्रत्येक प्रकारच्या company मध्ये लागतं. वेगवेगळ्या ठिकाणी पाहिलं की लक्षात राहतं.
हे काय आहे?
प्रत्येक row म्हणजे एक काल्पनिक team. कोण हे वापरतं आणि कसं ते दाखवते.
कसं करायचं (step by step)
| Team आणि शहर | ते कसं वापरतात | Command |
|---|---|---|
| Pooja, e-commerce, Hinjewadi | Deploy pipeline मधे प्रत्येक minute ला payment errors मोजते | grep -c "PAYMENT FAILED" app.log |
| Rahul, hosting, Kharadi | नव्या client sites साठी ports उघडतो | firewall-cmd --permanent --add-service=https |
| Meera, hospital IT, Shivajinagar | वयानुसार जुने scans साफ करते | find /scans -mtime +90 -name "*.dcm" |
| Sagar, logistics, Chakan | रोज रात्री depot logs compress करतो | gzip -9 /var/log/depot/*.log.1 |
| Neha, bank, Camp | Audit folders वर ACLs तपासते | getfacl /audit |
| Vikram, SaaS, Baner | Scaling आधी memory तपासतो | free -m |
28. नेहमीच्या errors आणि त्यांचे fixes
हे का लागतं?
हे errors सगळ्यांना येतात. कारण माहीत असलं की तास वाचतात.
हे काय आहे?
आधी नेमका message वाचा. मग खालच्या row शी जुळवा.
कसं करायचं (step by step)
| दिसणारा error | का होतं | Fix कसा करायचा |
|---|---|---|
echo $PATH prints nothing in a script | Variable दुसऱ्या shell मधे set किंवा export नाही | export करा किंवा file source करा.export APP_ENV=prod |
expr: syntax error | Spaces नाहीत किंवा * escape नाही | Operators भोवती spaces आणि * escape.expr 6 \* 7 |
find: paths must precede expression | Quote न केलेला wildcard shell ने expand केला | Pattern quote करा.find . -name "*.log" |
Error: INVALID_PORT | /tcp किंवा /udp शिवाय port | Protocol जोडा.firewall-cmd --add-port=8080/tcp |
Port open with firewall-cmd but gone after reboot | --permanent शिवाय rule | --permanent जोडा आणि reload.firewall-cmd --permanent --add-port=8080/tcp; firewall-cmd --reload |
fsck: /dev/sda1 is mounted. | Mounted filesystem वर fsck | आधी unmount करा, किंवा rescue mode.umount /data; fsck -n /dev/sdb1 |
grep: warning: recursive search of stdin | folder शिवाय -r | Folder द्या.grep -rn ERROR /var/log/app |
grep: Unmatched [, [^, [:, [., or [= | Special character regex समजला | Fixed text साठी -F.grep -F "[ERROR]" app.log |
gzip: app.log: unexpected end of file | Copy करताना file कापली किंवा अजून लिहिली जात होती | परत copy करा; gzip -t ने test.gzip -t app.log.gz |
groupadd: group 'developers' already exists | Group आधीच आहे | आधी getent ने तपासा.getent group developers |
fuser: command not found | psmisc install नाही | psmisc install करा.dnf install -y psmisc |
Host db.internal not found: 3(NXDOMAIN) | नाव DNS मधे नाही किंवा चुकीचा search domain | Record आणि resolv.conf तपासा.cat /etc/resolv.conf |
29. Troubleshooting step by step
हे का लागतं?
Part 3 ची command अपेक्षेप्रमाणे वागत नसेल तर या steps.
हे काय आहे?
वरून खाली जा. ज्या step ला problem दिसतो तिथे थांबा.
कसं करायचं (step by step)
- Command install आहे का?
command -v fuser htop || echo missing
- Variable set आणि export आहे का?
env | grep APP_
- Pattern quote आहे का?
grep -n "a b" file
- Firewall rule permanent की runtime?
firewall-cmd --list-all --permanent
- fsck आधी disk mount आहे का?
findmnt /dev/sdb1
- कोणत्या DNS server ने उत्तर दिलं?
host -v db.internal | grep -i server
30. Lab 1: Support engineer सारखे logs search करा
हे का लागतं?
Sample log बनवा आणि grep, head आणि gzip ने खरे प्रश्न सोडवा.
हे काय आहे?
पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).
कसं करायचं (step by step)
- Sample log बनवा.
printf "INFO start\nERROR db timeout\nINFO retry\nERROR db timeout\nWARN slow\n" > /tmp/lab.log
- Errors मोजा.
grep -c ERROR /tmp/lab.log
Output:
2
- Line numbers सह.
grep -n ERROR /tmp/lab.log
Output:
2:ERROR db timeout
4:ERROR db timeout
- ERROR किंवा WARN.
grep -E "ERROR|WARN" /tmp/lab.log | wc -l
Output:
3
- Compress करून आत search.
gzip /tmp/lab.log && zgrep -c ERROR /tmp/lab.log.gz
Output:
2
31. Lab 2: Port उघडा आणि तो कोण वापरतं ते शोधा
हे का लागतं?
छोटा web server सुरू करा, firewalld मधे त्याचा port उघडा, आणि memory आणि process तपासा.
हे काय आहे?
पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).
कसं करायचं (step by step)
- Background ला server सुरू.
python3 -m http.server 8099 &
Output:
[1] 6120
- आत्तापुरता port उघडा.
sudo firewall-cmd --add-port=8099/tcp
Output:
success
- Port कोणाकडे?
sudo fuser -v 8099/tcp
Output:
8099/tcp: ravi 6120 F.... python3
- उरलेली memory.
free -h | grep Mem
Output:
Mem: 1.8Gi 610Mi 900Mi
- साफ करा.
kill %1; sudo firewall-cmd --remove-port=8099/tcp
Output:
success
Ravindra Bagale's Tip
Learn grep options one at a time: today -n and -i, tomorrow -r and -l, then -E and -w, then -A and -B. In two weeks you will search logs faster than anyone on your team.
Ravindra Bagale's Tip – मराठी
grep options एक एक करून शिका: आज -n आणि -i, उद्या -r आणि -l, मग -E आणि -w, मग -A आणि -B. दोन आठवड्यात तुम्ही team मधे सगळ्यांपेक्षा जलद logs search कराल.
Ravindra Bagale's Tip – हिंदी
grep के options एक-एक करके सीखें: आज -n और -i, कल -r और -l, फिर -E और -w, फिर -A और -B. दो हफ्ते में आप टीम में सबसे तेज़ logs search करेंगे.
32. नेहमी विचारले जाणारे प्रश्न
प्र. grep की find?
grep files च्या आत search करतो; find file names आणि properties search करतो.
प्र. free कमी free memory का दाखवतो?
Linux उरलेली memory cache साठी वापरतो. available column बघा.
प्र. fsck safe आहे का?
फक्त unmounted filesystem वर. आधी फक्त check साठी -n.
प्र. export करायचं की नाही?
Child programs ना हवं तेवढंच export करा.
प्र. firewall-cmd vs iptables?
RHEL वर firewall-cmd वापरा; iptables lower level आहे आणि Part 4 मधे covered.
प्र. gzip माझी file delete करतो?
हो, ती .gz ने replace होते. ठेवायला -k.
33. मुलाखत प्रश्न आणि उत्तरं
Beginner level
प्र. Case ignore करून शब्द कसा search कराल?
grep -i word file.
प्र. Free memory कशी बघाल?
free -h, आणि available column वाचा.
प्र. पहिल्या 10 lines कशा print कराल?
head file, किंवा 20 साठी head -n 20.
प्र. echo $? काय दाखवतो?
शेवटच्या command चा exit code.
Mid level level
प्र. फक्त root वर 1 GB पेक्षा मोठ्या files शोधा.
find / -xdev -size +1G.
प्र. प्रत्येक match नंतर 3 lines दाखवा.
grep -A3 pattern file.
प्र. HTTPS कायमचं उघडा.
firewall-cmd --permanent --add-service=https मग --reload.
प्र. /data कोण वापरतंय म्हणून unmount होत नाही?
fuser -vm /data.
Senior level
प्र. Log मधे 2 million lines. Top 5 error messages शोधा.
grep ERROR app.log | sort | uniq -c | sort -rn | head -5.
प्र. Crash नंतर filesystem mount होत नाही. Steps?
Rescue boot, check साठी fsck -n, backup, मग fsck -y, मग mount.
प्र. User LDAP आणि local files मधे आहे का कसं तपासाल?
getent passwd user.
प्र. Script तुमच्या shell मधे चालते पण cron मधे नाही. का?
Variables export नाहीत किंवा PATH वेगळा; env ने तपासा.
घरी करून बघा
- 100 lines चा test log बनवा आणि table मधला प्रत्येक grep option practise करा.
- तुमच्या home मधल्या 50 MB पेक्षा मोठ्या सगळ्या files शोधा.
- gzip -k ने log compress करा आणि ls -lh ने sizes compare करा.
- तीन websites वर host चालवा आणि त्यांचे IPs लिहा.
सराव Tasks
Maple Leaf Books हा टोरांटो मधला पुस्तक विक्री व्यवसाय आहे. Emily Tremblay त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे CAD मध्ये मोजले जातात आणि AWS resources ca-central-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.
0 / 23
सोपं Newline शिवाय print
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: शेवटच्या newline शिवाय ready शब्द print करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Variable export
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: REGION ला ap-south-1 value सह export करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Calculate
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: expr ने 17 आणि 25 add करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं नावाने शोधा
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: /opt खाली config.yaml नावाच्या files शोधा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं File चा प्रकार
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: /bin/ls file चा type दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं MB मधे memory
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: दर 3 seconds ला refresh करत memory megabytes मधे दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Case ignore
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: server.log मधे case ignore करून timeout शब्द search करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Matches मोजा
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: server.log मधे WARN असलेल्या lines मोजा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं पहिल्या lines
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: orders.csv च्या पहिल्या 3 lines दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं DNS lookup
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: host ने example.net चे mail servers शोधा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Variable शिवाय चालवा
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: LANG variable काढून printenv command चालवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Size ने शोधा
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: /srv खाली 500 MB पेक्षा मोठ्या files शोधा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम वयाने शोधा
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: /backup खाली 30 दिवसांपूर्वी बदललेल्या files शोधा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Service उघडा
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: firewalld मधे mysql service कायमची allow करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Folder search
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: /etc/myapp मधे line numbers सह password recursively search करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम फक्त file names
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: /var/www खाली eval असलेल्या files ची फक्त नावं list करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Comments लपवा
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: nginx.conf च्या hash sign ने सुरू न होणाऱ्या lines दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Compress करा आणि ठेवा
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: access.log compress करा पण original file ठेवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Group look up
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: सगळ्या sources मधून docker group ची entry दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड Owner ने शोधा
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: /home खाली sneha user च्या मालकीच्या files शोधा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड फक्त check
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: काही न बदलता /dev/sdc1 check करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड Whole word आणि context
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: job.log मधे fail whole word matches प्रत्येकानंतर 2 lines सह दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड दोन शब्द
का: BIZ Linux servers चालवतो आणि echo ते host commands रोज वापरतो.
काय करायचं: Extended regex ने job.log मधे OOM किंवा panic असलेल्या lines दाखवा.
- हे काम करणारा 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
थोडक्यात सांगायचं तर
- echo, env, export, expr, exit: script basics.
- find: names, sizes, times; patterns quote करा.
- grep: -i -n -r -l -c -v -w -E -F -A -B -o -q.
- firewall-cmd: --permanent मग --reload.
- free: available वाचा.
- fsck फक्त unmounted disks वर.
उजळणी, तुलना आणि मुलाखत cards
हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.








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