Gør Linux-kommandolinjen lidt venligere
En ting, der bliver diskuteret igen og igen i Linux, er behovet for kommandolinjen. Mange siger, at du aldrig behøver at få adgang til en kommandoprompt for at få det gjort, andre er af den opfattelse, at Linux-shellens magt er en af de ting, der gør Linux så godt. Mens jeg ville falde ind i sidstnævnte kategori, kan jeg helt sikkert forstå, hvorfor folk kan blive frustreret over at skulle lære komplekse og tilsyneladende uklare kommandoer for at få deres computer til at fungere rigtigt. Selvom du hader kommandolinjen, har du ofte ikke andet valg end at åbne det en gang imellem for at få arbejdet gjort. I dag dækker vi forskellige måder at gøre det lidt lettere at navigere.
For dem, der lige starter med Linux, eller kommandolinjen specifikt, kaldes det program, der viser kommandoprompten og håndterer dine kommandoer, bash eller Bourne Again Shell. I denne artikel bruger vi ordkommandolinjen og shell interchangeably for at henvise til interaktion med Linux gennem bash.
I dag dækker vi:
- Ændring af shell startup rutine
- Gør en mere brugbar kommandoprompt
- Oprettelse af aliaser til lange eller komplekse kommandoer
.bashrc og .bash_profile
Disse to filer er ofte kilden til en vis forvirring. Ved første udseende ser de ud til at gøre det nøjagtigt samme - kører startinstruktioner hver gang du åbner en kommandoprompt. Kort sagt, .bash_profile kører, når du starter en shell fra en login-skærm (som f.eks. Et konsolsystem login) og .bashrc kører for ikke-loginskaller (såsom at køre Terminal fra din systemmenu). Filen ".bashrc" er den, du bruger mesteparten af tiden, så det er det, vi vil bruge i vores eksempler i dag.
Som jeg sagde, er .bashrc lastet af bash, når du åbner en ny skal. Chancerne er, at du allerede har en .bashrc-fil, der blev oprettet til dig, da du først installerede dit Linux-system. For at se, hvad der allerede er der, skal du uploade dit foretrukne tekstredigeringsprogram og åbne
/home/YourUserName/.bashrc
(Som standard er filen gemt fra offentlig visning. Du skal højreklikke og vælge Vis skjulte filer, før det kan vise sig.)
Du vil sikkert se flere linjer kode, bash shell scripting for at være præcis, allerede derinde. Standard .bashrc i de fleste distros har nogle kodeord til at gøre ting som farveprompter (som vi kommer ind i en lille smule) og nogle praktiske aliaser (som vi får meget af).
Du er velkommen til at se igennem det aktuelle indhold af filen, så du har en ide om, hvad der allerede sker på hver ny shell-session, men i denne artikels skyld kan vi sikkert ignorere de nuværende indstillinger og blot tilføje, hvad vi ønsker til slutningen.
I stedet for at sætte vores nye emner direkte ind i .bashrc filen, vil vi tage en lidt anden tilgang. Hver bruger på systemet har deres egen .bashrc-fil i deres hjemmekatalog. Hvis vi ønskede at foretage ændringer i den måde bash kører, skulle vi nødt til at placere vores ændringer i hver af disse filer. Hvis du senere beslutter, at hvad du gjorde ikke var helt, hvad du ønskede, skulle du gennemgå alle disse filer igen og lave dine opdateringer. I stedet for alt det besvær, skal vi lave en enkelt fil med alle vores brugerdefinerede indstillinger, og bare fortælle .bashrc at indlæse fra den pågældende fil. Diagrammet nedenfor viser:
Ved at placere source
i slutningen af .bashrc-filen, trækker den vores kommandoer fra filen custom-shell.sh og overskriver standardprompten og standardaliaserne med dem, vi har angivet. På denne måde kan vi lave en enkelt fil (/etc/custom-shell.sh eller hvad som helst andet du vil navngive det) og bare fortælle hver brugers .bashrc-fil for at indlæse den. Så hvis du stadig har din .bashrc-fil i din teksteditor, skal du gå helt ned til bunden og tilføje
kilde /etc/custom-shell.sh
Bemærk : Du kan tage dette et skridt videre og tilføje source
til .bashrc filen i "/ etc / skel". På den måde vil alle nye brugere oprettet på systemet allerede have vores source
linje inkluderet!
Gem .bashrc-filen og lav derefter en ny, blank tekstfil med navnet "custom-shell.sh". Det er her, hvor vi sætter alle de nye indstillinger i de følgende afsnit.
Prompt
Hvert system har en standardprompt. Normalt er det en blid, standardprompt med kun en lille smule nyttig information. Det ser nok ud som om:
josh @ roberts: ~ $
For at afprøve præcis, hvordan hurtig tilpasning er færdig, skal du indtaste følgende i skalen:
eksport PS1 = "Brugerdefineret>"
Dette vil gøre din prompt til en simpel pil. Ingen nyttige oplysninger af nogen art, men det viser den grundlæggende ide om, hvordan du ændrer indholdet af din prompt.
Gennem årene har folk taget hurtig tilpasning til det yderste og sætter alle former for information ind i det. Jeg vil ikke gå ind i en stor mængde detaljer om, hvordan man håndterer farver og multi-line-prompter og tilføjer levende information, men jeg vil give en flot udkig, nyttig prompte, som du kan bruge som base for dig selv. I den custom -shell.sh-fil, vi oprettede tidligere, skal du indsætte i:
eksport PS1 = "\ n \ [\ 033 [1; 36m \] \ u \ [\ 033 [1; 37m \] \ [033 [0; 36m \]` dato` \ n \ [\ 033 [0m \ ] [\ [\ 033 [1; 33m \] \ w \ [033 [0m \]] "
Det meste af hvad du ser der er farvekoder, der fortæller bash, at skifte frem og tilbage mellem forskellige farver til teksten i prompten. Slutresultatet af alt dette gibberish er en ret flot udseende og let at forstå hurtigt.
Gem filen "custom-shell.sh", efter at du har indsat koden ovenfor. Hvis du gemmer det i "/ etc", skal du sandsynligvis have root privilegier. Du kan gemme det hvor som helst du vil have, men sørg for at du peger på .bashrc på det rigtige sted. For at teste din nye prompt kan du enten lukke og genåbne din shell eller bare skrive
kilde .bashrc
ind i din nuværende shell.
Din .bashrc-fil skal læse vores nye hurtige info fra filen custom-shell.sh og gøre din prompt flot og fancy med farver og alle.
For en ekstremt detaljeret vejledning om hurtig magi, se den officielle Linux Prompt HOWTO.
aliasser
Jeg kan lige så godt fortælle dig foran - jeg elsker aliaser. Det første, jeg gør, når jeg installerer et nyt system, er oprettet mine foretrukne aliaser. Som navnet antyder, er et alias bare et andet navn til en kommando. For eksempel er mit mest brugte alias en jeg kalder, hvad der bash oversætter til sudo apt-get install
. Du kan bruge aliaser af forskellige årsager, såsom at forkorte en lang kommando eller gøre Linux-shell-handlen mere som en Windows / Mac / Solaris / BSD / uanset shell. Jeg foreslår at indsætte følgende aliaser i din "custom-shell.sh" -fil. De, der bruger distros andet end Debian / Ubuntu-stil, kan oversætte apt-get-aliaserne til den relevante yum
kommando, eller hvad som helst pakkeværktøj du foretrækker, og det samme gælder selvfølgelig for talent og portage-brugere.
# # Apt-relaterede aliaser # alias gimme = "sudo apt-get install" #Install ny software alias acs = "apt-cache search" #Søge tilgængelige pakker alias purge = "apt-get --purge remove" #Removes pakke og dens config filer alias update = "sudo apt-get opdatering" alias debclean = "sudo apt-get clean && sudo apt-get autoremove" #Removes nogle unødvendige filer # #Misc nyttige aliaser # alias ls = "ls --color = auto "#Plain ls med farvealias ll =" ls -l --color = auto "#Detaljeret liste med farvealias config =" dpkg-reconfigure "# Kør igen konfigurationstrinnet for et pakkealias cmi =" ./ configure && lav && sudo make install "#Common skridt til at installere pakke fra kilde alias numfiles =" echo $ (ls -1 | wc -l) "#Count antallet af filer i nuværende mappe alias dfree =" df -h "#Se hvordan meget harddiskplads er gratis i letlæseligt format alias favdir = "cd / directory / you / use / a / lot" # Skift hurtigt til en mappe, du ofte har brug for (musik, dokumenter osv.)
Tilføj alt andet, du tror, kan være nyttigt, eller ændre dem, jeg har foreslået for at passe til dine behov. I stedet for gimme
og acs
kunne du bruge get
og got
. Nogle mennesker, der overfører fra Windows, vil gerne gøre aliaser til at efterligne Windows-kommandoer: copy
at erstatte cp
, move
til at erstatte mv
, ipconfig
at erstatte ifconfig
osv.
Din "custom-shell.sh" skal nu se sådan ud:
Når filen custom.shell.sh er gemt, og .bashrc er indstillet til at pege på den, skal du genåbne din kommandoprompt, og du skal have en flot udkig, nyttig prompte med flere praktiske aliaser for at gøre tingene lidt lettere.
Jeg vil gerne høre om jeres foretrukne aliaser! Forlad en kommentar og del nogle nyttige kommandotaster, du har fundet, eller måske en god prompte. Kommandolinjen kan være et meget kraftfuldt værktøj, og jeg vil gerne vide, hvordan man har fundet ud af at gøre det endnu bedre.