på de flesta moderna operativsystem är filer organiserade i endimensionella arrayer av byte. Formatet på en fil definieras av dess innehåll eftersom en fil är enbart en behållare för data, även om på vissa plattformar formatet vanligtvis anges av dess filnamnstillägg, ange reglerna för hur byte måste organiseras och tolkas meningsfullt. Till exempel byte av en vanlig textfil (.txt i Windows) är associerade med antingen ASCII eller UTF-8 tecken, medan byte av bild -, video-och ljudfiler tolkas på annat sätt., De flesta filtyper allokerar också några byte för metadata, vilket gör att en fil kan bära några grundläggande information om sig själv.
vissa filsystem kan lagra godtyckliga (inte tolkade av filsystemet) filspecifika data utanför filformatet, men länkade till filen, till exempel utökade attribut eller gafflar. På andra filsystem kan detta göras via sidecar-filer eller programvaruspecifika databaser. Alla dessa metoder är dock mer mottagliga för förlust av metadata än vad som är container-och arkivfilformat.,
File sizeEdit
när som helst kan en fil ha en storlek, normalt uttryckt som antal byte, som indikerar hur mycket lagring som är associerad med filen. I de flesta moderna operativsystem kan storleken vara något icke-negativt heltal byte upp till en systemgräns., Många äldre operativsystem hålls spår endast av antalet block eller spår som upptas av en fil på en fysisk lagringsenhet. I sådana system använde programvara andra metoder för att spåra exakt byte-Antal (t.ex. CP/M använde ett speciellt kontrolltecken, Ctrl-Z, för att signalera slutet på textfiler).
den allmänna definitionen av en fil kräver dock inte att dess storlek har någon verklig betydelse, om inte data i filen råkar motsvara data i en pool av ihållande Lagring., Ett specialfall är en noll byte fil; dessa filer kan vara nyskapade filer som ännu inte har haft några data skrivna till dem, eller kan fungera som någon form av flagga i filsystemet, eller är olyckor (resultaten av avbrutna diskoperationer). Till exempel har filen som länken /bin/ls pekar på i ett typiskt Unix-liknande system förmodligen en definierad storlek som sällan ändras. Jämför detta med/dev / null som också är en fil, men som en tecken specialfil är dess storlek inte meningsfull.,
organisation av data i en fileEdit
Information i en datorfil kan bestå av mindre informationspaket (ofta kallade ”poster” eller ”linjer”) som är individuellt olika men delar några vanliga egenskaper., Till exempel kan en lönefil innehålla information om alla anställda i ett företag och deras löneuppgifter.varje post i lönefilen gäller bara en anställd, och alla poster har det gemensamma draget att vara relaterade till lönelistan—det här liknar mycket att placera all löneinformation i ett specifikt arkivskåp på ett kontor som inte har en dator. En textfil kan innehålla textrader som motsvarar tryckta rader på ett papper. Alternativt kan en fil innehålla en godtycklig binär bild (en blob) eller den kan innehålla en körbar.,
hur information är grupperad i en fil är helt upp till hur den är utformad. Detta har lett till en uppsjö av mer eller mindre standardiserade filstrukturer för alla tänkbara ändamål, från den enklaste till den mest komplexa. De flesta datafiler används av datorprogram som skapar, modifierar eller tar bort filer för eget bruk på en efter behov. De programmerare som skapar programmen bestämmer vilka filer som behövs, hur de ska användas och (ofta) deras namn.
i vissa fall manipulerar datorprogram filer som är synliga för datoranvändaren., Till exempel, i ett ordbehandlingsprogram manipulerar användaren dokumentfiler som användaren personligen heter. Även om innehållet i dokumentfilen är ordnat i ett format som ordbehandlingsprogrammet förstår, kan användaren välja filens namn och plats och ge huvuddelen av informationen (till exempel ord och text) som kommer att lagras i filen.
många program packar alla sina datafiler i en enda fil som kallas en arkivfil, med hjälp av interna markörer för att urskilja de olika typerna av information som finns i., Fördelarna med arkivfilen är att sänka antalet filer för enklare överföring, för att minska lagringsanvändningen, eller bara för att organisera föråldrade filer. Arkivfilen måste ofta packas upp innan nästa användning.,
OperationsEdit
de mest grundläggande operationer som program kan utföra på en fil är:
- skapa en ny fil
- ändra åtkomstbehörigheter och attribut för en fil
- öppna en fil, vilket gör filinnehållet tillgängligt för programmet
- läsa data från en fil
- skriva data till en fil
- ta bort en fil
- Stäng en fil
- fil, avsluta sambandet mellan det och programmet
filer på en dator kan skapas, flyttas, ändras, odlas, krympt (trunkerad), och tas bort., I de flesta fall hanterar datorprogram som körs på datorn dessa operationer, men användaren av en dator kan också manipulera filer om det behövs. Till exempel är Microsoft Word-filer normalt skapas och ändras av Microsoft Word-programmet som svar på användarkommandon, men användaren kan också flytta, byta namn på eller ta bort dessa filer direkt med hjälp av en filhanteringsprogram som Utforskaren (på Windows-datorer) eller kommandorader (CLI).
i Unix-liknande system fungerar inte program för användarutrymme direkt, på låg nivå, på en fil., Endast kärnan behandlar filer, och den hanterar alla användarutrymme interaktion med filer på ett sätt som är transparent för användarutrymme program. Operativsystemet ger en abstraktionsnivå, vilket innebär att interaktion med en fil från användarutrymme helt enkelt genom sitt filnamn (istället för dess inod). Rm-filnamnet tar till exempel inte bort filen själv, utan bara en länk till filen. Det kan finnas många länkar till en fil, men när de alla tas bort, anser kärnan att filens minnesutrymme fritt att omfördelas., Detta fria utrymme anses allmänt vara en säkerhetsrisk (på grund av förekomsten av fil återvinning programvara). Alla secure-deletion program använder kernel-space (system) funktioner för att torka filens data.
fil flyttas inom ett filsystem slutförs nästan omedelbart eftersom datainnehållet inte behöver skrivas om. Endast vägarna behöver ändras.
Moving methodsEdit
det finns två olika implementeringar av filrörelser.,
När du flyttar filer mellan enheter eller partitioner raderar en filhanteringsprogramvara varje vald fil från källkatalogen individuellt efter att den har överförts, medan annan programvara tar bort alla filer samtidigt först efter att varje fil har överförts.
med kommandotmv
används till exempel den tidigare metoden när du väljer filer individuellt, eventuellt med hjälp av jokertecken (exempel: mv -n sourcePath/* targetPath
, medan den senare metoden används när du väljer hela kataloger (exempel: mv -n sourcePath targetPath
)., Microsoft Windows Explorer använder den tidigare metoden för masslagringsfilerflyttar, men den senare metoden med Media Transfer Protocol, som beskrivs i Media Transfer Protocol § File move behaviour.
den tidigare metoden (individuell radering från källa) har fördelen att Utrymme frigörs från källenheten eller partitionen omedelbart efter överföringen har börjat, vilket betyder att den första filen är klar. Med den senare metoden frigörs utrymme endast efter att överföringen av hela urvalet har slutförts.,
om en ofullständig filöverföring med den senare metoden avbryts oväntat, kanske på grund av en oväntad avstängning, systemstopp eller frånkoppling av en enhet, har inget utrymme frigjorts på källenheten eller partitionen. Användaren skulle behöva slå samman de återstående filerna från källan, inklusive den ofullständigt skrivna (trunkerade) sista filen.
med den individuella raderingsmetoden behöver inte programvaran filflyttning kumulativt hålla reda på alla filer som är färdiga att överföra för det fall en användare manuellt avbryter filöverföringen., En filhanterare som använder den senare metoden (efteråt radering) måste bara ta bort filerna från källkatalogen som redan har överfört.