,L9UX'S FILESY/EM IS "O TREE A S+LE ROOT _/ F : E 4K1 E DEVICE1 E PROCESS1 E K]NEL 9T]FACE HANGS4 ,"! >E NO DRIVE LRS2 A SECOND 4K DOESN'T 2COME ;,D3 X M.TS 9TO ! TREE AT ANY PO9T Y *OOSE4 ,& 2N ! TREE3 9ODES ! K]NEL'S R1L FILE OBJECTS1 : FIL5AMES M]ELY PO9T AT4 ,LE>N ! TREE & ! 9ODES & Y'VE LE>N$ ! FILESY/EM2 "EY?+ ELSE IS ELABORA;N4 ,! "O-TREE RULE ,A 4K1 A ,,CD-,,ROM1 A ,,USB /ICK1 A NET"W %>E1 A DIRECTORY ( ! K]NEL'S 9T]NALS ALL APPE> Z PA?S "U _/4 ,! FILESY/EM "NSPACE IS UNIFI$ EV5 ?\< ! /ORAGE 2H X IS SCATT]$ ACR DEVICES3 DF -H,T _? : DEVICE BACKS : PA? ! TREE'S TRUE PLUMB+ M.T _? E CURR5TLY-M.T$ FILESY/EM F9DMNT _? ! M.T TREE1 VISUALIZ$ ,? IS :AT M.T ACTUALLY DOES GRAFT A DEVICE ONTO A PA?4 ,UNM.T X & ! PA? IS EMPTY AG2 ! TREE IS ! 9T]FACE1 ! M.TS >E ! PLUMB+4 ,! ,,FHS MAP ,! ,FILESY/EM ,HI]>*Y ,/&>D "NS E TOP-LEVEL DIRECTORY ! DEEP TABLE 2L IS ! "W+ MAP4 ,! H1DL9E FACTS F/3 _/ IS "O TREE2 _/ETC IS ALL 3FIGURA;N2 _/PROC & _/SYS >E K]NEL-COMPOS$ VIEWS1 N 4K2 _/USR HOLDS ! US]L&'S BULK2 _/V> HOLDS :AT *ANGES4 ,! MOD]N M]G$-USR LAY\T MAKES _/B91 _/SB91 _/LIB SYML9KS 9TO _/USR ! SPLIT IS HI/ORICAL "LY _/ 0 A M9IMAL RESCUE ROOT2 _/USR CAME LAT] ) ! R1L US]L&">2 MOD]N SY/EMS UNIFY !M4 ,9ODES :AT A FILE ACTUALLY IS ,A FIL5AME IS N A FILE X'S A DIRECTORY 5TRY PO9T+ AT AN 9ODE4 ,! 9ODE HOLDS "EY?+3 SIZE1 [N]1 P]MIS.NS1 "T/AMPS1 & ! BLOCK PO9T]S TO ! DATA4 ,! "N IS J "O ( POSSIBLY S"EAL L9KS TO X3 LS -I FILE _? ! 9ODE NUMB] /AT FILE _? ! 9ODE'S FULL RECORD3 "TS1 L9KS1 BLOCKS DF -I _? 9ODE EXHAUS;N A FULL ,,FS C H BLOCKS FREE ,? >*ITECTURE EXPLA9S ?REE ,UNIX TRU?S3 - ,H>D L9KS LN A ;B MAKES A SECOND "N = ! SAME 9ODE2 NO 8ORIG9AL0 EXI/S1 ONLY A REFC.T4 ,DELETE "O "N & ! FILE P]SI/S UNTIL ! LA/ "N GOES4 - ,SYML9KS LN -;S MAKES A NEW 9ODE ^: 3T5TS >E A PA? A PO9T] BY "N1 N BY NUMB]2 X DANGLES IF ! T>GET DIES4 - ,MOV+ )9 A FILESY/EM IS FREE MV REWRITES A DIRECTORY 5TRY2 ! 9ODE & DATA N"E MOVE4 MV ACR FILESY/EMS IS COPY"6DELETE4 ,! ,,FHS MAP ! DEEP V].N ,PA? ,HOLDS ,NOTES _/B9 _/USR_/B9 US] B9>IES LS CP MV BA% M]G$-USR SYML9K _/BOOT K]NEL "6 9ITRAMFS "6 BOOTLOAD] XS [N "PI;N (T52 VML9UZ-"9 9ITRD GRUB_/ _/DEV DEVICE NODES DEVTMPFS K]NEL-POPULAT$3 NULL Z]O UR&OM TTY SDA"9 PTS_/ _/ETC ALL 3FIGURA;N F/AB PASSWD %AD[ S%_/ SYSCONFIG_/ HO/S RESOLV43F _/HOME US] HOMES @9ALICE ETC _/LIB _/USR_/LIB %>$ LIBS LIBC4S ! LD4S L9K] _/LIB#FD #FD-BIT LIBS X#HF.-#FD SPLIT _/M$IA AUTOM.T PO9T ,C,DS1 ,,USB /ICKS _/MNT MANUAL M.TS ,,LFS'S @S,,LFS _/OPT ?IRD-"PY SELF-3TA9$ PACKAGES _/PROC K]NEL"6PROCESS /ATE VIRTUAL CPU9FO MEM9FO ,,PID_/ _/ROOT ROOT'S HOME _/RUN RUN"T /ATE TMPFS RUN_/US]_/ RUN_/LOCK _/SB9 _/USR_/SB9 ADM9 B9>IES FDISK MKFS US]ADD 9IT _/SRV SITE-S]V$ DATA _/SYS DEVICE_/DRIV] OBJECTS SYSFS CLASS_/ BLOCK_/ BUS_/ _/TMP TEMP _W-WRITABLE /ICKY #AGGG1 CLE>$ ON BOOT _/USR ! US]L& BULK B9 LIB %>E 9CLUDE LOCAL SRC C 2 R1D-ONLY _/USR_/LOCAL YR ADDI;NS S(TW>E Y 9/ALL$ YRF _/V> V>IABLE DATA LOG SPOOL CA*E MAIL LIB _/V>_/LOG ! LOGS MESSAGES SYSLOG AU?4LOG _/V>_/LIB /ATE DPKG /ATUS1 RPM DB _/V>_/SPOOL QUEUES MAIL1 CRON1 PR9T+ ,! M]G$-USR /ORY3 HI/ORICALLY _/ 0 A M9IMAL RESCUE ROOT2 _/USR CAME LAT] ) ! R1L US]L& MOD]N SY/EMS M]GE _/B9 _/SB9 _/LIB _/USR_/"9 SYML9KS4 ,! ,,FHS EXI/S S E ,L9UX LOOKS ! SAME A FILE LIVES ": Y EXPECT4 ,! SPECIAL FILE TYPES ! COMPLETE SET LS -;L - REGUL> FILE ;D DIRECTORY ;L SYML9K A PA? 9 AN 9ODE ;C "* DEVICE /R1MS3 TTY1 NULL1 UR&OM1 S]IAL ;B BLOCK DEVICE R&OM-A3ESS3 SDA1 LOOP ;P "ND PIPE ,,FIFO MKFIFO ;S UNIX SOCKET LOCAL ,,IPC MKFIFO MYFIFO2 E*O HI @> MYFIFO @& CAT MYFIFO _? A FILE T'S A QUEUE MKNOD _/DEV_/FOO ;B #H"CB _? A DEVICE NODE BY H& ,DEVICES Z FILES _/DEV HOLDS N PROGRAMS B DEVICE NODES FILES T OP5 K]NEL DRIV]S3 LS -;L _/DEV _\ H1D _? CRW-RW-RW- #A ROOT ROOT #A1 #C NULL @<- ;C "7 "*1 #A1C "7 MAJOR1M9OR _? BRW-RW---- #A ROOT 4K #H1 #J SDA @<- ;B "7 BLOCK DEVICE E*O HI @> _/DEV_/NULL _? A WRITE TO ! K]NEL'S VOID CAT _/DEV_/UR&OM _\ H1D -C#AF _\ XXD _? R1D+ 5TROPY Z A FILE ,MAJOR NUMB] "7 : DRIV]2 M9OR "7 : 9/.E4 _/DEV_/NULL1 _/DEV_/Z]O1 _/DEV_/UR&OM1 _/DEV_/FULL1 TTY DEVICES1 4KS ALL FILES1 ALL OP5$ ) ! SAME OP5"<"> SYSCALL4 ,? IS 8"EY?+ IS A FILE0 MADE LIT]AL4 ,VIRTUAL FILESY/EMS ! K]NEL EXPOSES XF ,?REE PSEUDO-FILESY/EMS >E K]NEL 9T]FACES WE>+ FILE CO/UMES3 - _/PROC E PROCESS Z A DIRECTORY2 K]NEL /ATE Z FILES3 CAT _/PROC_/CPU9FO1 CAT _/PROC_/MEM9FO1 LS _/PROC_/SELF1 E*O #A @> _/PROC_/SYS_/NET_/IPV#D_/IP.-=W>D TO 3FIGURE ! K]NEL BY WRIT+ A FILE4 - _/SYS " DEVICES1 DRIV]S1 BUSES Z A BR[SABLE OBJECT TREE4 - _/DEV " POPULAT$ AUTOMATICALLY Z H>DW>E IS DETECT$4 ,N"O ( X LIVES ON 4K ! K]NEL COMPOSES X ON R1D4 ,X'S ! PURE/ 8"EY?+ IS A FILE0 9CLUD+ ! K]NEL'S [N M9D4 ,FILESY/EM TYPES ,,FS ,PURPOSE EXT#D ,! BOR+ CORRECT DEFAULT J\RNAL$1 "EY": XFS ,L>GE FILES1 L>GE FILESY/EMS BTRFS ,CO,W1 SNAP%OTS1 *ECKSUMS TMPFS ,,RAM-BACK$ _/RUN1 _/TMP VFAT ,! ,,ESP1 ,,USB /ICKS1 9T]OP ISO#IFFJ ,,CD IMAGES NFS1 CIFS ,NET"W FILESY/EMS PROC1 SYSFS1 DEVTMPFS1 CGR\P#B ,! K]NEL 9T]FACES ,P]MIS.NS ON ! TREE ,E 9ODE C>RIES [N]1 GR\P1 & MODE ! RWXRWXRWX TRIAD #C "4 ,ON FILESY/EMS3 M.T OP;NS L NOEXEC1 NOSUID1 NODEV1 RO 3/RA9 :AT 9ODES P]MIT _/PROC & _/SYS M.T NOSUID1NODEV1NOEXEC = GD R1SON4 _/PROC ! K]NEL'S PROCESS W9D[1 DEEP] CAT _/PROC_/CPU9FO _? E CORE'S MODEL1 FLAGS1 MHZ CAT _/PROC_/MEM9FO _? ! MEMORY L$G] ,MEM,FREE VS ,BU6]S_/,CA*$ CAT _/PROC_/LOADAVG _? LOAD AV]AGES "6 RUNN+_/TOTAL "6 LA/ PID CAT _/PROC_/UP"T _? UP"T "6 IDLE SECONDS CAT _/PROC_/M.TS _? ! R1L M.T TABLE CAT _/PROC_/FILESY/EMS _? :AT FILESY/EMS ! K]NEL "KS CAT _/PROC_/"PI;NS _? ! BLOCK DEVICES CAT _/PROC_/V].N _? K]NEL "6 COMPIL] CAT _/PROC_/CMDL9E _? ! BOOT P>AMS CAT _/PROC_/9T]RUPTS _? IRQ TRA6IC CAT _/PROC_/NET_/TCP _? ! SOCKETS1 RAW CAT _/PROC_/SYS_/K]NEL_/HO/"N _? A WRITABLE K]NEL KNOB LS _/PROC_/SELF_/ _? ,,YR R1D+ PROCESS Z FILES ,E PROCESS IS _/PROC_/,,PID_/ /ATUS1 CMDL9E1 5VIRON1 FD_/1 MAPS1 IO1 LIMITS1 CWDR1L PA?1 EXE! B9>Y4 _/PROC_/SYS_/ IS ! SYSCTL TREE WRITABLE KNOBS4 _/PROC IS PURE K]NEL-COMPOS$ CAT RUNS CODE1 N 4K ,I_/,O4 _/SYS ! DEVICE OBJECT TREE LS _/SYS_/CLASS_/NET_/ _? E ,,NIC Z A DIRECTORY CAT _/SYS_/CLASS_/NET_/E?#J_/ADDRESS _? XS ,,MAC LS _/SYS_/BLOCK_/ _? E BLOCK DEVICE CAT _/SYS_/BLOCK_/SDA_/QUEUE_/S*$UL] _? IO S*$UL] LIVE-TUNABLE LS _/SYS_/BUS_/USB_/DEVICES_/ _? ! ,,USB TREE CAT _/SYS_/DEVICES_/SY/EM_/CPU_/CPU#J_/CPUFREQ_/SCAL+.-GOV]NOR E*O P]=M.E @> _/SYS_/444_/SCAL+.-GOV]NOR _? TUNE X UDEVADM 9FO -A _/DEV_/SDA _? ! DEVICE'S FULL SYSFS RECORD _/SYS IS SYSFS ! K]NEL'S DEVICES1 DRIV]S1 BUSES1 & CLASSES Z A BR[SABLE HI]>*Y ! SAME OBJECTS UDEV WAT*ES = HOTPLUG4 ,M.T OP;NS ! FLAGS T H>D5 M.T -O RO1NOEXEC1NOSUID1NODEV _/DEV_/SDA#C _/MNT _? RO R1D-ONLY _? NOEXEC NO B9>IES EXECUTE _/TMP1 DATA "PI;NS _? NOSUID SETUID BITS 4ABL$ _? NODEV NO DEVICE FILES HONOR$ _? NOA"T DON'T UPDATE A3ESS "TS ! P]=M.E FLAG _? RELA"T ! MOD]N A"T COMPROMISE " _? SYNC NO WRITE CA*+ _? .-NETDEV WAIT = NET"W _? N(AIL DON'T FAIL BOOT IF ABS5T _? ;X-SY/EMD4AUTOM.T LAZY-M.T ON F/ A3ESS _? B9D M.T A DIR ONTO ANO!R PA? NOEXEC_/NOSUID_/NODEV_/RO ON _/TMP1 _/PROC1 _/SYS1 DATA M.TS >E ! H>D5+ LAY] ! F/AB OP;NS 5CODE4 ,PRACTICAL3 F9D & FRS F9D _/ETC -"N '"943F' _? "N MAT* F9D _/ -TYPE ;F -SIZE "6#AJJ;,M #B@>_/DEV_/NULL _? ! SPACE HOGS F9D 4 -M"T -#G _? *ANG$ ? WEEK F9D _/ -XDEV -"N T>GET _? /AY ON "O FILESY/EM F9D 4 -TYPE ;L -XTYPE ;L _? BROK5 SYML9KS DU -% _/V>_/"9 _\ SORT -RH _\ H1D _? ": ! SPACE W5T ,EX]CISES #A4 F9DMNT DRAW ! ACTUAL M.T TREE ( YR SY/EM4 #B4 ,CR1TE A H>D L9K & A SYML9K2 /AT BO?2 EXPLA9 ! 9ODE DI6];E4 #C4 CAT _/PROC_/MEM9FO1 LS _/SYS_/CLASS_/NET BR[SE ! K]NEL'S M9D4 #D4 DF -I CD YR FILESY/EM HOLD A MILLION EMPTY FILES8 #E4 ,M.T A ,,USB /ICK MANUALLY M.T _/DEV_/SD,X#A _/MNT & UNM.T4 ,"TL9E ,3CEPT ,:AT X IS ,"O TREE ,E DEVICE GRAFTS 9TO _/ ,9ODES ,! R1L FILES2 "NS >E L9KS _/DEV ,DEVICES Z FILES _/PROC1 _/SYS ,! K]NEL EXPOS+ XF ,,FHS ,! /&>D MAP ( _/ ,SEE AL - ,L9UX ,%ELL ,CORE ,UTILITIES ,US]S & ,P]MIS.NS ,,LFS ,PREP>A;N