Linux – Shell enzo… deel 2
Zo, na het eerste deel van Linux – Shell enzo kunnen we eindelijk beginnen aan het echte werk. Het werken met de shell! In deel 1 hebben we in vogelvlucht gekeken naar de opbouw van Linux, kennis die de komende posts zeker van pas komt. Voordat we echt aan de slag gaan met commando’s is het goed om de opbouw van een commando te begrijpen en om de hier onderstaande Bash tips door te nemen. Deze tips maken het werken en navigeren in Bash een stuk gemakkelijker.
Commando opbouw
Als je werkt met commando’s dan zijn er een aantal tips belangrijk om te onthouden. Deze zijn:
- Command:
Een commando is het commando dat gebruikt kan worden in Bash om iets te laten gebeuren. Een commando voert een speciale applicatie of handeling uit.#yum –y install postgresql.x86_64 Command: yum
- Command line:
De command line is het volledige commando. Dus alles wat op 1 commandoregel wordt ingevoerd alvorens de gebruiker op ENTER drukt. De command line wordt vaak voor het gemak ook simpelweg “command” genoemd.#yum –y install postgresql.x86_64 Command line: yum –y install postgresql.x86_64
- Argument:
Een argument is een stukje informatie welke je meestuurt met een handeling of naar een commando. In het commando “mkdir /pad/naar/directory” is “mkdir” het commando en “/pad/naar/directory” is het “argument”.#yum –y install postgresql.x86_64 Argument: postgresql.x86_64
- Keys / Options:
Een commando ondersteund vaak meerdere keys / options. Deze worden vaak toegevoegd met een “-” (single character key) of met “–” (multi character key). Een key of option is een toevoeging op het commando om de werking van het commando te beïnvloeden of om meer informatie van het commando te verkrijgen.#yum –y install postgresql.x86_64 Keys / Options: –y en install
Bash Tips
Up (↑) and Down (↓) arrow:
De pijltjes worden gebruikt om terug te zoeken in vorige commando’s. Het pijltje omhoog gaat bij iedere klik een stap terug in de geschiedenis en bij elke klik zie je dus het vorige commando dat je gebruikt hebt. Dit is fantastisch om snel commando’s te gebruiken die je kort voorheen gebruikt hebt. Het pijltje omlaag bladert weer terug in de geschiedenis van commando’s en laat de commando’s dus weer zien van oud naar jong. Om alle voorheen gebruikte commando’s te bekijken kun je de “commando geschiedenis lijst” openen met het “histroy” commando.
CTRL+R:
Als je een commando al eens gebruikt hebt maar gedeeltelijk vergeten bent dan kun je deze uiteraard opzoeken middels het “history” commando. Je kunt het commando ook zoeken door de sneltoets CTRL+R te gebruiken. Als je op CTRL+R drukt opent zich een zoekvenster. Hier kun je beginnen met het zoeken naar het commando. Elke letter die je intypt vormt een commando dat je voorheen gebruikt hebt. Als je het juiste commando gevonden hebt dan druk je op ENTER om het commando uit te voeren.
TAB:
De TAB button is een hele waardevolle button. De TAB button maakt namelijk het commando af. Als je op de TAB button klikt en er is slechts 1 commando mogelijk dan vult de TAB button het commando automatisch in. Als er meerdere opties zijn dan krijg je een lijst met mogelijke commando’s.
user + TAB resulteert namelijk in een lijst met:
- useradd
- userdel
- usermod
- users
usera + TAB resulteert in het commando “useradd”.
!$
Het “!$” commando is een commando om het argument aan te roepen van het vorige commando. Als het vorige commando “mkdir /pad/naar/directory” is dan zal het commando “cd !$” je naar dit pad toebrengen. Want feitelijk zeg je dus “cd /pad/naar/directory”.
!!
De dubbele uitroeptekens herhalen het vorige commando.
&&
Het koppelen van commando’s. Nadat het eerste commando is uitgevoerd wordt het commando uitgevoerd na de “&&” tekens.
cat /etc/*-release
Vindt huidige Linux distributie + versie
Reguliere Expressie
Reguliere Expressie is systeemcode om bulkhandelingen snel en efficiënt uit te voeren. Binnen Bash kun je reguliere expressie toepassen (en dit zullen we ook doen in latere posts). Een tijd geleden heb ik een speciale post geschreven over reguliere expressie. Dus als je interesse hebt in reguliere expressie bekijk dan deze post en pas het toe in Bash.
Bash sneltoetsen:
Tijdens het invoeren van een commando kunnen ook diverse handige sneltoetsen gebruikt worden. Een aantal van deze zijn:
- CTRL+A
Spring naar het begin van je command line. - CTRL+E
Spring naar het einde van je command line. - CTRL+U
Knip alles voor de cursor naar een speciaal clipboard (klembord). Deze content is weer te plakken door CTRL+Y te gebruiken. - CTRL+K
Knip alles achter de cursor naar een speciaal clipboard (klembord). Deze content is weer te plakken door CTRL+Y te gebruiken. - CTRL+T
Wisselt de 2 karakters voor de cursor met elkaar. “mkdri” wordt dan “mkdir”. - CTRL+W
Verwijders het woord voor de cursor. - CTRL+L
Schoont het scherm op (clear).
De eerste Bash commando’s
Eindelijk gaan we dan echt werken in Bash. De commando’s in dit hoofdstuk zijn simpele commando’s die te maken hebben met Bash in het algemeen.
clear
Het “clear” commando maakt het scherm leeg en schoon zodat je weer overzicht hebt.
echo
Het “echo” commando laat je input op het scherm zien. “echo hallo” zal resulteren in de output “hallo”. Met een wildcard wordt het anders: “echo *” zal alle subdirectories en files laten zien (t.o.v. de huidige dir). Eigenlijk hetzelfde als “ls” maar ongestructureerd (als platte tekst). “echo [[:upper:]]*” zal alle directories en files laten zien die met een hoofdletter beginnen. Rekenen kan ook door de som te plaatsen tussen “$((SOM))”. Dus “echo $((2+2))”. Een som kan ook uit meerdere tussenresultaten bestaan. Bijvoorbeeld: “echo $(((2+2) +3))”. Je kunt ook de output laten herhalen middels braces. Braces worden tussen {} geplaatst. Linux genereert automatisch de output. B.v.:
- echo {aa,bb,cc,dd}
aa bb cc dd - echo {0..12}
0 1 2 3 4 5 6 7 8 9 10 11 12 - echo {3..-2}
3 2 1 0 -1 -2 - echo {a..g}
a b c d e f g - echo {g..a}
g f e d c b a
help en –help
De help commando’s zijn ervoor om je te helpen en meer informatie te geven over het commando of programma. Hulp van builtin shell commands worden opgevraagd als “help cd”. Hulp voor een executable wordt opgevraagd met de –help toevoeging. Dus “mkdir –help”.
man
Een andere methode om meer informatie op te vragen van sommige executable programma’s is het opvragen van de ingebouwde handleiding (MANual). Deze kan bekeken worden middels het “man” commando. Het commando wordt dan: “man mkdir”. Met de q button kun je de manual weer verlaten.
man mkdir |
file
Het commando “file” laat het type bestand zien.
file %filename% |
type
Laat het type commando zien. Er zijn 4 types, namelijk:
- Executable (programma’s)
- Shell command
- Shell functie (o.a. voor het maken van je eigen environment)
- Alias. Een alias is een afgeleide van een ander commando.
#type kill
kill is a shell builtin |
which
Dit commando laat de locatie van de executable zien. Dit werkt niet voor aliassen of builtins.
#which pwd /bin/pwd |
Conclusie
Met deze algemene commando’s besluiten we deel 2 van Linux – Shell enzo. In deel 3 gaan we in op het werken met directories en het updaten van Linux. Stay tuned…