En ting som blir diskutert om og om igjen i Linux er behovet for kommandolinjen. Mange sier at du aldri trenger å få tilgang til en ledetekst for å få ting gjort, andre er av den oppfatning at kraften til Linux-skallet er en av tingene som gjør Linux så bra. Mens jeg skulle falle inn i sistnevnte kategori, kan jeg sikkert forstå hvorfor folk kan bli frustrert over å måtte lære komplekse og tilsynelatende uklare kommandoer for å få datamaskinen til å fungere riktig. Selv om du hater kommandolinjen, har du ofte ikke annet valg enn å åpne det en gang til for å få jobben gjort. I dag skal vi dekke ulike måter å gjøre det litt enklere å navigere.

For de som bare starter med Linux, eller kommandolinjen spesifikt, er programmet som viser kommandoprompten og håndterer kommandoer, kalt bash, eller Bourne Again Shell. I denne artikkelen bruker vi ordkommandolinjen og skallet utveksling for å referere til interaksjon med Linux gjennom bash.

I dag skal vi dekke:

  • Endre oppstartsrutinen for skallet
  • Gjør en mer nyttig ledetekst
  • Opprette aliaser for lange eller komplekse kommandoer

.bashrc og .bash_profile

Disse to filene er ofte kilden til noe forvirring. Ved første utseende synes de å gjøre nøyaktig samme ting - kjører oppstartsinstruksjoner hver gang du åpner en ledetekst. Kort sagt kjører .bash_profile når du starter et skall fra en påloggingsskjerm (for eksempel et system for innlogging) og .bashrc kjører for ikke- loggede skjuler (for eksempel å kjøre Terminal fra systemmenyen). Filen ".bashrc" er den du bruker mesteparten av tiden, så det er det vi skal bruke i våre eksempler i dag.

Som jeg sa, er .bashrc lastet av bash når du åpner et nytt skall. Sjansen er at du allerede har en .bashrc-fil som ble opprettet for deg da du først installerte Linux-systemet. For å se hva som allerede er der, last opp den foretrukne tekstredigeringsprogrammet og åpne

 /home/YourUserName/.bashrc 

(Som standard er filen gjemt fra offentlig visning. Du må høyreklikke og velge Vis skjulte filer før den kan vise seg.)

Du vil sikkert se flere kodelinjer, bash shell scripting for å være presis, allerede der inne. Standard .bashrc i de fleste distros har noen kode for å gjøre ting som fargebeskrivelser (som vi kommer inn i litt) og noen praktiske aliaser (som vi får mye inn på).

Ta glede av det nåværende innholdet i filen, så du har en ide om hva som allerede skjer på hver ny shell-sesjon, men for denne artiklens skyld kan vi trygt ignorere de gjeldende innstillingene og bare legge til det vi ønsker til slutten.

I stedet for å sette våre nye elementer direkte inn i .bashrc-filen, skal vi ta en litt annen tilnærming. Hver bruker på systemet har sin egen .bashrc-fil i sin hjemmekatalog. Hvis vi ønsket å gjøre endringer i måten bash-løpene skulle, må vi sette våre endringer i hver av disse filene. Hvis du senere bestemmer at det du gjorde ikke var helt det du ville, må du gå gjennom alle disse filene igjen og gjøre oppdateringene dine. I stedet for alt det hassle, skal vi lage en enkelt fil med alle våre egendefinerte innstillinger, og bare fortelle .bashrc å laste fra den filen. Diagrammet nedenfor viser:

Ved å plassere source på slutten av .bashrc-filen, vil den trekke kommandoer våre inn fra custom-shell.sh-filen og overskrive standardprompten og standardaliasene med de som vi har angitt. På denne måten kan vi lage en enkelt fil (/etc/custom-shell.sh eller hva annet du vil nevne det) og bare fortelle hver brukers .bashrc-fil for å laste den. Så hvis du fortsatt har din .bashrc-fil lastet i tekstredigeringsprogrammet, flytter du helt ned til bunnen og legger til

 kilde /etc/custom-shell.sh 

Merk : Du kan ta dette et skritt videre og legge til source til .bashrc-filen i "/ etc / skel". På den måten vil alle nye brukere som er opprettet på systemet allerede ha vår source linje inkludert!

Lagre .bashrc-filen og opprett en ny, tom tekstfil med navnet "custom-shell.sh". Dette er hvor vi skal sette alle de nye innstillingene i de følgende seksjonene.

The Prompt

Hvert system har en standardprompt. Vanligvis er det en blid, standardprompt med bare litt nyttig informasjon. Det ser nok ut som om:

 josh @ roberts: ~ $ 

For å teste nøyaktig hvor hurtig tilpasning er gjort, skriv inn følgende i skallet:

 eksporter PS1 = "Custom>" 

Dette vil gjøre spørringen din til en enkel pil. Ingen nyttig informasjon av noe slag, men det viser grunnleggende ideen om hvordan du endrer innholdet i spørringen din.

Gjennom årene har folk tatt rask tilpasning til det ytterste, og legger all slags informasjon inn i den. Jeg vil ikke gå inn i en stor mengde detaljer om hvordan du håndterer farger og multi-line meldinger og legger til live-informasjon, men jeg vil gi en fin utseende, nyttig prompte som du kan bruke som en base for deg selv. I den egendefinerte-shell.sh filen vi opprettet tidligere, lim inn:

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

Mesteparten av det du ser er fargekoder som forteller bash for å bytte frem og tilbake mellom forskjellige farger for teksten i spørringen. Sluttresultatet av alt dette gibberish er en ganske fin utseende og lett å forstå spørsmålet.

Lagre filen "custom-shell.sh" etter at du har lagt inn koden ovenfor. Hvis du lagrer det i "/ etc", vil du sannsynligvis trenge rotasjonsrettigheter. Du kan lagre den hvor du vil, men sørg for at du peker på .bashrc på riktig sted. For å teste den nye spørringen, kan du enten lukke og åpne åpningen på nytt, eller bare skrive

 kilde .bashrc 

inn i ditt nåværende skall.

Din .bashrc-fil bør lese vår nye ledige informasjon fra filen custom-shell.sh, og gjør spørringen fin og fancy med farger og alt.

For en ekstremt detaljert veiledning om rask magi, se Official Linux Prompt HOWTO.

aliaser

Jeg kan like godt fortelle deg foran - Jeg elsker aliaser. Det første jeg gjør når jeg installerer et nytt system, er satt opp mine foretrukne aliaser. Som navnet antyder, er et alias bare et annet navn for en kommando. For eksempel er mitt mest brukte alias en jeg kaller gimme som bash oversetter til sudo apt-get install . Du kan bruke aliaser av forskjellige grunner, for eksempel forkorte en lang kommando eller gjøre Linux-shell-handlingen mer som en Windows / Mac / Solaris / BSD / Uansett hvilket skall. Jeg foreslår at du legger inn følgende alias i din "custom-shell.sh" -fil. De som bruker distros annet enn Debian / Ubuntu-stil, kan oversette apt-get-aliasene til riktig yum kommando, eller hvilket pakkeverktøy du foretrekker, og selvfølgelig det samme gjelder for talent og portage-brukere.

 # # Apt-relaterte aliaser # alias gimme = "sudo apt-get install" #Installer ny programvare alias acs = "apt-cache search" #Søk tilgjengelige pakker alias purge = "apt-get --purge remove" #Removes pakke og dets konfigurasjonsfiler alias update = "sudo apt-get update" alias debclean = "sudo apt-clean && sudo apt-get autoremove" #Removes noen unødvendige filer # #Misc nyttige aliaser # alias ls = "ls --color = auto "#Plain ls med farge alias ll =" ls -l --color = auto "#Detailed liste med farge alias config =" dpkg-reconfigure "# Gjenopprett konfigurasjonstrinnet for et pakkealias cmi =" ./ configure && lage && sudo lage installasjon "#Common trinn for å installere pakke fra kilde alias numfiles =" echo $ (ls -1 | wc -l) "#Count antall filer i gjeldende katalog alias dfree =" df -h "#Se hvordan mye plass på harddisken er ledig i lettlest format alias favdir = "cd / directory / you / use / a / lot" # Skift til en katalog du ofte trenger (musikk, dokumenter osv.) 

Legg til alt annet du tror kan være nyttig, eller endre de som jeg har foreslått for å dekke dine behov. I stedet for acs og acs, kan du bruke get og got . Noen som overfører fra Windows liker å lage aliaser for å etterligne Windows-kommandoer: copy å erstatte cp, move å erstatte mv, ipconfig å erstatte ifconfig, etc.

Din "custom-shell.sh" burde nå se slik ut:

Når filen custom.shell.sh er lagret, og .bashrc er satt til å peke på den, åpner du kommandoprompten din, og du bør ha en fin utseende, nyttig ledetråd med flere praktiske aliaser for å gjøre ting litt enklere.

Jeg vil gjerne høre om dine favorittaliaser! Legg igjen en kommentar og del noen nyttige kommandobryter du har funnet, eller kanskje en fin ledetekst. Kommandolinjen kan være et veldig kraftig verktøy, og jeg vil gjerne vite måter du har funnet for å gjøre det enda bedre.