pwd(1) is een eenvoudige utility die de directory waarin u werkt toont. Voor het gebruik van pwd is het niet nodig een extra parameter te geven. Hier is een voorbeeld van de uitvoer van pwd:
$ pwd /home/danieldk
ls lijkt veel op het dir commando in DOS en Windows. Het is een commando dat de bestanden en directories in verschillende directories kan tonen. Door ls uit te voeren zonder extra parameters wordt de inhoud van de huidige directory directory getoond:
$ ls slackware-beginselen slackware-beginselen-20december2002.tar.gz
Natuurlijk kunt u ook andere directories tonen. Dit kunt u doen door simpelweg het pad te specificeren achter het ls commando:
$ ls / bin dev home lost+found opt root tmp var boot etc lib mnt proc sbin usr
Het nadeel van de normale uitvoer is dat er weinig informatie gegeven wordt. Zo is het bijvoorbeeld niet mogelijk te zien of iets een bestand of directory is, wat de bestandsgrootte is en wie de eigenaar van een bestand is. Om meer informatie te tonen heeft ls de "-l" parameter:
$ ls -l total 20 drwxr-xr-x 7 danieldk users 4096 Dec 21 09:24 slackware-beginselen -rw-r--r-- 1 danieldk users 14317 Dec 21 08:35 slackware-beginselen-20december2002.tar.gz
Een ander onmisbaar commando is het cd. Met cd kunt u de huidige werkdirectory veranderen:
$ cd /home/danieldk/
Met het pwd commando kunt u zien dat u zich in de opgegeven directory directory bevindt:
$ pwd /home/danieldk
Zoals u waarschijnlijk wel kunt raden kunt u met het mkdir(1) commando directories aanmaken. Een voorbeeld:
$ pwd /home/danieldk $ mkdir test $ cd test $ pwd /home/danieldk/test
Het kan voorkomen dat u een directory aan wilt maken waarvan de bovenliggende directory nog niet bestaat. Stel we willen de directory test2/hallo/ aanmaken in de huidige directory, maar de directory test2 bestaat nog niet. Dan kunt u beide directories op de volgende manier aanmaken:
$ mkdir -p test2/hallo
rm(1) kan gebruikt worden om zowel files als directories te wissen. Laten we eerst eens naar een eenvoudig voorbeeld kijken:
$ rm hello.c
Dit commando verwijdert het bestand hello.c. Soms vraag rm om bevestiging alvorens bestanden te verwijderen. Dit kunt u omzeilen met de '-f' parameter:
$ rm -f *
Dit commando verwijdert alle bestanden in de huidige directory zonder daarbij om bevestiging te vragen. Het komt vaak voor dat we ook directories willen verwijderen, of zelfs hele directorystructuren. rm heeft hiervoor de '-r' parameter. Stel dat we de directory ogle met alle subdirectories willen verwijderen zonder hier bevestiging voor te geven. Dit kunt u met het volgende commando doen:
$ rm -r -f ogle/
Het is bij veel commando's ook mogelijk parameterletters samen te voegen om wat tikwerk te besparen. Het volgende voorbeeld is dan ook het equivalent van het vorige:
$ rm -rf ogle/
In Linux heeft elk bestand zogenaamde permissies. Zoals u misschien al gezien heeft kunt u de permissies van een bestand met het ls -l commando zien:
$ ls -l logo.jpg -rw-r--r-- 1 danieldk users 9253 Dec 23 19:12 logo.jpg
In het eerste kolom worden de permissies afgebeeld. De instelbare permissies zijn read(r), write(w) and execute(x). Deze permissies zijn in te stellen voor drie "groepen": owner(u), group(g) en others(o). Deze permissies zijn zichtbaar als de tweede tot de negende karakter in het eerste kolom. Deze negen karakters zijn in drieën verdeelt. De eerste drie karakters geven de permissies voor de eigenaar(owner) aan, de drie karakters die daarop volgen de permissies van de groep(group) en de laatste drie karakters de permissies van anderen (others). Naar bestand in het bovenstaande voorbeeld mag dus geschreven worden door de eigenaar en het bestand mag door iedereen (owner, group en others) gelezen worden.
Op het systeem zijn verschillende gebruikers aanwezig (een lijst is te zien in /etc/passwd) en een gebruiker kan weer lid zijn van bepaalde groepen. Op deze manier is het mogelijk per file vrij gedetailleerd in te stellen wie wat wel en niet mag doen. In het bovenstaande voorbeeld is te zien dat danieldk de eigenaar van het bestand is en dat group rechten gelden voor de groep users. De groeprechten verschillen in het bovenstaande voorbeeld niet van die van andere mensen (others).
chown(1) is een programma waarmee u de eigenaar van een bestand in kunt stellen en voor welke groep de groepsrechten gelden. Stel dat we danieldk eigenaar willen maken van het bestand logo2.jpg, dan kan dat als volgt:
$ chown danieldk logo2.jpg
We kunnen nu met ls zien dat de eigenaar danieldk is geworden:
$ ls -l logo2.jpg -rw-r--r-- 1 root root 9253 Dec 29 11:35 logo2.jpg $ chown danieldk logo2.jpg $ ls -l logo2.jpg -rw-r--r-- 1 danieldk root 9253 Dec 29 11:35 logo2.jpg
Maar de groepspermissies gelden nog steeds voor de groep root. De groep waarvoor de groepspermissies gelden is te veranderen door een punt achter de eigenaar te zetten en daarachter de groep te vermelden waarvoor groepspermissies moeten gelden (in dit voorbeeld de groep nedslackers):
$ chown danieldk.nedslackers logo2.jpg $ ls -l logo2.jpg -rw-r--r-- 1 danieldk nedslackers 9253 Dec 29 11:35 logo2.jpg
Natuurlijk is het ook mogelijk in één keer de rechten van een directorystructuur te veranderen dit kan met behulp van de recursive (-R) parameter:
$ chown -R danieldk.users oggs/
Permissies voor bestanden kunnen gewijzigd worden met het chmod(1) commando. De meest basale syntax van het chmod commando ziet er als volgt uit: chmod [u,g,o][+/-][r,w,x] bestandsnaam. De eerste parameter is dus een samenvoegsel van: 1. voor welke groepen de operatie geldt, 2. of de gespecificeerde permissies toegekend moeten worden (+) of afgenomen (-) moeten worden en 3. om welke permissies het gaat. Stel je wilt het bestand notities schrijfbaar maken voor de eigenaar van het bestand en de groep die voor het bestand ingesteld is, dan voer je het volgende commando uit:
$ chmod ug+w notities
Zoals je hieronder ziet wordt notities voor de eigenaar en de groep schrijfbaar:
$ ls -l notities -r--r--r-- 1 daniel users 12 Mar 9 16:28 notities bash-2.05b$ chmod ug+w notities bash-2.05b$ ls -l notities -rw-rw-r-- 1 daniel users 12 Mar 9 16:28 notities
Net als bij het chown commando is het met de recursive (-R) parameter mogelijk de rechten voor een directorystructuur te veranderen. Het volgende voorbeeld maakt de directory geheim/ en alle bestanden en directories daaronder onleesbaar voor de ingestelde groep en andere gebruikers:
$ chmod -R go-r geheim/