Bestanden manipuleren

In deze sectie hebben we het over kopiëren, knippen en plakken van bestanden en ook over het maken van directory’s. Voor die taken gebruik je onderstaande commando’s:

cp (copy)                  Kopieëer bestanden en directory's.
mv (move)                  Verplaats bestanden en directory's.
rm (remove)                Verwijder bestanden en directory's.
mkdir (make directory)     Maak een nieuwe directory aan.
rmdir (remove directory)   Verwijder een lege directory.

 

Je denkt misschien dat je tot nu toe alles wat je geleerd hebt ook kan met de GUI. Nu komt er echter verandering in. Het is namelijk heel moeilijk om bestanden te selecteren die aan bepaalde criteria voldoen als je enkel wil klikken. Maar in de terminal is de keuzemogelijkheid heel groot. Voor we echt overgaan naar het gebruik van de genoemde commando’s gaan we eerst wildcards bekijken.

 

Wildcards

Wildcards dienen om bestanden te selecteren zonder dat je de exacte naam opgeeft. Je selecteert dus bestanden die aan een bepaald patroon voldoen. We geven een samenvatting van de mogelijke wildcards:

* Om het even welk karakter en hoeveel.
? Eén willekeurig karakter.
[karakters] Eén karakter van de opgegeven karakter verzameling. Een verzameling kan je opgeven als [abc], dit is dan één enkele a, b of c. Je kan ook een voorgedefinieerde verzameling gebruiken.[:alnum:]: Alfanumerieke karakters
[:alpha:]: Letters
[:digit:]: Cijfers
[:upper:]: Hoofdletters
[:lower:]: Kleine letters
Bij een voorgedefinieerde verzameling moet je wel extra haakjes gebruiken. De code [:upper:] stelt de verzameling {u,p,e,r,:} voor terwijl de code [[:upper:]] de verzameling van alle hoofdletters voorstelt.
! Een uitroep teken dient om de vorige verzameling om te keren. Zo is [!abc] één enkel teken dat geen a, b of c is en [![:upper]] om het even welk karakter dat geen hoofdletter is.

 

Voorbeelden:

Je kan de volgende voorbeelden gemakkelijk uitproberen met het ls commando. Als je je in een grote directory bevind, zoals de /usr/bin directory kan je ieder voorbeeld testen door ls voor het voorbeeld te typen.

* Alle bestanden.
a* Ieder bestand dat begint met een a.
*t*.sh Ieder bestand met een t in de naam dat eindigd op .sh.
tclsh??? Ieder bestand dat begint met tclsh en gevolgd wordt door exact drie tekens.
tclsh[[:digit:]].[[:digit]] Ieder bestand dat begint met tclsh, gevolgd wordt door exact een cijfer, een puntje en nog eens één cijfer. Dergelijke constructies kan je gebruiken om versie-onafhankelijke kopieën te maken.
*[![:lower:]]
Ieder bestand dat niet eindigt op een kleine letter.