
ln. מספר ה-inode זהה, ומספר הלינקים בתוך הרשומה גדל. הפקודה ls -li מראה את מספר ה-inode.ln -s. הוא עובד גם בין דיסקים שונים, אבל אם המקור נמחק הקישור נשאר ולא עובד.find עם אפשרות של מספר לינקים מוצאת קבצים שיש להם יותר מלינק אחד.stat <קובץ> מציג את רשומת ה-inodeln <מקור> <יעד> יוצר hard linkln -s <מקור> <יעד> יוצר soft linkfind / -links +1 מוצא קבצים עם יותר מלינק אחדמבנה ושמות דיסקים ומחיצות בלינוקס:

הטקסט המלא של הדקות הראשונות בהרצאה «הסבר על Hardlink ועל iNode» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בהרצאה הזאת אנחנו נדבר מה זה Hardlink, מה זה Softlink, מה זה iNodes. זאת הולכת להיות הרצאה מעניינת. ובואו נתחיל מזה שנבין מה זה iNode, כן? iNode זה בעצם איך הקבצים רשומים במערכת ניהול קבצים שיש בתחילת פרטישן.
אנחנו יכולים לראות שפקודת סטאט מראה לי בעצם את מה שרשום בתוך ה-iNode. תראו, מה יש לנו ב-iNode? יש לנו access time, מתי פעם אחרונה מישהו ניגש לקובץ הזה, לקרוא אותו?
מתי מישהו שינה את הקובץ? מתי מישהו שינה את ההרשאות של הקובץ? שימו לב, יש את הקובץ ויש את ההרשאות של הקובץ, זה שני דברים שונים.
i-node זה למעשה, אני יכול לראות את זה ls-li זה המספר שהוא ה-i-node שלו, ומה זה i-node? מספר סידורי של הקובץ במערכת הקבצים ומה יש לנו בתוך הטבלה הזאת זאת שורה בטבלה זאת אומרת אם אנחנו נלך לטבלה של bxt4 פרמטנו את זה בxt4 אז בxt4 יש לנו חוץ מסופר בלוק שדיברנו עליו שהוא מתאר כל מיני מידע לxt4 יש לנו טבלה של קבצים ולכל קובץ יש לנו פה
בעצם את השורה לכל קובץ ולכל טייבל לכל דירקטור אז i not table זה למעשה טבלה של קבצים ומה יש לנו לכל קובץ מה יש לנו לכל קובץ איך נראה קובץ במערכת ניהול של הטבלאות אז תראו אז במיקום האפס זה מבנה של טבלה כן איך נראות השדות כן השדה הראשון נקרא i mode ובפנים יש הרשאות לאדרס הרשאות לגרופס,
הרשאות ל-Owner והרשאות מיוחדות ואחרי זה אנחנו רואים פה בעצם איזה סוג של קובץ, איזה טייפ הוא, האם זה דיירקטורי, האם זה תיקייה, האם זה קובץ בלוק דווייסט כמו ארדיסק, SDA, SDC, האם זה קובץ רגיל, האם זה סימבולינג לינק, עוד מעט נראה מה זה
סימבולינג לינק, והאם זה סוקייט, סוקייט זה לקבל תקשורת, אוקיי? זאת אומרת עבור כל קובץ בארדיסק, יש טבלה, בטבלה הזאת כתוב איזה סוג של קובץ זה, כתוב מי ה-user ID שהוא הבעלים שלו, מהו last access time, change time, מתי שינו את ההרשאות האלו למעלה,
מתי שינו את הקובץ עצמו, ויש פה איי-בלוקס, איי-בלוקס זה אומר, זה למעשה פנייה לבלוק בארדיסק, באיזה בלוק בארדיסק נמצא הקובץ הזה, אוקיי?
עכשיו, כמה לינקים יש לקובץ הזה, hardlinks? עוד דקה נדבר מה זה hardlinks. אם אנחנו נסתכל טוב טוב על כל הטבלה הזאת, יש פה פלאגים, פלאגים. לדוגמה, איזה פלאגים יש לנו לקובץ?
לדוגמה, האם קובץ עם mutable, עם mutable זה אומר שאי אפשר להרוג אותו ואי אפשר read-only כביכול, כי זה נקרא attributes של הקובץ.
הלאה, יש פה עוד עוד המון המון המון מידע, אנחנו יכולים לרדת, להמשיך לרדת במידע הזה, אבל אם אתם תראו את כל הטבלה הזאת, אתם לא תמצאו שום מקום שיש בו את השם שלו. אין פה name, אין פה שום שדה שאומר שם של הקובץ, אוקיי?
אז איך זה עובד? הנה מצאתי איזושהי תמונה בגוגל שתראה לנו את זה יפה. לדוגמה, איך זה נראה? שימו לב, i-node, יש בתוכו access time, יש בתוכו גודל, מי היוזר, מי הקבוצה, איפה הבלוק הזה נמצא בארדיסק.
יכול להיות שיש עוד בלוקים שמצביעים להמשך, אבל השם של הקובץ נמצא במה שנקרא דירקטורי אנטרי. דירקטורי אנטרי נמצא במקום אחר, כן? למעשה גם הדירקטורי, התיקייה, היא מופיעה כאילו זה קובץ.
ואז אני נכנס לקובץ שהוא למעשה התיקייה ויש שם הפניה ל-i-node. בקיצור, השמות של הקבצים שמורים בתיקייה, אוקיי? שמורים בתיקייה.
עכשיו, מה יקרה אם לאותו איי-נוד אני אעשה עוד קובץ, עוד אנטרי כזה, אותו דבר, אני אעשה עוד אחד כזה לאותו איי-נוד? לא יקרה כלום, יהיה אותו קובץ, אותו איי-נוד עם שני לינקים עליו, עם שני קבצים פיזיים שמצביעים לאותו מקום ב-hard disk.
בזה נקרא hard links, וזה מה שהוא סופר פה, זאת אומרת זה, כמה יש עליו לינקים, כמה יש עליו לינקים. ברגע שכמות הלינקים יורדת לאפס, הוא נמחק.
אוקיי, הקובץ נמחק בדיסק רק כשאין עליו שום לינקים. אוקיי, בואו נעשה דבר כזה, אתם רואים? זה זה, זה ה-hardlinks. אם אני אעשה עכשיו ln, נניח לקובץ אנקונדה, אני אעשה קובץ אנקונדה cfg2, נקרא לזה 2. באותו המקום, אני יכול לעשות את זה בתיקי אחרת, כל עוד אני מוגבל לאותו Storage, לאותו בלוק דווייס.
בואו ננסה מההתחלה. נעשה ככה, נעשה אקו של 1, 2, 3, 4 לתוך כובש שנקרא 1.txt, אוקיי? ls1.txt, אנחנו רואים שיש עליו לינק אחד, זאת אומרת למעשה ל-i-node שלו מצביע רק מקום אחד.
אם אני אעשה li אני רואה גם את ה-i-node. אם אני אעשה ln 1.txt עם 2.txt ועכשיו אני אעשה ls מינוס l לכל מה שיש לי בדיסק, אתם תראו שלקובץ 1.txt יש לו בעצם שני לינקים.
זאת אומרת לאותו איינוד מצביעים שני לינקים. עכשיו איך אני יודע שזה אותו איינוד או לא אותו איינוד? האם זה אותו מקום או לא אותו מקום? אני עושה li ls מינוס li, אז אני רואה שזה בדיוק אותו איי-נוד.
אתם רואים, זה בדיוק אותו איי-נוד שמסתיים ב-6.6.0. ופה זה כבר איי-נוד אחר, וגם פה זה איי-נוד אחר. אבל בגלל שזה מספר זהה, אז אני יודע שהם מצביעים לאותו מיקום פיזי.
זה למעשה הצבעה לאותו מיקום פיזי. זאת אומרת, בשתי כביכול קבצים שונים, שתי שמות שונים מצביעים לאותו איי-נוד. זאת אומרת, יש לנו מצב ששני דירקטוריס שונים, שני שמות שונים מצביעים לאותו איי נוד, אוקיי?
עכשיו, אין הבדל מי זה מקורי או לא, כי מה שמקורי זה איי נוד, אוקיי? עכשיו, מה זה משנה לי? זה משנה לי שאם אני אעשה rm למה שנקרא מקורי, שזה 1.txt, כן?
אחרי שמחקתי את 1.txt, אתם יכולים לראות שב-2 זה נשאר אותו קובץ באותו המקום, כן? אתם יכולים לראות שה-660 נשאר באותו המקום עם לינק קאונטר, מתי ה-I-Node הזה הושמד, מתי הוא באמת יימחק?
כשלא יהיה שום הפניה אליו. I-Node שאין עליו שום הפניה, נניח 6.6.0 הזה, ברגע שנמחק את הקובץ 2.txt, יימחק ה-Entry הזה, יישאר לי I-Node בלי אף הפניה אליו, ואז זה נקרא שהקובץ הזה נמחק, אוקיי?
זה Hardlink, יפה מאוד. בוא נמצא עכשיו את כל הלינקים את כל מי שיש לו יותר מלינק אחד יותר מיותר מהארד לינק אחד אנחנו עושים פיינד נניח בתיקיית סלאש מינוס לינקס נניח משתיים ומעלה אוקיי כמה לינקים יש לקובץ אני יכול לחפש בתיקייה הנוכחית שלי אני יכול לחפש ברוט
ואתם רואים יש פה הרבה לדוגמת דפי מאן משתמשים בהם