Jsem jedním z těch, kteří hodně času využívají terminál (konzole, bash, shell, jak to chcete nazvat), z důvodů X nebo Y musím neustále měnit adresáře a pracovat na tom
Ve velké většině případů se změna adresáře (Například: cd / opt /) a také chci vědět, co je v tomto adresáři, vědět tuto druhou, kterou používám ls.
To znamená, že by to bylo takto:
kzkggaara @ geass: ~ $ cd / opt /
kzkggaara @ geass: / opt / $
kzkggaara @ geass: / opt / $ ls
nessus
Říkal jsem to mnohokrát ... Jsem docela líný, rád dělám co nejméně kroků v terminálu, proto jsem po mnoha experimentech dosáhl přesně toho, co jsem chtěl.
Podívejte se na následující, což není nic jiného než vstup do mě / opt / jednoduchým příkazem cd / opt /:
Jak vidíte, v jednom kroku (cd / opt /) Vstoupím do adresáře a TAKÉ vypíše obsah toho adresáře a... kdyby to nestačilo, ukáže mi to barvami
Zde je můj příklad přístupu /atd/ s cd / atd/:
Barvy jsou snadno pochopitelné:
Žádná barva = Soubory
Modrá barva = Složky
Zelená barva = Soubory s oprávněním ke spuštění
Ale pojďme k hlavnímu ... Jak sakra používám pouze cd, mohu také automaticky vypsat adresář, do kterého přistupuji?
Náš archiv .bashrc (nachází se v naší domovské nebo osobní složce) nám v tom pomůže, musíme nejdříve deklarovat funkci, kterou budeme nazývat CDL:
funkce cdls {cd "$ 1"; ls –color;}
Dali jsme tuto linii na obě strany naší .bashrc ... zde je příkaz:
echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc
S tímto příkazem to NEMUSÍTE nutně dělat, cílem je soubor .bashrc obsahuje tento řádek, takže tento soubor upravte pomocí preferovaného textového editoru (podložka pod myš, kate, gedit, nano, vi atd) a přidejte jej.
Uloží změnu, zavře terminál, který mají otevřený, a otevře nový.
V něm napíšeme následující a stiskneme [Enter]:
cdls $HOME
To by mělo stačit pro přístup k naší osobní složce v tomto terminálu a bude také obsahovat seznam jejího obsahu (s barvami a vším).
Chci říct, co CDL už dělá to, co chceme ... nyní můžeme dosáhnout pouze stejného, ale s cd
Za tímto účelem přidáme do souboru .bashrc následující řádek:
alias cd='cdls'
To bude, když budeme psát cd … Akce, kterou definujeme, bude skutečně provedena CDL
Nechám vám příkaz, který automaticky umístí tento řádek výše:
echo "" >> $HOME/.bashrc && echo "alias cd='cdls'" >> $HOME/.bashrc
Ale jak jsem již řekl, cílem je přidat tento další řádek do stejného souboru, můžete pro něj použít textový editor podle vašeho výběru.
Jakmile to provedete, zavřete terminál a otevřete nový ... do něj napište následující a stiskněte [Enter]:
cd /etc/
A bingo, vstoupí / Etc/ a obsah této složky bude také uveden a s barvami (stejně jako na předchozí fotografii)
K čemu je to užitečné?
Pro zvědavce, kteří se diví, co tato funkce znamená? … Nechám vám jednoduché vysvětlení:
funkční CDL = Zde definujeme, že vytváříme novou funkci a bude se jmenovat cdls
cd "$ 1" = A to, co tato funkce udělá (bude to dělat pokaždé, když zavoláme, použijeme nebo provedeme), je vytvořit cd (enter) k 1. parametru, tedy ... - »« cd / home / »,« $ 1 »znamená« co že píšeme po cd ", v tomto příkladu je 1. parametr" / home / ".
; = To znamená, že tu objednávka končí, nebo akce, která má být provedena ... ale funkce může mít více akcí a nyní definujeme druhou.
ls –barva; = Znamená to, že kromě jakékoli dříve deklarované akce provede také „ls“, kde se nacházíme, a „ls“ to udělá barvou (–color).
Poslední věc ... nejchytřejší, uvědomí si, že tato logika (převzetí funkce a její konfigurace pro provedení několika akcí) má hodně, velký potenciál, například ... pokud chci vstoupit do složky a také smazat jinou, to znamená, že chci vstoupit do /Domov/ a také smazat / opt / temp / funkce pro toto by byla:
function asdasd { cd "$1"; rm -Rv "$2"; }
A psaní terminálu asdasd / home / / opt / test / bylo by to, protože vstoupí do 1. parametru (/Domov/) a odstraňte druhý (/ opt / temp /).
Každopádně, toto má opravdu SPOUSTU potenciálních hehe, je jen na vás, abyste to co nejvíce využili.
Pokud máte nějaké pochybnosti, dotazy, stížnosti nebo návrhy, rád vám pomohu, nejsem ani vzdáleně odborník, ale alespoň rád pomůžu
pozdravy