Bash

På de fleste moderne Linux-distributioner er bash (Bourne Again Shell) standardskallen. Der er mange funktioner og indstillinger indbygget i bash, der hjælper din kommandolinjeeffektivitet.

Her er en liste over nyttige BASH-genveje, som alle Linux-brugere bør vide for at få tingene gjort hurtigere i BASH.

Dette er ikke en komplet liste over BASH-genveje, men lige nok til at bevæge sig rundt og gøre dit BASH-shell arbejde hurtigere.

Den komplette manual findes her på https://www.gnu.org/software/bash/manual/

 

Bash tips

 

Kontrol af skærmen

  • Ctrl+c - Afbryd / dræb det, du kører (SIGINT).
  • Ctrl+l - Ryd skærmen. Dette svarer til at udføre kommandoen "clear".
  • Ctrl+s - Stop al output til skærmen. Dette er især nyttigt, når du kører kommandoer med en masse lange, ordret output, men du ønsker ikke at stoppe selve kommandoen med Ctrl + C. Brug derefter PgUp / PgDn til navigation.
  • Ctrl+q - Genoptag output til skærmen efter at have stoppet det med Ctrl + S.
  • Ctrl+D - Send en EOF-markør, medmindre den er deaktiveret af en indstilling, dette vil lukke den aktuelle skal (EXIT).
  • Ctrl+Z - Send signalet SIGTSTP til den aktuelle opgave, der suspenderer det. For at vende tilbage til det senere skal du indtaste fg 'procesnavn' (forgrund).

Flytning af markøren

  • CTRL+a - Flyt markøren til begyndelsen af ​​linjen.
  • CTRL+e - Forrige kommando (eller piletast op).
  • CTRL+n - Næste kommando (eller piletast ned).
  • Alt+b - Tilbage (til venstre) et ord.
  • Ctrl+f - Et tegn frem.
  • Ctrl+b - Et tegn tilbage.
  • Ctrl+xx - Skift mellem start af linje og nuværende markørposition.

Redigering af tekst

  • Alt+Del - Slet ordet før markøren.
  • Alt+d - Slet ordet efter markøren.
  • Ctrl+d - Slet tegn under markøren
  • Ctrl+h - Slet tegn før markøren.
  • Ctrl+w - Klip ordet før markøren til udklipsholderen.
  • ctrl+y - Indsæt den sidste ting, der blev klippet til udklipsholderen.
  • Ctrl+k - Klip linjen efter markøren til udklipsholderen.
  • Ctrl+u - Klip linjen før markøren til udklipsholderen.
  • Alt+t - Skift nuværende ord med forrige.
  • Ctrl+t - Byt de to sidste tegn før markøren.
  • Esc+t - Byt de to sidste ord før markøren.

Søg gennem Bash historien

  • Pil op på tastaturet - Henter den forrige kommando. Hvis du konstant trykker på det, fører det dig gennem flere kommandoer i historien, så du kan finde den du ønsker.
  • Pil ned på tastaturet - Brug pil ned på tastaturet til at bevæge sig i den modsatte retning gennem historien.

 

cdls

I stedet for at cd ind i et bibliotek, og derefter bruge ls-kommandoen, for at se indholdet i biblioteket, så kan det udføres i en kommando. Det er mere smart hvis det kan gøres i en kommando. Denne korte guide forklarer, hvordan du automatisk angiver mappeindhold, hver gang du cd'er i det.

Bemærk, at jeg ikke taler om enkeltlinjekommandoerne. For eksempel kan du udføre cd og ls med en enkeltlinje kommando. F.eks. hvis du vil se indholdet af /var/log, kan det udføres med kommandoen cd /var/log && ls

Ja, det fungerer! Men flytingen kan gøres på en mere smart måde ved hjælp af en simpel BASH-funktion. Dette trick fungerer i alle UNIX-lignende distributioner, der understøtter BASH.

Åbn din i din ~ / .bashrc-fil med nano

$ nano ~/.bashrc

Tilføj følgende linjer i slutningen:

cdls() {
        local dir="$1"
        local dir="${dir:=$HOME}"
        if [[ -d "$dir" ]]; then
                cd "$dir" >/dev/null; ls --color=auto
        else
                echo "bash: cdls: $dir: Directory not found"
        fi
}

Gem og luk filen. tryk Ctrl+O for at gemme, og derefter for at forlade nano, tryk Ctrl+X

Kør følgende kommando for at ændringerne kan træde i kraft.

$ source ~/.bashrc

 

Eksempel:

 

 

cp eller mv og cd i en kommando

cp eller mv og cd i en kommando. Betydning - vi vil øjeblikkeligt kopiere eller flytte filer/mapper fra et sted til et andet og cd ind i destinationsmappen. Selvfølgelig kan vi gøre dette med en kommando på én linje. For eksempel er det muligt at kopiere eller flytte filer/mapper til et andet bibliotek og cd til destinationsmappen ved hjælp af kommandoen.

cp kildedestination && cd destination eller mv kildedestination && cd destination

Det kan gøres på en mere smart måde. Vi bruger en simpel bash funktion til at kombinere cp eller mv kommando og cd kommando og køre den som en enkelt kommando,

Åbn din ~/.bashrc fil

$ nano ~/.bashrc

Tilføj følgende linjer i slutningen:

#cp and cd in one command
cpcd (){
  if [ -d "$2" ];then
    cp $1 $2 && cd $2
  else
    cp $1 $2
  fi
}

#mv and cd in one command
mvcd (){
  if [ -d "$2" ];then
    mv $1 $2 && cd $2
  else
    mv $1 $2
  fi
}

 

Gem og luk filen. tryk Ctrl+O for at gemme, og derefter for at forlade nano, tryk Ctrl+X

Kør følgende kommando for at ændringerne kan træde i kraft.

$ source ~/.bashrc

Kopier eller flyt nu filer/mapper fra et sted til et andet, og du kommer automatisk på til destinationsstedet.

Lad os lave nogle eksempler på mapper og filer.

$ mkdir mappe1 mappe2

$ touch fil1 fil2

Kopier nu fil1 til mappe1 ved hjælp af kommandoen

$ cpcd fil1 mappe1

Brug nu følgende kommando

$ pwd

/home/carl/mappe1 du er nu i mappe1 indtast nu ls

$ ls

Du kan nu se at fil1 er tilstede i mappen

Som du ser, kopierer ovenstående kommando fil1 til mappe1 og cd derefter automatisk til mappe1.

Som det næste flyt fil2 til mappe2 ved hjælp af følgende kommandoer

$ cd

$ mvcd fil2 mappe2

$ pwd

/home/carl/mappe2 du er nu i mappe2 indtast nu ls

Du kan nu se at fil2 er tilstede i mappen

Denne kommando flytter fil2 til mappe2, og cd derefter automatisk til mappe2

 

Eksempel: