Hoe beheer ik bestanden en mappen met Linux?

Met Linux kunt u op een efficiënte en veilige manier uw bestanden beheren. Om verbinding te maken met uw virtuele server logt u in via SSH. Hierna kunt u op uw virtuele server in de zogeheten command line (ook wel shell genoemd) verschillende korte en gemakkelijk te onthouden commando's uitvoeren om uw bestanden te beheren. In deze handleiding leggen we uit hoe u de belangrijkste commando's kunt gebruiken.

De inhoud van een map bekijken

Stel dat er in de map /root bijvoorbeeld drie bestanden en één map zitten, respectievelijk .testtest, test1, test2 en temp. U bekijkt de inhoud van deze map met het commando dir of ls (dir is een alias van ls):

# ls /root
temp test1 test2

ls is handig om even snel in een map te kijken, maar behalve de namen van bestanden en mappen kunt u er niet veel informatie uit opmaken. U kunt bijvoorbeeld niet zien of temp een bestand of een map is. Tevens is het bestand .testtest niet te zien. Op deze manier krijgt u meer informatie over de inhoud van de map:

# ls -la /root
total 12
drwxr-xr-x  3 root root 4096 Jan 1 12:00 .
drwxr-xr-x 13 root root 4096 Jan 1 12:00 ..
drwxr-xr-x  2 root root 4096 Jan 1 12:00 temp
-rw-r--r--  1 root root    0 Jan 1 12:00 .testtest
-rw-r--r--  1 root root    0 Jan 1 12:00 test1
-rw-r--r--  1 root root    0 Jan 1 12:00 test2

Zoals u ziet krijgt u nu wel het bestand .testtest te zien. Tevens kunt u nu mappen herkennen: als de waarde in de linkerkolom begint met de letter "d". De mappen genaamd "." en ".." zijn verwijzigingen naar respectievelijk de map waar u zich nu in bevindt en bovenliggende map. Voor meer informatie over dit overzicht, zie de Wikipedia-pagina over ls.

N.B.: u kunt ook ls gebruiken om de inhoud van de map te bekijken waar u zich op dat moment in bevindt. U hoeft dan niet achter het commando het pad op te geven naar de map waar in de inhoud van wil bekijken:

# ls
temp test1 test2 
# ls -la
total 12
drwxr-xr-x  3 root root 4096 Jan 1 12:00 .
drwxr-xr-x 13 root root 4096 Jan 1 12:00 ..
drwxr-xr-x  2 root root 4096 Jan 1 12:00 temp
-rw-r--r--  1 root root    0 Jan 1 12:00 .testtest
-rw-r--r--  1 root root    0 Jan 1 12:00 test1
-rw-r--r--  1 root root    0 Jan 1 12:00 test2

Door mappen bladeren

Zodra u eenmaal "in" een map zit kunt u andere commando's uitvoeren om bijvoorbeeld de inhoud van de map te bekijken of bestanden te wijzigen. Bij het beheren van bestanden en mappen in Linux bent u daarom dus constant bezig om van map te wisselen. U kunt door mappen bladeren met het commando cd. Zo gaat u bijvoorbeeld naar de map /root/temp:

# cd /root/temp

Als u nu naar de bovenliggende map /root wilt gaan kunt u dit doen:

# cd ..

Met cd hoeft u niet altijd het volledige pad naar een bestand op te geven. Wanneer een map een submap is van de map waar u zich op moment in bevindt kunt gewoon de naam van de map gebruiken. Dus in ons voorbeeld, nu we in de map /root zitten en naar de submap temp willen gaan:

# cd temp

Nieuw bestand of nieuwe map aanmaken

U kunt heel gemakkelijk een nieuw bestand aanmaken met het commando touch. Als u daarna ls uitvoert ziet u het bestand erbij staan. In ons voorbeeld, als we eerst met cd in de map /root gaan, dan ziet het er als volgt uit:

# cd /root
# touch nieuwbestand
# ls -la
total 12
drwxr-xr-x  3 root root 4096 May 10 14:24 .
drwxr-xr-x 13 root root 4096 May 10 10:28 ..
-rw-r--r--  1 root root    0 May 10 14:24 nieuwbestand
drwxr-xr-x  2 root root 4096 May 10 14:23 temp
-rw-r--r--  1 root root    0 May 10 10:36 test1
-rw-r--r--  1 root root    0 May 10 10:36 test2
-rw-r--r--  1 root root    0 May 10 11:42 .testtest

Een nieuwe map kunt u aanmaken met mkdir.

# cd /root
# mkdir nieuwemap
# ls -la
total 16
drwxr-xr-x  4 root root 4096 May 10 14:27 .
drwxr-xr-x 13 root root 4096 May 10 10:28 ..
-rw-r--r--  1 root root    0 May 10 14:24 nieuwbestand
drwxr-xr-x  2 root root 4096 May 10 14:27 nieuwemap
drwxr-xr-x  2 root root 4096 May 10 14:23 temp
-rw-r--r--  1 root root    0 May 10 10:36 test1
-rw-r--r--  1 root root    0 May 10 10:36 test2
-rw-r--r--  1 root root    0 May 10 11:42 .testtest

Kopieren

Met het commando cp kunt u bestanden kopiëren. Nadat u het commando heeft aangeroepen geeft u eerst de locatie op van het originele bestand, vervolgens de locatie van de kopie. Als u de kopie in dezelfde map wilt plaatsen dient u er zelf zorg voor te dragen dat de kopie een andere naam krijgt. In ons voorbeeld kopiëren we het bestand test2 uit de map /root naar de map /root/nieuwemap.

# cp /root/test2 /root/nieuwemap/test2
# ls -la /root/nieuwemap
total 8
drwxr-xr-x 2 root root 4096 May 10 16:19 .
drwxr-xr-x 4 root root 4096 May 10 14:27 ..
-rw-r--r-- 1 root root    0 May 10 16:19 test2

Als u nu een kopie genaamd test3 wilt maken, van het bestand test2 dat zich bevindt in /root/nieuwemap, terwijl u met cd al de map /root/nieuwemap hebt geopend, doet u dat zo:

# cd /root/nieuwemap
# cp test2 test3
# ls -la 
total 8
drwxr-xr-x 2 root root 4096 May 10 16:25 .
drwxr-xr-x 4 root root 4096 May 10 14:27 ..
-rw-r--r-- 1 root root    0 May 10 16:19 test2
-rw-r--r-- 1 root root    0 May 10 16:25 test3

Verplaatsen

Met het commando mv kunt u bestanden naar een andere map verplaatsen. Nadat u het commando heeft aangeroepen geeft u eerst de locatie op van het bestand dat u wilt verplaatsen. Vervolgens geeft u de nieuwe locatie op. In ons voorbeeld verplaatsen we het bestand test3 uit de map /root/nieuwemap naar /root.

# mv /root/nieuwemap/test3 /root/test3
# ls -la /root
total 16
drwxr-xr-x  4 root root 4096 May 10 16:33 .
drwxr-xr-x 13 root root 4096 May 10 16:33 ..
-rw-r--r--  1 root root    0 May 10 14:24 nieuwbestand
drwxr-xr-x  2 root root 4096 May 10 16:33 nieuwemap
drwxr-xr-x  2 root root 4096 May 10 14:23 temp
-rw-r--r--  1 root root    0 May 10 10:36 test1
-rw-r--r--  1 root root    0 May 10 10:36 test2
-rw-r--r--  1 root root    0 May 10 16:25 test3
-rw-r--r--  1 root root    0 May 10 11:42 .testtest

Hernoemen

Met het commando mv kunt u ook bestanden een andere naam geven. Nadat u het commando heeft aangeroepen geeft u eerst de locatie op van het bestand dat u een andere naam wilt geven. Vervolgens geeft u dezelfde locatie op, alleen verandert u dan wel de naam van het bestand. In ons voorbeeld hernoemen we het bestand test3 uit de map /root naar /root/test3a.

# mv /root/test3 /root/test3a
# ls -la /root
total 16
drwxr-xr-x  4 root root 4096 May 10 16:35 .
drwxr-xr-x 13 root root 4096 May 10 16:33 ..
-rw-r--r--  1 root root    0 May 10 14:24 nieuwbestand
drwxr-xr-x  2 root root 4096 May 10 16:33 nieuwemap
drwxr-xr-x  2 root root 4096 May 10 14:23 temp
-rw-r--r--  1 root root    0 May 10 10:36 test1
-rw-r--r--  1 root root    0 May 10 10:36 test2
-rw-r--r--  1 root root    0 May 10 16:25 test3a
-rw-r--r--  1 root root    0 May 10 11:42 .testtest

U kunt ook met cd eerst een map openen en vervolgens heel gemakkelijk een bestand in die map een andere naam geven zonder de volledige paden ernaar toe op te geven:

# cd /root
# mv test3a test4
# ls -la /root
total 16
drwxr-xr-x  4 root root 4096 May 10 16:35 .
drwxr-xr-x 13 root root 4096 May 10 16:33 ..
-rw-r--r--  1 root root    0 May 10 14:24 nieuwbestand
drwxr-xr-x  2 root root 4096 May 10 16:33 nieuwemap
drwxr-xr-x  2 root root 4096 May 10 14:23 temp
-rw-r--r--  1 root root    0 May 10 10:36 test1
-rw-r--r--  1 root root    0 May 10 10:36 test2
-rw-r--r--  1 root root    0 May 10 16:25 test4
-rw-r--r--  1 root root    0 May 10 11:42 .testtest

N.B.: u kunt overigens ook tegelijkertijd een bestand verplaatsen en hernoemen.

Bestanden en mappen verwijderen

Bestanden en mappen kunt u verwijderen met het commando rm. In ons voorbeeld verwijderen we test4 uit de map /root:

# rm /root/test4
# ls -la /root
total 16
drwxr-xr-x  4 root root 4096 May 10 16:35 .
drwxr-xr-x 13 root root 4096 May 10 16:33 ..
-rw-r--r--  1 root root    0 May 10 14:24 nieuwbestand
drwxr-xr-x  2 root root 4096 May 10 16:33 nieuwemap
drwxr-xr-x  2 root root 4096 May 10 14:23 temp
-rw-r--r--  1 root root    0 May 10 10:36 test1
-rw-r--r--  1 root root    0 May 10 10:36 test2
-rw-r--r--  1 root root    0 May 10 11:42 .testtest

We kunnen ook in één keer meerdere bestanden verwijderen, bijvoorbeeld zowel /root/nieuwbestand en /root/.testtest als alle bestanden in /root waarvan de bestandsnaam begint met test. Dit doen we door achter test een * te typen, dat is een zogeheten wildcard:

# rm /root/nieuwbestand /root/.testtest /root/test*
# ls -la /root
total 16
drwxr-xr-x  4 root root 4096 May 10 16:45 .
drwxr-xr-x 13 root root 4096 May 10 16:33 ..
drwxr-xr-x  2 root root 4096 May 10 16:33 nieuwemap
drwxr-xr-x  2 root root 4096 May 10 14:23 temp

Tenslotte is het ook mogelijk om gehele mappen inclusief alle bijbehorende bestanden en eventueel onderliggende submappen in één keer te verwijderen.

# rm -Rf /root/nieuwemap /root/temp
# ls -la /root
total 16
drwxr-xr-x  4 root root 4096 May 10 16:45 .
drwxr-xr-x 13 root root 4096 May 10 16:33 ..