Filesystem Hierarchy Standard Visar Vilka Delar Som Är Boss

Om du någonsin varit nyfiken nog att titta igenom ditt system root-katalog (“/”), och du kan ha funnit dig själv lite överväldigad. De flesta av de tre-bokstavs-katalog namn inte berätta så mycket om vad de gör, och om du någonsin behövs för att göra viktiga förändringar, skulle det vara svårt att veta var du ska leta.

Jag skulle vilja ta dem av er som inte vågat sig mycket i din root katalog på en kort tur.

Användbara Verktyg

Innan vi ger oss in, här är ett par verktyg som är värda att bekanta sig med, eftersom de kommer att tillåta dig att gräva sig igenom allt intressant du kan hitta på din egen senare. Inget av dessa program kommer att göra några ändringar i dina filer.

Den mest användbara funktionen är “ls” – det listar innehållet i en katalog med en fullständig eller relativ sökväg (alltså, med utgångspunkt från nuvarande katalog) som ett argument.

$ ls väg

Som du framsteg djupare in i filsystemet, kan det bli besvärligt att skriva långa banor flera gånger, så om du kommer till den punkten, att du kan byta ut “ls” med “cd” för att ändra aktuell katalog (den din terminal för närvarande “i”) till den katalogen. Som med “ls”, bara ge “cd” sökväg till katalog som argument.

$ cd-väg

Om du inte är säker på vilken typ av fil det är något som är “file” – kommandot på det genom att köra “arkiv” och filnamnet som argument.

$ filnamn

Slutligen, om filen verkar som det kan vara läsbar, använd “mindre” för att titta på det (igen, utan rädsla för att göra förändringar). Som med den senaste verktyg, ge ett filnamn som argument för att visa det.

sek mindre filnamn

När du är klar att skanna igenom filen, tryck “q” för att avsluta, vilket tar dig tillbaka till din terminal.

Rotkatalogen Road Trip

Nu kan vi börja vår resa. Jag kommer att gå vidare i alfabetisk ordning genom kataloger direkt i rotkatalogen. Detta är på intet sätt en uttömmande katalog, men i slutet, vi kommer att ha träffen den höjdpunkter.

Alla de klasser och funktioner av de kataloger som vi kommer att gå över är baserat på Linux-Filesystem Hierarchy Standard, eller FHS. Linux FHS, underhålls av Linux Foundation, som hjälper designers och utvecklare av distributioner och program genom att strukturera där olika komponenter av deras verktyg ska gå.

Genom att hålla alla filer, binära och manualer i en enhetlig organisation över program, FHS gör lärande, felsökning, eller ändra dem mycket lättare. Tänk hur tråkigt det skulle vara om vi istället för att använda “man” för att hitta användningen guider, du var tvungen att jaga för handboken för varje program.

I alfabetisk ordning, och strukturellt, det är passande att vi börjar med “bin”. Denna katalog är där alla centrala system binära filer som innehåller kommandon till skalet (det program som tolkar terminal instruktioner) finns. Utan att innehållet i denna katalog kommer ditt system inte skulle göra mycket.

Nästa är “/boot” – katalog, där alla de saker din dator behöver för att starta upp lagras. Bland dessa saker, det viktigaste är din bootloader och kärna. Bootloadern är det program som initierar några grundläggande verktyg för att låta den starta processen att fortsätta. I slutet av sin initiering, bootloader massor kärnan, som gör det möjligt för datorn att kommunicera med alla andra hårdvara och firmware. Från denna punkt, kan den gå vidare för att få hela operativsystemet på nätet.

Den “/dev” katalog är där file-objekt som representerar allt ditt system känner igen som en “enhet” är lagrade. Dessa inkluderar uppenbart enheter som till exempel maskinvara på din dator: ditt tangentbord, skärm, hårddisk, etc.

Dessutom “/dev” innehåller pseudo-filer vilket innebär att mängder av data som systemet behandlar som “enheter”. Ett exempel är data som går in och ut i din terminal, som är uppdelad i tre “strömmar.” Information läser det som kommer in är det som kallas “standard input.” Utdata från kommandon eller processer som är “standard ut.” Slutligen, en aux-utgång som klassificeras som felsökning information riktad till “standard error”. Terminaler själva också finns som filer här.

i “/etc” (uttalas som hantverk handelsplats “Etsy,” om du vill imponera på Linux veteraner), där många program sparar sina konfigurationsfiler, vilka används för att ändra deras inställningar. Vissa program sparar kopior av standardkonfigurationer här, som är att kopieras till en annan plats innan ändring. Andra lagra den enda kopia av konfigurationen här och förväntar sig användare att ändra det direkt. Många program som är reserverade för root-användaren beror på detta senare läge konfiguration.

I “/home” katalog är där en användares personliga filer är bosatt. För desktop-användare, det är där du tillbringar merparten av din tid. För varje icke-privilegierade användare, det är en katalog med motsvarande namn här.

“/lib” är hem till många bibliotek att ditt system beror på att köra. Många program använder en eller flera funktioner eller subrutiner som är gemensamma över tiotals eller hundratals program. Så, istället för att varje program återgivning av varje komponent som den behöver i sin binära, vilket skulle resultera i en relativt omfattande och ineffektiva program, som det refererar till en eller flera av dessa bibliotek genom att göra ett “bibliotek samtal.”

Flyttbara media som USB-flash-enheter eller kameror är tillgängliga i “i/media” katalogen. Medan det finns inte på alla system, är det vanligt i distributioner som specialiserat sig på intuitiva stationära system, som Ubuntu. Media som har lagring är “monteras” här, vilket innebär att även den råa ström av bitar från den enheten finns under/dev”, filen objekt som användarna brukar interagera med är tillgänglig här.

Den “/proc” katalogen är ett virtuellt filsystem som dynamiskt visar informationen i systemet. Vad detta innebär är att systemet skapar innehållet i/proc” on the fly, fylla den med filer som innehåller information om systemet (såsom hårdvara statistik) som genereras på grund av att köra.

“för/tmp” är, passande nog, där tillfällig information som cachelagrade data skickas. Det finns egentligen inte mycket mer än så.

De flesta program binärer på moderna Linux-system hålls i “/usr” katalogen. För att förena de olika kataloger som innehåller binärer “/usr” som innehåller en kopia av allt i “bin”, “/sbin”, och “/lib”.

Slutligen, “/var” är det där data av “variabel” i längden är sparad. Den typ av variabel längd data som finns här är i allmänhet data som förväntas hålla ackumulera, som stockar och cachar. Ett exempel är den loggar din kärna håller.

För att hålla din hårddisk fylls upp och kraschar, “/var” har en inbyggd “logga rotera” – funktion som tar bort gammal information för att göra plats för ny information, upprätthålla en bestämd maximal storlek.

Peta Runt

Som jag sa, detta är definitivt inte allt hittar du i root-katalogen, men det är en bra början mot att räkna ut var systemets centrala funktioner bo — och, dessutom, vad dessa funktioner.

Så, om du inte var säker på vad det fanns att lära sig, du förmodligen har massor av idéer nu. Om du vill ha en ännu bättre idé, rota runt i dessa kataloger för dig själv!

Jonathan Terrasi har varit en ECT News Network krönikör eftersom 2017. Hans huvudsakliga intressen är dator säkerhet (framför allt med Linux på skrivbordet), kryptering och analys av politik och aktuella frågor. Han är en heltid frilansande författare och musiker. Hans bakgrund innefattar tillhandahållande av tekniska kommentarer och analyser i de artiklar som publiceras av Chicago Kommitté för att Försvara Bill of Rights.


Date:

by