Jak používat příkaz cd v systému Linux

Některé příkazy Linuxu jsou tak známé, že si ani nevšimneme, že je používáme. Jedním z nich je příkaz cd pro změnu adresářů. Existuje několik triků, které vám mohou pomoci stát se efektivnějšími s cd – nebo se toho můžete zbavit úplně.

Příkaz, na který jen zřídka myslíte

Mrkáte celý den, každý den, ale většinou si toho ani neuvědomujete. Pokud se vám něco nedostane do oka, málokdy myslíte na ten malý pravidelný pohyb. Některé příkazy Linuxu jsou podobné. Vznášejí se na okraji vašeho vědomí. I když je používáte denně, nepřitahují vaši pozornost, protože jsou tak malé a jednoduché.

Během první hodiny používání počítače se systémem Linux se naučíte používat příkaz cd, který je součástí Bash a dalších shellů. Možná jste měli předchozí zkušenosti s jeho používáním v jiném operačním systému a nepotřebovali jste vysvětlení. Změní to aktuální pracovní adresář, ne? Co dalšího je třeba vědět?

No, víc, než si myslíš. Zde je několik rad a tipů, které mohou zlepšit vaši efektivitu.

Standardní operace s cd

Pro úplnost si rychle projdeme standardní použití cd.

Pokud jsme v domovském adresáři, ale chceme se změnit na adresář umístěný v /usr/lib/firefox/browser a poté se vrátit do domovského adresáře, můžeme použít následující příkazy:

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

Nemusíte zadávat celou cestu k adresáři; můžete použít automatické dokončování. Pro každou část cesty poté, co napíšete dostatek písmen, aby bylo možné rozlišit název adresáře od ostatních, stisknutím klávesy Tab automaticky doplňte název adresáře.

Do příkazového řádku zadejte například následující:

cd /usr/lib/fire

Nyní stiskněte Tab a shell za vás vyplní zbytek adresáře „firefox“. Pokud do cesty přidáte „/b“ a znovu stisknete Tab, přidá se k příkazu adresář „browser“.

Shell přidá koncové lomítko, takže můžete opakovat proces dokončování tabulátoru. To je také důvod, proč je u prvního příkazu koncové lomítko. Na druhém není jeden, protože ten byl napsaný.

Vlnovku (~) můžete použít jako zkrácený způsob rychlého návratu do domovského adresáře odkudkoli v souborovém systému; stačí napsat následující:

cd ~

The

Toto jsou příklady absolutních cest, ve kterých poskytujete celou cestu od kořenového adresáře souborového systému do cílového adresáře až k cd.

Relativní cesty jsou odkazovány z aktuálního pracovního adresáře. V domovském adresáři je adresář s názvem work . K tomu můžete použít příkaz tree viz strom adresářů uvnitř pracovního adresáře – stačí zadat následující:

tree

The

Pracovní adresář obsahuje adresář s názvem dev . V kořenovém adresáři souborového systému je také adresář nazvaný dev. Ke každému z nich můžete použít ls s -d (adresář). Volba -hl (čitelný pro člověka, dlouhý výpis) říká ls, aby použil snadno čitelné jednotky pro velikosti adresářů a dlouhý formát výpisu.

Pokud zadáte dev, shell předpokládá, že máte na mysli „dev“ v aktuálním adresáři. Chcete-li jej přinutit, aby se podíval na „dev“ v kořenovém adresáři, stačí přidat úvodní lomítko, které představuje kořen souborového systému, jak je znázorněno níže:

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

The

Příkaz cd se v tomto ohledu chová jako ls. Pokud odkazujete na adresář jako dev, jak je uvedeno níže, předpokládá se, že máte na mysli adresář v pracovním adresáři:

cd dev

The

Bez úvodního lomítka se předpokládá, že delší cesty začínají také z aktuálního pracovního adresáře, jak je znázorněno níže:

cd dev/mobile/android

The

Změna adresáře s dvojitou tečkou

Identifikátor dvojité tečky představuje nadřazený adresář aktuálního pracovního. Pokud jste v hluboce vnořeném podadresáři, můžete použít .. with cd k přesunutí do nadřazeného adresáře toho, ve kterém se nacházíte.

Tím se přesunete o dva adresáře v adresářovém stromu nahoru. Pokud do příkazu přidáte další .., umožní vám to přesunout libovolný počet úrovní v adresářovém stromu nahoru.

Zadejte následující:

cd ..
cd ../..

The

Můžete také vytvořit sadu aliasů, které budou tyto manévry provádět za vás, zadáním následujícího:

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

Alias ​​.2=

Můžete je použít stejným způsobem jako samotné příkazy.

alias .2=

Aby byly aliasy konzistentní při restartování počítače, musíte je přidat do souboru .bashrc nebo .bash_aliases.

Snadné přeskakování mezi dvěma adresáři

Pomlčka (-) je dalším symbolem, který má speciální funkci. Změní váš adresář zpět na ten, ze kterého jste právě přišli.

Pro tento příklad řekněme, že jste v adresáři „c“. Pomocí cd můžete přejít do adresáře „forth“. Poté můžete použít cd – k přeskakování tam a zpět mezi dvěma adresáři.

Chcete-li to provést, zadejte následující:

cd ../dále

cd –

cd –

The 

Než se do něj přesunete, zobrazí se název adresáře, do kterého se přesouváte.

Jiný druh příbuzného

Shell používá aktuální pracovní adresář jako „kořenový“ nebo základní adresář pro relativní cesty. Proměnnou prostředí CDPATH můžete použít k nastavení jiného umístění jako základního adresáře pro relativní cesty. Pokud trávíte většinu času v určité části stromu souborového systému, může vám to ušetřit spoustu úhozů (a času) každý den.

Zapišme následující, aby se work/dev/projects stal základním adresářem pro relativní cesty:

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

The

Nyní, pokaždé, když použijete příkaz dc, je nejprve zkontrolováno umístění v proměnné prostředí CDPATH, zda neobsahuje odpovídající názvy adresářů. Pokud některý z nich odpovídá cíli, který jste zadali v příkazu cd, budete přeneseni do tohoto adresáře.

Nyní, bez ohledu na to, kde se v souborovém systému nacházíte, když použijete příkaz cd, shell zkontroluje, zda je cílový adresář umístěn v základním adresáři. Pokud ano, budete přesunuti do tohoto cílového adresáře.

Pokud váš cílový adresář začíná úvodním lomítkem (/), což z něj činí absolutní cestu, nebude proměnnou prostředí CDPATH ovlivněn.

Abychom to demonstrovali, napíšeme následující:

cd c
cd prolog
cd /usr
cd forth

The

Proměnná prostředí CDPATH je skutečně cestou, stejně jako proměnná prostředí PATH. Když napíšete příkaz, shell prohledá umístění v PATH a vyhledá shodu. Když použijete CDPATH, shell hledá shodu umístění v proměnné prostředí CDPATH. Stejně jako PATH může i CDPATH obsahovat více umístění.

Chcete-li, aby shell prohledal aktuální adresář před ostatními umístěními v proměnné prostředí CDPATH, stačí přidat tečku (.) na začátek cesty takto:

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

Chcete-li, aby vaše nastavení byla trvalá, musíte je přidat do konfiguračního souboru, jako je .bashrc.

Je třeba si uvědomit jednu věc: Pokud nastavíte základní adresář, ovlivní to také změny adresáře prováděné ve skriptech. Abyste tomu zabránili, můžete použít absolutní cesty ve svých skriptech nebo test v souboru .bashrc, když zadáte svou CDPATH, jak je uvedeno níže:

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

Tím se provede test, zda byla nastavena proměnná příkazového řádku $PS1 . Proměnná prostředí CDPATH bude nastavena pouze v případě, že test bude úspěšný.

Použití shopt s cd

s příkaz shopt, můžete nastavit určité možnosti pro shell. Některé z nich mohou zlepšit vaše používání CD. Chcete-li je nastavit, použijte volbu -s (povolit) s shopt, abyste jí předali název volby.

Možnost cdspell zkontroluje názvy adresářů a opraví některé běžné překlepy, včetně transponovaných nebo chybějících znaků nebo jmen s příliš mnoha znaky. Pokud najde adresář, který odpovídá některé z oprav, vytiskne se opravená cesta a proběhne akce cd.

Jako příklad napíšeme následující, abychom nastavili volbu cdspell a překlepli „Desktop“, abychom zjistili, zda to shell za nás opraví:

shopt -s cdspell
cd Desktpo

The

Shell zachytil chybu, opravil ji a změnil se na adresář „Desktop“.

Další možností obchodu, kterou můžete použít s cd, je autocd. To eliminuje potřebu, abyste vůbec zadávali cd. Cokoli napíšete a není to příkaz, skript nebo jiný spustitelný soubor (například alias), se použije jako cílový adresář. Pokud se můžete přenést do tohoto adresáře, vytiskne se v okně terminálu a vy se do tohoto adresáře přesunete.

Jako příklad zadáme následující:

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

The

Vidět! Můžete přeskakovat po celém souborovém systému, aniž byste museli používat cd!

Nastavení, která změníte pomocí shopt, ovlivní pouze interaktivní shelly, nikoli skripty.

Kolekce cd

Pravděpodobně nebudete adoptovat všechny. Je však pravděpodobné, že jste zde našli něco zajímavého nebo přínosného. Všechno, co zrychlí nebo zjednoduší navigaci v příkazovém řádku, je koneckonců dobré!