Izuzetno koristan savjet ako koristite terminal (Pridružite se CD naredbi s LS ... i mnogim drugima)

Ja sam jedan od onih koji koristi puno vremena terminal (konzola, bash, ljuska, kako god to želite nazvati), iz X ili Y razloga moram stalno mijenjati direktorij i raditi na njemu it

U velikoj većini slučajeva promjena direktorija (Na primjer: cd / opt /), a također želim znati što se nalazi u tom direktoriju, da znam ovu sekundu koju koristim ls.

Odnosno, to bi bilo ovako:

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

Puno sam puta to rekao ... Prilično sam lijen, volim učiniti najmanje koraka u terminalu, zato sam nakon puno eksperimentiranja postigao upravo ono što sam želio.

Pogledajte sljedeće, što nije ništa više od mog ulaska / opt / jednostavnom naredbom cd / opt /:

Kao što vidite, u jednom koraku (cd / opt /) Uđem u direktorij i TAKOĐER navodi sadržaj tog direktorija, i ... kao da to nije dovoljno, prikazuje mi ga bojama 😀

Evo primjera mog pristupa / itd / s cd / itd/:


Boje su jednostavne za razumijevanje:

Bez boje = Datoteke
Boja plava = Mape
Zelena boja = Datoteke s dozvolama za izvršavanje

Ali, prijeđimo na glavno ... Kako, dovraga, mogu koristiti i samo cd za automatski popis direktorija kojem pristupam?

Naša arhiva .bashrc (koji se nalazi u našoj kući ili u osobnoj mapi) pomoći će nam u tome, prvo moramo proglasiti funkciju koju ćemo pozvati cdl-ovi:

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

Stavili smo ovu liniju s obje strane našeg .bashrc ... evo naredbe za to:

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

NE morate to nužno raditi s ovom naredbom, cilj je datoteka .bashrc sadrži ovaj redak, pa samo uredite ovu datoteku pomoću željenog uređivača teksta (podloga za miš, kate, gedit, nano, vi itd) i dodajte ga.
Spremaju promjenu, zatvaraju otvoreni terminal i otvaraju novi.

U njemu ćemo napisati sljedeće i pritisnuti [Unesi]:

cdls $HOME

To bi trebalo biti dovoljno za pristup našoj osobnoj mapi u tom terminalu, a također će navesti i njezin sadržaj (s bojama i svim ostalim).

Mislim, što cdl-ovi već radi ono što želimo ... sada možemo postići samo isto, ali s cd

Za to dodajemo u datoteku .bashrc sljedeći redak:

alias cd='cdls'

To će uspjeti kad napišemo cd ... Akcija koju definiramo zapravo će se izvršiti cdl-ovi

Ostavljam naredbu koja će automatski staviti ovaj prethodni redak:

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

Ali kao što sam već rekao, cilj je dodati ovaj drugi redak u istu datoteku, a za njega možete koristiti uređivač teksta po vašem izboru.

Kad je to gotovo, zatvorite terminal i otvorite novi ... u njega napišite sljedeće i pritisnite [Unesi]:

cd /etc/

I bingo, oni će ući / etc/ a također će biti naveden i sadržaj ove mape, s bojama 😉 (baš kao na prethodnoj fotografiji)

Za što je korisno? 😀

Za znatiželjnike koji se pitaju što znači ova funkcija? ... Ostavljam vam jednostavno objašnjenje:

cdls funkcije = Ovdje definiramo da stvaramo novu funkciju, a ona će se zvati cdls
cd "$ 1" = A ono što će raditi ova funkcija (učinit će svaki put kad je pozovemo, upotrijebimo ili izvršimo) je napraviti cd (enter) prema 1. parametru, to jest ... - »« cd / home / »,« $ 1 »znači« što da pišemo nakon cd ", u ovom primjeru 1. parametar je" / home / ".
; = To znači da taj nalog tamo završava ili radnja za izvršenje ... ali funkcija može imati više radnji, a mi ćemo sada definirati drugu.
ls –boja; = To znači da će uz bilo koju prethodno deklariranu radnju također napraviti "ls" tamo gdje se nalazimo, a "ls" će to učiniti bojom (–bojom).

Posljednja stvar ... oni najpametniji, shvatit će da ova logika (uzimanje funkcije i njezino konfiguriranje za izvršavanje nekoliko radnji) ima puno, puno potencijala, na primjer ... ako želim ući u mapu, a također izbrisati drugu, odnosno želim ući u /Dom/ i također izbrisati / opt / temp / funkcija za to bila bi:

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

I tipkanje u terminalu asdasd / home / / opt / test / bi, jer će unijeti 1. parametar (/Dom/) i izbrišite drugi (/ opt / temp /).

U svakom slučaju, ovo stvarno ima PUNO potencijala hehe, na vama je da ga iskoristite koliko god možete.

Ako imate bilo kakvih sumnji ili pitanja, žalbi ili prijedloga, rado ću vam pomoći, nisam daleko stručnjak, ali barem bih volio pomoći 😀

pozdravi


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   blablabla dijo

    I sve to zbog nekorištenja Zsh-a.

    1.    KZKG ^ Gaara dijo

      Zapravo ga nisam poznavala 😉
      Hvala na savjetu, pripazit ću na to.

      Međutim, znanje se ne odvija ... što više savjeta i znanja netko uspije steći, to bolje, zar ne mislite? 🙂

      1.    MSX dijo

        Zsh je za queere, muškarci koriste sh !!! >: D

        U stvarnosti

        1.    KZKG ^ Gaara dijo

          HAHAHA ne ne ne ... mislim da nije, a nemojte ni to tako reći, jer bi se neki mogli uvrijediti.
          Svatko koristi ono što mu najviše odgovara, što najviše voli 😀

          1.    MSX dijo

            😉

            Aplikacija koju puno koristim za navigaciju svojim sustavom je Autojump:
            https://github.com/joelthelion/autojump/blob/master/README.md

        2.    blablabla dijo

          Muškarci su praktični, žene i queerovi su oni koji vole zakomplicirati svoj život. Daljnje pojašnjenje nije potrebno.

          1.    KZKG ^ Gaara dijo

            Pokušajte ne komentirati seksualne sklonosti da? ... Bilo je neugodnih situacija za ovakve stvari.

            Nadam se da je razumljivo.

          2.    blablabla dijo

            To pojašnjenje trebalo bi biti za @msx. Ideje se grade istinitim, objektivnim i racionalnim izjavama, a ne uvredama ili bezobrazlukom.

            1.    KZKG ^ Gaara dijo

              U svom komentaru iznad rekao sam mu da ne govori te stvari (oprostite zbog viška).
              I sad opet kažem da, ali ne usmjereno samo na vas, vrijedi za sve.

              Ne shvaćajte to pogrešno, namjera nije bila da se itko osjeća neugodno ili loše, samo pokušavam izbjeći nesporazum 🙂


          3.    bregunica dijo

            Hahaha, upravo sam vidio ovaj komentar!

            «To bi pojašnjenje trebalo biti za @msx. Ideje se grade istinitim, objektivnim i racionalnim izjavama, a ne uvredama ili bezobrazlukom. "
            Prestani doručkovati s limunima, već izgledaš poput Franklina na novčanici od 100 dolara: http://www.watchingamerica.com/frankfurterallgemeine000009.shtml

            ????

        3.    Abel dijo

          Je li to queer zsh? Pa, mislim da mi se tada sviđa biti queer jer otkako sam ga naučio koristiti nisam se zaustavio i ne mislim to činiti. o_____o

          Koriste li muškarci sh?, Taj komentar čudan dolazi od nekoga tko ima bashrc pun stvari, pa ću pretpostaviti da ste žena. xP

          1.    KZKG ^ Gaara dijo

            To je ono do čega nisam želio doći. Molim te, ostavimo borbu ovdje, da? 🙂
            Svatko koristi sve što želi ... sh, zsh, ili što god želi, a također ... svatko ima seksualne sklonosti kakve želi imati, ovdje su se već vodile borbe za takve stvari 🙁

          2.    MSX dijo

            hahaha xD

            U posljednje vrijeme zsh se puno razvio, čim budem imao vremena - ha, kako je zabluda! - Pročitat ću što je više moguće njegovu dokumentaciju kako bih to iskoristio i napravio promjenu 🙂

            Sad ozbiljno govorim: jedina stvar koja me uznemirava kod zsh je da nije 100% kompatibilan s Bashom, pa ako koristimo zsh u našim skriptama uzimajući njegov puni potencijal, s druge strane je vrlo, vrlo moguće da navedena skripta ne uspije S druge strane, iako koristimo zsh, svoje skripte školjke pišemo na bash, trošenje zsh-a je zalud ... o_O

            Unatoč tome, mislim da se zsh isplati. Kad smo kod školjke, poznajete li Ribu? Projekt se izdigao iz pepela, sada se zove fishfish i oni ga vrlo brzo razvijaju.

    2.    hakloper775 dijo

      Mislim da zsh treba napisati jer terminal vrlo razlikuje velika i mala slova

      Iako vrijedi i cd && ls / route

      Iako je duže pisati

      Pozdrav 😀

      1.    hakloper775 dijo

        Pogriješila sam, otpao mi je prst

        Stavio sam da se s tim nalazi na popisu i pristupa se direktoriju

        cd && ls / put

        ali samo se spremi

        iako se koristi samo za popis

        ls / put

        naredba koja je ekvivalent je

        cd / path && ls

        pozdravi

        1.    KZKG ^ Gaara dijo

          Doista se pomoću && postiže isto 😀
          Jedina je razlika u tome što "cd / opt / && ls" ima 6 znakova više nego samo "cd / opt /", odnosno morao bih pritisnuti još 6 tipki ^ - ^ U ... Pomalo sam lijen za takve stvari hehe.

          Zbog toga sam se pridružio cd + ls ... LOL !!

          1.    hakloper775 dijo

            Ono što također koristim je da rezultate filtriram po proširenjima.

            primjer

            Imam mnogo datoteka u ~ / Downloads više od 100 i želim vidjeti samo .png da bih to učinio.

            cd Preuzimanja && ls * png

            Što bih trebao dodati ili učiniti za filtriranje rezultata u jednostavnijem kodu?

            pozdravi

            1.    KZKG ^ Gaara dijo

              Jednostavno 😉
              Stvorite funkciju koja je, na primjer, cdlsf:
              function cdlsf { cd "$1"; ls *.$2; }

              Da bi se koristilo:
              cdlsf / opt / png

              I ovo će vam navesti samo datoteke . PNG en / opt /
              Odnosno, 1. parametar (u primjeru / opt /) bio bi direktorij kojem želite pristupiti, a drugi parametar (u primjeru png) bi bilo proširenje koje želite filtrirati kada navedete direktorij.

              Još jedan primjer, ako želite otići na / home / user / Pictures i vidjeti samo datoteke koje su .JPG, to bi bilo:
              cdlsf / home / user / Slike jpg

              ????

              Ovo ste htjeli zar ne?

              PS: Stavio sam cdlsf pomoću cd (enter) ls (list) f (filter) ... ali očito možete funkciju nazvati kako god želite.


    3.    ikad dijo

      zsh nije POSIX, a za početak je potrebno više vremena za pokretanje, pa više volim biti peder, ali učinkovitiji

      1.    blablabla dijo

        Prvo, u zsh možete omogućiti POSIX podršku. Drugo, treba vremena da se pokrene ovisno o tome koliko funkcija učitate na početku, tako da može biti lagana koliko želite. Treće, s zsh je jedan praktičniji i učinkovitiji nego s bilo kojom drugom ljuskom. Četvrto, upotrijebite ga prije kritiziranja.

        1.    MSX dijo

          5. Kada omogućite POSIX podršku, nema smisla koristiti ZSH.

          Koristim ga već neko vrijeme, ne isplati se, sh je kratak, a Bash savršen, u Bashu ne možete učiniti ništa s odgovarajućim aliasima i funkcijama.

  2.   Marco dijo

    Jako mi se sviđa tema. zapravo, trebali bi stvoriti opsežniji članak o naredbama koje se općenito mogu koristiti u terminalu i u određenim distro-u, poput Čakre.

  3.   jahač dijo

    Bilo mi je vrlo zanimljivo jer ste, osim što ste podučavali ovaj trik, objasnili kako funkcionira svaka naredba.

    Pratim vas otkako sam započeo svijet Linuxa (ne tako davno ...) i ohrabrio sam se da komentiram samo kako bih vam čestitao na članku 😉

    1.    KZKG ^ Gaara dijo

      Hvala vam što ste navratili i ostavili nam komentar 😀
      Kad god se usudim nešto objasniti, volim to razjasniti što je moguće više ... dobro, dobro znam što je čitati tutorijale na internetu i uopće ništa ne razumijem hahaha.

      Dobrodošli dva puta ... dobrodošli u svijet Tuxa haha, a također dobrodošli i na blog 🙂
      Ako imate bilo kakvih pitanja, znajte, javite nam hehe.

      Pozdrav i hvala na komentaru ^ ⁻ ^

  4.   Ivan dijo

    Upravo sam pročitao vaš post s druge web stranice i nisam mogao odoljeti:

    Ne bi li bilo lakše, samo stvorite alias unutar .bashrc?

    alias cd = 'ls'

    1.    KZKG ^ Gaara dijo

      Zapravo ono što pokušavam postići je da uđem u direktorij X (/ opt / ... / home / user / ... svejedno), a također kad ga uđem, automatski navodi sadržaj tog direktorija.

      Napravite sve s jednim korakom ili naredbom.

      Ako napravite alias kao što naznačite, tada bih naveo direktorij, da, ali ne bih ga unio.

      1.    Ivan dijo

        Koliko razumijem, cilj svega ovoga je da ako želite, na primjer, unijeti "/ etc" putem naredbe "cd", po ulasku će vam automatski prikazati sadržaj te mape, zar ne?

        Ako je tako, možete pojednostaviti funkciju u "alias", gdje unutar .bashrc stavite:

        alias cd = »ls»

        Uz ovo, kada u terminalu koristite:

        cd / itd

        Ući ćete u direktorij «/ etc» i automatski će navesti sve datoteke i direktoriji koji se tamo nalaze.

        Ako sam pogrešno razumio cilj, isprika 😛

        1.    KZKG ^ Gaara dijo

          Zapravo želim ući u direktorij i kad jednom uđem u njega, navedem što sadrži.
          Pokušao sam što kažete, proglasivši da je cd = ls aliasom, ali to kod mene nije uspjelo.
          Ja to sam konfiguriram, a zatim radim:
          cd / etc /

          Ali navodi / etc / ..., ali ne ide u taj direktorij.
          Ostavljam snimku zaslona kako biste mogli vidjeti: http://img204.imageshack.us/img204/5272/cdlserror.png

          1.    Ivan dijo

            Moja pogreška 😀

            Bilo je očito da to neće tako uspjeti, pa čak i kad sam pokušao:

            alias cdls = 'cd $ 1; ls'

            Iz nekog čudnog razloga ne radi, samo navodi direktorij, ali ne ide u D:

            Bash pogreška? xD

            Isprika za besmislene komentare! 😀 I uzimam funkciju za svoj bashrc 😛

            1.    KZKG ^ Gaara dijo

              Alias ​​nije isto što i funkcija, alias ako želite da bude isti kao nekoliko naredbi, morate koristiti && ... to nije kao u funkcijama, to korištenje; a pisanje dodatnih uputa radit će za vas.

              HAHA ne za ništa prijatelj, nema za ispriku 😀
              pozdravi

              PS: ... kvragu ... kako nostalgičan postajem kad vidim Archov logo ... T_T ...


          2.    Ivan dijo

            Znam da nije isto, ali mislio sam da će to uspjeti (Pogreška: P)

            Meni odgovara samo upotreba «;». umjesto "&&" unutar pseudonima D: (Imam dva takva pseudonima, ono što ne razumijem je zašto to ne radi s aliasima koje sam želio stvoriti za ovaj slučaj)

            Hvala i usput, mislim da ću ostati na blogu pod naslovom "česti čitatelj" 😀 Sadržaj bloga mi se jako svidio 😛

            oooh da znam, ponekad se odvojim od svog dragog Archa, ali, ne znam zašto, uvijek mi je nemoguće da mu se ne vratim xD

            Pozdrav!

            1.    KZKG ^ Gaara dijo

              Pa ... Tux je tajanstven, on radi stvari i puno puta ga ne razumijemo, ali on ima plan ili svrhu za sve ... HAHA 😀

              Zadovoljstvo mi je pročitati ono što kažete, još jedan korisnik Archa koji se pridruži blogu hahahaha ... zadovoljstvo 😀

              Morao sam ga prestati koristiti zbog čudnih problema koje mi je kernel dao ... ali i dalje zauzima mjesto u mom srcu 🙁


          3.    Ivan dijo

            lol

            Nisam upoznao korisnika Archa koji ne voli veliku distribuciju, on ima "Ne znam što, što znam": P, možda i ako su problemi koje sam vam dao davno mogli razmisliti o povratku u Arch 😀

            Usput, znao sam da sam negdje drugdje već pročitao vaše ime (pa nadimak, pseudonim, nadimak, kako god), vi ste dio pisaca artedeskitorio, zar ne? 🙂
            Nekad sam im čitao 🙂

  5.   Hugo dijo

    Zapravo da biste naveli sadržaj direktorija nije potrebno unositi ga, pa mislim da primjer koji ste odabrali nije najsretniji, hehe. Uz to, funkcije se mogu koristiti za mnoge korisne stvari.

    Na primjer, koristim ovu funkciju za stvaranje direktorija i njegovo unošenje odmah (potvrđujući da se koristi samo jedan parametar):

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

    1.    Hugo dijo

      Hmmm ... blog je pojeo dio naredbe, pokušat ću staviti nepotpuni redak s HTML oznakama:

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

    2.    KZKG ^ Gaara dijo

      Ono što sam želio postići bilo je spasiti korak.
      Drugim riječima, pretpostavimo da želim ući u direktorij (/ etc / squid /), a zatim urediti datoteku u tom direktoriju i ne sjećam se imena datoteke.

      Koraci bi obično bili:
      cd / etc / squid /
      ls
      datoteka nano.conf

      Ali ovim savjetom koji predlažem pretvorim prva 2 koraka u samo 1, tako da jednostavno:
      cd / etc / squid /

      Automatski će i meni navesti sadržaj direktorija.
      Jednostavno se radi o spremanju koraka 😀

      Ti me razumiješ?

      ... teško mi je objasniti haha.

      1.    Hugo dijo

        Ne, objašnjenje nije imalo problema, mislio sam da možda primjer koji ste odabrali za ilustraciju savjeta nije bio idealan, jer se može napraviti jednostavan "ls direktorij".

        Zapravo čim sam vidio funkciju, shvatio sam svrhu. Također koristim razne funkcije u svom .bash_pseudonimiNa primjer, ovo je puno koje koristim za upravljanje poviješću:

        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
        }

        (Uz ovu funkciju, ako samo stavim h Primam posljednjih 25 naredbi, ali ako, na primjer, stavim h nosač Dobivam posljednje naredbe povezane sa sklopovima).

        1.    KZKG ^ Gaara dijo

          Preuzimam tvoju ulogu hehehe ... zaslužuje je proučiti 😀

        2.    Anibal dijo

          super vaša funkcija! Hvala

        3.    MSX dijo

          +1

  6.   hakloper775 dijo

    KZKG ^ Gaara

    Vrlo dobar odgovor, poslužio mi je jako dobro, već gore nisam mogao odgovoriti na njega

    Sada ću koristiti cdlsf da bih povećao svoju produktivnost, vrlo dobro ime za naredbu 😀

    pozdravi

  7.   Christopher castro dijo

    Kao što to radite da biste postavili vrijeme terminala, i to sam već radio, preuzeo se bashrc, ali ne sjećam se kako se zvao.

  8.   Abel dijo

    Dobar ulazak, nisam znao trik, primijenit ću ga u praksi da vidim kako to funkcionira. xP

    Pozdrav.

    1.    Abel dijo

      Bilo bi lijepo kad bi se dodao moj preglednik. xD

      Pozdrav, opet. xD

      1.    KZKG ^ Gaara dijo

        Koji preglednik koristite?
        Pa, u drugom komentaru vidio sam da ste koristili Firefox 🙂

        1.    Abel dijo

          Da, koristim Firefox, ali postaje sve manje i više nije moj glavni preglednik, koristim dwb i bilo bi lijepo kad bi ga se moglo dodati. xP

          Pozdrav.

  9.   Guillermo dijo

    A hoće li izvođenje ovog aliasa uzrokovati probleme u skriptama pri pokušaju samo cd-a i izlaza ls? Posebno volim izrađivati ​​pseudonime s imenima koja drugi izvršni programi ne koriste, jer mi nije prvi put da mi stvara probleme ...

  10.   irigol dijo

    Kako dobiti isprekidane linije i vrijeme nakon svake naredbe?

  11.   MSX dijo

    Moj doprinos:
    alias ldir = 'ls | grep -v \\. ' ## navedite samo direktorije (budite oprezni, nemojte ga preimenovati u ld jer postoji GNU / Linux naredba s tim imenom)
    -
    alias ll = 'ls -lah –color | awk '\ »{k = 0; za (i = 0; i <= 8; i ++) k + = ((substr ($ 1, i + 2,1) ~ / [rwx] /) * 2 ^ (8-i )); if (k) printf ("% 0o", k); print} '\' ''

    Zanimljivost ovog pseudonima je awk koji raščlanjuje izlaz ls, rezultat? Prikazuje dozvole za datoteke u oktalnom formatu pored rwx, za mene beskrajno praktičnije i brže od slova.

    -
    alias lg = 'ls -lah –color | awk '\' '{k = 0; za (i = 0; i <= 8; i ++) k + = ((substr ($ 1, i + 2,1) ~ / [rwx] /) * 2 ^ (8- i)); if (k) printf ("% 0o", k); print} '\' '| grep -i'

    Varijanta gornjeg aliasa. Dodao sam grep na kraju, tako da na ovaj način kada to radim, na primjer:
    $ lg patentni zatvarač
    Pokažite mi samo datoteke koje sadrže zip u bilo kojem od njegovih oblika (primijetite -i na kraju) uz osminska dopuštenja itd.
    -
    alias grep = 'grep –color = auto' ## boji grep podudaranje
    -

    Imam još mnogo toga za podijeliti, ali ovo me malo mjesto čini tesnim xD

    @KZKG, Osoblje: Mislite li da otvorite post na blogu ili na forumu (na koji povezujemo svaki put kad se objavi savjet u vezi s konzolom) kako biste okupili sve ove male bisere?

    Pozdrav!

    1.    KZKG ^ Gaara dijo

      Pod vezom mislite ovo? - » https://blog.desdelinux.net/tag/bash

  12.   MSX dijo

    Nisam ništa rekao, ništa od ostalog nije potrebno, sve je savršeno označeno!

  13.   Franklin Rodriguez dijo

    Kakav Čileanac, to je vrlo dobra funkcija!