Ravindra BagaleCourses & study guides English

Linux मधे Hard Link vs Soft Link: ln, ln -s आणि Inodes उदाहरणांसह

File चं नाव म्हणजे file नव्हे. ते फक्त खऱ्या data कडे बोट दाखवणारं label आहे. Linux file ची खरी माहिती inode मधे ठेवतं. हे कळलं की hard links, soft links, 'free space असूनही disk full' आणि अनेक deploy tricks सोपे होतात.

या chapter मध्ये तुम्ही काय शिकाल

  • Inode म्हणजे काय आणि त्यात काय असतं
  • Inode numbers आणि link counts कसे बघायचे
  • Hard links: काय, कसे, मर्यादा
  • Soft (symbolic) links: काय, कसे, broken links
  • Hard vs soft link तुलना
  • खरे उपयोग: releases, configs, versions

1. रोजचं उदाहरण: locker आणि चाव्या

हे का लागतं?

रेखा कोल्हापूरच्या bank locker मधे सोनं ठेवते. Locker ला number असतो. तिच्याकडे एक चावी, मुलाकडे दुसरी. रेखाची चावी हरवली तरी सोनं तिथेच, कारण मुलाची चावी चालते. वेगळं म्हणजे, रेखा diary मधे 'Locker 214, SBI राजारामपुरी' अशी चिठ्ठी लिहिते. Bank ने locker हलवला तर चिठ्ठी निरुपयोगी.

हे काय आहे?

Locker = data असलेलं inode. प्रत्येक चावी = hard link (त्याच inode चं खरं नाव). Diary मधली चिठ्ठी = soft link: फक्त path साठवते. Path गेला की चिठ्ठी broken.

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

नावापासून data पर्यंतSoft link: current -> app-v2नाव app-v2 (directory entry)Inode 1048 (owner, size, perms)Disk वरचे data blocks
Soft link नावाकडे. नाव inode कडे. Inode data कडे.

2. Inode म्हणजे काय?

हे का लागतं?

एका file ला अनेक नावं असावीत म्हणून Linux ला file ची माहिती (owner, size, time, data कुठे) नावाशिवाय दुसरीकडे ठेवावी लागते.

हे काय आहे?

Inode म्हणजे number असलेला छोटा record. त्यात type, permissions, owner, group, size, times (atime, mtime, ctime), link count आणि data blocks चे pointers. नाव त्यात नसतं. नावं folders मधे (directory entries) नाव → inode number अशी असतात.

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

  1. Inode numbers दाखवा.
ls -i

Output:

1048 notes.txt  1051 report.pdf

याचा अर्थ: notes.txt म्हणजे inode 1048.

  1. Inode चे पूर्ण details.
stat notes.txt

Output:

  File: notes.txt
  Size: 52        Blocks: 8     IO Block: 4096 regular file
Device: 259,1   Inode: 1048   Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/ rekha)   Gid: ( 1000/ rekha)
Modify: 2026-10-25 10:30:12

याचा अर्थ: Inode 1048, 1 link, 52 bytes, mode 0644.

  1. Disk वर inode वापर.
df -i /

Output:

Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/nvme0n1p1 1310720 210345 1100375   17% /

याचा अर्थ: 17% inodes वापरले. 100% झाले की नव्या files बनत नाहीत.

हे का लागतं?

कधी कधी तीच file दोन ठिकाणी हवी, दुप्पट जागा न घेता, आणि एक नाव delete झालं तरी टिकायला हवी.

हे काय आहे?

ln TARGET NAME hard link बनवतो. दोन्ही नावं त्याच inode कडे. Link count वाढतो. Count 0 झाला आणि कोणताही process open ठेवत नसेल तेव्हाच data मोकळा होतो. मर्यादा: folders ला hard link नाही, आणि दुसऱ्या file system (दुसरी disk) वर नाही.

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

  1. Hard link बनवा.
ln notes.txt notes-copy.txt && ls -li notes*

Output:

1048 -rw-r--r-- 2 rekha rekha 52 Oct 25 10:30 notes-copy.txt
1048 -rw-r--r-- 2 rekha rekha 52 Oct 25 10:30 notes.txt

याचा अर्थ: तोच inode 1048. Link count आता 2.

  1. एका नावाने edit, दुसऱ्याने वाचा.
echo 'new line' >> notes-copy.txt && tail -1 notes.txt

Output:

new line

याचा अर्थ: ही एकच file आहे, copy नाही.

  1. मूळ नाव delete.
rm notes.txt && cat notes-copy.txt | tail -1 && stat -c '%h links' notes-copy.txt

Output:

new line
1 links

याचा अर्थ: Data अजून आहे. Count परत 1.

  1. Folder ला hard link try.
ln /etc etc-link

Output:

ln: /etc: hard link not allowed for directory

याचा अर्थ: Folders ना hard link नाही (loops होऊ शकतात).

  1. दुसऱ्या disk वर try.
ln /data/big.iso ~/big.iso

Output:

ln: failed to create hard link '/home/rekha/big.iso' => '/data/big.iso': Invalid cross-device link

याचा अर्थ: Inode numbers फक्त एका file system मधे unique.

हे का लागतं?

बदलणाऱ्या target कडे, folder कडे किंवा दुसऱ्या disk वरच्या गोष्टीकडे बोट दाखवणारं छोटं, स्थिर नाव हवं.

हे काय आहे?

ln -s TARGET NAME symlink बनवतो. ती स्वतःचा inode असलेली छोटी file, ज्यात target path साठवलेला. Folders कडे आणि disks पलीकडे पण चालते. Target हलवला/delete केला तर link तुटते (dangling). ls -l मधे l आणि arrow दिसतो.

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

  1. Folder ला symlink.
ln -s /var/log/nginx ~/nginx-logs && ls -l ~/nginx-logs

Output:

lrwxrwxrwx 1 rekha rekha 14 Oct 25 10:40 /home/rekha/nginx-logs -> /var/log/nginx

याचा अर्थ: l = link. Size 14 म्हणजे path text ची लांबी.

  1. Target पेक्षा वेगळा inode.
ls -lid /var/log/nginx ~/nginx-logs

Output:

2231 drwxr-xr-x 2 root adm 4096 /var/log/nginx
1102 lrwxrwxrwx 1 rekha rekha 14 /home/rekha/nginx-logs -> /var/log/nginx

याचा अर्थ: Link चा स्वतःचा inode 1102.

  1. Link कुठे जाते.
readlink -f ~/nginx-logs

Output:

/var/log/nginx

याचा अर्थ: -f सगळ्या links follow करून खरा path.

  1. Link तोडा आणि शोधा.
ln -s /tmp/gone.txt broken && cat broken; find . -xtype l

Output:

cat: broken: No such file or directory
./broken

याचा अर्थ: find -xtype l broken links दाखवतो.

  1. Relative symlink (एकत्र हलवता येते).
cd /srv/app && ln -s releases/v2 current && ls -l current

Output:

lrwxrwxrwx 1 deploy deploy 11 current -> releases/v2

याचा अर्थ: /srv/app हलवला तरी relative link चालते.

हे का लागतं?

Interview मधे हे नेहमी विचारतात, आणि चुकीचं निवडलं तर bugs येतात.

हे काय आहे?

Point by point तुलना.

मुद्दाHard linkSoft link
Commandln a bln -s a b
InodeTarget सारखाचस्वतःचा
Foldersनाहीहो
Disks पलीकडेनाहीहो
Target deleteData राहतोLink तुटते
ls -lNormal file सारखी, link count > 1l आणि ->
Sizeतोच dataPath ची लांबी
PermissionsTarget सोबत sharedनेहमी lrwxrwxrwx; target च्या perms लागू

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

  1. दोन्ही शेजारी बघा.
echo hi > a; ln a hard; ln -s a soft; ls -li a hard soft

Output:

2001 -rw-r--r-- 2 u u 3 a
2001 -rw-r--r-- 2 u u 3 hard
2002 lrwxrwxrwx 1 u u 1 soft -> a

याचा अर्थ: hard चा inode 2001 shared. soft चा 2002.

  1. Target delete.
rm a; cat hard; cat soft

Output:

hi
cat: soft: No such file or directory

याचा अर्थ: Hard link ने data ठेवला. Soft link तुटली.

हे का लागतं?

Links मुळे deploys लगेच होतात, अनेक versions शेजारी राहतात, configs नीट राहतात.

हे काय आहे?

नेहमीचे patterns: releases साठी current symlink (Capistrano style), nginx मधे sites-enabled → sites-available links, versioned libraries (libssl.so -> libssl.so.3), /usr/bin/python3 -> python3.11, RHEL/Debian वर alternatives, आणि space वाचवायला backup tools मधे hard links (rsnapshot, rsync --link-dest).

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

  1. एका step मधे release बदला.
ln -sfn releases/v3 current && readlink current

Output:

releases/v3

याचा अर्थ: -f replace करतो, -n folder link ला file समजतो. बहुतेक apps साठी switch atomic.

  1. nginx site enable.
sudo ln -s /etc/nginx/sites-available/shop /etc/nginx/sites-enabled/ && sudo nginx -t

Output:

nginx: configuration file /etc/nginx/nginx.conf test is successful

याचा अर्थ: Disable करायला link delete करा, file नाही.

  1. Library version links.
ls -l /usr/lib/x86_64-linux-gnu/libssl.so*

Output:

libssl.so -> libssl.so.3
libssl.so.3

याचा अर्थ: Programs libssl.so मागतात; link version निवडते.

  1. Hard links ने space वाचवणारे backups.
rsync -a --link-dest=/backup/day1 /data/ /backup/day2/ && du -sh /backup/*

Output:

5.0G /backup/day1
120M /backup/day2

याचा अर्थ: न बदललेल्या files hard links, म्हणून day2 फक्त 120 MB.

  1. File च्या सगळ्या hard links.
find / -xdev -samefile /data/report.csv 2>/dev/null

Output:

/data/report.csv
/data/archive/report-2026.csv

याचा अर्थ: दोन्ही नावांचा एकच inode.

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

हे का लागतं?

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

हे काय आहे?

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

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

Team आणि शहरते कसं वापरतातCommand
Karan, Rails team, Punecurrent symlink ने deploy आणि लगेच rollbackln -sfn releases/20261025 current
Ingrid, hosting, OsloSymlinks ने nginx sites enableln -s ../sites-available/blog sites-enabled/blog
Rahul, backup admin, Ahmedabadrsync --link-dest ने daily snapshotsrsync -a --link-dest
Mei, Python team, Shanghaipython3 नव्या version कडेupdate-alternatives --config python3
Ahmed, mail server, Cairoलाखो mail files ने inodes संपलेdf -i /var
Sara, data lake, Stockholmमोठा shared dataset प्रत्येक project मधे linkln -s /mnt/datasets/sales ./sales

8. नेहमीच्या errors आणि त्यांचे fixes

हे का लागतं?

हे errors सगळ्यांना येतात. कारण माहीत असलं की तास वाचतात.

हे काय आहे?

आधी नेमका message वाचा. मग खालच्या row शी जुळवा.

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

दिसणारा errorका होतंFix कसा करायचा
ln: failed to create symbolic link 'current': File existsत्या नावाची link/file आहेReplace करायला -sfn.
ln -sfn releases/v2 current
ln: /etc: hard link not allowed for directoryFolders ना hard link नाहीSymlink वापरा.
ln -s /etc etc-link
Invalid cross-device linkFile systems पलीकडे hard linkSymlink किंवा copy.
ln -s /data/big.iso ~/big.iso
No such file or directory (when opening a link)Link चा target नाही (dangling)readlink बघा, fix किंवा remove.
readlink -f name
Too many levels of symbolic linksLink स्वतःकडे किंवा loopTarget path fix करा.
ls -l name
nginx works for a while then 404 after deployRelative symlink चुकीच्या folder वरून resolveRelative target link च्या folder पासून, तुमच्या नाही. योग्य relative किंवा absolute path.
ln -sfn /srv/app/releases/v2 /srv/app/current
No space left on device (df -h shows free space)Inodes 100% वापरलेअनेक files असलेले folders शोधून साफ.
sudo find /var -xdev -type f | cut -d/ -f2-3 | sort | uniq -c | sort -n | tail
rm current/ removed files inside the releaseशेवटच्या / ने link च्या आत गेलंLink शेवटच्या / शिवाय remove, किंवा unlink.
unlink current
Permission denied through a symlinkLink चे नाही, target चे permissions लागूTarget आणि parent folders चे permissions तपासा.
namei -l /srv/app/current/index.html

9. Troubleshooting step by step

हे का लागतं?

Link problems म्हणजे: कुठे जाते, ते आहे का, आणि मला तिथे पोहोचता येतं का?

हे काय आहे?

वरून खाली जा. ज्या step ला problem दिसतो तिथे थांबा.

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

  1. Link आहे का?
ls -l name
  1. कुठे जाते?
readlink name
  1. शेवटी कुठे?
readlink -f name
  1. Target आहे का?
test -e name && echo ok || echo broken
  1. Path वरचे permissions.
namei -l name
  1. Inodes उरले का?
df -i .

10. Lab 1: Zero-downtime release switch

हे का लागतं?

Haruto चा Osaka मधे ticketing site. v1 शेजारी v2 deploy करून एका symlink ने switch, मग rollback.

हे काय आहे?

पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).

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

  1. Releases.
mkdir -p ~/app/releases/{v1,v2} && echo 'Tickets v1' > ~/app/releases/v1/index.html && echo 'Tickets v2' > ~/app/releases/v2/index.html
  1. current → v1.
cd ~/app && ln -s releases/v1 current && cat current/index.html

Output:

Tickets v1
  1. v2 ला switch.
ln -sfn releases/v2 current && cat current/index.html

Output:

Tickets v2
  1. Link तपासा.
ls -l current

Output:

lrwxrwxrwx 1 haruto haruto 11 current -> releases/v2
  1. Rollback.
ln -sfn releases/v1 current && cat current/index.html

Output:

Tickets v1
  1. फक्त शेवटचे 3 releases (preview).
ls -1t releases | tail -n +4

हे का लागतं?

Hard link म्हणजे तीच file आणि data खरा कधी मोकळा होतो हे team ला दाखवा.

हे काय आहे?

पूर्ण hands-on lab. प्रत्येक step test Linux machine वर करा (EC2 instance, VM किंवा WSL).

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

  1. 50 MB file.
dd if=/dev/zero of=big.bin bs=1M count=50 status=none && df -h . | tail -1

Output:

/dev/nvme0n1p1 20G 5.05G 15G 26% /
  1. Hard link.
ln big.bin big2.bin && stat -c '%i %h %n' big*.bin

Output:

3300 2 big.bin
3300 2 big2.bin
  1. एक नाव delete; space मोकळी नाही.
rm big.bin && df -h . | tail -1

Output:

/dev/nvme0n1p1 20G 5.05G 15G 26% /
  1. शेवटचं नाव delete; space मोकळी.
rm big2.bin && df -h . | tail -1

Output:

/dev/nvme0n1p1 20G 5.00G 15G 26% /

Ravindra Bagale's Tip

For deploys, always use ln -sfn with a relative path inside the app folder. -n stops ln from creating the new link inside the old target folder, the most common symlink bug.

12. नेहमी विचारले जाणारे प्रश्न

प्र. Hard link जास्त जागा घेते का?

नाही, फक्त छोटी directory entry.

प्र. Symlink delete केली तर target जातो का?

नाही. rm link फक्त link काढतो.

प्र. Links च्या भाषेत . आणि .. काय?

System ने बनवलेल्या hard links. म्हणून नव्या folder चा link count 2.

प्र. Target नाही, symlink copy कशी?

cp -P (किंवा cp -a) link copy करतो. cp -L target file.

प्र. Windows Linux symlinks वाचू शकतो का?

WSL मधे हो. Shared drive वर बऱ्याचदा नाही.

13. मुलाखत प्रश्न आणि उत्तरं

Beginner level

प्र. Inode म्हणजे?

File metadata आणि data pointers असलेला record, नाव नाही.

प्र. Soft link कशी?

ln -s target linkname.

प्र. Inode numbers कसे?

ls -i किंवा stat.

प्र. Target delete झाला तर soft link?

तुटते.

Mid level level

प्र. Hard vs soft link?

Hard: तोच inode, folders नाहीत, तीच file system, delete नंतर टिकते. Soft: स्वतःचा inode, path साठवते, disks पलीकडे, folders, target गेला की तुटते.

प्र. Folders ना hard link का नाही?

Loops होतील आणि tree फिरणारे tools बिघडतील.

प्र. Broken links कशा शोधाल?

find . -xtype l.

प्र. ln -sfn काय करतो?

Symlink बनवतो किंवा replace करतो, आणि folder कडच्या link ला follow करत नाही.

Senior level

प्र. Disk full पण df -h space दाखवतो. कारण आणि fix?

Inodes संपले. df -i, अनेक छोट्या files असलेला folder शोधा (sessions, cache, mail), साफ करा, rotation लावा. Long-term: जास्त inodes किंवा xfs.

प्र. 20 GB log delete केला पण space परत नाही. का?

Process ने अजून open ठेवलाय. lsof +L1. Process restart किंवा /proc//fd ने truncate.

प्र. Symlink deploys downtime जवळजवळ zero कसा ठेवतात?

नवा code नव्या folder मधे पूर्ण तयार. Link switch एक rename सारखी step. Rollback तीच step परत.

प्र. /tmp मधे symlinks चा security risk?

Symlink attack: attacker predictable temp नाव sensitive file ला link करतो. mktemp आणि fs.protected_symlinks=1.

घरी करून बघा

  1. File, hard link आणि soft link बनवून ls -li तुलना.
  2. मूळ delete करून कोणती चालते ते बघा.
  3. df -i चालवा.

सराव Tasks

या scenario बद्दल

Milan Furniture हा मिलान मधला फर्निचर व्यवसाय आहे. Giulia Rossi त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे EUR मध्ये मोजले जातात आणि AWS resources eu-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 15

सोपं Inode numbers

का: कोणती नावं data share करतात.

काय करायचं: /etc/passwd चा inode number दाखवा.

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

सोपं Inodes सह long list

का: Inode आणि link count एकत्र.

काय करायचं: /var/www inode numbers सह long format मधे list.

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

सोपं पूर्ण inode details

का: Owner, size, times, links.

काय करायचं: invoice.pdf चे सगळे inode details दाखवा.

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

सोपं Hard link बनवा

का: दोन नावं, एक file.

काय करायचं: data.csv साठी data-link.csv नावाची hard link बनवा.

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

सोपं Soft link बनवा

का: लांब path साठी छोटं नाव.

काय करायचं: Current folder मधे /var/log/nginx कडे जाणारी logs नावाची symlink बनवा.

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

सोपं Link कुठे जाते?

का: बिघडलेले deploys debug.

काय करायचं: latest link मधला target print करा.

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

सोपं कोणती link टिकते?

का: फरक माहीत हवा.

काय करायचं: मूळ file delete केली. कोणती link data दाखवते: hard की soft? एक शब्द लिहा.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Release link switch

का: Zero-downtime deploy.

काय करायचं: असलेली live link releases/v7 कडे safely replace करा.

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

मध्यम शेवटचा खरा path

का: Links साखळी बनवू शकतात.

काय करायचं: current link चा पूर्ण resolve झालेला खरा path print करा.

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

मध्यम Broken links शोधा

का: Dangling links apps बिघडवतात.

काय करायचं: /opt/app खाली सगळ्या broken symlinks शोधा.

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

मध्यम सगळ्या symlinks

का: Project मधल्या links audit.

काय करायचं: /srv/milanfurniture खाली सगळ्या symlinks (चालणाऱ्या किंवा नाही).

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

मध्यम Link सुरक्षितपणे काढा

का: शेवटचा slash target contents delete करू शकतो.

काय करायचं: latest symlink काढा, target ला हात न लावता.

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

मध्यम ln नंतर link count

का: Count किती नावं आहेत ते सांगतो.

काय करायचं: File चा link count 1. Giulia Rossi दोन hard links बनवतो. आता link count किती?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Disks पलीकडे

का: Inodes प्रत्येक file system चे.

काय करायचं: /home मधून दुसऱ्या disk /data वरच्या file ला link हवी. कोणता type चालेल: hard की soft? एक शब्द.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

अवघड File च्या सगळ्या hard links

का: Delete आधी प्रत्येक नाव माहीत हवं.

काय करायचं: /data पासून, त्याच file system वर /data/report.csv ची सगळी नावं शोधा.

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

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

  1. नाव → inode → data.
  2. ln = hard link: तोच inode, तीच disk, folders नाहीत.
  3. ln -s = soft link: path pointer, तुटू शकते.
  4. Release switch ला ln -sfn; inode issues ला df -i.

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

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

Inode म्हणजे काय. Links व disk full समजतं. File data ठेवतो, नाव नाही. नाव inode कडे point करतं. Inode numbers पाहा.
उजळणी card: Inode म्हणजे काय · PNG download करा · Card page उघडा
Links बनवा. एक file, अनेक नावं. ln = hard, ln -s = soft. Soft link path ठेवतो. current ला release कडे.
उजळणी card: Links बनवा · PNG download करा · Card page उघडा
Hard link vs Soft link. तोच inode, नवं नाव. / Path असलेली छोटी file.
तुलना: Hard link vs Soft link · PNG download करा · Card page उघडा
rm vs unlink. अनेक नावं काढतो. / एक नाव काढतो.
तुलना: rm vs unlink · PNG download करा · Card page उघडा
Folder ला hard link का नाही?. Loops तयार होऊ शकतात. find सारखे tools अडकतील. त्याऐवजी soft link.
मुलाखत card: Folder ला hard link का नाही? · PNG download करा · Card page उघडा
Broken soft link?. Target हलवला/delete झाला. ls लाल दाखवतो. Broken links शोधा.
मुलाखत card: Broken soft link? · PNG download करा · Card page उघडा
Space आहे पण write नाही?. Inodes संपले. खूप छोट्या files. Inode वापर तपासा.
मुलाखत card: Space आहे पण write नाही? · PNG download करा · Card page उघडा
Delete file अजून space घेते?. Process ती open ठेवतो. Close झाल्यावर space मोकळी. अशा files शोधा.
मुलाखत card: Delete file अजून space घेते? · PNG download करा · Card page उघडा

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