home       inleiding       sysadmin       services       links       bash       werk       nothing      

basisbegrippen


A. wildcards

  1. Hoe vind je
    (kijken en vinden doe je met ls )
     
    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 die alles vervangt 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 op png
     
    oplossing:$ ls *png
     
    Is er een verschil?
     
    ja, het tweede commando vindt ook files waarin zich geen punt bevind, voor de png zoals bvb
    dit-is-de-file-die-eindigt-op-png
     

  2. Hoe vind je in /etc alle files die eindigen op .conf?
     
    (we zoeken ook nu weer met ls in /etc naar * (alles) dat eindigt op .conf)
     
    oplossing: $ ls /etc/*.conf

    Zoek met man van ls wat de optie -d betekent.
    (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 -d gebruiken bij ls dat 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 .conf in /etc met die optie -d bij ls.
     
    (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)

  3. Hoe vind je in /etc alle 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

  4. 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 /home staan de home-directories van de gebruikers. Jouw home directory is er ook zo EEn en mischien heet die wel /home/sandra. In /home/sandra heeft gebruiker sandra alle rechten, maar niet in /home, want die is van het systeem zelf -- een beetje zoals de directory C:\Users in 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)

  5. Start in jouw home directory. Maak er twee subdirs:
    vuilbak en dump

    $ cd
    $ mkdir vuilbak dump

    Wat is vanuit jouw home het relatief path naar vuilbak?
    ( vuilbak )
    Wat is het absoluut path naar dump?
    (/home/yourname/dump)

    Ga nu naar vuilbak.
    Welk commando gebruik je?
    ($ cd vuilbak)
    Wat is nu je relatief path naar dump?
    (../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)

  6. Test het volgende:

    cd ~/dump && pwd

    doe daarna

    cd $HOME/vuilbak && pwd

    is ~/dump een absoluut of een relatief path?
     
    (~/dump is een absoluut path want de tilde verwijst absoluut naar je home directory)
     
    is $HOME/vuilbak een 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 linux

    Tot slot: waarvoor dient && (zoek dit op op het internet)
     
    (In shell, when you see $ command one && command two the 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

  1. Test het volgende:

    ls -l /etc | head
    ls -l /etc | tail

    tik dan:

    cd $HOME
    ls -l /etc > etc.dir

    kijk met ls of je inderdaad een file etc.dir hebt in je home directory.
    gebruik vervolgens het commando file op etc.dir.
    Wat voor type file is dit?

    bekijk vervolgens dit bestand met less daarna met more en dan met cat

    bekijk het bestand nogmaals maar deze keer met head, tail en tac.