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
I sve to zbog nekorištenja Zsh-a.
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? 🙂
Zsh je za queere, muškarci koriste sh !!! >: D
U stvarnosti
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 😀
????
Aplikacija koju puno koristim za navigaciju po svom sistemu je Autojump:
https://github.com/joelthelion/autojump/blob/master/README.md
Muškarci su praktični, žene i queers su one koje vole sebi zakomplicirati život. Dalje objašnjenje nije potrebno.
Molimo vas da pokušate da ne komentirate seksualne sklonosti da? ... Bilo je neugodnih situacija za ovakve stvari.
Nadam se da je razumljivo.
To pojašnjenje bi trebalo biti za @msx. Ideje se grade istinitim, objektivnim i racionalnim izjavama, a ne uvredama ili bezobrazlukom.
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 🙂
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
????
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
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 🙁
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.
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 😀
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
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 !!
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
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.
zsh nije POSIX, a za početak je potrebno više vremena za početak, tako da više volim biti peder, ali efikasniji
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.
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.
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.
Pogledajte ovaj post 😉
https://blog.desdelinux.net/mas-de-400-comandos-para-gnulinux-que-deberias-conocer/
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 😉
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 ^ ⁻ ^
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'
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.
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 😛
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
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 😛
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 ...
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!
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 🙁
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 🙂
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
}
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>"
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.
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).
Preuzimam tvoju ulogu hehehe ... zaslužuje to proučiti 😀
super vaša funkcija! hvala
+1
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
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.
Dobar ulazak, nisam znao trik, primijenit ću ga u praksi da vidim kako to funkcionira. xP
Pozdrav.
Bilo bi lijepo kada bi se dodao moj pretraživač. xD
Pozdrav, opet. xD
Koji pregledač koristite?
Pa, u drugom komentaru vidio sam da ste koristili Firefox 🙂
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.
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 ...
Kako dobiti isprekidane linije i vrijeme nakon svake naredbe?
Pogledati ovdje - " https://blog.desdelinux.net/con-el-terminal-mejorando-la-apariencia-de-la-consola-actualizado/
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!
Pod linkom mislite na ovo? - » https://blog.desdelinux.net/tag/bash
Nisam ništa rekao, ništa drugo nije potrebno, sve je savršeno označeno!
Kakav Čileanac, to je vrlo dobra funkcija!