Sådan bruger du cd-kommandoen på Linux

Nogle Linux-kommandoer er så velkendte, at vi ikke engang bemærker, at vi bruger dem. Cd-kommandoen til at skifte mapper er en af ​​disse. Der er nogle tricks, der kan hjælpe dig med at blive mere effektiv med cd – eller du kan droppe det helt.

En kommando du sjældent tænker på

Du blinker hele dagen, hver dag, men det meste af tiden er du ikke klar over det. Medmindre der kommer noget i dit øje, tænker du sjældent på den lille, regelmæssige bevægelse. Nogle Linux-kommandoer er sådan. De svæver i periferien af ​​din bevidsthed. Selvom du bruger dem dagligt, fanger de ikke din opmærksomhed, fordi de er så små og enkle.

Inden for den første time, efter du bruger en Linux-computer, lærer du, hvordan du bruger cd-kommandoen, der følger med Bash og andre skaller. Måske har du tidligere erfaring med at bruge det på et andet operativsystem og ikke havde brug for en forklaring. Det ændrer den nuværende arbejdsmappe, ikke? Hvad er der ellers at vide?

Nå, mere end du tror. Her er et par tip og tips, der kan forbedre din effektivitet.

Standard cd operationer

For at være fuldstændig, lad os hurtigt gennemgå standardbrugene af cd.

Hvis vi er i hjemmemappen, men ønsker at skifte til en placeret på /usr/lib/firefox/browser, og derefter vende tilbage til hjemmemappen, kan vi bruge følgende kommandoer:

cd /usr/lib/firefox/browser/
cd /home/dave

Det

Du behøver ikke at skrive hele mappestien; du kan bruge autofuldførelse. For hver del af en sti, når du har indtastet nok bogstaver til at skelne navnet på mappen fra de andre, skal du trykke på Tab for automatisk at udfylde mappenavnet.

Skriv f.eks. følgende på kommandolinjen:

cd /usr/lib/fire

Tryk nu på Tab, og skallen udfylder resten af ​​”firefox”-mappen for dig. Hvis du tilføjer “/b” til stien og trykker på Tab igen, tilføjer den “browser”-mappen til kommandoen.

  Sådan opretter du forbindelse til internettet fra kommandolinjen på Linux

Skallen tilføjer en efterfølgende skråstreg, så du kan gentage tabulatorfuldførelsesprocessen. Det er også derfor, der er et efterfølgende skråstreg på den første kommando. Der er ikke en på den anden, fordi den blev skrevet.

Du kan bruge tilde (~) som en genvej til hurtigt at vende tilbage til hjemmemappen fra hvor som helst i filsystemet; bare skriv følgende:

cd ~

Det

Disse er eksempler på absolutte stier, hvor du angiver hele stien fra roden af ​​filsystemet til målbiblioteket, til cd.

Der henvises til relative stier fra den aktuelle arbejdsmappe. I hjemmebiblioteket er der en mappe kaldet arbejde . Du kan bruge trækommandoen til se mappetræet inde i arbejdsmappen – skriv blot følgende:

tree

Det

Arbejdsbiblioteket indeholder en mappe kaldet dev . Der er også en mappe kaldet dev i rodmappen i filsystemet. Du kan bruge ls med -d (mappe) til at se på hver af disse. Valgmuligheden -hl (læsbar for mennesker, lang liste) fortæller ls at bruge letlæselige enheder til mappestørrelserne og den lange formatliste.

Hvis du skriver dev, antager skallen, at du mener “dev” i den aktuelle mappe. For at tvinge den til at se på “dev” i rodmappen, skal du blot tilføje en fremadgående skråstreg for at repræsentere roden af ​​filsystemet, som vist nedenfor:

ls -d dev -hl
ls -d /dev -hl

Det

Cd-kommandoen opfører sig som ls i denne henseende. Hvis du refererer til mappen som dev, som vist nedenfor, antager det, at du mener mappen i arbejdsmappen:

cd dev

Det

Uden en fremadgående skråstreg antages længere stier også at starte fra den aktuelle arbejdsmappe, som vist nedenfor:

cd dev/mobile/android

Det

Ændring af mappen med Double Dot

Den dobbelte prik-identifikator repræsenterer den overordnede mappe for den nuværende arbejdende. Hvis du er i en dybt indlejret undermappe, kan du bruge .. med cd til at flytte til den overordnede mappe for den, du er i.

Dette flytter dig to mapper op i mappetræet. Hvis du tilføjer mere .. til kommandoen, giver det dig mulighed for at flytte et vilkårligt antal niveauer op i mappetræet.

Indtast følgende:

cd ..
cd ../..

Det

Du kan også oprette et sæt aliaser til at udføre disse manøvrer for dig ved at skrive følgende:

alias .2="cd ../.."
alias .3="cd ../../.."

Aliaset .2=

Du kan bruge disse på samme måde som selve kommandoerne.

  Sådan spiller du The Talos Principle på Linux

alias .2=

For at gøre aliaserne konsistente på tværs af genstarter af din computer, skal du tilføje dem til din .bashrc- eller .bash_aliases-fil.

Hop nemt mellem to mapper

Bindestregen (-) er et andet symbol, der har en særlig funktion. Det ændrer din mappe tilbage til den, du lige kom fra.

For dette eksempel, lad os sige, at du er i “c”-mappen. Du kan bruge cd til at skifte til “forth”-mappen. Derefter kan du bruge cd – til at hoppe frem og tilbage mellem de to mapper.

For at gøre dette skal du skrive følgende:

cd ../forth

cd –

cd –

Det 

Navnet på den mappe, du flytter til, vises, før du flytter ind i den.

En anden slags slægtning

Skallen bruger den aktuelle arbejdsmappe som “rod”- eller basismappen for relative stier. Du kan bruge CDPATH-miljøvariablen til at indstille en anden placering som basismappen for relative stier. Hvis du bruger det meste af din tid i en bestemt sektion af filsystemtræet, kan dette spare dig for mange tastetryk (og tid) hver dag.

Lad os skrive følgende for at gøre work/dev/projects til basismappen for relative stier:

export CDPATH=/home/dave/work/dev/projects

Det

Nu, hver gang du bruger dc-kommandoen, kontrolleres først placeringen i CDPATH-miljøvariablen for matchende mappenavne. Hvis nogen af ​​dem matcher det mål, du angav i cd-kommandoen, overføres du til den mappe.

Nu, uanset hvor du er i filsystemet, når du bruger cd-kommandoen, kontrollerer skallen, om målmappen er placeret i basismappen. Hvis det er det, flyttes du til den pågældende målmappe.

Hvis dit målbibliotek starter med en fremadgående skråstreg (/), hvilket gør det til en absolut sti, vil det ikke blive påvirket af CDPATH-miljøvariablen.

For at demonstrere dette skriver vi følgende:

cd c
cd prolog
cd /usr
cd forth

Det

CDPATH-miljøvariablen er virkelig en sti, ligesom PATH-miljøvariablen. Når du skriver en kommando, søger skallen efter placeringerne i PATH for et match. Når du bruger CDPATH, søger skallen efter placeringerne i miljøvariablen CDPATH for et match. På samme måde som PATH kan CDPATH også indeholde flere placeringer.

  Sådan spiller du Galactic Civilizations III på Linux

For at få shellen til at søge i den aktuelle mappe før andre placeringer i CDPATH-miljøvariablen, tilføjer du blot et punktum (. ) i begyndelsen af ​​stien som sådan:

export CDPATH=.:/home/dave/work/dev/projects

For at gøre dine indstillinger permanente, skal du tilføje dem til en konfigurationsfil, såsom .bashrc.

En ting at være opmærksom på: Hvis du indstiller en basismappe, påvirker det også mappeændringer, der udføres i scripts. For at undgå dette kan du bruge absolutte stier i dine scripts eller en test i din .bashrc-fil, når du angiver din CDPATH, som vist nedenfor:

if test “${PS1+set}”; then CDPATH=.:/home/dave/work/dev/projects; fi

Dette udfører en test for at se, om kommandolinjepromptvariablen, $PS1, blev indstillet. CDPATH-miljøvariablen indstilles kun, hvis testen lykkes.

Bruger shopt med cd

Med shopt kommando, kan du indstille visse indstillinger for skallen. Nogle af disse kan forbedre din brug af cd. For at indstille dem, bruger du -s (enable) mulighed med shopt for at give et valgnavn til den.

Indstillingen cdspell tjekker dine mappenavne og retter nogle almindelige skrivefejl, inklusive transponerede eller manglende tegn, eller navne med for mange tegn. Hvis den finder en mappe, der matcher nogen af ​​rettelserne, udskrives den rettede sti, og cd-handlingen finder sted.

Som et eksempel skriver vi følgende for at indstille cdspell-indstillingen og stave forkert “Desktop” for at se, om skallen retter det for os:

shopt -s cdspell
cd Desktpo

Det

Skallen fangede fejlen, rettede den og ændrede til mappen “Desktop”.

En anden shopt-mulighed du kan bruge med cd er autocd. Det eliminerer behovet for, at du overhovedet skal skrive cd. Alt, hvad du skriver, som ikke er en kommando, script eller anden eksekverbar (såsom et alias), bruges som en målmappe. Hvis du kan overføre til den mappe, udskrives den i terminalvinduet, og du bliver ændret til den mappe.

Som et eksempel skriver vi følgende:

shopt -s autocd
/usr/local/games
/etc
~

Det

Se! Du kan hoppe over hele filsystemet uden selv at bruge cd!

De indstillinger, du ændrer med shopt, påvirker kun interaktive skaller, ikke scripts.

Cd-samlingen

Du vil sandsynligvis ikke adoptere alle disse. Det er dog sandsynligt, at du har fundet noget af interesse eller fordel her. Når alt kommer til alt, er alt, hvad der fremskynder eller forenkler din kommandolinjenavigation, godt!