Welkom bij de cursus Shell voor beginners. Leuk dat je Shell wilt gaan gebruiken en met deze cursus aan de slag wilt gaan. In deze cursus zullen enkele basic commando’s besproken worden waar elke Shell beginner wat aan heeft.

Wat is Shell?

Een shell is een interactief computerprogramma waarmee een gebruiker met een command-line-interface opdrachten kan geven aan het besturingssysteem van een computer.

SSH (Secure Shell) maakt het mogelijk om op een versleutelde manier in te loggen op een andere computer en op afstand commando’s op de andere computer uit te voeren via een shell. Omdat SSH met encryptie werkt, is het voor eventuele afluisteraars, die de (internet)verbinding aftappen, zo goed als onmogelijk om wachtwoorden of commando’s te achterhalen.

Byte heeft een eigen schaalbaar shell systeem ontwikkeld en in gebruik genomen. Dit shell systeem werkt naadloos samen met onze clusterhosting en Magento hosting. Met een SSH account, ook wel shell genoemd, heb je directe toegang tot je bestanden. Je hoeft dus niet zoals bij FTP eerst de bestanden te downloaden naar de lokale computer voordat je deze kunt bewerken. Bovendien kun je applicaties en scripts direct op ons cluster uitvoeren.

Wat kan ik hier mee?

  • Een handige manier om snel unix commando’s uit te voeren
  • Een handige manier om direct je files te bewerken of onderhoud uit te voeren aan je site

Shell toegang aanzetten

Als eerst is het handig om in ieder geval bij je eigen domein Shell toegang aan te zetten (anders komen we niet verder). Deze instelling kun je vinden via het Service Panel. Je gaat hiervoor naar het tabblad Instellingen en daar zie je de knop “Shell Toegang”.

Je ziet hier dat SSH toegang momenteel Uitgeschakeld is. Deze dien je te wijzigen naar Ingeschakeld met SSH Keys en wachtwoord. Hiermee geef je aan dat je SSH toegang wilt hebben. Als je dan even naar een ander tabbad gaat en dan weer terug gaat naar het vorige scherm, zie je dat er drie verschillende waarden nu staan; server(hostname), gebruikersnaam en Wachtwoord Technisch Beheerder. Hoe je hiermee precies kunt inloggen kun je vinden op de volgende pagina .

Kijken en navigeren in Shell

Commando pwd

Je bent nu ingelogd in de Shell server van Byte. Maar wat kan ik hier nu mee? Om te beginnen is het handig om te weten in welke map je je nu bevindt. Hiervoor gebruiken we het pwd commando:

pwd

Als output krijg je dan /home/users/domeinftp te zien. Je bevind je dus in de root van de FTP server.

Commando ls

Het is echter ook handig om precies te weten welke bestanden/mappen zich in deze directory bevinden, zodat je verder kunt navigeren door het systeem. Hiervoor gebruiken we het ls commando:

ls

Als output krijg je een lijst te zien van de bestanden en mappen die er in de huidige directory staan. Het volgende commando kun je gebruiken om ook alle . bestanden (verborgen bestanden zoals .htaccess) te zien en details te zien van alle andere mappen/bestanden.

ls -la

Zo kun je de permissies van de bestanden zien, de datum wanneer de bestanden zijn aangemaakt, hoe groot de bestanden/mappen zijn, en welke user ze heeft aangemaakt.

Met de volgende commando’s geef je bestanden weer die een .php extensie hebben, en de bestanden die in mappen staan die beginnen met test en eindigen met test.

ls * .phpls test*ls *test

Commando cd

Nu we geleerd hebben hebben om te kijken wat er precies in een bepaalde directory staat, is het tijd om te leren hoe je kunt navigeren door alle mappen en bestanden. Hiervoor gebruiken we het cd commando.

Stel, ik wil eens kijken wat er allemaal gebeurd in mijn domeinnaam.nl map. Aangezien je deze map net zag in je root kunnen wij hier gemakkelijk naar navigeren.

cd domeinnaam.nl

Door weer gebruik te maken van ls kun je weer de inhoud van deze directory bekijken. Stel dat we een Joomla installatie hebben gedaan op ons domein, dan zien we nu dus allerlei mappen en bestanden staan. Uit nieuwsgierigheid gaan we eens een kijkje nemen in de administrator map:

cd administrator

Nou, ik vind deze map toch niet zo boeiend. Laten we terug gaan naar de vorige map:

cd ..

We kunnen echter ook in 1 keer naar de administrator map navigeren zonder map voor map te navigeren. Dit gaat zo:

cd domeinnaam.nl/administrator

Werken met mappen en bestanden (deel 1)

Commando mkdir/rm -r/rmdir

Met het commando mkdir kun je een nieuwe directory/map aanmaken. Als voorbeeld maken we een map genaamd test aan:

mkdir test

Je hebt nu een nieuwe map aangemaakt. Als je deze weer wilt verwijderen gebruik je het commando rm -r:

rm -r test

Zoals je ziet is de map weer verwijderd. Je kunt eventueel ook het commando rmdir gebruiken, alleen deze zal geen map verwijderen als er nog bestanden in deze map staan.

rmdir test

Commando nano

Zo dat was dan het navigeren door de mappen. Zullen we eens wat leuks met bestanden gaan doen? We gaan een bestand bewerken. Hiervoor gebruik je het commando nano.

nano index.html

Voor het gemak mag je de volgende tekst erin zetten:

<html><head><title>Always Be A Samurai Pizza Cat</title></head><body>Always Be Yourself!<br>UNless You Can Be A Samurai Pizza Cat :-)<br>Then Always Be A Samurai Pizza Cat xD</body></html>

Als de tekst erin staat druk je op CTRL X (hiermee sluit je nano af). Je wordt dan gevraagd of je de invoer wilt opslaan, druk hiervoor op Y. Je wordt nu gevraagd of je de naam van het bestand index.html wilt noemen. Druk maar gewoon op ENTER om het bestand aan te maken. Mooi, we hebben nu een eigen gemaakt index.html bestand.

Commando cp

We gaan nu een kopie maken van het index.html en deze verplaatsen naar de map test. Hiervoor dien je deze map eerst weer even aan te maken. Het kopieren en verplaatsen gaat als volgt:

cp index.html test

Nu is dit bestand gekopieerd en de kopie ervan is verplaatst naar de map test. We kunnen echter ook een kopie van het bestand maken en deze meteen een naam geven (deze blijft dan in de huidige directory staan).

cp index.html hoi.html

Commando mv

Met het commando mv kun je een bestand verplaatsen van de ene map naar de andere map. In het voorbeeld verplaatsen we een index.html naar de map test:

mv index.html test

Je kunt zelfs met het mv commando de naam van een bestand wijzigen:

mv index.html hoi.html

Kort samengevat

pwd                   Hiermee kun je de precieze URL achterhalen waar je nu navigeert.  ls                    Laat een lijst van alle mappen/bestanden in de huidige dir zien ls -a                 Laat behalve de mappen en bestanden ook bestanden beginnend met                       . zien (.htaccess bijv.)ls woord*             Laat de bestanden zien die beginnen met woordls *woord             Laat de bestanden zien die eindigen met woord ls -l                 Laat de bestanden/mappen zien van de huidige directory met detailsls -lh                Laat de bestanden/mappen zien van de huidige directory met details                         (duidelijker)cd locatie            Directory wijzigen waar je in navigeertcd .                  Huidige directorycd ..                 Directory boven de huidige directorycd map/map            Hiermee ga je rechtstreeks naar een specifieke map in je webruimtemkdir                 Nieuwe directory aanmakenrm bestand            Bestand verwijderen in de huidige directoryrm -r map             Map verwijderen in de huidige directoryrm dir map            Hiermee kun je een map verwijderen in de huidige dir mits ie                       leeg isnano bestand          Nieuw bestand aanmaken wat je meteen edit of bestaand bestand               aanpassen         cp bestand            Kopieer een bestandcp bestand1 bestand2  Kopieer een bestand1 en noem deze bestand2cp bestand dir        Kopieer een bestand en verplaats deze naar een specifieke dirmv bestand1 bestand2  Hiermee kun je ook de naam van een bestand wijzigenmv bestand dir        Hiermee kun je een bestand naar een specifieke dir verplaatsen
00