Esu iš tų, kurie naudoja daug laiko terminalas (konsolė, bash, apvalkalas, kaip jūs norite tai pavadinti), dėl X ar Y priežasčių turiu nuolat keisti katalogą, dirbdamas su juo 🙂
Daugeliu atvejų katalogų keitimas (Pavyzdžiui: cd / opt /), taip pat noriu sužinoti, kas yra tame kataloge, žinoti šią sekundę, kurią naudoju ls.
Tai reiškia, kad tai būtų taip:
kzkggaara @ geass: ~ $ cd / opt /
kzkggaara @ geass: / opt / $
kzkggaara @ geass: / opt / $ ls
Nessus
Aš tai sakiau daug kartų ... Esu gana tingus, mėgstu atlikti mažiausiai žingsnių terminale, todėl po daugybės eksperimentų pasiekiau tai, ko norėjau.
Žiūrėkite toliau pateiktą informaciją, kuri yra ne kas kita, kaip aš įeinu / opt / su paprasta komanda cd / opt /:
Kaip matote, vienu žingsniu (cd / opt /) Įeinu į katalogą, be to, jame nurodomas to katalogo turinys, ir ... tarsi to būtų negana, jis man jį parodo spalvomis 😀
Čia mano prieigos pavyzdys / etc / su CD / kt/:
Nėra spalvos = Failai
Spalva mėlyna = Aplankai
Žalia spalva = Failai su vykdymo leidimais
Bet pereikime prie pagrindinio dalyko ... Kaip gi aš taip pat galiu naudoti tiesiog kompaktinį diską, kad automatiškai išvardyčiau aplankytą katalogą?
Mūsų archyvas .bashrc (esančių mūsų namuose ar asmeniniame aplanke) padės mums tai padaryti, pirmiausia turime deklaruoti funkciją, kurią mes pavadinsime CDLS:
funkcija cdls {cd "$ 1"; ls –spalva;}
Mes įdėjome šią eilutę iš abiejų mūsų pusių .bashrc ... čia yra komanda tai padaryti:
echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc
Jūs nebūtinai turite tai padaryti naudodami šią komandą, tikslas yra tas, kad .bashrc yra ši eilutė, todėl tiesiog redaguokite šį failą naudodami pageidaujamą teksto rengyklę (pelės kilimėlis, kate, gedit, nano, vi ir kt) ir pridėkite jį.
Jie išsaugo pakeitimą, uždaro atidarytą terminalą ir atidaro naują.
Jame parašysime taip ir paspausime [Įveskite]:
cdls $HOME
To turėtų pakakti norint pasiekti mūsų asmeninį aplanką tame terminale, taip pat bus pateiktas jo turinys (su spalvomis ir viskuo).
Turiu omenyje ką CDLS ji jau daro tai, ko norime ... dabar galime pasiekti tik tą patį, bet su cd
Tam mes įtraukiame į failą .bashrc šią eilutę:
alias cd='cdls'
Tai padarys, kai rašysime cd ... Veiksmas, kurį mes apibrėžėme, iš tikrųjų bus įvykdytas CDLS
Aš palieku jums komandą, kuri automatiškai pateiks šią eilutę aukščiau:
echo "" >> $HOME/.bashrc && echo "alias cd='cdls'" >> $HOME/.bashrc
Tačiau, kaip sakiau anksčiau, tikslas yra pridėti tą pačią kitą eilutę prie to paties failo, tam galite naudoti pasirinktą teksto rengyklę.
Kai tai bus padaryta, uždarykite terminalą ir atidarykite naują ... jame parašykite šį tekstą ir paspauskite [Įveskite]:
cd /etc/
Ir bingo, jie įeis / ir kt/ ir šio aplanko turinys bus nurodytas su spalvomis 😉 (kaip ir ankstesnėje nuotraukoje)
Kam tai naudinga? 😀
Smalsuoliams, kuriems įdomu, ką reiškia ši funkcija? ... palieku jums paprastą paaiškinimą:
funkcija cdls = Čia mes apibrėžiame, kad kuriame naują funkciją ir ji bus vadinama cdls
kompaktinis diskas „$ 1“ = Ir tai, ką veiks ši funkcija (ji atliks kiekvieną kartą, kai ją paskambinsime, naudosime ar vykdysime), tai padaryti CD (įvesti) link pirmojo parametro, tai yra ... - »« cd / home / »,« $ 1 »reiškia« tai, ką mes rašome po CD », šiame pavyzdyje pirmasis parametras yra„ / home / “.
; = Tai reiškia, kad ta tvarka baigiasi arba veiksmas, kurį reikia atlikti ... bet funkcija gali turėti daugiau veiksmų, kuriuos atliksime, ir mes dabar apibrėžsime antrą.
ls –spalva; = Tai reiškia, kad be bet kokio anksčiau deklaruoto veiksmo, jis taip pat padarys „ls“ ten, kur mes esame, o „ls“ tai padarys spalva (–spalva).
Paskutinis dalykas ... protingiausias, jie supras, kad ši logika (funkcijos paėmimas ir sukonfigūravimas atlikti kelis veiksmus) turi, pavyzdžiui, daug, daug galimybių ... jei noriu įvesti aplanką, taip pat ištrinti kitą, tai yra, aš noriu įvesti /namai/ ir taip pat ištrinti / opt / temp / funkcija tai būtų:
function asdasd { cd "$1"; rm -Rv "$2"; }
Ir įveskite terminalą asdasd / home / / opt / test / taip būtų, nes jis įves pirmąjį parametrą (/namai/) ir ištrinti antrą (/ opt / temp /).
Bet kokiu atveju, tai tikrai turi daug potencialių hehe, jūs turite tai išnaudoti.
Jei turite abejonių, klausimų, nusiskundimų ar pasiūlymų, mielai jums padėsiu, kol kas nesu ekspertas, bet bent jau man patinka padėti 😀
saludos
Ir visa tai už tai, kad nenaudojai Zsh.
Aš jo tikrai nepažinojau 😉
Ačiū už patarimą, aš jį stebėsiu.
Tačiau žinios nevyksta ... kuo daugiau patarimų ir žinių pavyksta įgyti, tuo geriau, ar nemanai? 🙂
Zsh skirtas queers, vyrai naudoja sh !!! >: D
Realybėje
HAHAHA ne ne ne ... nemanau, kad taip ir nesakykit, nes kai kurie gali būti įžeisti.
Kiekvienas naudoja tai, kas jam labiausiai tinka, kas labiausiai patinka 😀
????
Programa, kurią daug naudoju naršydama savo sistemą, yra „Autojump“:
https://github.com/joelthelion/autojump/blob/master/README.md
Vyrai yra praktiški, moterys ir kviestiniai mėgsta apsunkinti savo gyvenimą. Daugiau paaiškinti nereikia.
Prašau pabandyti nekomentuoti seksualinių nuostatų taip? ... Yra buvę nemalonių situacijų dėl tokio pobūdžio dalykų.
Tikiuosi, kad tai suprantama.
Šis paaiškinimas turėtų būti skirtas @msx. Idėjos kuriamos teisingais, objektyviais ir racionaliais teiginiais, o ne įžeidimais ar grubumu.
Savo komentare aukščiau liepiau jam tų dalykų nesakyti (atleiskite dėl atleidimo).
Ir dabar dar kartą sakau „taip“, bet nesu nukreiptas tik į jus, jis galioja visiems.
Nesupraskite to neteisingai, nesiekta, kad kas nors jaustųsi nepatogiai ar blogai, aš tiesiog stengiuosi išvengti nesusipratimo 🙂
Hahaha, aš ką tik pamačiau šį komentarą!
«Tas paaiškinimas turėtų būti skirtas @msx. idėjos konstruojamos remiantis teisingais, objektyviais ir racionaliais teiginiais, o ne su įžeidimais ar grubumu “.
Nustok pusryčiauti su citrinų žmogumi, tu jau atrodai kaip Franklinas 100 USD sąskaitoje: http://www.watchingamerica.com/frankfurterallgemeine000009.shtml
????
Zsh tai skirta queers? Na, manau, kad man tada patinka būti keistuoliu, nes nuo to laiko, kai išmokau juo naudotis, nesustojau ir nemanau to daryti. o_____o
Ar vyrai naudoja sh?, Tas komentaras yra keistas, gaunamas to, kuris turi pilna daiktu bashrc, todel manysiu, kad esate moteris. xP
Tai aš nenorėjau patekti. Prašau, palikime kovą čia, taip? 🙂
Kiekvienas naudoja viską, ko nori ... sh, zsh ar ką tik nori, taip pat ... visi turi seksualinius pageidavimus, kuriuos nori turėti, čia jau buvo kovojama dėl tokių dalykų 🙁
hahaha xD
Pastaruoju metu zsh labai pasikeitė, kai tik turiu laiko -ha, kaip kliedi! - Aš kuo daugiau perskaitysiu jo dokumentus, kad galėčiau jais pasinaudoti ir padaryti pakeitimus Kambija
Dabar rimtai: vienintelis dalykas, kurį šiek tiek jaudinu apie „zsh“, yra tai, kad jis nėra 100% suderinamas su „Bash“, taigi, jei scenarijuose naudosime „zsh“, išnaudodami visą jo potencialą, labai labai įmanoma, kad minėtas scenarijus nepavyksta Kita vertus, nors mes naudojame zsh, mes parašome savo apvalkalo scenarijus bash, tai yra švaistymas, kai naudojate zsh ... o_O
Nepaisant to, manau, kad „zsh“ yra verta. Kalbant apie kiautą, ar pažįsti Žuvį? Projektas iškilo iš pelenų, dabar jis vadinamas žuvimi ir jie jį vysto labai greitai.
Manau, kad zsh turėtų būti parašyta, nes terminalas yra labai jautrus
Nors CD ir & ls / maršrutas taip pat galioja
Nors rašyti ilgiau
Sveikinimai 😀
Aš klydau, mano pirštas išėjo
Aš sakiau, kad su tuo jis yra įtrauktas į sąrašą ir pasiekiamas katalogas
CD ir& ls / kelias
bet tik pasiruošk
nors tik išvardyti jis yra naudojamas
ls / kelias
komanda, kuri yra lygiavertė yra
CD / kelias && ls
saludos
Iš tiesų, naudojant && tas pats pasiekiamas 😀
Vienintelis skirtumas yra tas, kad „cd / opt / && ls“ turi 6 simbolius daugiau nei tiesiog „cd / opt /“, tai yra, turėčiau paspausti dar 6 klavišus ^ - ^ U ... Aš šiek tiek tingiu tokiems dalykams hehe.
Štai kodėl prisijungiau prie CD + ls ... LOL !!
Aš taip pat naudoju tai, kad filtruoju rezultatus pagal plėtinius.
pavyzdys
Aš turiu daug failų aplanke ~ / Downloads daugiau nei 100 ir noriu pamatyti tik .png failus.
CD atsisiuntimai ir & ls * png
Ką turėčiau pridėti ar padaryti, kad filtruočiau rezultatus paprastesniu kodu?
saludos
Paprasta 😉
Sukuriate funkciją, pvz., cdlsf:
function cdlsf { cd "$1"; ls *.$2; }
Tai naudoti būtų:
cdlsf / opt / png
Čia bus išvardyti tik failai . Png en / opt /
Tai yra pirmasis parametras (pavyzdyje / opt /) būtų katalogas, kurį norite pasiekti, ir 2 parametras (pavyzdyje png) būtų plėtinys, kurį norite filtruoti, kai išvardysite katalogą.
Kitas pavyzdys, jei norite eiti į / home / user / Pictures ir pamatyti tik failus, kurie yra .JPG, būtų:
cdlsf / home / user / Pictures jpg
????
Tai ko tu norėjai?
PS: Aš įdėjau cdlsf pagal cd (enter) ls (list) f (filtras) ... bet akivaizdu, kad galite skambinti funkcija, kaip tik norite.
„zsh“ nėra „POSIX“, o viską papildant, tai užtrunka ilgiau, todėl norėčiau būti fagas, bet efektyvesnis
Pirma, naudodami zsh, galite įjungti POSIX palaikymą. Antra, reikia laiko pradėti, atsižvelgiant į tai, kiek funkcijų įkraunate pradžioje, todėl tai gali būti tiek lengva, kiek norite. Trečia, su zsh vienas yra praktiškesnis ir efektyvesnis nei naudojant bet kurį kitą apvalkalą. Ketvirta, naudokite jį prieš kritikuodami.
5 d. Įjungus POSIX palaikymą, nebėra prasmės naudoti ZSH.
Aš naudoju jį kurį laiką, tai nėra verta, sh yra trumpas, o Bashas yra tobulas, nieko negalite padaryti Bash'e su tinkamais slapyvardžiais ir funkcijomis.
Man labai patinka tema. iš tikrųjų jie turėtų sukurti platesnį straipsnį apie komandas, kurias apskritai galima naudoti terminale ir tam tikruose rajonuose, pavyzdžiui, „Chakra“.
Pažvelkite į šį įrašą 😉
https://blog.desdelinux.net/mas-de-400-comandos-para-gnulinux-que-deberias-conocer/
Man tai buvo labai įdomu, nes jūs, be šio triuko mokymo, paaiškinote, kaip veikia kiekviena komanda.
Stebėjau jus nuo tada, kai pradėjau veikti „Linux“ pasaulyje (ne taip seniai ...) ir buvau paragintas pakomentuoti, kad tik pasveikintumėte jus su straipsniu 😉
Ačiū, kad užsukote ir palikote mums komentarą 😀
Kai tik išdrįstu ką nors paaiškinti, man patinka tai padaryti kuo aiškiau ... na, aš labai gerai žinau, kas yra skaityti vadovėlius internete ir visiškai nieko nesuprantu hahaha.
Sveiki atvykę du kartus ... sveiki atvykę į „Tux haha“ pasaulį, taip pat sveiki apsilankę tinklaraštyje 🙂
Jei turite klausimų, žinote, praneškite mums hehe.
Sveikinimai ir ačiū už komentarą ^ ⁻ ^
Aš ką tik perskaičiau jūsų įrašą iš kitos svetainės ir negalėjau atsispirti:
Ar nebus lengviau, tiesiog sukurkite slapyvardį .bashrc viduje?
pseudonimas cd = 'ls'
Tiesą sakant, tai, ką bandau pasiekti, yra įvesti katalogą X (/ opt /… / home / user /… kas bebūtų), o kai aš jį įvedu, jis automatiškai nurodo to katalogo turinį.
Viską atlikite vienu žingsniu ar komanda.
Padarydami slapyvardį, kaip nurodote, tada aš išvardinčiau katalogą, taip, bet aš jo neįvesčiau.
Iš to, ką suprantu, viso to tikslas yra tas, kad jei norite, pavyzdžiui, per komandą „cd“ įvesti „/ etc“, įvesdami, tai automatiškai parodys to katalogo turinį, tiesa?
Jei taip, galite supaprastinti funkciją į "pseudonimą", kur .bashrc viduje įdėsite:
pseudonimas cd = »ls»
Tuo atveju, kai naudojate terminalą:
CD / kt
Įvesite katalogą «/ etc» ir jame bus automatiškai išvardyti visi esantys failai ir katalogai.
Jei neteisingai supratau tikslą, atsiprašymas 😛
Tiesą sakant, aš noriu pereiti į katalogą ir patekęs į jį išvardyti, kas jame yra.
Išbandžiau tai, ką tu sakai, deklaruodamas, kad cd = ls slapyvardžiu, bet man tai netiko.
Aš pats sukonfigūruoju ir darau:
CD / etc /
Bet jame yra sąrašas / etc / ..., bet jis nepatenka į tą katalogą.
Palieku ekrano kopiją, kad galėtumėte pamatyti: http://img204.imageshack.us/img204/5272/cdlserror.png
Mano klaida 😀
Buvo akivaizdu, kad tai neveikia taip, ir net kai bandžiau:
pseudonimas cdls = 'cd $ 1; ls'
Dėl kažkokios keistos priežasties jis neveikia, jis tiesiog pateikia katalogą, bet neįeina į D:
Basho klaida? xD
Atsiprašymas už beprasmiškus komentarus! 😀 Ir aš imuosi funkcijos savo bashrc 😛
Pseudonimas nėra tas pats, kas funkcija, pseudonimas, jei norite, kad jis būtų tas pats kaip kelios komandos, turite naudoti &&… jis nėra panašus į funkcijas, tas, kuris naudojamas; ir parašyti daugiau instrukcijų jums tiks.
HAHA nah nieko draugo, nėra ko teisinti 😀
saludos
PS: ... velnias ... kokia nostalgija man kyla, kai pamatau „Arch“ logotipą ... T_T ...
Žinau, kad tai ne tas pats, bet supratau, kad tai veiks (klaida: P)
Man tinka tik tas, kad naudoju «;». vietoj „&&“ slapyvardyje D: (Aš turiu du tokius slapyvardžius, kurių nesuprantu, kodėl jis neveikia su slapyvardžiu, kurį norėjau sukurti šiam atvejui)
Ačiū ir, beje, manau, liksiu tinklaraštyje pavadinimu „dažnas skaitytojas“ 😀 Dienoraščio turinys man labai patiko 😛
o taip, aš žinau, aš kartais atsiskiriu nuo savo brangios Arch, bet, aš nežinau kodėl, man visada neįmanoma negrįžti pas jį xD
Sveiki atvykę!
Na ... Tuxas yra paslaptingas, jis daro dalykus ir daug kartų mes jo nesuprantame, bet jis turi planą ar tikslą visiems ... HAHA 😀
Malonu skaityti, ką sakote, kitas „Arch“ vartotojas, prisijungęs prie tinklaraščio hahahaha ... malonumas 😀
Turėjau nustoti jį naudoti dėl labai keistų problemų, kurias man iškėlė branduolys ... bet ji vis tiek užima vietą mano širdyje 🙁
daug juoko
Aš nesu sutikęs „Arch“ vartotojo, kuris nepriima didelio meilės platinimui, jis turi „Aš nežinau ką, ką aš žinau“: P, galbūt ir jei problemos, kurias tau daviau, buvo seniai, tu galėtų pagalvoti apie grįžimą prie Arch 😀
Beje, žinojau, kad kažkur kitur jau skaičiau tavo vardą (na, slapyvardis, pseudonimas, slapyvardis, bet kas), tu esi darbastalio rašytojų dalis, tiesa? 🙂
Aš jiems skaitydavau 🙂
Tiesą sakant, norint išvardyti katalogo turinį, jo įvesti nebūtina, todėl nemanau, kad jūsų pasirinktas pavyzdys yra pats laimingiausias, hehe. Be to, funkcijos gali būti naudojamos daugeliui naudingų dalykų.
Pvz., Naudoju šią funkciją, norėdamas sukurti katalogą ir nedelsdamas jį įvesti (patvirtindamas, kad naudojamas tik vienas parametras):
function mkcd () {
FNERR="Parametros incorrectos.\nUso: mkcd "
if [ $# -eq 1 ] ; then
mkdir -p "$1" && cd "$1"
else
echo -e $FNERR
fi
}
Hmmm ... tinklaraštis suvalgė dalį komandos, pabandysiu neužbaigtą eilutę įdėti su HTML žymomis:
FNERR="Parametros incorrectos.\nUso: mkcd <nombre del directorio a crear>"
Ką norėjau padaryti, tai sutaupyti žingsnį.
Kitaip tariant, tarkime, kad noriu įvesti katalogą (/ etc / squid /) ir tada redaguoti failą tame kataloge, ir nepamenu failo pavadinimo.
Veiksmai paprastai būtų:
CD / etc / kalmarai /
ls
nano file.conf
Tačiau naudodamas šį mano siūlomą patarimą pirmus 2 žingsnius konvertuoju tik į 1, kad paprasčiausiai atlikdamas:
CD / etc / kalmarai /
Jis automatiškai išvardys katalogo turinį ir man.
Tai tiesiog apie žingsnio išsaugojimą 😀
Tu supranti mane?
... ar man sunku paaiškinti, haha.
Ne, paaiškinimas neturėjo jokių problemų, turėjau omenyje, kad galbūt pavyzdys, kurį pasirinkote, kad iliustruotumėte patarimą, nebuvo idealus, nes galima sukurti paprastą „ls katalogą“.
Iš tikrųjų, kai tik pamačiau funkciją, supratau tikslą. Aš taip pat naudoju įvairias savo funkcijas .bash_aliasesPavyzdžiui, tai yra ta, kurią aš daug naudoju tvarkydama istoriją:
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
}
(Su šia funkcija, jei aš tiesiog įdėjau h Aš gaunu paskutines 25 komandas, bet jei, pavyzdžiui, aš įdėjau h kalnas Gaunu paskutines komandas, susijusias su asamblėjomis).
Aš prisiimu tavo vaidmenį hehehe ... verta nusipelnyti
puiki tavo funkcija! dėkoju
+1
KZKG ^ Gaara
Labai geras atsakymas man labai pasiteisino, negalėjau į jį atsakyti jau aukščiau
Dabar naudosiu cdlsf, kad padidinčiau savo produktyvumą, labai geras komandos pavadinimas 😀
saludos
Kaip jūs nustatote laiką iki terminalo, aš jau tai padariau anksčiau, tai buvo atsisiųsti bazhrc, bet aš nepamenu, kaip jis buvo vadinamas.
Geras įrašas, aš nežinojau triuko, jį pritaikysiu praktiškai, norėdamas pamatyti, kaip jis veikia. xP
Sveikinimai.
Būtų gerai, jei mano naršyklė būtų pridėta. xD
Dar kartą sveikinimai. xD
Kokią naršyklę naudojate?
Na, kitame komentare pamačiau, kad naudojatės „Firefox“ 🙂
Taip, aš naudoju „Firefox“, bet vis mažiau ir mažiau tai nėra mano pagrindinė naršyklė, aš naudoju „dwb“ ir būtų gerai, jei ją būtų galima pridėti. xP
Sveikinimai.
Ar darant šį slapyvardį nekils problemų scenarijuose bandant tiesiog CD ir išvesties ls? Ypač norėčiau daryti pseudonimus su vardais, kurių kiti vykdomieji failai nenaudoja, nes tai ne pirmas kartas, kai man kyla problemų ...
Kaip gauti punktyrines eilutes ir laiką po kiekvienos komandos?
Paziurek cia - " https://blog.desdelinux.net/con-el-terminal-mejorando-la-apariencia-de-la-consola-actualizado/
Mano indėlis:
pseudonimas ldir = 'ls | grep -v \\. ' ## išvardykite tik katalogus (būkite atsargūs, nepervadinkite jo į ld, nes tokiu vardu yra komanda GNU / Linux)
-
slapyvardis ll = 'ls -lah –spalva | awk '\ »{k = 0; už (i = 0; i <= 8; i ++) k + = ((substr ($ 1, i + 2,1) ~ / [rwx] /) * 2 ^ (8-i)); jei (k) printf ("% 0o", k); print} '\' ''
Įdomus šio slapyvardžio dalykas yra „awk“, kuris analizuoja ls išvestį, rezultatą? Tai rodo failų leidimus aštuonių formatu šalia rwx, man be galo praktiškiau ir greičiau nei raidės.
-
pseudonimas lg = 'ls -lah –spalva | awk '\' '{k = 0; už (i = 0; i <= 8; i ++) k + = ((substr ($ 1, i + 2,1) ~ / [rwx] /) * 2 ^ (8- i)); jei (k) printf ("% 0o", k); print} '\' '| grep -i'
Aukščiau esančio slapyvardžio variantas. Pabaigoje pridėjau grep, kad tokiu būdu, kai darau, pavyzdžiui:
$ lg pašto
Parodykite man tik failus, kuriuose yra „zip“ bet kurioje jo formoje (pabaigoje atkreipkite dėmesį į –i), be aštuonių leidimų ir t. T.
-
pseudonimas grep = 'grep –color = auto' ## nuspalvina grep atitikimą
-
Turiu dar daug kuo pasidalinti, bet ši maža vieta verčia mane siaurėti xD
@KZKG, darbuotojai: Ar manote, kad atidarote įrašą tinklaraštyje ar forume (kurį mes susiejame kiekvieną kartą, kai paskelbiamas patarimas, susijęs su konsole), kad surinktumėte visus šiuos mažus perliukus?
Sveiki atvykę!
Ar nuorodoje turite omenyje tai? - » https://blog.desdelinux.net/tag/bash
Aš nieko nesakiau, nieko daugiau nereikia, viskas puikiai pažymėta!
Koks čilietis, tai labai gera funkcija!