basisbegrippen
A. wildcards
-
Hoe vind je
(kijken en vinden doe je metls)
in/usr/share/pixmaps
(dit is je path dat je plaatst voor de filenaam)
alle files die eindigen op.png
(hier heb je een wildcard*nodig dieallesvervangt dat voorafgaat aan.png
oplossing:$ ls /usr/share/pixmaps/*.png(je tikt het dollarteken niet in, dat staat er al)
Hoe vind je alle files die eindigen oppng
oplossing:$ ls *png
Is er een verschil?
ja, het tweede commando vindt ook files waarin zich geenpuntbevind, voor depngzoals bvb
dit-is-de-file-die-eindigt-op-png
-
Hoe vind je in
/etcalle files die eindigen opconf?
(we zoeken ook nu weer metlsin/etcnaar*(alles) dat eindigt opconf)
oplossing:$ ls /etc/*confZoek met
manvanlswat de optie-dbetekent.
(tik het volgende in: )$ man ls
(en zoek naar -d ....)
-d--directory -- list directories themselves, not their contents
(dit betekent dat als we de optie-dgebruiken bijlsdat alleen de directory-naam op scherm brengt, en niet de voledige inhoud ervan)
voorbeeld:$ ls -l /etc/cron.d -rw-r--r-- 1 root root 285 May 29 2017 anacron -rw-r--r-- 1 root root 100 Jan 17 2016 mailping -rw-r--r-- 1 root root 506 May 11 2018 munin-node -rw-r--r-- 1 root root 712 Jan 18 2018 php -rw-r--r-- 1 root root 137 Dec 20 2018 timeshift-hourly(in het voorbeeld hierboven zie je wat er in de directory zit ...)
$ ls -l -d /etc/cron.d drwxr-xr-x 2 root root 4096 Aug 27 09:44 /etc/cron.d(in het voorbeeld hierboven zien we de werking van -d: de gegevens van de directory zelf worden op scherm gebracht.)
Zoek nu opnieuw alle files die eindigen op
.confin/etcmet die optie-dbijls.
(als er nu directories in /etc zitten die eindigen op .conf, wordt niet hun inhoud op scherm gebracht maar alleen de gegevens van de directories zelf) -
Hoe vind je in
/etcalle files die op de tweede plaats de letter i hebben?(we moeten nu gebruik maken van de ? wildcard, die altijd EEn character vervangt. We zetten op de eerste plaats het vraagteken, daarna op de tweede plaats de letter i, zoals gevraagd, en vullen dan aan met
*voor om het even wat, na die letter i)
oplossing:$ ls /etc/?i*
B. path -
Ga naar jouw home directory. Dat doe je met één van de volgende mogelijkheden:
$cd$cd $HOME$cd ~
Tik vervolgens:
$pwd$ls
Daarna:
$cd /home$pwd$ls
Wat is het verschil tussen jouw home-directory (
/home/<jelogin>) en de directory/home?
(in de directory/homestaan de home-directories van de gebruikers. Jouw home directory is er ook zo EEn en mischien heet die wel/home/sandra. In/home/sandraheeft gebruiker sandra alle rechten, maar niet in/home, want die is van het systeem zelf -- een beetje zoals de directoryC:\Usersin windows. Als er in een oefening gevraagd wordt om te werken in JOUW home directory, moet sandra werken in/home/sandra, en altijd met de rechten die ze zelf heeft.
In de meeste oefeningen moet je werken in jouw home-directory) -
Start in jouw home directory. Maak er twee subdirs:
vuilbakendump$ cd $ mkdir vuilbak dumpWat is vanuit jouw home het relatief path naar
vuilbak?
( vuilbak )
Wat is het absoluut path naardump?
(/home/yourname/dump)Ga nu naar
vuilbak.
Welk commando gebruik je?
($ cd vuilbak)
Wat is nu je relatief path naardump?
(../dump)
Is het absoluut path veranderd?
(nee)Wat is het absoluut path naar
/etc?
(/etc)
Wat is vanuit jouw directory vuilbak het relatieve path naar/etc?
(../../../etc)
(als we EEn nivo achteruit gaan zitten we in je home-dir, twee nivo's en we zitten in/home, drie nivo's en we zitten in/, en dan moeten we nog naar`etc) -
Test het volgende:
cd ~/dump && pwddoe daarna
cd $HOME/vuilbak && pwdis
~/dumpeen absoluut of een relatief path?
(~/dumpis een absoluut path want de tilde verwijst absoluut naar je home directory)
is$HOME/vuilbakeen absoluut of een relatief path?
($HOME verwijst absoluut naar jouw home directory, en verwijst altijd naar een absoluut path)
(iets is relatief als het commando afhangt van de plaats waarop je je op dat ogenblik bevindt)
klik op deze link: meaning of tilde in linuxTot slot: waarvoor dient
&&(zoek dit op op het internet)
(In shell, when you see$ command one && command twothe intent is to execute the command that follows the && only if the first command is successful. It intends to prevent the running of the second process if the first fails.)
C. piping en redirection
-
Test het volgende:
ls -l /etc | head
ls -l /etc | tailtik dan:
cd $HOME
ls -l /etc > etc.dirkijk met
lsof je inderdaad een fileetc.dirhebt in je home directory.
gebruik vervolgens het commandofileopetc.dir.
Wat voor type file is dit?bekijk vervolgens dit bestand met
lessdaarna metmoreen dan metcatbekijk het bestand nogmaals maar deze keer met
head,tailentac.