Introductie
Deze zelfstudie, die de eerste is in een reeks die de basisprincipes van Linux leert, behandelt het aan de slag gaan met de terminal, de opdrachtregel van Linux, en het uitvoeren van commando’s. Als je nieuw bent met Linux, wil je jezelf vertrouwd maken met de terminal, omdat dit de standaard manier is om te communiceren met een Linux-server.
Als je het meeste uit deze zelfstudie wilt halen, heb je een Linux-server nodig om verbinding mee te maken en te gebruiken. Als je er nog geen hebt, kun je er snel een opzetten door deze link te volgen: Hoe maak je een DigitalOcean Droplet. Deze zelfstudie is geschreven voor een Ubuntu 22.04-server, maar de algemene principes zijn van toepassing op elke andere distributie van Linux.
Laten we beginnen door te bespreken wat een terminal-emulator is.
Terminal-emulator
A terminal emulator is a program that allows the use of the terminal in a graphical environment. As most people use an OS with a graphical user interface (GUI) for their day-to-day computer needs, the use of a terminal emulator is a necessity for most Linux server users.
Hier zijn enkele gratis, veelgebruikte terminal-emulators per besturingssysteem:
- Mac OS X: Terminal (standaard), iTerm 2
- Windows: ConEmu, Windows Terminal, PuTTy
- Linux: Gnome Terminal, Konsole, XTerm
Elke terminal emulator heeft zijn eigen set functies. Over het algemeen mag je verwachten dat een moderne terminal emulator tabbladvensters en tekstmarkering ondersteunt.
De Shell
In een Linux-systeem is de shell een opdrachtregelinterface die de opdrachten en scriptbestanden van een gebruiker interpreteert en aan het besturingssysteem van de server vertelt wat ermee moet gebeuren. Er zijn verschillende shells die veel worden gebruikt, zoals de Bourne-Again shell (bash
) en de Z shell (zsh
). Elke shell heeft zijn eigen functieset en complexiteiten met betrekking tot hoe opdrachten worden geïnterpreteerd, maar ze hebben allemaal invoer- en uitvoerdoorverwijzing, variabelen en voorwaardentesten, onder andere.
Deze tutorial is geschreven met behulp van de Bourne-Again shell, meestal aangeduid als bash
, die de standaard shell is voor de meeste Linux-distributies, waaronder Ubuntu, Fedora en RHEL.
De Opdrachtprompt
Wanneer je voor het eerst inlogt op een server, word je meestal begroet door het Message of the Day (MOTD), wat typisch een informatieve boodschap is met verschillende informatie zoals de versie van de Linux distributie waarop de server draait. Na de MOTD, kom je in de commandoregel, of shell-prompt, waar je commando’s naar de server kunt invoeren.
De informatie die wordt gepresenteerd bij de commandoregel kan worden aangepast door de gebruiker, maar hier is een voorbeeld van de standaard Ubuntu 20.04 commandoregel:
sammy@webapp:~$
Hier is een uitleg van de samenstelling van de commandoregel:
sammy
: De gebruikersnaam van de huidige gebruikerwebapp
: De hostnaam van de server~
: De huidige map. Inbash
, wat de standaard shell is, is de~
, of tilde, een speciaal karakter dat wordt uitgebreid naar het pad van de thuismap van de huidige gebruiker; in dit geval vertegenwoordigt het/home/sammy
$
: Het promptsymbool. Dit geeft het einde van de commandoregel aan, waarna de invoer van de gebruiker op het toetsenbord zal verschijnen
Hier is een voorbeeld van hoe de commandoregel eruit zou kunnen zien, als je ingelogd bent als root
en in de /var/log
map bent:
root@webapp:/var/log#
Merk op dat het symbool dat het commandoprompt beëindigt een #
is, wat het standaardpromptsymbool is voor root
. In Linux is de root
gebruiker het superuser-account, dat een speciaal gebruikersaccount is dat systeembrede beheerfuncties kan uitvoeren. Het is een onbeperkte gebruiker die toestemming heeft om elke taak op een server uit te voeren.
Opdrachten uitvoeren
Opdrachten kunnen worden uitgevoerd bij de opdrachtprompt door de naam van een uitvoerbaar bestand op te geven, wat een binair programma of een script kan zijn. Er zijn veel standaard Linux-opdrachten en hulpprogramma’s die zijn geïnstalleerd met het besturingssysteem, waarmee u door het bestandssysteem kunt navigeren, softwarepakketten kunt installeren en configureren en het systeem en toepassingen kunt configureren.
Een exemplaar van een uitgevoerde opdracht staat bekend als een proces. Wanneer een opdracht wordt uitgevoerd in de voorgrond, wat de standaardmanier is waarop opdrachten worden uitgevoerd, moet de gebruiker wachten tot het proces is voltooid voordat hij wordt teruggebracht naar de opdrachtprompt, waarna hij meer opdrachten kan blijven uitgeven.
Het is belangrijk om op te merken dat bijna alles in Linux hoofdlettergevoelig is, inclusief bestands- en mapnamen, opdrachten, argumenten en opties. Als iets niet werkt zoals verwacht, controleer dan de spelling en de hoofdlettergevoeligheid van uw opdrachten!
Hier zijn een paar voorbeelden die de basisprincipes van het uitvoeren van opdrachten zullen behandelen.
Opmerking: Als je nog niet bent verbonden met een Linux-server, is dit een goed moment om in te loggen. Als je een Linux-server hebt maar problemen hebt met verbinden, volg dan deze link: Hoe je verbinding maakt met je Droplet via SSH.
Zonder Argumenten of Opties
Om een opdracht uit te voeren zonder enige argumenten of opties, typ je de naam van de opdracht in en druk je op Enter
.
Als je een opdracht op deze manier uitvoert, zal deze zijn standaardgedrag vertonen, wat verschilt van opdracht tot opdracht. Bijvoorbeeld, als je het cd
-commando zonder argumenten uitvoert, keer je terug naar de home-directory van je huidige gebruiker. Het ls
-commando zal een lijst met bestanden en mappen in de huidige directory afdrukken. Het ip
-commando zonder argumenten zal een bericht afdrukken dat je laat zien hoe je het ip
-commando kunt gebruiken.
Probeer het ls
-commando uit te voeren zonder argumenten om de bestanden en mappen in je huidige directory op te sommen (er kunnen geen zijn):
Met Argumenten
Veel opdrachten accepteren argumenten of parameters, die het gedrag van een opdracht kunnen beïnvloeden. Bijvoorbeeld, de meest voorkomende manier om de cd
-opdracht te gebruiken is door deze een enkel argument te geven dat aangeeft naar welke map moet worden genavigeerd. Om bijvoorbeeld naar de map /usr/bin
te gaan, waar veel standaard opdrachten zijn geïnstalleerd, zou je deze opdracht uitvoeren:
cd /usr/bin
Het cd
-onderdeel is de opdracht, en het eerste argument /usr/bin
volgt op de opdracht. Let op hoe de huidige pad van je opdrachtprompt is bijgewerkt.
Probeer de ls
-opdracht uit te voeren om de bestanden te zien die zich in je nieuwe huidige map bevinden.
ls
Output…
grub-mkrescue sdiff zgrep
grub-mkstandalone sed zipdetails
grub-mount see zless
grub-ntldr-img select-editor zmore
grub-render-label semver znew
grub-script-check sensible-browser
Met Opties
De meeste opdrachten accepteren opties, ook wel vlaggen of schakelaars genoemd, die het gedrag van de opdracht kunnen wijzigen. Opties volgen op een opdracht en worden aangeduid met een enkel -
-teken gevolgd door een of meer opties, die worden voorgesteld door afzonderlijke hoofdletters of kleine letters. Sommige opties met meerdere woorden kunnen beginnen met --
, gevolgd door de vlagtekst.
Als voorbeeld van hoe opties werken, laten we eens kijken naar de ls
-opdracht. Hier zijn een paar veelvoorkomende opties die handig zijn bij het gebruik van ls
:
-l
: print een “lange lijst”, die extra details bevat zoals machtigingen, eigendom, bestandsgroottes en tijdstempels.-a
: lijst alle bestanden van een map op, inclusief verborgen bestanden (die beginnen met.
)
Om de -l
-vlag te gebruiken met ls
, gebruik deze opdracht:
Merk op dat de lijst dezelfde bestanden bevat als voorheen, maar met aanvullende informatie over elk bestand.
Zoals eerder vermeld, kunnen opties vaak worden gegroepeerd. Als je de -l
– en -a
-optie samen wilt gebruiken, zou je ls -l -a
kunnen uitvoeren, of ze gewoon combineren zoals in deze opdracht:
Merk op dat de lijst de verborgen .
en ..
mappen bevat, vanwege de -a
-optie.
Met Opties en Argumenten
Opties en argumenten kunnen vrijwel altijd worden gecombineerd bij het uitvoeren van opdrachten.
Bijvoorbeeld, je zou de inhoud van /home
kunnen controleren, ongeacht je huidige map, door deze ls
-opdracht uit te voeren:
ls -la /home
ls
is de opdracht, -la
zijn de opties, en /home
is het argument dat aangeeft welk bestand of welke map moet worden vermeld. Dit zou een gedetailleerde lijst van de /home
-map moeten afdrukken, die de thuismappen van alle normale gebruikers op de server moet bevatten.
Omgevingsvariabelen
Omgevingsvariabelen zijn benoemde waarden die worden gebruikt om te veranderen hoe commando’s en processen worden uitgevoerd. Wanneer je voor het eerst inlogt op een server, worden standaard enkele omgevingsvariabelen ingesteld volgens een paar configuratiebestanden.
Bekijk Alle Omgevingsvariabelen
Om alle omgevingsvariabelen die zijn ingesteld voor een specifieke terminalsessie te bekijken, voer je het env
-commando uit:
env
Er zal waarschijnlijk veel uitvoer zijn. Zoek naar de invoer PATH
:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
De PATH
-omgevingsvariabele is een dubbelepunt-gescheiden lijst van mappen waar de shell zal zoeken naar uitvoerbare programma’s of scripts wanneer een commando wordt uitgevoerd. Bijvoorbeeld, het env
-commando bevindt zich in /usr/bin
, en je kunt het uitvoeren zonder zijn volledige pad op te geven omdat het pad ervan in de PATH
-omgevingsvariabele staat.
Bekijk de Waarde van een Variabele
De waarde van een omgevingsvariabele kan worden opgehaald door de variabelenaam vooraf te laten gaan door een $
. Dit zal de gerefereerde variabele uitbreiden naar zijn waarde.
Om bijvoorbeeld de waarde van de PATH
-variabele af te drukken, kunt u het echo
-commando gebruiken:
echo $PATH
Of u kunt de HOME
-variabele gebruiken, die standaard is ingesteld op de home-directory van uw gebruiker, om naar uw home-directory te gaan zoals dit:
cd $HOME
Als u probeert toegang te krijgen tot een omgevingsvariabele die niet is ingesteld, wordt deze uitgebreid tot niets; een lege string.
Omgevingsvariabelen instellen
Nu u weet hoe u uw omgevingsvariabelen kunt bekijken, moet u leren hoe u ze kunt instellen.
Om een omgevingsvariabele in te stellen, hoeft u alleen maar te beginnen met een variabelenaam, gevolgd door onmiddellijk een =
-teken, gevolgd door de gewenste waarde:
VAR=value
Merk op dat als u een bestaande variabele instelt, de oorspronkelijke waarde zal worden overschreven. Als de variabele in de eerste plaats niet bestond, wordt deze aangemaakt.
Bash bevat een opdracht genaamd export
die een variabele exporteert zodat deze wordt overgeërfd door kindprocessen. Hierdoor kunt u scripts gebruiken die een geëxporteerde omgevingsvariabele vanuit uw huidige sessie refereren.
Je kunt ook bestaande variabelen refereren bij het instellen van een variabele. Bijvoorbeeld, als je een applicatie hebt geïnstalleerd in /opt/app/bin
, kun je dat directory toevoegen aan het einde van je PATH
-omgevingsvariabele met dit commando:
export PATH=$PATH:/opt/app/bin
Controleer nu of /opt/app/bin
is toegevoegd aan het einde van je PATH
-variabele met echo
:
echo $PATH
Houd er rekening mee dat het instellen van omgevingsvariabelen op deze manier ze alleen instelt voor je huidige sessie. Dit betekent dat als je uitlogt of naar een andere sessie overschakelt, de wijzigingen die je hebt aangebracht in de omgeving niet worden behouden. Er is een manier om omgevingsvariabelen permanent te wijzigen, maar dit zal worden behandeld in een latere tutorial.
Conclusie
Nu je bent begonnen met het leren over de Linux-terminal (en een paar commando’s), zou je een goede basis moeten hebben om je kennis van Linux-commando’s uit te breiden. Lees de volgende tutorial in deze serie om te leren hoe je bestanden en hun machtigingen kunt navigeren, bekijken en bewerken.
Source:
https://www.digitalocean.com/community/tutorials/an-introduction-to-the-linux-terminal