Filesystem Hierarchy Standard Viser, Hvilke Dele Der Er Boss

Hvis du nogensinde har været nysgerrig nok til at kigge gennem dit system ‘ s root directory (“/”), kan du have fundet dig selv lidt overvældet. De fleste af de tre bogstaver mappenavne må ikke fortælle dig meget om, hvad de gør, og hvis du nogensinde har brug for at foretage vigtige ændringer, det ville være svært at vide, hvor at se.

Jeg vil gerne tage dem af jer, der ikke har vovet sig meget ind i din root directory på en kort turné.

Nyttige Værktøjer

Før vi går i gang, her er et par værktøjer, som er værd at blive fortrolig med, da de vil give dig mulighed for at grave gennem noget interessant, som du finder på din egen senere. Ingen af disse programmer vil foretage ændringer til dine filer.

Den mest nyttige værktøj er “ls” — det viser indholdet af en mappe givet med en fuld eller relativ sti (dvs, en, startende fra den aktuelle mappe) som et argument.

$ ls vej

Efterhånden som du kommer dybere ind i filsystemet, kan det blive besværligt at skrive lange stier flere gange, så hvis du kommer til det punkt, kan du erstatte “ls” og “cd” for at ændre den aktuelle arbejdsmappe (den ene i din terminal er i øjeblikket “i”) til denne mappe. Som med “ls”, blot for at give “cd” en mappe sti som et argument.

$ cd-sti

Hvis du ikke er sikker på, hvilken slags fil der er noget, skal du bruge kommandoen “file” på det, ved at køre “filen”, og det filnavn som argument.

$ file filnavn

Endelig, hvis filen ser ud som det kunne være læsbar, bruge “mindre” til at se på det (igen, uden frygt for at lave ændringer). Som med den sidste tool, give et filnavn som argument for at få det vist.

$ mindre filnavn

Når du er færdig med at scanne gennem filen, så tryk “q” for at afslutte, der vender du tilbage til din terminal.

Root Directory “Road-Trip”

Nu kan vi begynde vores rejse. Jeg har tænkt mig at fortsætte i alfabetisk rækkefølge gennem mapper direkte i root directory. Dette er på ingen måde en udtømmende katalog, men ved udgangen, vil vi have ramt højdepunkter.

Alle klassifikationer og funktioner af de mapper, vi vil gå over, er baseret på Linux filsystemhierarki-Standarden, eller FHS. Linux FHS, vedligeholdes af Linux Foundation, der hjælper designere og udviklere af distributioner og programmer ved at strukturere, hvor de forskellige dele af deres værktøjer skal gå.

Ved at holde alle de filer, binær, og manualer i en sammenhængende organisation på tværs af programmer, FHS gør læring, debugging, eller ændre dem meget lettere. Forestil dig, hvor kedeligt det ville være, hvis i stedet for at bruge “man” kommando til finde anvendelse guider, du var nødt til at jage for manual for hvert program.

I alfabetisk rækkefølge, og strukturelt, det er passende, at vi starter med “/bin”. Dette bibliotek er, hvor alle de centrale system af binære filer indeholder kommandoer i shell (det program, der fortolker terminal instruktioner) er fundet. Uden at indholdet af denne mappe, vil dit system ikke ville gøre meget.

Næste er “/boot” – bibliotek, hvor alle de ting, din computer har brug for til at starte op, er gemt. Blandt disse ting, de vigtigste er din bootloader og kerne. Bootloaderen er det program, der starter et par grundlæggende værktøjer til at give den boot-processen til at fortsætte. I slutningen af sin initialisering, bootloader masser kernen, som gør det muligt for computeren at kommunikere med alle andre hardware og firmware. Fra dette punkt, kan det gå videre til at bringe hele operativsystemet online.

Den “/dev” mappe, hvor filen-som objekter, der repræsenterer alt dit system genkender som en “enhed” er gemt. Disse omfatter indlysende enheder såsom hardware komponenter i din computer: tastaturet, skærmen, harddisken osv.

Derudover, “/dev” indeholder pseudo-filer er ensbetydende med strømme af data, at dit system behandler som “enheder”. Et eksempel er data, der går ind og ud af din terminal, som er opdelt i tre “vandløb.” Oplysninger, som den læser, der kommer i er kaldet “standard input.” Produktionen af kommandoer eller processer, der er “standard output.” Endelig er der en ekstra output, der er klassificeret som debugging information er rettet til “standard-fejl”. Terminaler sig selv findes også som filer her.

“/etc” (udtales som håndværk, handel site “Etsy,” hvis du ønsker at imponere Linux veteraner), er, hvor mange programmer gemmer deres konfigurationsfiler, som anvendes til at ændre deres indstillinger. Nogle programmer for at gemme kopier af standard konfigurationer her, der skal kopieres til en anden placering, før ændringen. Andre gemme en kopi af konfigurationen her, og forventer, at brugerne til at ændre det direkte. Mange programmer, der er reserveret for root-brugeren, afhænger af denne sidstnævnte opsætning af konfiguration.

Den “/home” – mappe er, hvor brugerne’ personlige filer er placeret. Til desktop-brugere, dette er, hvor du bruger det meste af din tid. For hver upriviligeret bruger, der er en mappe med tilsvarende navn her.

“/lib” , er hjem til mange biblioteker, at dit system med, afhænger af at køre. Mange programmer ansætte en eller flere funktioner eller subrutiner, der er fælles på tværs af snesevis eller hundredvis af programmer. Så i stedet for hvert program gengivelse af hver komponent, den har brug for, i sin binære, hvilket ville resultere i relativt tunge og ineffektive programmer, det refererer til et eller flere af disse biblioteker ved at lave et “bibliotek opkald.”

Flytbare medier, såsom USB-flash-drev eller kameraer, der er gjort tilgængelige i den “/media” – mappen. Mens det ikke er til stede på alle systemer, der er fælles i distributioner, med speciale i intuitiv desktop-systemer, som Ubuntu. Medier, der har opbevaring er “monteret”, hvilket betyder, at mens den rå strøm af bits fra den enhed, der er fundet under “/dev”, fil-objekter, som brugerne normalt interagerer med, er tilgængelige her.

Den “/proc” directory er et virtuelt filsystem som dynamisk system viser data. Hvad dette betyder er, at systemet skaber indholdet af “/proc” on the fly, befolker det med filer, der er i besiddelse af oplysninger om systemet (såsom hardware statistik), der er genereret i kraft af at køre.

“/tmp” er rammende nok, hvor midlertidige oplysninger, som cachelagrede data, der er sendt. Der er virkelig ikke meget mere til det end som så.

De fleste af programmets binære filer på moderne Linux-systemer er holdt i “/usr” mappe. Til at samle de forskellige mapper, der indeholder de binære filer, “/usr” indeholder en kopi af alt, hvad “/bin”, “/sbin”, og “/lib”.

Endelig, “/var” hvor er data for “variabel” længde er holdt. Den type af variabel længde data, der findes her, er generelt data, der forventes at holde akkumulere, ligesom logfiler og caches. Et eksempel er log af din kerne holder.

For at holde din harddisk fylde op og ned, “/var” har en indbygget “log rotere” – funktion, der sletter gamle oplysninger for at gøre plads til nye oplysninger, at opretholde en fast maksimal størrelse.

Rode Rundt

Som jeg sagde, det er bestemt ikke alt, hvad du vil finde i rodmappen, men det er en god start mod at finde ud af, hvor dit system centrale funktioner opholde sig — og, desuden er, hvad disse funktioner.

Så, hvis du var ikke sikker på hvad der var at lære, har du sandsynligvis har masser af ideer nu. Hvis du ønsker en endnu bedre idé, at rode rundt i disse mapper for dig selv!

Jonathan Terrasi har været en ECT News Network klummeskribent, da 2017. Hans største interesser er computer security (især med Linux desktop), kryptering og analyse af politik og aktuelle anliggender. Han er en fuldtids freelance forfatter og musiker. Hans baggrund omfatter levering af tekniske kommentarer og analyser i artikler, der er offentliggjort af Chicago Udvalg til at Forsvare den “Bill of Rights”.


Date:

by