Heb je ooit een opdracht uitgevoerd in Bash en een foutmelding gekregen vanwege een verkeerd gespelde woord? Of ben je misschien de laatste drie opdrachten vergeten die je hebt uitgevoerd? In plaats van vorige opdrachten opnieuw te schrijven of te onthouden, kan het Bash fc
-commando helpen bij het snel bewerken en opnieuw uitvoeren van eerdere opdrachten.
In dit artikel leer je hoe je fc
kunt gebruiken om opdrachten te bewerken en opnieuw uit te voeren vanuit je opdrachtgeschiedenis. Na het lezen van deze handleiding hanteer je fc
als de commandoregelkrijger die je wilt zijn!
Vereisten
Deze handleiding is een tutorial. Als je van plan bent om stap voor stap mee te doen, heb je een Linux-computer nodig of een Windows 10-computer met Windows Subsystem for Linux (WSL) ingeschakeld. Deze tutorial maakt gebruik van Ubuntu 20.04 LTS.
Over het Bash fc
-commando
fc
is geen Linux-toepassing, maar een ingebouwd shell-hulpprogramma in Bash. Bash is beschikbaar in de meeste belangrijke Linux-distributies. Met een paar toetsaanslagen stelt het Bash fc
-commando je in staat om vorige opdrachten te bekijken, bewerken of uit te voeren.
De
fc
-opdracht is ook beschikbaar in de Z-shell (ZSH). Maar het voorbeeld in dit artikel zalfc
in Bash gebruiken.
Heb je een lange opdracht uitgevoerd die achteraf onjuist bleek te zijn? Met fc
hoef je de hele opdracht niet opnieuw in te typen. In plaats daarvan stelt fc
je in staat om de opdracht te bewerken met de teksteditor van jouw keuze. Na het opslaan van je wijzigingen wordt de bewerkte opdracht automatisch uitgevoerd!
Klaar om fc
uit te proberen? Laten we erin duiken!
Vorige opdrachten vermelden
Ben je weggegaan van je computer, weer teruggekomen en vergeten welke opdracht je als laatste hebt uitgevoerd? Of kun je je niet herinneren of je meerdere opdrachten in de juiste volgorde hebt uitgevoerd. Wat doe je? Geen zorgen, fc
zal je helpen herinneren. Hier is hoe.
1. Open een Bash-terminal op je computer.
2. Om fc
goed te laten werken, moet het enige vorm van opdrachtgeschiedenis hebben om mee te werken. Aangezien je zojuist een nieuw terminalvenster hebt geopend, is er mogelijk nog geen opdrachtgeschiedenis. Om een opdrachtgeschiedenis op te bouwen voor testdoeleinden, kopieer je elke onderstaande opdracht en voer je deze uit in je terminal. Deze opdrachten zijn niet-ingrijpend en brengen je computer niet in gevaar.
3. Volgende, lijst alle commando’s in de geschiedenis door het onderstaande commando uit te voeren. De -l
optie instrueert fc
om alleen alle eerdere commando’s op te sommen en ze niet uit te voeren.
Zoals je hieronder kunt zien, toonde het fc
commando alle vier commando’s die je eerder hebt uitgevoerd. De nummers aan de linkerkant geven de volgorde aan waarin je elk commando hebt uitgevoerd.

Het bewerken en opnieuw uitvoeren van het laatste commando
Stel je een situatie voor waarin je een toepassing installeert en een spelfout maakt. Als gevolg hiervan mislukt het commando. In plaats van het hele commando opnieuw in te typen, waarom bewerk je het commando niet en voer je het automatisch opnieuw uit? Volg deze stappen om dit te doen.
1. Simuleer het installeren van een niet-bestaande toepassing door het onderstaande commando uit te voeren in je terminal. Let op dat je opzettelijk de naam van de toepassing verkeerd spelt caffiene
.
Als gevolg hiervan mislukt de poging tot installatie. Je krijgt een bericht vergelijkbaar met het onderstaande.

2. Om het laatste commando dat je hebt uitgevoerd te corrigeren, voer je het onderstaande commando uit in de terminal. Hierdoor wordt de commandogeschiedenisbuffer geopend in de standaardteksteditor. In dit voorbeeld is de standaardteksteditor nano.
De onderstaande schermafbeelding toont het laatste commando binnen de nano-editor.

Als nano niet uw voorkeur heeft als teksteditor, kunt u
fc
instrueren om een andere editor te gebruiken, zoals vi. Voeg hiervoor de optie-e
toe gevolgd door de naam van de teksteditor. Bijvoorbeeld,fc -e vi
opent de opdrachtgeschiedenis in de vi teksteditor.
3. Zodra u zich in de nano teksteditor bevindt, corrigeer dan de spellingsfout in de toepassingsnaam van caffiene
naar caffeine
.
4. Na het corrigeren van de toepassingsnaam, druk op CTRL+X
om nano af te sluiten.
5. Bij de volgende prompt die vraagt om Gewijzigde buffer opslaan?, druk op Y
—> Enter
om de wijzigingen op te slaan.

Direct nadat u de teksteditor heeft afgesloten, voert fc
automatisch de opdracht uit die u heeft bewerkt.

Een eerdere opdracht bewerken en opnieuw uitvoeren
Met fc
kunt u niet alleen de laatste opdracht die u hebt uitgevoerd bewerken, maar u kunt ook een van de eerdere opdrachten bewerken die u heeft uitgevoerd. Om bijvoorbeeld de opdracht echo 'werken op de opdrachtregel met fc'
te bewerken, volgt u deze stappen.
1. Lijst de vorige opdracht in de terminal op door de volgende opdracht uit te voeren.
2. Zoek de opdracht die u wilt bewerken in de lijst met opdrachtgeschiedenis en noteer het nummer links ervan. In dit voorbeeld is het opdrachtnummer 2.

3. Om de opdracht met het invoernummer van 2 te bewerken, voert u de volgende opdracht uit in de terminal. De opdracht wordt geopend in de teksteditor voor bewerking.
4. Eenmaal in de teksteditor, bewerk nu de opdracht zoals nodig.
5. Nadat je de opdracht hebt bewerkt, druk op CTRL+X
om nano af te sluiten.
6. Bij de volgende prompt waarin wordt gevraagd om het gewijzigde buffer op te slaan, druk op Y
—> Enter
om de wijzigingen op te slaan.

Na het opslaan van de opdracht en het afsluiten van de teksteditor, wordt de opdracht die je hebt bewerkt automatisch uitgevoerd in de shell.
Bewerken en opnieuw uitvoeren van meerdere opdrachten
Als je denkt dat fc
alleen maar één vorige opdracht tegelijk kan bewerken en uitvoeren, dan heb je het mis. Waarom? fc
staat je ook toe om meerdere vorige opdrachten te bewerken! Waarom is het bewerken van meerdere vorige opdrachten handig? Ten eerste kun je de volgorde van de uitvoering van opdrachten wijzigen.
Stel dat je de vorige opdrachten 2 tot 7 wilt bewerken. Volg dan deze stappen.
1. Voer de onderstaande opdracht uit in je Bash-terminal en druk op Enter. De opdracht hieronder wordt gelezen als fc <spatie> 2 <spatie> 7
, wat betekent dat fc
de opdrachten 2 tot 7 opent om te bewerken.
2. Bewerk vervolgens de opdrachten zoals nodig. Voor dit voorbeeld:
- Verwijder de opdracht
sudo apt install caffiene -y
. - Wissel de volgorde van
uname -a
enps aux
om. - Verwijder
clear
.

3. Nadat je de opdrachten hebt bewerkt, druk op CTRL+X
om nano af te sluiten.
4. Bij de volgende prompt waarin wordt gevraagd om het gewijzigde buffer op te slaan, druk op Y
—> Enter
om de wijzigingen op te slaan.
De opdrachten die je hebt bewerkt, worden automatisch uitgevoerd nadat je de teksteditor hebt verlaten.

Het opnieuw uitvoeren van een vorige opdracht zonder bewerking
Stel dat je alleen een vorige opdracht wilt uitvoeren zonder deze eerst te bewerken. fc
heeft daar een optie voor. Volg de onderstaande stappen om een vorige opdracht uit de geschiedenis uit te voeren.
- Vermeld de vorige opdracht in de terminal door de onderstaande opdracht uit te voeren.
2. Zoek in de lijst met opdrachtgeschiedenis de opdracht die je opnieuw wilt uitvoeren en noteer het nummer links ervan. In dit voorbeeld is het commandonummer 2.

3. Om de specifieke vorige opdracht uit te voeren, voer je de onderstaande opdracht uit in de shell. De -s
-optie geeft fc
de instructie om bewerking over te slaan en door te gaan met het uitvoeren van opdrachtnummer 2.
De onderstaande schermafbeelding toont dat fc opdrachtnummer 2 heeft uitgevoerd uit de opdrachtgeschiedenis.

Conclusie
Deze tekst beoogde je interesse te wekken voor een nuttige maar vaak over het hoofd geziene en vergeten opdracht genaamd fc
. Je hebt geleerd hoe je fc
kunt gebruiken om eerder uitgevoerde opdrachten opnieuw uit te voeren, wat tijdbesparend kan zijn.
Met de kennis die je nu hebt over fc
, denk je dat je het zou gebruiken? Of geef je nog steeds de voorkeur aan het opnieuw typen van opdrachten in de shell? Maak een verstandige keuze!