Linux-tabfullföljd är ännu bättre än du tror

Linux-tabfullföljd är ännu bättre än du tror
Index
  1. Sammanfattning
  • Vad är tabkomplettering?
  • Tabkomplettering är så mycket mer
  • Git-kommandot tar autofyllning till nästa steg
  • Tabkomplettering är en kraftfull funktion i Linux som effektiviserar kommandon, minskar fel och erbjuder smarta lösningar för både kommandon och filhantering. Upptäck dess dolda potential!

    Sammanfattning

    • Funktionen för tabkomplettering sparar tid och förhindrar fel genom att automatiskt slutföra kommandon och filnamn.
    • Linux-skal som bash och zsh erbjuder kraftfulla funktioner för tabkomplettering som hanterar underkommandon och alternativ.
    • Git-kommandot visar den fulla potentialen av tabkomplettering med kontextspecifika slutföranden.

    Linux är fullt av genvägar; du behöver bara veta vad de är eller var du kan hitta dem. Tabkomplettering är en av de funktioner som är fantastisk i sin enkelhet, med dolda krafter som du kanske inte är medveten om.

    Vad är tabkomplettering?

    Tabkomplettering är en fantastisk funktion som tillför bekvämlighet, sparar tid och kan till och med hjälpa till att förhindra misstag. Det är en av de äldsta formerna av automatiskt slutförande inom databehandling: tryck på Tab i en kommandorad så ser du ett kommando eller filnamn slutföras (om det är entydigt) eller en uppsättning möjliga alternativ (om det är tvetydigt).

    Här är några exempel på hur tabkomplettering fungerar.

    Tabkomplettering är en funktion i ditt skal, och denna artikel fokuserar på två av de mest använda: bash och zsh. Kompletteringen är mycket konfigurerbar och funktioner kan variera mellan system.

    Skriv de första bokstäverna i ett kommando (prova apr eller mkd), tryck sedan på Tab. Om ditt skal hittar endast ett enda kommando som börjar med dessa bokstäver, kommer det att slutföra det genom att skriva ut de återstående bokstäverna. Nu kan du trycka på Enter för att köra kommandot eller fortsätta skriva för att ange fler argument.

    [enlazatom_show_links]

    Om din inledande text matchar mer än ett kommando, kommer deras namn att skrivas ut på skärmen. Här är ett exempel som visar texten rm följt av Tab:

    Du kan fortsätta att skriva och trycka på Tab för att förfina listan tills den är entydig eller tills du har skrivit ditt fullständiga kommando.

    Tabkomplettering fungerar också för filnamn som du anger som argument. Till exempel kan du skriva ls /u följt av Tab, och ditt skal bör slutföra det till ls /usr/. Det gör det mycket snabbare att skriva längre sökvägar, och det är också mycket mindre felbenäget.

    Denna nivå av tabkomplettering ensam kommer att förändra din Linux-upplevelse. När jag först lärde mig om tabkomplettering kändes det som magi, och jag tror inte att jag skulle kunna leva utan funktionen idag. Men, som jag nyligen upptäckte, erbjuder tabkomplettering så mycket mer än bara kommando- och filnamnslutförande.

    Tabkomplettering är så mycket mer

    För att börja, prova tabkomplettering med ett kommando som cd, i en katalog som innehåller både filer och mappar. Du bör märka att cd {start-av-katalog}, följt av Tab, automatiskt slutför katalognamnet, men cd {start-av-fil}, följt av Tab, gör det inte. Skalet är tillräckligt smart för att känna igen att cd:s argument ska vara en sökväg till en katalog, inte en fil, så det slutför den förra, men inte den senare.

    Ditt skal bör inkludera ett snedstreck efter att ha slutfört en katalog, även om du bara behöver ange katalogens namn. Detta gör att du snabbt kan tab-komplettera en hel sökväg utan att behöva stanna och skriva varje / mellan katalognamn.

    Genom att visa alla matchningar när det finns mer än en, kan ditt skal hjälpa dig att begränsa vad du försöker skriva. Men vissa skal går längre. Till exempel, i zsh, på macOS, när jag skriver ls Do följt av Tab, skriver mitt skal ut två matchningar, Dokument och Hämtningar:

    Om jag nu trycker på Tab igen, slutförs det till ls Dokument/, och att trycka på Tab ytterligare gånger växlar mellan ls Dokument/ och ls Hämtningar/. Observera att detta bara händer när det finns tvetydighet. Om du skriver ls Dokument/, och sedan trycker på Tab, kommer auto-kompletteringen att skriva ut alla filer inuti Dokument istället för att växla till Hämtningar-katalogen.

    Lägg till bind TAB:menu-complete till din ~/.bashrc eller TAB:menu-complete till din ~/.inputrc om du vill ha detta beteende.

    För att acceptera en slutförande när du växlar, men fortsätta med tab-komplettering—t.ex. för en lång sökväg—kan du trycka på / i slutet av den katalog du vill välja.

    Tabkomplettering kan också hantera alternativ som stöds av det kommando du har skrivit. Till exempel, prova att skriva mkdir - följt av Tab. Igen beror resultaten på din miljö, men på något sätt bör du kunna se en lista med alternativ som mkdir stöder:

    På macOS visar mitt skal enkel-bokstavsalternativ för mkdir, som.

    -m och -p. Bredvid varje alternativ visas en användningstext som förklarar vad alternativet gör. På Ubuntu visar min terminal långa alternativ. Den skriver inte ut någon användarinformation, men långa alternativ är ändå mer självförklarande.

    Git-kommandot tar autofyllning till nästa steg

    Auto-komplettering av alternativ var en verklig ögonöppnare för mig. Jag var så van vid att använda man eller ett --help-alternativ för att visa kommandots användning, att jag hade ingen aning om att min terminal kunde göra mycket av jobbet åt mig. Men det var git-kommandot som verkligen visade mig den sanna kraften i autofyllning, och det har förändrat mitt arbetssätt sedan dess.

    Git-programmet är otroligt medvetet om sig självt, så dess autofyllningsalternativ ger effektivt ett alternativt gränssnitt. Du kan börja med att utforska alla gits underkommandon genom att skriva git följt av en tabbsymbol:

    Men git-autofyllning visar sin fulla kraft när du arbetar i ett git-repository. Anta att du har gjort en ändring i en enda lokal fil, som en README.md:

    Skriv nu git add, följt av en Tab, och din terminal ska omvandla det till git add README.md. Git-programmet har känt igen att add-underkommandot kan följas av en lista av filnamn för att lägga till dem i den aktuella commit:en. Det är medvetet om att det bara är meningsfullt att lägga till filer som faktiskt har ändrats, så det kan autofylla hela namnet på den enda fil som behöver läggas till.

    På samma sätt, när du har lagt till en fil, git commit följt av Tab kommer att autofylla dess namn, tillsammans med andra filer som du kan commit:a omedelbart, inklusive filer som du ännu inte har lagt till:

    Denna autofyllning tar till och med argument i beaktande. Till exempel, när du har lagt till en fil i indexet kan du avmarkera den med git restore --staged, som git status förklarar. Vid denna tidpunkt kommer git restore --staged följt av en Tab att visa just README.md, den enda fil som är staged:

    Tab-autofyllning är så användbar att du kommer att märka att du använder den hela tiden när du väl har upptäckt den. Men det lönar sig alltid att vara nyfiken: fortsätt trycka på Tab vid olika punkter i din kommandokedja, så lär du dig exakt hur kraftfull denna funktion kan vara.

    Nu när du har läst klart Linux-tabfullföljd är ännu bättre än du tror, inbjuder vi dig att utforska kategorin Linux ytterligare. Där hittar du fler intressanta artiklar som kommer att utöka dina kunskaper och hålla dig informerad. Sluta inte läsa och upptäcka mer!

    Lämna ett svar

    Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

    Go up