Linux: Files

Op alle computersystemen, onder alle operating systems, wordt informatie opgeslagen in files. Het type file waar je het meest mee te maken hebt zijn zogenaamde textfiles. Dit zijn files waarin de informatie waarin de informatie op een voor mensen leesbare vorm is opgeslagen. Aangezien wat voor mensen leesbaar is ook leesbaar is voor computers, bevatten onder Linux erg veel files platte text. Je kunt hierbij denken aan broncode voor compilers, scripts voor interpreters zoals de diverse shells en perl, configuratiebestanden voor allerlei programma's, html-files met informatie voor WWW, en natuurlijk verslagen en dergelijke.

Filenamen

Files kun je herkennen aan hun naam. Onder Linux vallen filenamen uiteen in twee delen, de basename en de extensie. Het is gebruikelijk om de basename aan te laten geven wat de inhoud van een file is, terwijl de extensie iets vertelt over het format waarin de file is opgeslagen. De filenaam proefschrift.tex doet dan ook vermoeden dat je te maken hebt een promotiewerkstuk in TeX format. Dit gebruik van basename en extensie is echter niet verplicht, en er is formeel niets wat je ervan weerhoudt om in proefschrift.tex het beroemde "Hello World!" programma in C-code op te slaan. Onder Linux zijn file- en directorynamen hoofdletter-gevoelig. De file geheimemail.txt is dus een andere file dan geheimeMail.txt.

Editors

Tekstfiles kun je bekijken, bewerken en aanmaken een editor. Onder Linux is daar een ruim aanbod van. Voor de echte die-hards is vi vaak de favoriet. Gewone stervelingen geven tegenwoordig vaak de voorkeur aan emacs, pico of nedit. Emacs is eigenlijk veel meer dan een editor, het heeft bijvoorbeeld ook de Maya-kalender aan boord. Pico is een heel eenvoudige editor die ook in het populaire e-mail programma pine geintegreerd is. Nedit is een krachtige editor die wat minder extreem configureerbaar is dan emacs, en veel gebruikersvriendelijker dan vi. Wanneer nog geen favoriete editor onder Linux hebt, dan is de kans groot dat nedit je goed zal bevallen.

Permissies

Met files die op een harde schijf staan kun je eigenlijk drie basishandelingen verrichten, lezen, schrijven en uitvoeren. Onder Linux worden deze handelingen aangeduidt met de drie letters rwx, wat staat voor read, write en execute. Met behulp van zogenaamde attribute bits wordt aangegeven wat er allemaal met een file mag gebeuren. Om een en ander nog wat verder te verfijnen worden daarbij de gebruikers onder Linux ook nog eens in drieen verdeeld: user, group, others. Voor ieder van deze drie groepen heeft een file attributes. De user is de eigenaar van een file, de group is een cluster van vergelijkbare gebruikers, en others is de rest van de gebruikers. Een veel voorkomende permissiereeks is rw-r--r-- wat aangeeft dat de eigenaar van de file mag lezen en schrijven, en dat verder iedereen de file mag lezen. Een andere reeks die je veel zult tegenkomen is rwxr-xr-x, wat betekent dat de eigenaar de file mag lezen, schrijven, en uitvoeren, terwijl verder iedereen de file mag lezen en uitvoeren, maar niet mag wissen of veranderen. Een file met de attributen rw-r----- mag door de eigenaar gelezen en veranderd worden, door de group gelezen worden, terwijl de rest van de wereld alleen maar mag raden naar de inhoud.

Directory listing

Wanneer je in een directory staat zul je vaak een overzicht van de files in die directory willen hebben. Je kunt daarvoor het commando ls gebruiken. De informatie die ls presenteert is echter nogal spaarzaam. Een overzicht van de files in een directory wordt daarom veel vaker met het commando ls -l opgevraagd. Het ls commando met de -l parameter is zo populair dat er een kortere vorm voor beschikbaar is, en wel ll. Het ls -l commando toont ook de permissies van iedere file. Aan het eerste karakter van de permissiereeks kun je zien of je met een file (-) of met een directory (d) te maken hebt.

Kopieëren, verplaatsen, wissen

Wanneer je een file hebt, dan kan het gebeuren dat je er een kopie van wilt hebben, dat je hem wilt verplaatsen, of dat je hem wilt wissen. Het kopieeren gaat met het cp commando wat ongeveer zo werkt:

cp <wat> <waarheen>

<wat> is de file die je wilt kopieeren en <waarheen> de naam waaronder de kopie moet worden opgeslagen, of de directory waarin de kopie onder de huidige naam moet worden opgeslagen.

Een andere populaire actie is het verplaatsen van een file. Verplaatsen is een vrij brede aanduiding aangezien het ook hernoemen kan betekenen. Het verplaatsen (of hernoemen) gaat met

mv <wat> <waarheen>

Net als bij cp is <wat> de file waarmee je wat wil doen, en <waarheen> de nieuwe naam waaronder de file moet worden opgeslagen, of de directory waarin de file onder de huidige naam moet komen te staan.

Soms heeft een file zijn diensten bewezen, en is niet langer nodig. Hij kan dan wel gewist worden. Hiervoor is het commando rm beschikbaar. Voordat je rm gebruikt is het vaak verstandig om je eerst af te vragen of je echt absoluut zeker weet dat dat is wat je met die file wilt. Onder Linux betekent weggooien namelijk ook echt weggooien en niet onzichtbaar maken!