Jeg er en af dem, der bruger meget af tiden terminal (konsol, bash, shell, uanset hvad du vil kalde det), af X- eller Y-årsager er jeg nødt til hele tiden at skifte mapper og arbejde på det
I langt de fleste tilfælde skifter biblioteksændring (For eksempel: cd / opt /) og også vil jeg vide, hvad der er i denne mappe, at kende dette sekund, jeg bruger ls.
Det vil sige, det ville være sådan:
kzkggaara @ geass: ~ $ cd / opt /
kzkggaara @ geass: / opt / $
kzkggaara @ geass: / opt / $ ls
Nessus
Jeg har sagt det mange gange... Jeg er ret doven, jeg kan godt lide at lave så få trin som muligt i terminalen, derfor har jeg efter en masse eksperimenter opnået præcis det jeg ville.
Se følgende, hvilket ikke er andet end jeg går ind / Opt / med den enkle kommando cd / opt /:
Som du kan se, i et trin (cd / opt /) Jeg går ind i mappen, og den viser OGSÅ indholdet af den mappe, og... hvis det ikke var nok, viser den mig det med farver
Her er eksemplet med, at jeg åbner /etc/ med cd / osv/:
Farverne er enkle at forstå:
Ingen farve = Filer
Farve blå = Mapper
Grøn farve = Filer med eksekveringstilladelser
Men lad os gå videre til de vigtigste ... Hvordan kan jeg også bare bruge cd til automatisk at liste den mappe, som jeg har adgang til?
Vores arkiv .bashrc (placeret i vores hjem eller personlige mappe) hjælper os med at gøre dette, skal vi først erklære en funktion, som vi vil kalde CDLS:
funktion cdls {cd "$ 1"; ls –farve;}
Vi sætter denne linje på begge sider af vores .bashrc ... her er kommandoen til at gøre det:
echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc
Du behøver IKKE nødvendigvis at gøre det med denne kommando, målet er, at filen .bashrc indeholder denne linje, så rediger bare denne fil med din foretrukne teksteditor (musemåtte, kate, gedit, nano, vi osv) og tilføj det.
De gemmer ændringen, lukker terminalen, de har åbnet, og åbner en ny.
I det vil vi skrive følgende og trykke på [Gå ind]:
cdls $HOME
Dette skal være nok til at få adgang til vores personlige mappe i terminalen, og den vil også angive dens indhold (med farver og alt).
Jeg mener, hvad CDLS det gør allerede, hvad vi vil ... nu kan vi kun opnå det samme, men med cd
Til dette tilføjer vi i filen .bashrc følgende linje:
alias cd='cdls'
Dette vil gøre, når vi skriver cd ... Den handling, som vi definerer, vil faktisk blive udført for CDLS
Jeg forlader kommandoen, der automatisk placerer denne forrige linje:
echo "" >> $HOME/.bashrc && echo "alias cd='cdls'" >> $HOME/.bashrc
Men ligesom jeg sagde før, er målet at tilføje denne anden linje til den samme fil, du kan bruge teksteditoren efter eget valg til den.
Når dette er gjort, skal du lukke terminalen og åbne en ny ... i den skal du skrive følgende og trykke på [Gå ind]:
cd /etc/
Og bingo, de kommer ind / Etc/ og indholdet af denne mappe vil også blive vist, og med farver (ligesom på et tidligere billede)
Hvad er det nyttigt til?
For de nysgerrige, der spekulerer på, hvad betyder denne funktion? ... Jeg efterlader dig den enkle forklaring:
funktion cdls = Her definerer vi, at vi opretter en ny funktion, og den kaldes cdls
cd "$ 1" = Og hvad denne funktion vil gøre (den vil gøre hver gang vi kalder, bruger eller udfører den) er at lave en cd (enter) mod den første parameter, det vil sige ... - »« cd / home / », den« $ 1 »betyder« hvad vi skriver efter cd ", i dette eksempel er den første parameter" / home / ".
; = Dette betyder, at ordren slutter der, eller handling, der skal udføres ... men en funktion kan have flere handlinger at gøre, og vi definerer en anden nu.
ls –farve; = Det betyder, at det ud over enhver handling, der er erklæret før, også opretter et "ls", hvor vi er placeret, og "ls" vil gøre det med farve (–farve).
Sidste ting... de smarteste vil indse, at denne logik (at tage en funktion og konfigurere den til at udføre flere handlinger) har en masse, en masse potentiale, for eksempel... hvis jeg vil indtaste en mappe og også slette en anden, det vil sige, jeg vil indtaste en mappe /hjem/ og også slette / opt / temp / funktionen til dette ville være:
function asdasd { cd "$1"; rm -Rv "$2"; }
Og at skrive i en terminal asdasd / hjem / / opt / test / det ville, fordi det vil indtaste den første parameter (/hjem/) og slet den anden (/ opt / temp /).
Under alle omstændigheder har dette virkelig MEGET potentiale hehe, det er op til dig at udnytte det så meget som muligt.
Hvis du er i tvivl, spørgsmål, klager eller forslag, vil jeg gerne hjælpe dig, jeg er ikke engang en ekspert, men jeg vil i det mindste gerne hjælpe
hilsen