Izredno uporaben nasvet, če uporabljate terminal (ukaz CD pridruži z LS ... in še veliko več)

Sem ena tistih, ki veliko časa uporablja terminal (konzola, bash, lupina, kakor koli želite), zaradi X ali Y moram stalno spreminjati imenik in delati na njem 🙂

V veliki večini primerov je sprememba imenika (Na primer: cd / opt /) in tudi jaz bi rad vedel, kaj je v tem imeniku, da bi vedel to sekundo, ki jo uporabljam ls.

To pomeni, da bi bilo tako:

kzkggaara @ geass: ~ $ cd / opt /
kzkggaara @ geass: / opt / $
kzkggaara @ geass: / opt / $ ls
nessus

To sem že večkrat povedal ... Sem precej len, rad naredim najmanj korakov v terminalu, zato sem po veliko eksperimentiranju dosegel ravno tisto, kar sem hotel.

Oglejte si naslednje, kar je nič drugega kot vstop / opt / s preprostim ukazom cd / opt /:

Kot lahko vidite, je v enem koraku (cd / opt /) Vstopim v imenik in TUDI seznam njegovih vsebin in ... kot da to ne bi bilo dovolj, mi ga pokaže z barvami 😀

Tu je primer mojega dostopa / etc / z cd / itd/:


Barve so preproste za razumevanje:

Brez barve = Datoteke
Modra barva = Mape
Zelena barva = Datoteke z dovoljenji za izvajanje

Ampak, pojdimo na glavno ... Kako hudiča lahko tudi samodejno navedem imenik, do katerega dostopam, samo s CD-jem?

Naš arhiv .bashrc (v naši domači ali osebni mapi) nam bo pri tem pomagal, najprej moramo prijaviti funkcijo, ki jo bomo poklicali cdl-ji:

funkcija cdls {cd "$ 1"; ls –color;}

To črto postavimo na obe strani naše .bashrc ... tukaj je ukaz, da to storite:

echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc

S tem ukazom vam tega NI nujno, cilj je datoteka .bashrc vsebuje to vrstico, zato samo uredite to datoteko z želenim urejevalnikom besedil (podloga za miško, kate, gedit, nano, vi itd) in ga dodajte.
Spremembo shranijo, zaprejo odprti terminal in odprejo novega.

Vanj bomo zapisali naslednje in pritisnili [vnesite]:

cdls $HOME

To bi moralo biti dovolj za dostop do naše osebne mape v tem terminalu, na njej pa bo navedena tudi njena vsebina (z barvami in vsem drugim).

Mislim, kaj cdl-ji že počne, kar hočemo ... zdaj lahko dosežemo samo enako, vendar z cd

Za to v datoteko dodamo .bashrc naslednja vrstica:

alias cd='cdls'

To bo, ko bomo pisali cd ... Dejanje, ki ga določimo, bo dejansko izvedeno cdl-ji

Zapustim ukaz, ki bo samodejno postavil to prejšnjo vrstico:

echo "" >> $HOME/.bashrc && echo "alias cd='cdls'" >> $HOME/.bashrc

Toda, kot sem že rekel, je cilj dodati to drugo vrstico v isto datoteko, zanjo lahko uporabite urejevalnik besedil po vaši izbiri.

Ko je to končano, zaprite terminal in odprite novega ... vanj napišite naslednje in pritisnite [vnesite]:

cd /etc/

In bingo, vstopili bodo / Etc/ in tudi vsebina te mape bo navedena in z barvami 😉 (tako kot na prejšnji fotografiji)

Za kaj je koristno? 😀

Za radovedneže, ki se sprašujejo, kaj pomeni ta funkcija? ... prepuščam vam preprosto razlago:

funkcijski cdls = Tu določimo, da ustvarjamo novo funkcijo in se bo imenovala cdls
cd "$ 1" = In kaj bo ta funkcija naredila (vsakič, ko jo pokličemo, uporabimo ali izvršimo) je narediti cd (enter) proti 1. parametru, to je ... - »« cd / home / »,« $ 1 »pomeni« tisto, kar napišemo za cd ", v tem primeru je prvi parameter" / home / ".
; = To pomeni, da se naročilo tam konča ali pa dejanje, ki ga je treba izvesti ... vendar ima funkcija lahko več dejanj, zdaj pa bomo določili drugo.
ls –barva; = To pomeni, da bo poleg kakršnega koli dejanja, prijavljenega prej, naredil tudi "ls", kjer se nahajamo, "ls" pa bo to naredil z barvo (–barva).

Zadnja stvar ... najpametnejši bodo spoznali, da ima ta logika (ob prevzemanju funkcije in konfiguriranju za izvajanje več dejanj) veliko, veliko potenciala, na primer ... če želim vnesti mapo in tudi izbriši drugo, torej želim vnesti / home / in tudi izbriši / opt / temp / funkcija za to bi bila:

function asdasd { cd "$1"; rm -Rv "$2"; }

In tipkanje v terminalu asdasd / domov / / opt / test / bi, ker bo vstopil v prvi parameter (/ home /) in izbrišite drugega (/ opt / temp /).

Kakorkoli že, to ima res VELIKO potenciala hehe, na tebi je, da to izkoristiš, kolikor lahko.

Če imate kakršne koli dvome ali vprašanja, pritožbe ali predloge, vam bom z veseljem pomagal, še zdaleč nisem strokovnjak, a vsaj rad bi pomagal 😀

pozdrav


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   Bla bla bla je dejal

    In vse to zaradi neuporabe Zsh.

    1.    KZKG ^ Gaara je dejal

      V resnici ga nisem poznal 😉
      Hvala za namig, pazil bom nanj.

      Vendar pa znanje ne poteka ... več ko nasvetov in znanja lahko človek pridobi, tem bolje, se vam ne zdi? 🙂

      1.    MSX je dejal

        Zsh je za queers, moški uporabljajo sh !!! >: D

        V resnici

        1.    KZKG ^ Gaara je dejal

          HAHAHA ne ne ne ... Mislim, da ne, in tudi tega ne recite tako, ker bi bili nekateri lahko užaljeni.
          Vsak uporabi tisto, kar mu najbolj ustreza, kar mu je najbolj všeč 😀

          1.    MSX je dejal

            😉

            Aplikacija, ki jo veliko uporabljam za krmarjenje po svojem sistemu, je Autojump:
            https://github.com/joelthelion/autojump/blob/master/README.md

        2.    Bla bla bla je dejal

          Moški so praktični, ženske in queers so tiste, ki si rade zapletajo življenje. Dodatna pojasnila niso potrebna.

          1.    KZKG ^ Gaara je dejal

            Prosim, poskusite ne komentirati spolnih preferenc, da? ... Za take stvari so bile neprijetne situacije.

            Upam, da je razumljivo.

          2.    Bla bla bla je dejal

            To pojasnilo bi moralo biti za @msx. Ideje gradijo z resničnimi, objektivnimi in racionalnimi izjavami, ne z žaljivkami ali nesramnostjo.

            1.    KZKG ^ Gaara je dejal

              V zgornjem komentarju sem mu rekel, naj teh reči ne govori (odpustite odpuščanje).
              In zdaj še enkrat rečem da, vendar ne samo za vas, velja samo za vse.

              Ne jemljite napačno, namen ni bil, da bi se kdo počutil neprijetno ali slabo, samo poskušam se izogniti nerazumevanju 🙂


          3.    Martin je dejal

            Hahaha, pravkar sem videl ta komentar!

            «To pojasnilo bi moralo biti za @msx. ideje so zgrajene z resničnimi, objektivnimi in racionalnimi izjavami, ne z žaljivkami ali nesramnostjo. "
            Nehajte zajtrkovati z limonami, že ste videti tako kot Franklin na računu za 100 dolarjev: http://www.watchingamerica.com/frankfurterallgemeine000009.shtml

            ????

        3.    Abel je dejal

          No, mislim, da mi je potem všeč biti queer, ker se, odkar sem se naučil uporabljati, nisem ustavil in tudi ne nameravam. o_____o

          Ali moški uporabljajo sh?, Ta komentar je čuden od nekoga, ki ima bashrc poln stvari, zato predvidevam, da ste ženska. xP

          1.    KZKG ^ Gaara je dejal

            Do tega nisem hotel priti. Prosim, pustimo boj tukaj, ja? 🙂
            Vsak uporablja, kar hoče ... sh, zsh ali kar hoče, pa tudi ... vsakdo ima spolne želje, ki jih želi imeti, tukaj so se že borili za take stvari 🙁

          2.    MSX je dejal

            hahaha xD

            V zadnjem času se je zsh zelo razvil, takoj ko imam čas - ha, kako blodnjavo! - Prebral bom čim več njegove dokumentacije, da jo izkoristim in spremenim 🙂

            Zdaj pa resno: pri zsh me moti le to, da ni 100% združljiv z Bashom, zato, če v svojih skriptah uporabljamo zsh, ki izkorišča ves njegov potencial, je zelo, zelo verjetno, da omenjeni skript ne uspe bash, na drugi strani, čeprav uporabljamo zsh, skripte lupine pišemo v bash, pa je uporaba zsh potratna ... o_O

            Kljub temu se mi zdi zsh vredno. Ko smo že pri lupini, ali poznate Ribe? Projekt se je dvignil iz pepela, zdaj se imenuje fishfish in ga razvijajo zelo hitro.

    2.    hekloper775 je dejal

      Mislim, da je treba napisati zsh, ker je terminal zelo občutljiv na velike in male črke

      Čeprav velja tudi cd && ls / route

      Čeprav je daljše za pisanje

      Lep pozdrav 😀

      1.    hekloper775 je dejal

        Motil sem se, prst mi je odšel

        Sem rekel, da je s tem na seznamu in dostop do imenika

        cd && ls / pot

        ampak samo pripravi se

        čeprav se uporablja le za seznam

        ls / pot

        ukaz, ki je enakovreden, je

        cd / pot && ls

        pozdrav

        1.    KZKG ^ Gaara je dejal

          Dejansko se z && doseže enako 😀
          Edina razlika je v tem, da ima "cd / opt / && ls" 6 znakov več kot samo "cd / opt /", to pomeni, da bi moral pritisniti še 6 tipk ^ - ^ U ... sem nekoliko len za take stvari hehe.

          Zato sem se pridružil cd + ls ... LOL !!

          1.    hekloper775 je dejal

            Uporabljam tudi to, da rezultate filtriram po razširitvah.

            primer

            V ~ / Prenosih imam veliko datotek več kot 100, zato želim videti samo datoteko .png.

            cd Prenosi && ls * png

            Kaj bi moral dodati ali narediti za filtriranje rezultatov v enostavnejši kodi?

            pozdrav

            1.    KZKG ^ Gaara je dejal

              Preprosto 😉
              Ustvarite funkcijo, ki je na primer cdlsf:
              function cdlsf { cd "$1"; ls *.$2; }

              Za uporabo bi to pomenilo:
              cdlsf / opt / png

              Na seznamu bodo le datoteke . PNG en / opt /
              To je prvi parameter (v primeru / opt /) bi bil imenik, do katerega želite dostopati, in drugi parameter (v primeru png) bi bila razširitev, ki jo želite filtrirati, ko navedete imenik.

              Drug primer, če želite odpreti / home / user / Pictures in si ogledati samo datoteke, ki so .JPG, bi bil:
              cdlsf / home / user / Slike jpg

              ????

              To si hotel, kajne?

              PS: cdlsf sem dal s cd (enter) ls (list) f (filter) ... očitno pa lahko funkcijo pokličete, kar želite.


    3.    EVER je dejal

      zsh ni POSIX in za začetek traja dlje, da se začne, zato sem raje peder, vendar bolj učinkovit

      1.    Bla bla bla je dejal

        Najprej v zsh lahko omogočite podporo za POSIX. Drugič, čas traja, da se zažene glede na to, koliko funkcij naložite ob zagonu, zato je lahko tako lahka, kot želite. Tretjič, zsh je bolj praktičen in učinkovit kot pri kateri koli drugi lupini. Četrtič, uporabite ga pred kritiko.

        1.    MSX je dejal

          5. Ko vklopite podporo za POSIX, ni več smiselno uporabljati ZSH.

          Uporabljam ga že nekaj časa, ni vredno, sh je kratek in Bash popoln, v Bashu ne morete storiti ničesar z ustreznimi vzdevki in funkcijami.

  2.   Marco je dejal

    Tema mi je zelo všeč. pravzaprav bi morali ustvariti obsežnejši članek o ukazih, ki jih je mogoče na splošno uporabljati v terminalu in v določenih distribucijah, kot je Čakra.

  3.   jahač je dejal

    Zdelo se mi je zelo zanimivo, saj ste poleg poučevanja tega trika razložili, kako deluje vsak ukaz.

    Spremljam vas že od začetka v svetu Linuxa (nedolgo nazaj ...) in spodbudil sem me, da komentirate samo, da vam čestitam za članek 😉

    1.    KZKG ^ Gaara je dejal

      Hvala, ker ste se ustavili in nam pustili komentar 😀
      Kadarkoli si upam nekaj razložiti, najraje čim bolj jasno ... no, zelo dobro vem, kaj je branje vadnic na internetu in sploh nič ne razumem hahaha.

      Dobrodošli dvakrat ... dobrodošli v svet Tuxa haha, dobrodošli tudi na blogu 🙂
      Če imate kakršna koli vprašanja, nas obvestite hehe.

      Lep pozdrav in hvala za komentar ^ ⁻ ^

  4.   Ivan je dejal

    Pravkar sem prebral vašo objavo z drugega spletnega mesta in se nisem mogel upreti:

    Ali ne bi bilo lažje, samo ustvarite vzdevek znotraj .bashrc?

    vzdevek cd = 'ls'

    1.    KZKG ^ Gaara je dejal

      Pravzaprav tisto, kar poskušam doseči, je vnesti imenik X (/ opt / ... / home / user / ... karkoli) in tudi, ko ga vnesem, samodejno navede vsebino tega imenika.

      Vse skupaj naredite z enim samim korakom ali ukazom.

      Če naredite vzdevek, kot ste navedli, potem bi seznam navedel, da, vendar ga ne bi vnašal.

      1.    Ivan je dejal

        Kolikor razumem, je cilj vsega tega narediti, da če želite na primer z ukazom "cd" vnesti "/ etc", vam bo ob vstopu samodejno prikazal vsebino tega imenika, kajne?

        Če je tako, lahko funkcijo poenostavite na "vzdevek", kamor znotraj .bashrc vstavite:

        vzdevek cd = »ls»

        S tem, ko v terminalu uporabljate:

        cd / itd

        Vstopili boste v imenik «/ etc» in prav tako bo samodejno navedel vse datoteke in imenike, ki so tam.

        Če sem narobe razumel cilj, opravičilo 😛

        1.    KZKG ^ Gaara je dejal

          Pravzaprav želim vnesti imenik in enkrat v njem, da naštejem, kaj vsebuje.
          Poskusil sem, kar pravite, in razglasil, da je cd = ls prek vzdevka, vendar zame ni uspelo.
          Sam ga konfiguriram in nato:
          cd / etc /

          Navaja pa / etc /…, vendar ne gre v ta imenik.
          Pustil sem posnetek zaslona, ​​da boste lahko videli: http://img204.imageshack.us/img204/5272/cdlserror.png

          1.    Ivan je dejal

            Moja napaka 😀

            Bilo je očitno, da tako ne bo šlo, in tudi ko sem poskusil:

            vzdevek cdls = 'cd $ 1; ls'

            Iz nekega čudnega razloga ne deluje, samo seznam imenika, vendar ne gre v D:

            Bash napaka? xD

            Opravičilo za nesmiselne komentarje! 😀 In vzamem funkcijo za svoj bashrc 😛

            1.    KZKG ^ Gaara je dejal

              Vzdevek ni enak funkciji, vzdevek, če želite, da je enak več ukazom, morate uporabiti && ... ni tako kot v funkcijah, da uporaba; in pisanje dodatnih navodil vam bo uspelo.

              HAHA ne za nič prijatelja, nič za opravičilo
              pozdrav

              PS: ... hudiča ... kako nostalgičen sem, ko vidim logotip Arch ... T_T ...


          2.    Ivan je dejal

            Vem, da ni enako, vendar sem mislil, da bo delovalo (Napaka: P)

            Zame deluje le tisto z uporabo;; namesto "&&" znotraj vzdevka D: (imam dva taka vzdevka, česar ne razumem, zakaj ne deluje z vzdevkom, ki sem ga želel ustvariti za ta primer)

            Hvala in mimogrede, mislim, da bom ostal na blogu pod naslovom "pogosti bralec" 😀 Vsebina bloga mi je bila zelo všeč 😛

            oooh ja vem, včasih se ločim od mojega dragega Archa, ampak, ne vem zakaj, vedno je nemogoče, da se ne vrnem k njemu xD

            Lep pozdrav!

            1.    KZKG ^ Gaara je dejal

              No ... Tux je skrivnosten, počne stvari in velikokrat ga ne razumemo, ima pa načrt ali namen za vse ... HAHA 😀

              Z veseljem preberem, kar rečeš, še en uporabnik Archa, ki se pridruži blogu hahahaha ... v veselje 😀

              Moral sem ga nehati uporabljati zaradi nenavadnih težav, ki mi jih je povzročilo jedro ... vendar še vedno zaseda mesto v mojem srcu 🙁


          3.    Ivan je dejal

            LOL

            Nisem srečal uporabnika Arch-a, ki ne bi bil zelo naklonjen distribuciji, ima "ne vem kaj, kaj vem": P, morda in če so bile težave, ki sem vam jih dal že zdavnaj, lahko pomislite, da bi se vrnili v Arch Arch

            Mimogrede, vedel sem, da sem nekje drugje že prebral vaše ime (no, vzdevek, psevdonim, vzdevek, karkoli), ste del namiznih piscev, kajne? 🙂
            Včasih sem jim brala 🙂

  5.   Hugo je dejal

    Pravzaprav za seznam vsebine imenika ni treba vnašati, zato mislim, da primer, ki ste ga izbrali, ni najbolj vesel, hehe. S tem lahko funkcije uporabimo za marsikaj koristnega.

    Na primer, s to funkcijo ustvarim imenik in ga takoj vnesem (potrdi, da je uporabljen samo en parameter):

    function mkcd () {
    FNERR="Parametros incorrectos.\nUso: mkcd "
    if [ $# -eq 1 ] ; then
    mkdir -p "$1" && cd "$1"
    else
    echo -e $FNERR
    fi
    }

    1.    Hugo je dejal

      Hmmm ... blog je pojedel del ukaza, poskusil bom postaviti nepopolno vrstico z oznakami HTML:

      FNERR="Parametros incorrectos.\nUso: mkcd <nombre del directorio a crear>"

    2.    KZKG ^ Gaara je dejal

      Želel sem doseči le korak.
      Z drugimi besedami, domnevam, da želim vstopiti v imenik (/ etc / squid /) in nato urediti datoteko v tem imeniku in se ne spomnim imena datoteke.

      Koraki bi bili običajno:
      cd / etc / squid /
      ls
      datoteka nano.conf

      Toda s tem nasvetom, ki ga predlagam, prva dva koraka pretvorim samo v 2, tako da preprosto tako:
      cd / etc / squid /

      Vsebino imenika bo samodejno našel tudi zame.
      Gre preprosto za shranjevanje koraka 😀

      Ti me razumeš?

      ... težko mi je razložiti haha.

      1.    Hugo je dejal

        Ne, razlaga ni imela težav, mislil sem, da primer, ki ste ga izbrali za ponazoritev nasveta, ni bil idealen, saj lahko naredite preprost "ls imenik".

        Pravzaprav sem takoj, ko sem videl funkcijo, razumel namen. V svojem programu uporabljam tudi različne funkcije .bash_aliasesNa primer, to veliko uporabljam za upravljanje zgodovine:

        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
        }

        (S to funkcijo, če sem samo dal h Dobim zadnjih 25 ukazov, če pa na primer dam h nosilec Dobim zadnje ukaze, povezane s sklopi).

        1.    KZKG ^ Gaara je dejal

          Prevzemam tvojo vlogo hehehe ... zasluži si jo preučiti 😀

        2.    Anibal je dejal

          super vaša funkcija! hvala

        3.    MSX je dejal

          +1

  6.   hekloper775 je dejal

    KZKG ^ Gaara

    Zelo dober odgovor, zelo dobro mi je služil, nanj nisem mogel odgovoriti že zgoraj

    Zdaj bom za povečanje produktivnosti uporabil cdlsf, zelo dobro ime za ukaz 😀

    pozdrav

  7.   Christopher castro je dejal

    Kot določite čas do terminala, sem to že storil prej, prenesel sem bashrc, vendar se ne spomnim, kako se je imenoval.

  8.   Abel je dejal

    Dober vstop, trika nisem poznal, uporabil ga bom v praksi, da vidim, kako deluje. xP

    Lep pozdrav.

    1.    Abel je dejal

      Bilo bi lepo, če bi bil dodan moj brskalnik. xD

      Lep pozdrav, še enkrat. xD

      1.    KZKG ^ Gaara je dejal

        Kateri brskalnik uporabljate?
        No, v drugem komentarju sem videl, da ste uporabljali Firefox 🙂

        1.    Abel je dejal

          Ja, uporabljam Firefox, vendar je vedno manj in ni več moj glavni brskalnik, uporabljam dwb in bilo bi dobro, če bi ga lahko dodali. xP

          Lep pozdrav.

  9.   Guillermo je dejal

    In ali izdelava tega vzdevka ne bo povzročala težav s skripti, ko poskušate samo cd-jeti in tudi izpisovati ls? Posebej raje delam vzdevke z imeni, ki jih druge izvršljive datoteke ne uporabljajo, ker mi ni prvič, da mi dela težave ...

  10.   irigol je dejal

    Kako dobite črtkane črte in čas po vsakem ukazu?

  11.   MSX je dejal

    Moj prispevek:
    vzdevek ldir = 'ls | grep -v \\. ' ## navedite samo imenike (pazite, ne preimenujte ga v ld, ker obstaja ukaz GNU / Linux s tem imenom)
    -
    vzdevek ll = 'ls -lah –barva | 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} '\' ''

    Zanimivost tega vzdevka je awk, ki razčleni rezultat ls, rezultat? Prikaže dovoljenja za datoteke v osmiški obliki poleg rwx, zame neskončno bolj praktično in hitreje kot črke.

    -
    vzdevek lg = 'ls -lah –barva | 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'

    Različica vzdevka zgoraj. Na koncu sem dodal grep, tako da na primer na ta način, ko na primer:
    $ lg zadrga
    Pokažite mi samo datoteke, ki vsebujejo zip v kateri koli obliki (poleg oktalnih dovoljenj itd. Opazite -i).
    -
    vzdevek grep = 'grep –color = auto' ## obarva ujemanje grep
    -

    Imam še veliko za deliti, toda to malo mesto je tesno xD

    @KZKG, osebje: Ali menite, da odprete objavo v blogu ali na forumu (na katero povežemo vsakič, ko je objavljen namig, povezan s konzolo), da zberete vse te male bisere?

    Lep pozdrav!

    1.    KZKG ^ Gaara je dejal

      S povezavo misliš to? - » https://blog.desdelinux.net/tag/bash

  12.   MSX je dejal

    Nisem rekel ničesar, nič drugega ni potrebno, vse je odlično označeno!

  13.   Franklin Rodriguez je dejal

    Kakšen čilenec, to je zelo dobra funkcija!