תקן היררכיית מערכת הקבצים

תקן היררכיית מערכת הקבצים (באנגלית: Filesystem Hierarchy Standard ובקיצור FHS) במערכות הפעלה מבוססות לינוקס, מגדיר את מבנה והיררכיית התיקיות, ותוכן הקבצים שבהם. התקן הוא ביסוס והרחבה של מערכת הקבצים של מערכת ההפעלה BSD. הוא מתוחזק על ידי קרן לינוקס וגרסתו הנוכחית היא 3.0, אשר הוכרזה ב־3 ביוני 2015.

== מבנה התיקיות ==
תיקיית השורש בלינוקס נקראת root ומסומנת בלוכסן ימני /. בתיקיה זו קיימות כל שאר התיקיות המרכיבות את כלל המערכת.

{| class="wikitable"
|-
! שם התיקייה !! תקציר תוכן התיקייה
|-
| bin || קובצי משתמש בינאריים
|-
| sbin || קובצי מערכת בינאריים
|-
| etc || קובצי הגדרות
|-
| dev|| קובצי התקני מערכת
|-
| proc || מידע תהליכים
|-
| var || קבצים משתנים
|-
| tmp || קבצים זמניים
|-
| usr || תוכניות משתמש
|-
| home || תיקיות הבית
|-
| boot || קובצי מנהל האתחול
|-
| lib || ספריות מערכת
|-
| opt || תיקיית יישומים מספקים חיצוניים
|-
| mnt|| תיקיית עגינת התקנים
|-
| media || תיקיית התקנים נתיקים
|-
|run
|משתני זמן ריצה
|-
|srv || תיקיית שירותים
|-
|sys
|תיקיית מערכת
|-
| root || תיקייה למשתמש בעל הרשאת root
|-
| lost+found || תיקייה לשימוש בעת קריסת המערכת
|}

== תוכן התיקיות ==
=== / - שורש המערכת ===
תיקיית בסיס עץ התיקיות. מורשה לכתיבה או מחיקה עליו רק על ידי המשתמש root שססמתו היא ססמת המערכת.

=== root ===
תיקיית הבית של המשתמש root. ניתנת לצפייה, כתיבה ומחיקה רק על ידי המשתמש root שססמתו היא ססמת המערכת.

=== bin ===
מכילה קובצי פקודות מסוף בינריים הניתנים להרצה. המדובר בקבצים המיועדים לשימוש כל המשתמשים כגון ls, cp, grep, ps ו־ping, הקיימים במערכת כברירת מחדל אף ללא פעולת התקנה מצד המשתמש. במידה ויש משתמש בודד למערכת (מלבד root, שאינו נחשב) עשויים להתווסף קובצי פקודה נוספים.

=== sbin === 
מכילה קובצי פקודות מסוף בינאריים הניתנים להרצה. המדובר בקבצים המיועדים לשימוש על פי רוב על ידי מנהל המערכת לשם תחזוקת המערכת. דוגמות לקבצים אלו הן הפקודות iptables, reboot, fdisk, ifconfig ו־swapon. אין הכוונה כי התיקייה היא הקובעת את רמת ההרשאה אלא כך מסודרות הפקודות מלכתחילה.

=== lib === 
מכילה ספריות בשימוש התוכניות הנמצאות ב־/bin וב־/sbin.

=== usr === 
מכילה קבצים בינאריים, ספריות, תיעוד ומקורות קוד לתוכניות

תיקיות משנה חשובות בתיקיה זו:
*/usr/bin = מכילה קבצים בינאריים של תוכניות משתמש
*/usr/sbin = מכילה קבצים בינאריים של תוכניות משתמש לשימוש על ידי מנהל המערכת.
*/usr/lib =מכילה ספריות בשימוש התוכניות הנמצאות ב־/usr/bin וב־/usr/sbin.
*/usr/local = מכילה תוכניות שהותקנו ממקורות שונים, שאינם כלולים בהפצה הרשמית. בנוסף עשויה לאחסן מידע ותוכניות אישיות במצב שקיימת רשת משותפת בה גם התיקייה /usr משותפת.
*/usr/share = מכיל קובצי הגדרות כולל הגדרות גרפיות של תוכניות המשתמש.
*/usr/src = מכיל את קוד המקור לתוכניות המערכת כולל הקוד של הליבה.
*/usr/include = מכיל קובצי כותר הנדרשים בעת הידור תוכנית.

=== opt === 
קיצור ל-optional. מכילה יישומים מסַפָּקי תכנה חיצוניים, המותקנים בתיקייה עצמה או בתיקיית משנית שלה.

=== etc === 
מכילה קובצי הגדרות הדרושים לתוכניות המערכת. בנוסף מכילה קובצי מעטפת (קובצי תצורה) של תסריטים הנוגעים לצורת הפעלת וכיבוי תוכניות במערכת, דוגמת הקובץ fstab, המכיל מידע אודות מערכות קבצים כגון CD-ROM, החסנים ניידים, ונקודות העגינה שלהם. לא אומת רשמית מה מקור השם. בדביאן למשל, תופיע בפנים תיקייה בשם apt כשבפנים יש קובץ בשם sources.list המגדיר את כל הנתיבים אליהם apt-get פונה. חלק סבורים שזה et cetera (באנגלית "השאר" או "וכו'") - כלומר קבצים שלא היה מקום אחר מתאים לשים אותם. הסברים אחרים הם "editable text configuration" שכן לרוב יכיל קובצי תצורה ועוד.

=== dev ===
קיצור ל-device files. מכילה קבצים הנוגעים להתקנים ורכיבים המוצמדים למערכת, אם ברמה הפיזית כהתקני USB ואם ברמת התכנה כמסופי TTY. הסיבה לשילוב שני סוגי הרכיבים בתיקייה אחת היא, כי במערכות לינוקס גם התקנים פיזיים (כלומר חומרה על כל סוגיה) מטופלים כקבצים ולכן גם כונן פיזי יטופל כקובץ.

=== proc === 
תיקייה זו הנה מערכת קבצים המכילה מידע אודות תהליכים הרצים בליבת המערכת. המערכת מורכבת מתיקיות אשר שם כל אחת ואחת הוא "מזהה תהליך" וכל אחת מהן מכילה את המידע המסוים אודות התהליך. בנוסף מכילה מערכת הקבצים קובצי מידע נוספים אודות משאבי המערכת כגון uptime. ניתן בצפייה בתיקיה זו ללמוד על המערכת הרצה.

=== var === 
מכילה קבצים המשתנים תוך כדי פעולת המערכת. אין מדובר בהכרח בקובצי משתנים במובן התכנותי, אלא בקבצים שונים המשתנים בעת פעילות המערכת. דוגמות לקבצים בתיקייה זו הם קובצי יומן של המערכת (log), קבצים משתנים השייכים לתוכניות (lib), קובץ תור הדפסה (spool), קובצי נעילת קבצים (lock), קובצי דוא"ל (mail) וקבצים זמניים הנותרים לאחר אתחול (tmp).

=== boot === 
מכילה קבצים הקשורים למנהל האתחול. כולל את קובצי GRUB, ו־vmlinux.

=== run === 
תיקייה שמכילה קבצים זמניים שנטענים ל-RAM, ומכילה משתני זמן ריצה של מערכת ההפעלה.

=== srv === 
מכילה מידע השייך לשירותים מסוימים על פי השירות.

=== sys === 
קיצור של system. תיקייה שמכילה מידע על התקנים, מנהלי התקנים וליבת לינוקס. כמו run, התיקייה משתמשת ב-RAM ולכן נמחקת בכל כיבוי ונוצרת מחדש בכל עלייה.

=== tmp ===
תיקייה זו מכילה קבצים זמניים הנוצרים על ידי המערכת והמשתמש. כל אלו נמחקים בזמן אתחול, בניגוד ל־/var/tmp, בה הם נשארים לאחר אתחול.

=== home === 
תיקייה זו מכילה את קובצי המשתמש הפרטיים הנוצרים על ידו. כוללת את כל התיקיות הנמצאות בשימוש רגיל כגון "שולחן עבודה" “מסמכים" “הורדות" וכדומה. קובצי משתמש מסוים מכונסים בתיקיית בת ב־/home הנושאת את שמו. במידה ויש מספר משתמשים כל אחד יקבל תיקייה פרטית בעלות הרשאות ייחודיות אליו.

=== mnt === 
תיקייה המיועדת לעגינה זמנית של מערכות קבצים אחרות.

=== media === 
מיועדת לעגינת מדיה נתיקה, כגון נגני מדיה, כונני CD-ROM, החסנים ניידים, כוננים קשיחים חיצוניים, ומערכות קבצים נוספות. המדיה לרוב תעגון בתיקייה באופן אוטומטי על ידי מערכת ההפעלה.

=== lost+found === 
בתיקיה זו מאוחסן מידע שקיים על המערכת בעת קריסתה, או במצב של אי ניתוק התקנים לפני כיבוי מערכת.

== קישורים חיצוניים ==
* 
* [http://www.linuxfoundation.org/collaborate/workgroups/lsb/fhs FHS באתר קרן לינוקס]
* [https://web.archive.org/web/20160303165821/http://linmagazine.co.il/book/view/2415 על מערכת הקבצים באתר לינמגזין]

== הערות שוליים ==

קטגוריה:לינוקס
קטגוריה:מערכות קבצים