Azok közé tartozom, akik sokat használnak terminál (konzol, bash, shell, bárhogy is nevezzük), X vagy Y okokból folyamatosan változtatnom kell a könyvtárat, azon kell dolgoznom 🙂
Az esetek túlnyomó többségében könyvtárváltás (Például: cd / opt /), és azt is szeretném tudni, hogy mi van abban a könyvtárban, hogy megismerjem ezt a másodpercet, amelyet használok ls.
Vagyis ez így lenne:
kzkggaara @ geass: ~ $ cd / opt /
kzkggaara @ geass: / opt / $
kzkggaara @ geass: / opt / $ ls
nessus
Sokszor mondtam ... elég lusta vagyok, a terminálban szeretek a legkevesebb lépést megtenni, ezért a sok kísérletezés után elértem, amit szerettem volna.
Lásd a következőket, ami nem más, mint hogy belépek / opt / az egyszerű paranccsal cd / opt /:
Mint láthatja, egy lépésben (cd / opt /) Belépek a könyvtárba, és fel is sorolja az adott könyvtár tartalmát, és ... mintha ez nem lenne elég, színekkel mutatja meg nekem 😀
Itt a példa arra, hogy beléptem /stb/ a cd / stb/:
Nincs szín = Fájlok
Kék szín = Mappák
Zöld szín = Fájlok végrehajtási jogosultsággal
De térjünk át a főre ... A fene hogyan használhatom csak a cd-t, hogy automatikusan felsoroljam az elérni kívánt könyvtárat?
Archívumunk .bashrc (otthoni vagy személyes mappánkban található) segít ebben, először deklarálnunk kell egy függvényt, amelyet meghívunk CDLS:
függvény cdls {cd "$ 1"; ls –szín;}
Ezt a sort a két oldalunkra tesszük .bashrc ... itt van a parancs erre:
echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc
NEM kell feltétlenül ezzel a paranccsal megtennie, a cél az, hogy a .bashrc tartalmazza ezt a sort, ezért csak szerkessze ezt a fájlt a kívánt szövegszerkesztővel (egérpad, kate, gedit, nano, vi stb), és adja hozzá.
Mentik a változást, bezárják az általuk nyitott terminált, és újat nyitnak.
Ebben a következőket írjuk és nyomjuk meg [Belép]:
cdls $HOME
Ennek elegendőnek kell lennie ahhoz, hogy elérjük a terminál személyes mappáját, és felsorolja annak tartalmát (színekkel és mindennel).
Mármint mi CDLS már megteszi, amit akarunk ... most már csak ugyanazt érhetjük el, de cd
Ehhez hozzáadjuk a fájlt .bashrc a következő sort:
alias cd='cdls'
Ez akkor válik be, amikor írunk cd ... az általunk definiált művelet valóban végrehajtásra kerül CDLS
Hagyok neked egy parancsot, amely automatikusan beírja ezt az előző sort:
echo "" >> $HOME/.bashrc && echo "alias cd='cdls'" >> $HOME/.bashrc
De ahogyan korábban mondtam, a cél az, hogy ezt a másik sort hozzáadjuk ugyanahhoz a fájlhoz, ehhez használhatja az Ön által választott szövegszerkesztőt.
Ha ez megtörtént, zárja be a terminált, és nyisson meg egy újat ... írja be a következőket és nyomja meg [Belép]:
cd /etc/
És bingó, belépnek / stb/ és a mappa tartalma is fel lesz tüntetve, és színekkel colors (akárcsak egy előző fotón)
Mire hasznos? 😀
A kíváncsi érdeklődők számára, akik vajon mit jelent ez a funkció? ... hagyom neked az egyszerű magyarázatot:
függvény cdls = Itt definiáljuk, hogy új függvényt hozunk létre, és ezt cdls-nek fogják hívni
CD "$ 1" = És amit ez a függvény meg fog tenni (minden alkalommal megteszi, amikor hívjuk, használjuk vagy végrehajtjuk) az az, hogy cd-t (enter) tegyen az 1. paraméter felé, vagyis ... - »« cd / home / », az« $ 1 »azt jelenti, amit hogy a cd után írunk ", ebben a példában az 1. paraméter a" / home / ".
; = Ez azt jelenti, hogy ez a sorrend itt ér véget, vagy végrehajtandó művelet ... de egy funkciónak több művelete lehet, és most meghatározunk egy másodikat.
ls –szín; = Ez azt jelenti, hogy minden korábban deklarált művelet mellett egy "ls" -t is készít, ahol tartózkodunk, és az "ls" ezt színnel (–color) fogja megtenni.
Utolsó dolog ... a legokosabbak rájönnek, hogy ennek a logikának (egy függvény felvétele és konfigurálása több művelet végrehajtására) nagyon sok, sok lehetőség rejlik például ... belépés ide /itthon/ és törölni is / opt / temp / ennek a funkciója a következő lenne:
function asdasd { cd "$1"; rm -Rv "$2"; }
És beírni egy terminált asdasd / home / / opt / test / lenne, mert beírja az 1. paramétert (/itthon/), és törölje a másodikat (/ opt / temp /).
Egyébként ennek tényleg SOK potenciális hehe van, rajtad múlik, hogy minél többet kihasználd.
Ha bármilyen kétsége, kérdése, panasza vagy javaslata van, szívesen segítek, messze nem vagyok szakértő, de legalább szeretek segíteni 😀
Üdvözlet
És mindez azért, mert nem használta a Zsh-t.
Nem igazán ismertem 😉
Köszönöm a tippet, szemmel tartom.
A tudásra azonban nem kerül sor ... minél több tippet és tudást sikerül megszereznie az embernek, annál jobb, nem gondolja? 🙂
Zsh a queers, a férfiak sh !!! >: D
A valóságban
HAHAHA nem nem nem ... nem hiszem, és ne is mondd így, mert egyesek megsértődhetnek.
Mindegyik azt használja, ami neki a legjobban megfelel, ami a legjobban tetszik 😀
😉
Az Autojump egy olyan alkalmazás, amelyet sokat használok a rendszerem navigálásához:
https://github.com/joelthelion/autojump/blob/master/README.md
A férfiak praktikusak, a nők és a queers azok, akik szeretik bonyolítani az életüket. További pontosításra nincs szükség.
Kérjük, próbáljon meg nem kommentálni szexuális preferenciákat? … Kellemetlen helyzetek voltak ilyen dolgoknál.
Remélem érthető.
Ennek a pontosításnak a @msx fájlra kell vonatkoznia. Az ötleteket igazságos, objektív és racionális kijelentésekkel építik, nem sértésekkel vagy durvasággal.
A fenti megjegyzésemben azt mondtam neki, hogy ne mondja ezeket a dolgokat (bocsásson meg az elbocsátást).
És most ismét igent mondok, de nem csak önre irányulok, ez mindenkire érvényes.
Ne vedd rosszul, nem az volt a szándék, hogy bárki kényelmetlenül vagy rosszul érezze magát, csak a félreértéseket próbálom elkerülni 🙂
Hahaha, most láttam ezt a megjegyzést!
«Ennek a pontosításnak a @msx fájlra kell vonatkoznia. az ötleteket valósághű, objektív és racionális kijelentésekkel építik, nem pedig sértésekkel vagy durvaságokkal. "
Hagyd abba a reggelit citrom emberrel, máris úgy nézel ki, mint Franklin a 100 dolláros számlán: http://www.watchingamerica.com/frankfurterallgemeine000009.shtml
????
Nos, azt hiszem, akkor szeretek fickó lenni, mert amióta megtanultam használni, nem álltam le és nem is szándékozom. o_____o
Használják a férfiak az sh-t? xP
Erre nem akartam eljutni. Kérem, hagyjuk itt a harcot, igen? 🙂
Mindenki használja, amit akar ... sh, zsh, vagy amit csak akar, és ... mindenkinek megvan a szexuális preferenciája, amire vágyik, itt már harcok folytak ilyen dolgokért 🙁
hahaha xD
Az utóbbi időben a zsh sokat fejlődött, amint van időm -ha, milyen téveszmés! - A lehető legtöbbet el fogom olvasni a dokumentációjában, hogy kihasználjam és megváltoztassam
Most komolyan: csak a zsh-t zavarja az, hogy nem 100% -ban kompatibilis a Bash-szal, tehát ha a zsh-t használjuk a szkriptjeinkben, kihasználva annak teljes potenciálját, nagyon-nagyon lehetséges, hogy az említett parancs bash Másrészt, bár zsh-t használunk, a shell szkriptjeinket bash-ba írjuk, pazarlás a zsh használatát
Ennek ellenére szerintem a zsh megéri. Ha már a héjról beszélünk, ismeri Fishet? A projekt hamvából emelkedett ki, most halhalnak hívják, és nagyon gyorsan fejlesztik.
Szerintem a zsh-t kell írni, mivel a terminál nagyon nagybetű-érzékeny
Bár a cd && ls / route is érvényes
Bár hosszabb az írás
Üdvözlet 😀
Tévedtem, eltűnt az ujjam
Feltettem, hogy ezzel fel van sorolva, és egy könyvtárhoz jutunk el
cd && ls / útvonal
de csak készülj
bár csak a felsoroláshoz használják
ls / path
az egyenértékű parancs az
cd / elérési út && ls
Üdvözlet
Valójában a && használatával ugyanaz érhető el 😀
Az egyetlen különbség az, hogy a "cd / opt / && ls" még 6 karakterrel rendelkezik, nem csak a "cd / opt /", vagyis még 6 billentyűt kellene megnyomnom ^ - ^ U ... Kicsit lusta vagyok az ilyen dolgokért hehe.
Ezért csatlakoztam a CD + ls-hez ... LOL !!
Amit én is használok, hogy kiszűrem az eredményeket kiterjesztések alapján.
példa
Sok fájlom van a ~ / Downloads fájlban, több mint 100, és ehhez csak a .png fájlokat szeretném látni.
cd Letöltések && ls * png
Mit kellene hozzáadnom vagy tennem, hogy az eredményeket egyszerűbb kódban szűrjem?
Üdvözlet
Egyszerű 😉
Létrehoz egy függvényt, amely például cdlsf:
function cdlsf { cd "$1"; ls *.$2; }
Használata a következőket jelentené:
cdlsf / opt / png
És ez csak a fájlokat sorolja fel . Png en / opt /
Vagyis az 1. paraméter (a példában / opt /) lenne a hozzáférni kívánt könyvtár, és a 2. paraméter (a példában png) a kiterjesztés, amelyet szűrni szeretne, amikor felsorolja a könyvtárat.
Egy másik példa, ha a / home / user / Pictures mappába szeretne lépni, és csak a .JPG fájlokat szeretné látni, az a következő lenne:
cdlsf / home / user / Képek jpg
????
Ezt akartad jól?
PS: A cdlsf fájlt a cd (enter) ls (list) f (filter) fájlba tettem ... de nyilvánvalóan bármit meghívhatsz a függvénynek.
A zsh nem POSIX, és mindennek tetejébe hosszabb időre van szükség az indításhoz, ezért inkább faggyú vagyok, de hatékonyabb
Először is, a zsh-ben engedélyezheti a POSIX támogatást. Másodszor, időbe telik, hogy elinduljon, attól függően, hogy hány funkciót tölt be az indításkor, így olyan könnyű lehet, amennyit csak akar. Harmadszor, az zsh használatával az egyik praktikusabb és hatékonyabb, mint bármely más shell esetében. Negyedszer, használja, mielőtt kritizálna.
5. A POSIX támogatás bekapcsolásakor már nincs értelme a ZSH használatát.
Egy ideje használom, nem éri meg, az sh rövid és a Bash tökéletes, a Bash-ban nincs semmi, amit a megfelelő álnevekkel és funkciókkal nem lehetne megtenni.
Nagyon tetszik a téma. valójában létre kell hozniuk egy átfogóbb cikket a parancsokról, amelyek általában használhatók a terminálban, és olyan speciális disztribúciókban, mint a Chakra.
Nézd meg ezt a bejegyzést 😉
https://blog.desdelinux.net/mas-de-400-comandos-para-gnulinux-que-deberias-conocer/
Nagyon érdekesnek találtam, mivel a trükk megtanításán kívül elmagyarázta az egyes parancsok működését.
Azóta követlek, amióta elindultam a Linux világában (nem is olyan régen ...), és arra bíztattak, hogy tegyek hozzászólást, csak gratulálok a cikkhez
Köszönjük, hogy meglátogattad és megadtad nekünk a megjegyzést 😀
Bármikor, amikor elmegyek magyarázni valamit, szeretek a lehető legegyértelműbben megfogalmazni ... nos, nagyon jól tudom, mi az, ha oktatóanyagokat olvasok az interneten, és egyáltalán nem értek semmit.
Üdvözöljük kétszer ... üdvözöljük a Tux világában haha, és üdvözlünk a blogon is 🙂
Ha bármilyen kérdése van, tudja, tudassa velünk hehe.
Üdvözlet és köszönet a megjegyzésért ^ ⁻ ^
Most olvastam bejegyzését egy másik webhelyről, és nem tudtam ellenállni:
Nem lenne egyszerűbb, csak hozzon létre egy álnevet a .bashrc fájlban?
alias cd = 'ls'
Valójában azt akarom elérni, hogy belépjek egy X könyvtárba (/ opt /… / home / user /… bármi más), és amikor belépek, automatikusan felsorolja a könyvtár tartalmát.
Készítse el az összeset egyetlen lépés vagy parancs segítségével.
Alias készítése, ahogy jelzi, akkor felsorolnám a könyvtárat, igen, de nem adnám meg.
Megértésem szerint mindennek az a célja, hogy ha például a "cd" paranccsal szeretné beírni az "/ etc" szót, a belépéskor automatikusan megmutatja a könyvtár tartalmát, igaz?
Ha igen, akkor egyszerűsítheti a függvényt "álnévvé", ahol a .bashrc fájlba helyezi:
alias cd = »ls»
Ezzel, amikor egy terminálban használja:
cd / stb
Belép a «/ etc» könyvtárba, és automatikusan felsorolja az összes ott található fájlt és könyvtárat.
Ha félreértettem a célt, akkor bocsánatkérés 😛
Tulajdonképpen be akarok írni egy könyvtárat, és miután beléptem, felsorolom, mit tartalmaz.
Megpróbáltam, amit mondasz, álnevezéssel kijelentve, hogy a cd = ls, de nekem ez nem sikerült.
Magam konfigurálom, majd:
cd / etc /
De felsorolja az / etc /… listát, de nem megy bele abba a könyvtárba.
Hagyok egy képernyőképet, hogy láthassa: http://img204.imageshack.us/img204/5272/cdlserror.png
Az én hibám 😀
Nyilvánvaló volt, hogy ez nem így fog működni, és még akkor is, amikor megpróbáltam:
alias cdls = 'cd $ 1; ls'
Valami furcsa oknál fogva nem működik, csak felsorolja a könyvtárat, de nem megy be a D-be:
Bash hiba? xD
Bocsánatkérés az értelmetlen megjegyzésekért! 😀 És a bashrc-hez használom a függvényt
Az álnév nem ugyanaz, mint a függvény, az álnév, ha azt akarja, hogy ugyanaz legyen, mint több parancs, akkor a && parancsot kell használnia ... ez nem olyan, mint a függvényekben, mint a; és további utasítások írása az Ön számára megfelelő lesz.
HAHA nah semmi barát, semmi bocsánatkérés 😀
Üdvözlet
PS:… rohadtul ... milyen nosztalgikus vagyok, amikor meglátom az Arch logót ... T_T ...
Tudom, hogy nem ugyanaz, de gondoltam, hogy működni fog (Hiba: P)
Csak a «;» használatával működik. D helyett egy "&&" helyett: (Két ilyen álnevem van, amit nem értek, miért nem működik az aliassal, amelyet létre akartam hozni ehhez az esethez)
Köszönöm és mellesleg szerintem "gyakori olvasó" címmel maradok a blogon 😀 Nagyon tetszett a blog tartalma 😛
ó, igen, tudom, néha elszakadok a kedves Archtól, de nem tudom miért, mindig lehetetlen, hogy ne térjek vissza hozzá xD
Üdvözlet!
Nos ... Tux titokzatos, csinál dolgokat, és sokszor nem értjük őt, de mindenkinek van terve vagy célja ... HAHA 😀
Öröm olvasni, amit mondasz, egy másik Arch-felhasználó, aki csatlakozik a bloghoz hahahaha ... öröm 😀
Nagyon furcsa problémák miatt kellett abbahagynom a használatát, amit a kern adott nekem ... de még mindig helyet foglal a szívemben 🙁
LOL
Nem találkoztam olyan Arch-felhasználóval, aki ne nagyon ragaszkodna a disztribúcióhoz, van egy "nem tudom mit, mit tudok": P, talán, és ha a problémák, amelyeket önnek adtam, régen voltak, akkor te elgondolkodhatna azon, hogy visszamegy Archhoz 😀
Egyébként tudtam, hogy valahol máshol már elolvastam a nevedet (nos, becenevet, álnevet, becenevet, bármit), te az asztali írók része vagy, igaz? 🙂
Régen olvastam nekik 🙂
Valójában egy könyvtár tartalmának felsorolásához nem szükséges beírni, ezért nem hiszem, hogy a választott példa lenne a legboldogabb, hehe. Ezzel a funkcióval sok hasznos dolog használható.
Például ezt a függvényt használom egy könyvtár létrehozásához és azonnali beírásához (annak igazolására, hogy csak egy paramétert használunk):
function mkcd () {
FNERR="Parametros incorrectos.\nUso: mkcd "
if [ $# -eq 1 ] ; then
mkdir -p "$1" && cd "$1"
else
echo -e $FNERR
fi
}
Hmmm ... a blog megette a parancs egy részét, megpróbálom beilleszteni a hiányos sort HTML-címkékkel:
FNERR="Parametros incorrectos.\nUso: mkcd <nombre del directorio a crear>"
Amit meg akartam tenni, az volt, hogy megmentettem magam egy lépéssel.
Más szavakkal, tegyük fel, hogy be akarok menni egy könyvtárba (/ etc / squid /), majd szerkeszteni egy fájlt abban a könyvtárban, és nem emlékszem a fájl nevére.
A lépések általában a következők lennének:
cd / etc / squid /
ls
nano.conf fájl
De ezzel a javaslatommal az első 2 lépést csak 1-re konvertálom, így egyszerűen:
cd / etc / squid /
Számomra is automatikusan felsorolja a könyvtár tartalmát.
Ez egyszerűen egy lépés mentéséről szól
Megértesz engem?
... nehéz megmagyaráznom haha.
Nem, a magyarázatnak nem volt problémája, arra gondoltam, hogy talán a példa, amelyet a tipp illusztrálására választott, nem volt ideális, mivel lehet egy egyszerű "ls könyvtárat" készíteni.
Valójában amint megláttam a funkciót, megértettem a célt. Különböző funkciókat is használok a .bash_aliasesPéldául ezt használom sokat az előzmények kezelésére:
h () {
if [ $# -eq 0 ] ; then
history | tail -n 25 | less
elif [ $# -eq 1 ] ; then
history | egrep -i "$1" | less
else
echo -e "Parametros incorrectos."
fi
}
(Ezzel a funkcióval, ha csak feltettem h Megkapom az utolsó 25 parancsot, de ha például beteszem h tartó Megkapom az utolsó parancsokat, amelyek az összeállításokkal kapcsolatosak).
Veszem a szerepedet hehehe ... megérdemli tanulmányozni 😀
nagyszerű a funkciója! köszönöm
+1
KZKG ^ Gaara
Nagyon jó válasz nagyon jól szolgált, fentebb már nem tudtam válaszolni rá
Most a cdlsf használatával növelem a termelékenységemet, nagyon jó név egy parancsnak 😀
Üdvözlet
Ahogy te állítod be a terminált a terminálhoz, már korábban is megtettem, ez egy bashrc volt, amelyet letöltöttem, de nem emlékszem, hogy hívták.
Jó belépés, nem ismertem a trükköt, majd átültetem a gyakorlatba, hogy lássam, működik. xP
Üdvözlet.
Jó lenne, ha a böngészőm felkerülne. xD
Ismét üdvözlet. xD
Milyen böngészőt használ?
Nos, egy másik megjegyzésben láttam, hogy Firefoxot használtál 🙂
Igen, Firefoxot használok, de egyre kevesebb és már nem a fő böngészőm, a dwb-t használom, és jó lenne, ha hozzá lehetne adni. xP
Üdvözlet.
És ennek az álnévnek a végrehajtása nem okoz problémát a szkriptekben, amikor megpróbálunk egyszerűen cd-t és az ls-t is kiadni? Különösen szívesen készítek olyan álneveket, amelyeket más futtatható fájlok nem használnak, mert nem először fordulnak elő problémák ...
Hogyan lehet megkapni a szaggatott vonalakat és az egyes parancsok utáni időt?
Nézz ide - " https://blog.desdelinux.net/con-el-terminal-mejorando-la-apariencia-de-la-consola-actualizado/
Hozzászólásom:
alias ldir = 'ls | grep -v \\. ' ## csak a könyvtárakat sorolja fel (vigyázzon, ne nevezze át ld-re, mert van egy ilyen nevű GNU / Linux parancs)
-
alias ll = 'ls -lah –szín | awk '\ »{k = 0; for (i = 0; i <= 8; i ++) k + = ((szubsztrát ($ 1, i + 2,1) ~ / [rwx] /) * 2 ^ (8-i)); if (k) printf ("% 0o", k); print} '\' ''
Az álnév érdekessége az awk, amely értelmezi az ls, result kimenetét? Ez a fájlengedélyeket oktális formátumban mutatja az rwx mellett, számomra végtelenül praktikusabb és gyorsabb, mint a betűk.
-
alias lg = 'ls -lah –szín | awk '\' '{k = 0; for (i = 0; i <= 8; i ++) k + = ((substr ($ 1, i + 2,1) ~ / [rwx] /) * 2 ^ (8- i)); if (k) printf ("% 0o", k); print} '\' '| grep -i'
A fenti álnév változata. A végén hozzáadtam egy grep-et, így például amikor:
$ lg cipzár
Mutassa csak azokat a fájlokat, amelyek a zip formáját tartalmazzák (az -i-t vegye észre a végén) az oktális engedélyeken kívül stb.
-
alias grep = 'grep –color = auto' ## kiszínezi a grep illesztését
-
Még sok mindent meg kell osztanom, de ez a kis hely szűk xD
@KZKG, személyzet: Gondolod, hogy nyitsz egy bejegyzést a blogon vagy a fórumon (amelyet minden alkalommal összekapcsolunk a konzollal kapcsolatos tippek közzétételével), hogy összegyűjtsd ezeket a kis gyöngyszemeket?
Üdvözlet!
Link alatt ezt érted? - » https://blog.desdelinux.net/tag/bash
Nem mondtam semmit, semmi másra nincs szükség, minden tökéletesen fel van címkézve!
Micsoda chilei, ez nagyon jó funkció!