Hoe het .bashrc-bestand te gebruiken in Linux

Op een gegeven moment heb je zeker het gevoel gehad dat je Linux-ervaring wel een beetje extra flair kon gebruiken. Misschien ben je repetitieve taken tegengekomen of heb je gehoopt op een vloeiendere command-line interface. Nou, raad eens? Jouw systeem heeft de sleutel: het bestand .bashrc, stilletjes genesteld in je home-directory!

Duik in de fundamentele aspecten van het bestand ~/.bashrc in deze zelfstudie om te veranderen hoe je met je Linux-systeem omgaat. Je bent op de goede weg, van het aanpassen van je commando-prompt tot het automatiseren van taken en het instellen van gepersonaliseerde snelkoppelingen.

Zeg vaarwel tegen alledaagse taken en hallo tegen een efficiëntere en plezierigere Linux-ervaring!

Vereisten

Voordat je gaat experimenteren met het bestand ~/.bashrc, zorg ervoor dat je het volgende klaar hebt om mee te doen:

  • A Linux distribution is installed on your machine – This tutorial uses Ubuntu 20.04 LTS, but any other distribution works.
  • A non-root user with sudo privileges.

Wat is het Bash Run Commands (.bashrc)-bestand in Linux?

Stel je het bestand ~/.bashrc in Linux voor als een geheime speelgoeddoos in je kamer. Deze speelgoeddoos geeft jou en zet je favoriete speelgoed op precies de manier zoals jij dat wilt, terwijl je de doos opent.

Maar omdat ~/.bashrc een geheim bestand is, wordt het niet weergegeven wanneer je het ls-commando uitvoert. Nou ja, niet tenzij je aangeeft ook verborgen bestanden weer te geven, met de -la-parameter, zoals hieronder wordt getoond.

ls -la

Hieronder zie je het bestand .bashrc samen met andere verborgen bestanden.

Listing all files, including hidden ones, in the working directory (home)

Het definiëren van aangepaste aliassen voor snelle opdrachtuitvoeringen

A short definition wouldn’t cut into realizing the ~/.bashrc file’s role in customizing your Linux experience. So, how does this file work exactly? When you crack open that ~/.bashrc file, one of the powerful tricks it lets you achieve is defining custom aliases for your favorite commands.

Bijvoorbeeld, in plaats van sudo apt-get update te typen om de lokale pakketindex van je systeem bij te werken, definieer een alias in het .bashrc bestand dat op dezelfde manier werkt.

? Opmerking: Deze handleiding gebruikt het root-account om opdrachten uit te voeren (niet aanbevolen) om administratieve taken te illustreren, zoals systeemconfiguratie. Zorg er echter om veiligheidsredenen voor dat je een niet-root gebruiker met sudo-rechten gebruikt bij het uitvoeren van vergelijkbare acties op je systeem.

Om aliassen voor opdrachten te definiëren, volg deze stappen:

1. Open het .bashrc bestand in je thuismap (~/) via je voorkeurseditor, zoals nano of vim.

? Als je een niet-root account gebruikt, voeg sudo toe voordat je opdrachten uitvoert die verhoogde rechten vereisen.

nano ~/.bashrc

2. Scroll vervolgens naar het einde van het bestand en definieer een alias (bijv. update) voor je doelopdracht (bijv. sudo apt-get update), zoals hieronder gedemonstreerd.

alias update='sudo apt-get update'

Sla de wijzigingen op het bestand op en sluit de editor.

Defining an alias in the .bashrc file

3. Zodra opgeslagen, voer de volgende opdracht uit in je terminal om het bronbestand van het ~/.bashrc-bestand te laden. Deze opdracht geeft geen uitvoer naar de terminal, maar past je wijzigingen toe.

source ~/.bashrc

4. Voer nu het update-alias uit dat je hebt gedefinieerd en bevestig dat de bijbehorende opdracht (sudo apt-get update) wordt uitgevoerd.

update

De onderstaande uitvoer bevestigt dat je update-alias werkt zoals het uitvoeren van de sudo apt-get update-opdracht maar met minder toetsaanslagen.

Testing the newly defined alias (update)

Het opstellen van Functies voor Verbeterde Productiviteit

Het definiëren van een alias schiet tekort wanneer je ingewikkelde bewerkingen herhaaldelijk moet uitvoeren. Maar maak je geen zorgen; functies staan klaar om de oplossing te bieden waar aliases kunnen struikelen.

In tegenstelling tot aliases die alleen dienen als een verkorte versie van een enkele opdracht, omvatten functies een complexe reeks opdrachten die zijn ontworpen om ingewikkelde bewerkingen uit te voeren.

Om te begrijpen hoe een functie werkt, voer je het volgende uit:

1. In het ~/.bashrc-bestand, voeg de onderstaande functie genaamd manage_package (willekeurig) toe.

Wanneer uitgevoerd, controleert deze functie of een gegeven pakket is geïnstalleerd, en op basis van die informatie, werkt het pakket bij of installeert het pakket.

Onthoud, deze functie accepteert slechts één argument, namelijk de naam van het pakket waarin je geïnteresseerd bent.

manage_package() {
  # Controleert of het pakket is geïnstalleerd door de status van het pakket op te vragen met dpkg. 
  # $1 is de aanduiding voor het eerste argument dat aan de functie wordt doorgegeven (de pakketnaam).
  # De uitvoer wordt omgeleid naar /dev/null om deze in de terminal te onderdrukken.
  # De if-verklaring controleert de exitstatus van het dpkg -s commando. 
  # Als de status 0 is (pakket is geïnstalleerd), 
  # gaat het naar het eerste blok, waarin het pakket wordt bijgewerkt.
  if dpkg -s "$1" &> /dev/null; then
    echo "Package '$1' is already installed. Updating..."
    sudo apt-get update && sudo apt-get install --only-upgrade "$1"
  # Als het pakket niet is geïnstalleerd, wordt een bericht afgedrukt
  # en wordt sudo apt-get install "$1" uitgevoerd om het pakket te installeren.
  else
    echo "Package '$1' is not installed. Installing..."
    sudo apt-get update && sudo apt-get install "$1"
  fi
}

2. Met de toegevoegde functie, sla de wijzigingen op, sluit de editor en source het ~/.bashrc bestand om de wijzigingen toe te passen.

source ~/.bashrc

3. Zodra dit is geactiveerd, roep de functie (manage_package) aan, gevolgd door de pakket-naam die je wilt controleren, bijwerken of installeren in je terminal, zoals hieronder weergegeven.

De keuze van het pakket in deze handleiding is NGINX, maar zorg ervoor dat je pakket-naam vervangt door je voorkeurspakketnaam.

manage_package package-name

Zoals je kunt zien in de uitvoer, maken functies als deze pakketbeheer een fluitje van een cent door het zware werk voor je te doen. Ze bepalen automatisch of het pakket dat je wilt er is, zodat jij dat niet hoeft te doen.

Executing the newly defined function

Je Linux-terminal en shell-prompt (PS1) personaliseren

Beschouw je Linux-terminal als een persoonlijke werkruimte. Door je terminal aan te passen, verander je het in een meer visueel aantrekkelijke en informatieve omgeving.

Als je je Linux-terminal wilt opvrolijken, is the sky the limit. Je kunt je terminal opleuken met een leuke welkomstboodschap of je shell-prompt aanpassen voor dat beetje extra flair.

Om je Linux-terminal te personaliseren, volg je deze stappen:

1. Voeg de volgende regel toe aan het einde van je ~/.bashrc-bestand. Deze regel print een (begroetings)boodschap telkens wanneer je een terminalsessie start.

echo "Welcome to your terminal, $USER!

2. Pas vervolgens de Prompt String 1 (PS1) omgevingsvariabele aan als deze bestaat, of voeg de volgende regel toe aan je ~/.bashrc-bestand. De PS1-variabele beheert nauwkeurig de primaire promptreeks, die de hoofdprompt weergeeft (d.w.z. gebruiker@linux:~#) wanneer de shell gereed is om commando’s te accepteren.

Het aanpassen van de PS1-variabele stelt je in staat om het uiterlijk van je shell-prompt te veranderen, inclusief de kleur, het formaat en de weergave van informatie. De volgende expressie:

  • Maakt de gebruikersnaam (\u) en de hostnaam (\h) zichtbaar in heldergroen (32m).
  • Veroorzaakt dat de huidige werkdirectory (\w) verschijnt in helderblauw (34m).
  • Reset de kleureigenschappen naar de standaardkleur (meestal wit) (\[\033[00m\]) voor de tekst die volgt op de opdrachtprompt. Deze reset zorgt ervoor dat de rest van de tekst in uw terminal onaangetast blijft.
PS1='\[\033[01;32m\]\u@\h:\[\033[01;34m\]\w\$ \[\033[00m\]'

3. Sla daarna het bestand op en sluit het, en source je ~/.bashrc bestand om de wijzigingen toe te passen.

source ~/.bashrc

Let op dat het welkomstbericht hieronder direct na het sourcen verschijnt, en je shell-prompt verandert van uiterlijk zoals je hebt gedefinieerd.

Applying the shell prompt changes

Je scripts starten: Geen pad? Geen probleem!

Het verbeteren van je systeem om extra mappen te herkennen voor uitvoerbare commando’s kan je werkstroom stroomlijnen. Neem bijvoorbeeld het uitvoeren van scripts – geen gevecht meer met lange paden, gewoon pure gemak.

Om je scripts te starten zonder elk pad te hoeven onthouden, voltooi je de onderstaande stappen:

1. Voer het volgende commando uit om een map (mkdir) genaamd ~/scripts (willekeurig) aan te maken.

mkdir -p ~/scripts

2. Open vervolgens het bestand ~/.bashrc en voeg de volgende regel toe aan het einde, die het systeem’s commando zoekpad aanpast. Deze regel voegt de ~/scripts directory toe aan je bestaande PATH variabele.

Deze gedrag garandeert dat de shell jouw scripts prioriteert boven andere uitvoerbare bestanden met identieke namen elders in het systeem’s PATH.

export PATH="$HOME/scripts:$PATH"

3. Sla het bestand op en sluit het, daarna source je het om de wijzigingen toe te passen zonder de terminal opnieuw op te starten.

source ~/.bashrc

4. Vervolgens, voer elke commando hieronder uit om een script genaamd testscript (willekeurig) aan te maken in je ~/scripts directory.

Deze commando’s hebben geen uitvoer, maar dit script is uitvoerbaar gemaakt (chmod), welke een bericht afdrukt (echo) naar de terminal.

# Maak een nieuw Bash script genaamd 'testscript' in de ~/scripts directory
echo '#!/bin/bash' > ~/scripts/testscript

# Voeg een regel toe aan 'testscript' dat "Script wordt uitgevoerd!" print wanneer uitgevoerd
echo 'echo "Script is running!"' >> ~/scripts/testscript

# Maak 'testscript' uitvoerbaar door de permissies te veranderen
chmod +x ~/scripts/testscript

5. Voer ten slotte je script uit (testscript) door de naam ervan in de terminal te noemen.

Het systeem voert jouw script uit vanuit jouw toegewijde ~/scripts directory ongeacht jouw werkmap in de terminal.

testscript

De onderstaande uitvoer bevestigt dat uw script en het aangepaste commando zoeken van het systeem werkt zoals verwacht.

Executing the new script to confirm it’s functioning as expected

Conclusie

In de wereld van het ~/.bashrc-bestand, hebt u de fundamenten van zijn rol doorlopen en hoe de aanpassing van de commando-aliassen en functies werkt. Zelfs het personaliseren van het uiterlijk van uw Linux-terminal is nu binnen handbereik.

Naast het uiterlijk hebt u het gemak ontgrendeld om scripts uit te voeren zonder telkens hun volledige paden te hoeven opgeven door de PATH-omgevingsvariabele uit te breiden. Deze wijzigingen besparen tijd en verbeteren de gebruikersinterface, waardoor uw interactie met Linux efficiënter en tegelijkertijd plezieriger wordt.

Terwijl u dit hoofdstuk over het ~/.bashrc-bestand afsluit, onthoud dan dat de ware essentie van Linux zijn flexibiliteit is en de controle die het u biedt. De reis gaat verder, dus waarom niet dorstig zijn naar een op maat gemaakte ervaring door de verbeteringen van ZSH te verkennen?

Dompel uzelf onder in de oceaan van thema’s en plug-ins die ZSH en frameworks zoals Oh My Zsh bieden. Zie hoe uw terminal verandert in een productievere en visueel aantrekkelijke werkruimte!

Source:
https://adamtheautomator.com/bashrc/