Izuzetno koristan savjet ako koristite terminal (Pridružite se CD naredbi pomoću LS ... i mnogih drugih)

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

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

Rekao sam to mnogo puta ... 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ĐE popisujem sadržaj tog direktorija i ... kao da to nije dovoljno, prikazuje mi ga bojama 😀

Evo primjera mog pristupa / etc / con cd / itd/:


Boje su jednostavne za razumijevanje:

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

Ali, prijeđimo na glavno ... Kako, dovraga, mogu koristiti i samo cd da automatski napišem direktorij kojem pristupam?

Naša arhiva .bashrc (koji se nalazi u našoj kući ili u ličnoj mapi) će nam pomoći da to učinimo, prvo moramo proglasiti funkciju koju ćemo pozvati CDLS:

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 [unesite]:

cdls $HOME

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

Mislim, šta CDLS već radi ono što želimo ... sada možemo postići samo isto, ali sa cd

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

alias cd='cdls'

Ovo će uslijediti kada napišemo cd ... akcija za koju definiramo da će se stvarno izvršiti CDLS

Ostavljam vam 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.

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

cd /etc/

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

Za šta je korisno? 😀

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

funkcija cdls = Ovdje definiramo da kreiramo novu funkciju i ona će se zvati cdls
cd "$ 1" = A ono što će raditi ova funkcija (učinit će svaki put kad je pozovemo, koristimo ili izvršimo) je napraviti cd (enter) prema 1. parametru, to jest ... - »« cd / home / »,« $ 1 »znači« što koje pišemo nakon cd ", u ovom primjeru 1. parametar je" / home / ".
; = To znači da se taj nalog tamo završava ili akcija koja treba biti izvršena ... 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 napraviti i "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 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 enter to /Dom/ i takođe izbrisati / opt / temp / funkcija za ovo bi bila:

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

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

U svakom slučaju, ovo zaista ima PUNO potencijala, hehe, na vama je da to 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 😀

Saludos


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Bla bla bla rekao je

    I sve to zbog nekorištenja Zsh-a.

    1.    KZKG ^ Gaara rekao je

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

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

      1.    MSX rekao je

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

        U stvarnosti

        1.    KZKG ^ Gaara rekao je

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

          1.    MSX rekao je

            ????

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

        2.    Bla bla bla rekao je

          Muškarci su praktični, žene i queers su one koje vole sebi zakomplicirati život. Dalje objašnjenje nije potrebno.

          1.    KZKG ^ Gaara rekao je

            Molimo vas da pokušate da ne komentirate seksualne sklonosti da? ... Bilo je neugodnih situacija za ovakve stvari.

            Nadam se da je razumljivo.

          2.    Bla bla bla rekao je

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

            1.    KZKG ^ Gaara rekao je

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

              Nemojte to shvatiti pogrešno, namjera nije bila da se itko osjeća nelagodno ili loše, samo pokušavam izbjeći nesporazum 🙂


          3.    Martin rekao je

            Hahaha, upravo sam vidio ovaj komentar!

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

            ????

        3.    Avelj rekao je

          Zsh je li za pedere? Pa, mislim da tada volim biti peder, jer otkako sam naučio da ga koristim, nisam se zaustavio i ne namjeravam. 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 rekao je

            Ovo 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 ... svi imaju seksualne sklonosti kakve žele imati, već su se ovdje vodile borbe za takve stvari 🙁

          2.    MSX rekao je

            hahaha xD

            U posljednje vrijeme zsh se puno razvio, čim imam vremena - ha, kako zabluda! - Pročitat ću što više njegove dokumentacije kako bih je iskoristio i napravio promjenu 🙂

            Sad ozbiljno: jedino što me zimi smeta kod zsh je da nije 100% kompatibilan s Bashom, pa ako koristimo zsh u našim skriptama uzimajući njegov puni potencijal, vrlo je, vrlo moguće, da navedena skripta ne uspije u bashu, s druge strane S druge strane, čak i ako koristimo zsh, svoje ljuske skripte napišemo na bash, uzaludno je koristiti zsh ... o_O

            I pored toga, mislim da zsh vrijedi. Kad smo kod školjke, da li poznajete Ribu? Projekt je ustao iz pepela, sada se zove fishfish i oni ga vrlo brzo razvijaju.

    2.    hackloper775 rekao je

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

      Iako je cd && ls / route također važeći

      Iako je duže pisati

      Pozdrav 😀

      1.    hackloper775 rekao je

        Pogriješio sam, prst mi je otpao

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

        cd && ls / path

        ali samo se spremi

        iako se koristi samo za popis

        ls / path

        naredba koja je ekvivalent je

        cd / path && ls

        Saludos

        1.    KZKG ^ Gaara rekao je

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

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

          1.    hackloper775 rekao je

            Ono što takođe koristim je da rezultate filtriram po ekstenzijama.

            Primjer

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

            cd Preuzimanja && ls * png

            Što bih trebao dodati ili učiniti da filtriram rezultate u jednostavnijem kodu?

            Saludos

            1.    KZKG ^ Gaara rekao je

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

              Za upotrebu bi bilo:
              cdlsf / opt / png

              I ovo će vam navesti samo datoteke .png en / opt /
              Odnosno, prvi parametar (u primjeru / opt /) bio bi direktorij kojem želite pristupiti, a drugi parametar (u primjeru png) bio bi ekstenzija koju ž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 bio:
              cdlsf / home / user / Slike jpg

              ????

              Ovo ste htjeli zar ne?

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


    3.    ikada rekao je

      zsh nije POSIX, a za početak je potrebno više vremena za početak, tako da više volim biti peder, ali efikasniji

      1.    Bla bla bla rekao je

        Prvo, u zsh možete omogućiti POSIX podršku. Drugo, potrebno je vrijeme da se pokrene ovisno o tome koliko funkcija učitate pri pokretanju, tako da može biti lagana koliko želite. Treće, sa zsh je jedan praktičniji i efikasniji nego sa bilo kojom drugom ljuskom. Četvrto, koristite ga prije kritiziranja.

        1.    MSX rekao je

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

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

  2.   Marco rekao je

    Stvarno mi se sviđa tema. u stvari, 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č rekao je

    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 ohrabren sam da komentarišem samo da vam čestitam na članku 😉

    1.    KZKG ^ Gaara rekao je

      Hvala vam što ste navratili i ostavili nam komentar 😀
      Kad god se usudim nešto objasniti, volim to učiniti što jasnijim ... 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 the
      Ako imate bilo kakvih pitanja, znajte, javite nam hehe.

      Pozdrav i hvala na komentaru ^ ⁻ ^

  4.   Ivan rekao je

    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 rekao je

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

      Napravite sve s jednim korakom ili naredbom.

      Praveći pseudonim kao što naznačite, tada bih naveo direktorij, da, ali ne bih ga unosio.

      1.    Ivan rekao je

        Koliko sam shvatio, cilj svega ovoga je da ako želite, na primjer, unijeti "/ etc" putem naredbe "cd", po ulasku će vam automatski prikazati sadržaj tog direktorija, 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 direktorijume koji se tamo nalaze.

        Ako sam pogrešno razumio cilj, izvinjenje 😛

        1.    KZKG ^ Gaara rekao je

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

          Ali navodi / etc / ..., ali ne ide u taj direktorij.
          Ostavljam vam snimak ekrana da vidite: http://img204.imageshack.us/img204/5272/cdlserror.png

          1.    Ivan rekao je

            Moja greška 😀

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

            alias cdls = 'cd $ 1; ls'

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

            Bash greška? xD

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

            1.    KZKG ^ Gaara rekao je

              Alias ​​nije isto što i funkcija, alias ako želite da bude isti kao nekoliko naredbi, morate koristiti && ... nije kao u funkcijama, to koristeći; i pisanje dodatnih uputa će vam odgovarati.

              HAHA ne za ništa prijatelju, nema razloga za ispriku 😀
              Saludos

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


          2.    Ivan rekao je

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

            Meni odgovara samo korišćenje „;“. umjesto "&&" unutar pseudonima D: (Imam dva ovakva pseudonima, ono što ne razumijem je zašto to ne funkcionira sa pseudonimom koji sam želio stvoriti za ovaj slučaj)

            Hvala vam i usput mislim da ću ostati na blogu pod naslovom "česti čitalac" 😀 stvarno mi se svidio sadržaj bloga 😛

            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 rekao je

              Pa ... Tux je misteriozan, 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 prestati da ga koristim zbog vrlo čudnih problema koje mi je kernel dao ... ali i dalje zauzima mjesto u mom srcu 🙁


          3.    Ivan rekao je

            hahahaha

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

            Usput, znao sam da sam negdje drugdje već pročitao vaše ime (pa nadimak, pseudonim, nadimak, bilo šta), vi ste dio pisaca za radnu površinu, zar ne? 🙂
            Nekad sam im čitao 🙂

  5.   hugo rekao je

    Zapravo za navođenje sadržaja direktorija nije potrebno unositi ga, tako da 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 rekao je

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

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

    2.    KZKG ^ Gaara rekao je

      Ono što sam želio je uštedjeti sebi 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
      nano.conf datoteka

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

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

      Ti me razumiješ?

      ... teško mi je objasniti haha.

      1.    hugo rekao je

        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đe koristim razne funkcije u svom .bash_aliasesNa primjer, ovaj često 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 rekao je

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

        2.    Anibal rekao je

          super vaša funkcija! hvala

        3.    MSX rekao je

          +1

  6.   hackloper775 rekao je

    KZKG ^ Gaara

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

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

    Saludos

  7.   Christopher castro rekao je

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

  8.   Avelj rekao je

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

    Pozdrav.

    1.    Avelj rekao je

      Bilo bi lijepo kada bi se dodao moj pretraživač. xD

      Pozdrav, opet. xD

      1.    KZKG ^ Gaara rekao je

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

        1.    Avelj rekao je

          Da, koristim Firefox, ali to je sve manje i više nije moj glavni pretraživač, koristim dwb i bilo bi dobro da se može dodati. xP

          Pozdrav.

  9.   Guillermo rekao je

    A hoće li izvođenje ovog zamjenskog imena uzrokovati probleme u skriptama pri pokušaju samo cd-a i izlaza ls? Naročito više volim da pravim pseudonime s imenima koja drugi izvršni programi ne koriste, jer mi nije prvi put da mi stvara probleme ...

  10.   yrigol rekao je

    Kako dobiti isprekidane linije i vrijeme nakon svake naredbe?

  11.   MSX rekao je

    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 –boja | 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} '\' ''

    Zanimljiva stvar kod ovog aliasa 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 –boja | awk '\' '{k = 0; za (i = 0; i <= 8; i ++) k + = ((substr ($ 1, i + 2,1) ~ / [rwx] /) * 2 ^ (8- i)); if (k) printf ("% 0o", k); ispis} '\' '| grep -i'

    Varijanta gornjeg zamjenskog imena. Dodao sam grep na kraju, tako da na ovaj način kada to radim, na primjer:
    $lgzip
    Pokažite mi samo datoteke koje sadrže zip u bilo kojem od njegovih oblika (primijetite -i na kraju) pored osminskih dozvola itd.
    -
    alias grep = 'grep –color = auto' ## boji grep podudaranje
    -

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

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

    Pozdrav!

    1.    KZKG ^ Gaara rekao je

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

  12.   MSX rekao je

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

  13.   Franklin Rodriguez rekao je

    Kakav Čileanac, to je vrlo dobra funkcija!