En sak som debatteras om och om i Linux är behovet av kommandoraden. Många säger att du aldrig behöver komma åt en kommandoprompt för att få saker gjort, andra anser att kraften i Linux-skalet är en av de saker som gör Linux så bra. Medan jag skulle falla in i den senare kategorin kan jag säkert förstå varför människor kan bli frustrerade över att behöva lära sig komplexa och till synes obskyra kommandon för att få datorn att fungera rätt. Även om du hatar kommandoraden har du ofta inget annat val än att öppna det en gång i taget för att få jobbet gjort. Idag kommer vi att täcka olika sätt att göra det lite lättare att navigera.

För dem som bara börjar med Linux, eller kommandoraden specifikt, kallas programmet som visar kommandotolken och hanterar dina kommandon bash eller Bourne Again Shell. I den här artikeln kommer vi att använda orden kommandoraden och skalet utbytbart för att referera till att interagera med Linux via bash.

Idag täcker vi:

  • Ändra startskärmen för skalet
  • Gör en mer användbar kommandotolk
  • Skapa alias för långa eller komplexa kommandon

.bashrc och .bash_profile

Dessa två filer är ofta källa till viss förvirring. Vid första utseendet verkar de göra exakt samma sak - kör installationsanvisningar varje gång du öppnar en kommandotolk. Kort sagt körs .bash_profile när du startar ett skal från en inloggningsskärm (som ett inloggningssystem för konsolsystem ) och .bashrc körs för inloggade skal (till exempel kör terminal från din systemmeny). Filen ".bashrc" är den du använder mestadels av tiden så det är det vi ska använda i våra exempel idag.

Som jag sa är .bashrc laddad av bash när du öppnar ett nytt skal. Chansen är att du redan har en .bashrc-fil som skapades för dig när du först installerade ditt Linux-system. För att se vad som finns där, ladda upp din föredragna textredigerare och öppna

 /home/YourUserName/.bashrc 

(Som standard är filen dold från offentlig visning. Du måste högerklicka och välja Visa dolda filer innan det kan visa sig.)

Du kommer förmodligen att se flera rader kod, bash shell scripting för att vara exakt, redan där. Standard.bashrc i de flesta distros har någon kod för att göra saker som färganmälningar (som vi kommer in i lite) och några praktiska aliaser (som vi kommer in i mycket).

Känn dig fri att titta igenom det aktuella innehållet i filen så att du har en uppfattning om vad som händer på varje nytt skalsession, men för denna artikels skull kan vi säkert ignorera de aktuella inställningarna och bara lägga till vad vi vill ha till slutet.

I stället för att sätta våra nya objekt direkt i .bashrc-filen, kommer vi att ta en något annorlunda inställning. Varje användare på systemet har sin egen .bashrc-fil i sin hemkatalog. Om vi ​​ville göra förändringar i sättet bash-körningar, skulle vi behöva lägga våra ändringar i var och en av dessa filer. Om du senare beslutar att det du gjorde inte var riktigt vad du ville, måste du gå igenom alla dessa filer igen och göra dina uppdateringar. I stället för allt besvär, kommer vi att göra en enda fil med alla våra anpassade inställningar och bara berätta .bashrc att ladda från den filen. Diagrammet nedan visar:

Genom att placera källkommandot i slutet av .bashrc-filen kommer det att dra våra kommandon in från custom-shell.sh-filen och skriva över standardprompten och standardaliaserna med de som vi har angivit. På det här sättet kan vi göra en enda fil (/etc/custom-shell.sh eller vad som helst annat du vill namnge det) och bara berätta för varje användares .bashrc-fil att ladda den. Så om du fortfarande har din .bashrc-fil i din textredigerare, flytta dig hela vägen ner till botten och lägg till

 källa /etc/custom-shell.sh 

Obs! Du kan ta det här ett steg längre och lägga till källlinjen till .bashrc-filen i "/ etc / skel". På så sätt kommer alla nya användare som skapats på systemet redan att ha vår källlinje med!

Spara .bashrc-filen och skapa sedan en ny, tom textfil med namnet "custom-shell.sh". Här lägger vi alla nya inställningar i följande avsnitt.

Frågan

Varje system har en standardprompt. Vanligtvis är det en blid, standardprompt med bara lite användbar information. Det ser nog ut som om:

 josh @ roberts: ~ $ 

För att testa exakt hur snabb anpassning görs anger du följande i skalet:

 exportera PS1 = "Custom>" 

Detta gör din prompten till en enkel pil. Ingen användbar information av något slag, men det visar den grundläggande idén om hur du ändrar innehållet i din fråga.

Under årens lopp har folk tagit snabb anpassning till det yttersta och lägger all slags information i den. Jag kommer inte att gå in i en stor mängd detaljer om hur man hanterar färger och flervalsfrågor och lägger till live-information, men jag kommer att ge en snygg och användbar promp som du kan använda som en bas för dig själv. I den custom-shell.sh-fil som vi skapade tidigare klistra in i:

 exportera PS1 = "\ n \ [\ 033 [1; 36m \] \ u \ [\ 033 [1; 37m \] \ [033 [0; 36m \]` date` \ n \ [\ 033 [0m \ ] [\ [\ 033 [1; 33m \] \ w \ [033 [0m \]] " 

Mest av vad du ser där finns färgkoder som berättar bash för att växla fram och tillbaka mellan olika färger för texten i prompten. Slutresultatet av allt detta gibberish är en ganska snygg och lätt att förstå snabbt.

Spara filen "custom-shell.sh" efter att ha klistrat in koden ovan. Om du sparar den i "/ etc" behöver du noggrant root-behörigheter. Du kan spara det du vill, men se till att du pekar på .bashrc på rätt ställe. För att testa din nya prompten kan du antingen stänga och öppna ditt skal igen, eller skriv bara in

 källa .bashrc 

in i ditt nuvarande skal.

Din .bashrc-fil ska läsa vår nya snabbinfo från filen custom-shell.sh och göra din fråga snygg och snygg med färger och allt.

För en extremt detaljerad guide om snabb magi, se den officiella Linux Prompt HOWTO.

alias

Jag kan lika bra berätta för dig - jag älskar aliaser. Det första jag gör när jag installerar ett nytt system ställer in mina föredragna aliaser. Som namnet antyder är ett alias bara ett annat namn för ett kommando. Till exempel är mitt mest använda alias ett jag kallar gimme vilket bash översätter till sudo apt-get install . Du kan använda alias av olika anledningar, till exempel förkorta ett långt kommando eller göra Linux-skalet agera mer som en Windows / Mac / Solaris / BSD / Oavsett skal. Jag föreslår att du klistrar in följande alias i din "custom-shell.sh" -fil. De som använder distros än Debian / Ubuntu-stil kan översätta apt-get-aliasen till det lämpliga yum kommandot, eller vilket paketverktyg du föredrar, och det är självklart detsamma som gäller för lämplighet och portage-användare.

 # # Apt-relaterade alias # alias gimme = "sudo apt-get install" #Install ny programvara alias acs = "apt-cache search" #Sök tillgängligt paket alias purge = "apt-get --purge remove" #Removes paket och dess konfigurationsfiler alias update = "sudo apt-get update" alias debclean = "sudo apt-clean && sudo apt-get autoremove" #Removes några onödiga filer # #Misc användbara aliaser # alias ls = "ls --color = auto "#Plain ls med färgalias ll =" ls -l --color = auto "#Detaljerad lista med färg alias config =" dpkg-reconfigure "# Återför konfigurationssteget för ett paket alias cmi =" ./ configure && gör && sudo installera "#Common steg för att installera paket från käll alias numfiles =" echo $ (ls -1 | wc -l) "#Count antalet filer i nuvarande katalog alias dfree =" df -h "#Se hur mycket hårddiskutrymme är gratis i lättläst format alias favdir = "cd / directory / you / use / a / lot" # Växla snabbt till en katalog som du ofta behöver (musik, dokument etc.) 

Lägg till allt annat du tror kan vara användbart, eller ändra de jag har föreslagit för att passa dina behov. Istället för gimme och acs kan du använda get och got . Vissa som övergår från Windows gillar att skapa alias för att efterlikna Windows-kommandon: copy att ersätta cp, move att ersätta mv, ipconfig att ersätta ifconfig, etc.

Din "custom-shell.sh" borde nu se ut så här:

När filen custom.shell.sh är sparad och .bashrc är inställd på att peka på den, öppnar du kommandotolken och du bör ha en snygg och användbar prompten med flera praktiska aliaser för att göra saker lite enklare.

Jag skulle gärna höra om dina favorit aliaser! Lämna en kommentar och dela några användbara kommandotgenvägar du har hittat, eller kanske en bra prompten. Kommandoraden kan vara ett mycket kraftfullt verktyg, och jag skulle gärna veta hur du har hittat det för att göra det ännu bättre.