מערכת הקבצים בנויה לרוב בצורה של ספריות (נקראות גם תיקים, מדורים, תיקיות וכדומה) המקוננות אחת בתוך השנייה שבתוכן יש קבצים. המידע על מבנה הספריות נשמר כמעט תמיד במקום מיוחד בתחילת המדיה אולם דבר איננו הכרחי (למשל בתקליטור שניתן להקליט על כל אזור בו פעם אחת ייתכן שיהיו מספר אזורים בהם יהיה מידע זה כך שניתן לבצע מספר הקלטות על אותו תקליטור).
לרוב מאותר המידע על ידי מציאת הגוש הראשון של המידע בטבלה מרכזית ומעבר לגושים האחרים על ידי הצבעה, אולם הדבר תלוי בסוג המדיה ובמערכת ההפעלה.
מערכת הקבצים תלויה במערכת ההפעלה, לעיתים קרובות ישנן מספר מערכות הפעלה התומכות באותה מערכת קבצים (למשל NFS) ולפעמים ישנן מספר מערכות קבצים שנתמכות על ידי מערכת הפעלה (חלונות 2000 תומכת למשל הן ב־FAT והן ב־NTFS). מערכת הקבצים עובדת לרוב מעל שכבת ה־LVM המייצגת כוננים לוגיים (שאינם בהכרח זהים לכוננים פיזיים). ברוב מערכות ההפעלה המודרניות ישנה אפשרויות להוסיף תמיכה במערכות קבצים אחרות על ידי התקנת דרייברים מתאימים, דבר המאפשר למשל למחשב חלונות לגשת למידע הנשמר על שרת Unix.
מבנה של מערכות קבצים.
רוב מערכות הקבצים עושות שימוש בהתקן אחסון הנתונים שמציע גישה למערך של סקטורים בגודל פיזי קבוע, בדרך כלל בחזקות של 2 (512 בתים או 1, 2, 4 או קילובייט הם הנפוצים ביותר). תוכנת מערכת הקבצים היא האחראית לארגון הסקטורים האלה כקבצים וכספריות, ולמעקב אחר סקטורים אשר שייכים לקבצים ואחר אלו שאינם בשימוש. רוב מערכות הקבצים יכולות לגשת ישירות רק ליחידות נתונים שנקראות בלוקים המכילות מספר מסוים של סקטורי דיסק (בדרך כלל 1–64). זהו הגודל הקטן ביותר של שטח הדיסק שניתן להקצות לקובץ (מערכות קבצים המשתמשות בדחיסה לא סובלות לרוב ממגבלה זו).
עם זאת, מערכות קבצים כלל לא חייבות לעשות שימוש בהתקן אחסון, ניתן להשתמש במערכת קבצים כדי לארגן ולייצג גישה לנתונים כלשהם, בין אם הם מאוחסנים במקום כלשהו או דינאמיים (למשל, procfs היא מערכת קבצים המכילה נתונים על התהליכים במערכת ההפעלה).
שמות קבצים.
שם קובץ הוא שם שהוקצה לקובץ כדי להבטיח מקום אחסון בזיכרון המחשב והוא מאפשר גישה חוזרת למקום זה. בין אם מערכת הקבצים משתמשת בהתקן אחסון ובין אם לאו, בדרך כלל יש במערכות קבצים ספריות ששמות הקבצים מקשרים ביניהם לבין הקבצים, לרוב על ידי חיבור שם הקובץ לאינדקס בטבלת הקצאת קובץ כלשהו, כגון FAT בתוך מערכת הקבצים של DOS, או inode בתוך מערכת קבצים של Unix. מבנה הספריות עשוי להיות שטוח, או לאפשר היררכיות שבהן ספריות עשויות להכיל תת-ספריות. בכמה מערכות קבצים, שמות הקבצים הם בעלי תחביר מיוחד עבור סיומות ומספרי גרסה. במקרים אחרים, שמות הקבצים הן מחרוזות פשוטות, וכל המטא מידע של הקובץ מאוחסן במקום אחר.
נתונים נוספים.
המידע שנשמר עבור כל קובץ תלוי במערכת הקבצים הספיציפית (למשל מערכות הפעלה רבות בתחילת ימי המחשוב לא עקבו אחר הזמנים הקשורים לקובץ) אולם לרוב מכיל את הפריטים הבאים:
במחשבים גדולים מקובל לשמור גם את הפרטים הבאים:
במערכות קבצים מתקדמות (כגון XFS, ext2-4, כמה גרסאות של UFS, וב־HFS+‎) ניתן להוסיף גם פריטי מידע שרירותיים, באמצעות שינוי של מאפייני קובץ כאלו. תכונה זו מיושמת בליבות של Linux, FreeBSD ו־Mac OS X, והיא מאפשרת למידע על המידע (באנגלית: Metadata) להיות משויך לקובץ ברמת מערכת הקבצים. מאפיינים אלו יכולים, למשל, להכיל את שם המחבר של מסמך, את קידוד התווים של מסמך טקסט רגיל, או סיכום ביקורת. מאפייני המסמך בחלונות לעומת זאת מאוחסנים בתור stream-ים נפרדים, כלומר כחלק מהקובץ עצמו.
מערכות קבצים היררכיות.
מערכת הקבצים ההיררכית היא תוצאה של מחקר של דניס ריצ'י (Dennis Ritchie), יישומים קודמים של מערכת כזו היו מוגבלים רק למספר רמות, בעיקר ביישומים של IBM, אפילו של מסדי נתונים המוקדמים שלהם כמו IMS. לאחר ההצלחה של Unix, ריצ'י הרחיב את המושג מערכת הקבצים בכל מערכת ההפעלה המאוחרות יותר שלו, כגון Plan 9 ו־Inferno.
שירותים.
מערכות קבצים מסורתית מציעות אפשרויות ליצור, להעביר ולמחוק קבצים וספריות. הן חסרות יכולות ליצור קישורים נוספים לספרייה (קישורים "קשים" במינוח של Unix), לשנות את הקישור לספריית האם (".." ב־Unix ), וליצור קישורים דו כיוונים לקבצים.
מערכות קבצים מסורתית מציעות גם יכולות לחתוך, להוסיף, ליצור, להעביר, למחוק ולשנות קבצים, כמו גם יכולת למנות את רשימת הקבצים בספריה ולקבוע אותה כספריה נוכחית. לרוב הן לא מציעות יכולת להוסיף להתחלה של קובץ או לחתוך אותו, ובוודאי שלא הכנסה שרירותית לתוך הקובץ במקום כלשהו או מחיקה של חלק כלשהו ממנו. פעולות אלו הן מאוד בלתי סימטריות וחסרות את הכלליות בשביל להיות שימושיות בתנאים בלתי צפויים. לדוגמה, pipe-ים בין תהליכים ב־Unix צריכים להיות מיושמים מחוץ למערכת הקבצים כי pipe אינו מציע חיתוך בתחילת הקבצים.
מערכות קבצים מציעות גם בדרך כלל אפשרויות לטיפול במערכת הקבצים עצמה כמו איחוי מידע (Defrag) ואיתור תקלות (למשל קבצים כפולים).
שירותים אלו יכולים להתבצע לרוב על ידי קריאות לתוכניות שירות של מערכת ההפעלה או על ידי קריאה ל־API שלה (לעיתים יש צורך בדרייבר למערכת הקבצים הספציפית).
גישה מאובטחת.
גישה מאובטחת לפעולות בסיסיות במערכת הקבצים יכולה להיות מבוססת על רשימות בקרת גישה (ACL) או "capabilities", כאשר מערכות קבצים מסחריות משתמשות כיום ברשימות בקרת גישה.
אפשרויות נוספות.
אפשרויות אחרות שלעיתים נתמכות על ידי מערכות קבצים הן:
סוגים של מערכות קבצים.
מערכות קבצים עבור דיסק.
מערכת קבצים על דיסק היא מערכת קבצים המיועדת לאחסון של קבצים על התקן אחסון נתונים, לרוב דיסק, אשר עשוי להיות מקושר במישרין (DAS) או בעקיפין (SAN) למחשב. מערכות כאלו נקראות לעיתים גם מערכות קבצים מקומיות (להבדיל מרשתיות) או מערכות קבצים "סתם". במחשב סטנדרטי אתחול מערכת ההפעלה חייב להתבצע ממערכת קבצים כזו (וגם מספר ספריות המשמשות באתחול כמו /tmp‎ ב־Unix), בדרך כלל מתוך רשימה מצומצמת יחסית לרשימת מערכות הקבצים הנתמכות על ידה. מערכות כאלו הן למשל FAT (FAT12, FAT16, FAT32, exFAT), NTFS, HFS, HFS+, HPFS, UFS, ext2, ext3, ext4, btrfs, ISO 9660, ODS-5, VxFS, ZFS ו־UDF.
מערכות קבצים עבור התקני זיכרון הבזק.
מערכת קבצים של זיכרון הבזק היא מערכת הקבצים שתוכננה במיוחד לאחסון קבצים על התקני זיכרון הבזק. מערכות כאלו הופכות להיות נפוצות יותר ככל שההתקנים הללו נהיים נפוצים, ויכולותיהם גדלות. דוגמאות למערכות קבצים כאלה כוללות את JFFS2 ו־YAFFS.
מערכת הקבצים עבור דיסק אמנם ניתנת לשימוש בזיכרון הבזק אולם היא לא אופטימלית מכמה סיבות:
למערכות קבצים בעלות יומן יש במובנים רבים את המאפיינים של המערכת הרצויה לזיכרון הבזק ולכן JFFS2 למשל משתמשת בנויה בצורה כזאת.
מערכות קבצים על בסיס מסד נתונים.
מערכת הקבצים יכולה להיות מבוססת על מסד נתונים סטנדרטי או ייעודי. במערכת כזו, במקום, או בנוסף, לניהול היררכי מובנה, הקבצים מזוהים על פי המאפיינים שלהם, למשל סוג קובץ, נושא, מחבר, או מטא נתונים דומים. כיום אין שום מערכת הפעלה נפוצה המשתמשת במערכת קבצים מסוג זה אולם מערכות ניהול גרסאות מסוימות כמו ClearCase יכולות להיחשב למערכות מסוג זה.
מערכות קבצים טרנזקצאליות.
כל פעולה במערכת הקבצים עשויה לכלול שינויים במספר קבצים שונים ובמבנים שונים בדיסק. במקרים רבים, שינויים אלה קשורים זה לזה, כלומר, חשוב שכולם יצאו לפועל באותו זמן. למשל בזמן שליחה של כסף אלקטרוני מבנק לבנק אחר, המחשב של הבנק ישלח את ההוראה להעביר לבנק אחר וגם יעדכן את הרשומות שלו כדי לציין שההעברה התרחשה. אם מסיבה כלשהי המחשב קורס לפני שהוא הספיק לעדכן את הרשומות שלו, אזי באתחול מחדש של מערכת הקבצים, לא יהיה תיעוד של ההעברה אבל לבנק יהיה חסר כסף.
עיבוד בטרנזקציות מבטיח כי בכל נקודת זמן שהעסקה מעובדת, היא יכולה להיות מבוצעת לגמרי או מבוטלת לגמרי (אם כי לא בהכרח שתי האפשרויות זמינות בכל נקודה נתונה). משמעות הדבר היא שאם יש קריסה (של מערכת הקבצים או של מערכת ההפעלה כולה) או הפסקת חשמל, הרי לאחר התאוששות, המידע המאוחסן יהיה עקבי (את הכסף יעבירו או לא יעבירו, אבל הוא לעולם לא ייעלם באמצע המעבר).
מערכת קבצים טרנזקצאלית מתוכננת להיות חסינת כשל, אבל היא סובלת מההשקעה הדרושה על מנת להבטיח זאת (יש צורך בפעולות כתיבה נוספות, בפעולות קריאה נוספות, בזיכרון נוסף וכיוצא באלו).
מערכות קבצים מתועדות הן אחת הטכניקות בשימוש להשגת עקביות ברמת מבני מערכת הקבצים.
מערכות קבצים כמו MVFS (לניהול גרסאות) ו־Wikifs (לשינוי ויקיפדיה) גם הן משתייכות חלקית לסוג זה וזאת מכיוון שהרישום במערכת הקבצים הבסיסית מתבצע אך ורק על ידי פעולה מיוחדת.
מערכות קבצים רשתיות.
מערכת קבצים רשתית היא מערכת קבצים אשר פועלת כלקוח עבור פרוטוקול גישה לקובץ מרוחק ונותנת גישה לקבצים בשרת. דוגמאות לפרוטוקלים עבור מערכות קבצים רשתיות הם NFS, AFS, SMB, ומערכת קבצים המתפקדות כלקוחות של FTP ו־WebDAV.
מערכות קבצים על דיסק משותף.