Sóc dels que fa servir gran part de el temps la terminal (consola, bash, shell, com vulguin cridar-li), Per X o I motius he d'estar constantment canviant de directori, treballant-hi 🙂
En la gran majoria dels casos, canvi de directori (Per exemple: cd / opt /) Ia més desig saber què es troba en aquest directori, per saber això segon faig ús de ls.
O sigui, seria així:
kzkggaara @ geass: ~ $ cd / opt /
kzkggaara @ geass: / opt / $
kzkggaara @ geass: / opt / $ ls
nessus
Moltes vegades ho he dit ... sóc bastant vague, m'agrada fer el mínim de passos a terminal, per això és que després de bastant experimentar, he aconseguit just el que volia.
Vegin el següent, que no és més que jo entrant a / Opt / amb el simple comandament cd / opt /:
Com poden veure, en un sol pas (cd / opt /) Entro a directori i MÉS em llista el contingut d'aquest directori, i ... per si fos poc, m'ho mostra amb colors 😀
Aquí l'exemple de jo accedint a / Etc / amb cd / etc/:
Els colors són simples d'entendre:
sense color = Arxius
color blau = Carpetes
color verd = Arxius amb permisos d'execució
Però, passem al principal ... ¿Com dimonis usant solament cd puc més automàticament llistar el directori a què accedeixo?
El nostre arxiu .bashrc (ubicat al nostre home o carpeta) Ens ajudarà a fer això, primer hem de declarar una funció, a la qual anomenarem CDLS:
function CDLS {cd «$ 1»; ls -color;}
Aquesta línia la posem en qualsevol costat del nostre .bashrc ... aquí els deixo la comanda per fer-ho:
echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc
NO necessàriament han de fer-ho amb aquesta comanda, l'objectiu és que l'arxiu .bashrc contingui aquesta línia, així que simplement editen aquest arxiu amb el seu editor de text preferit (Mousepad, kate, gedit, nano, vaig veure, etc) I la afegeixen.
Guarden el canvi, tanquen la terminal que tinguin oberta i obren una nova.
Hi escriurem el següent i pressionem [Entrar]:
cdls $HOME
Això ha de ser suficient per accedir a la nostra carpeta personal en aquesta terminal, ia més ens llistarà el contingut d'ella (amb colors i tot).
O sigui, que CDLS ja fa el que volem ... ara només ens queda aconseguir el mateix però amb cd
Per això, afegim a l'arxiu .bashrc la següent línia:
alias cd='cdls'
Això farà que quan escrivim cd ... en realitat s'executarà l'acció que definim per CDLS
Els deixo la comanda que posarà automàticament aquesta línia anterior:
echo "" >> $HOME/.bashrc && echo "alias cd='cdls'" >> $HOME/.bashrc
Però igual com els vaig dir abans, l'objectiu és afegir aquesta altra línia el mateix arxiu, poden utilitzar l'editor de text de la seva preferència per a això.
Un cop fet això, tanquin la terminal i obrin una nova ... en ella escriguin el següent i pressionin [Entrar]:
cd /etc/
I bingo, entraran a / etc/ Ia més se'ls llistarà el contingut d'aquesta carpeta, i amb colors 😉 (just com en una foto anterior)
A que és útil? 😀
Per als curiosos que es pregunten què significa aquesta funció? ... els deixo la simple explicació:
function CDLS = Aquí definim que estem creant una nova funció, i es dirà CDLS
cd «$ 1» = I aquesta funció el que farà (farà cada vegada que la truquem, usem o executem) serà fer un cd (entrar) cap al 1er paràmetre, és a dir ... - »« cd / home / », el« $ 1 »significa« el que escrivim després de cd », en aquest exemple el 1er paràmetre és« / home / ».
; = Això vol dir que aquí acaba aquesta ordre, o acció a executar ... però una funció pot tenir més accions a fer, i li definirem una segona ara.
ls -color; = Significa que a més de qualsevol acció declarada abans, també farà un «ls» on estiguem situats, i el «ls» ho farà amb color (-color).
Ultima cosa ... els més llestos, s'adonaran que aquesta lògica (prendre una funció i configurar-la perquè executi diverses accions) té molt però molt potencial, per exemple ... si vull entrar a una carpeta, ia més esborrar una altra, és a dir, vull entrar a / home / ia més esborrar / Opt / temp / la funció per a això seria:
function asdasd { cd "$1"; rm -Rv "$2"; }
I escrivint en una terminal asdasd / home / / opt / test / ho faria, perquè entrarà a l'1er paràmetre (/ home /) I esborrarà el segon (/ Opt / temp /).
En fi, de debò això té MOLT potencial jeje, queda per part de vostès aprofitar el més que puguin.
Si tenen algun dubte o pregunta, queixa o suggeriment amb molt de gust els dono un cop mà, no sóc ni de lluny un expert però al menys m'agrada ajudar 😀
Salutacions
I tot això per no usar zsh.
En realitat no el coneixia 😉
Gràcies per la dada, el trobaré un ull.
No obstant això, el coneixement no ocupa lloc ... com més tips i coneixements XNUMX:XNUMX aconsegueixi adquirir, serà millor no ho creus? 🙂
Zsh és de mariques, els homes usen sh !!! >: D
en realitats
Hahaha no no no ... no ho crec, i tampoc ho diguis així, perquè es podrien sentir alguns ofesos.
Cadascú fa servir el que més li convé, el que més li agrada 😀
;)
Una app que ús molt per navegar per meu sistema és Autojump:
https://github.com/joelthelion/autojump/blob/master/README.md
Els homes són pràctics, les dones i els maricas són a qui els agrada complicar-se la vida. No cal donar més aclariments.
Si us plau, intentar no fer comentaris sobre preferències sexuals si? ... han hagut situacions incòmodes per aquest tipus de coses.
Espero s'entengui.
Aquesta aclariment hauria de ser per @msx. les idees es construeixen amb asseveracions verídiques, objectives i racionals, no amb insults o grolleries.
En el comentari meu de més amunt li vaig dir que no digués aquestes coses (valgui la redundància).
I ara ho torno a dir sí, però no dirigit a tu només en específic, és vàlid per a tots i totes.
No t'ho prenguis a malament, la intenció no era fer sentir a ningú incòmode o malament, només intento evitar malentès 🙂
Hahaha, acabat veig aquest comentari!
«Aquesta aclariment hauria de ser per a @msx. les idees es construeixen amb asseveracions verídiques, objectives i racionals, no amb insults o grolleries. »
Dejá de desayunarte amb llimones man que ja estàs ben igual a Franklin en el bitllet d'o $ s100: http://www.watchingamerica.com/frankfurterallgemeine000009.shtml
????
¿Zsh és de mariques ?, bo crec que m'agrada ser marica llavors per que des que va aprendre a usar-lo no ho he deixat ni penso fer-ho. o_____o
¿Els homes usen sh ?, és estrany aquest comentari venint d'algú que té el bashrc ple de coses, així que suposaré que ets dona. xP
A això és al que no volia arribar. Si us plau, deixem aquí la baralla si? 🙂
Cadascú fa servir el que vulgui ... sh, zsh, o el que vulgui, i més ... cadascú té les preferències sexuals que vulgueu tenir, ja han hagut baralles aquí per coses així 🙁
jajaja xD
Darrerament va evolucionar molt zsh, ni bé tingui temps -ja, que il·lús! - vaig a llegir tant com pugui de la seva documentació per treure-li profit i faig el cambiazo 🙂
Ara parlant seriosament: l'única cosa que em fot una miqueta de zsh és que no és 100% compatible amb Bash, llavors si fem servir zsh al nostre scripts traient-li tot el seu potencial, és molt però molt possible que aquest script falli en bash, d'altra banda, si encara usem zsh escrivim els nostres shell scripts en bash és un malbaratament estar usant zsh ... o_O
Així i tot crec que zsh val la pena. Parlant de shell, coneixen Fish? El projecte va ressorgir de les seves cendres, ara es diu fishfish i ho estan desenvolupant molt ràpid.
Jo penso que s'ha d'escriure zsh ja que la terminal és molt sensible amb les minúscules i majúscules
Encara que també es val cd && ls / ruta
Encara que és mes llarg d'escriure
Salutacions 😀
M'equivoqui se me'n va anar el dit
Vaig posar que amb això es llista i s'accedeix a un directori
cd && ls / ruta
però només es llista
encara que per només llistar s'usa
ls / ruta
la comanda que és l'equivalent és
cd / ruta && ls
Salutacions
En efecte, usant && s'aconsegueix el mateix 😀
L'única diferència és que «cd / opt / && ls» té 6 caràcters més que simplement «cd / opt /», és a dir, hauria de pressionar 6 tecles més ^ - ^ U ... sóc una mica gandul per a coses així de simple jeje.
És per això que vaig unir el cd + ls ... LOL !!
El que també ús és que filtre els resultats per extensions.
Exemple
Tinc molts arxius en ~ / Descàrregues mes de 100 i només vull veure els .png per fer això faig
cd Descàrregues && ls * png
¿Que hauria d'afegir o fer per filtrar els resultats en un codi més simple?
Salutacions
simple 😉
Crees una funció que sigui per exemple, cdlsf:
function cdlsf { cd "$1"; ls *.$2; }
Per usar-la seria:
cdlsf / opt / png
I això et llistarà només els arxius .png en / Opt /
O sigui, el 1er paràmetre (en l'exemple / Opt /) Seria el directori a què vols accedir, i el 2n paràmetre (en l'exemple png) Seria l'extensió que vols filtrar quan llistes directori.
Un altre exemple, si vols entrar a / home / usuari / Pictures i veure només els arxius que siguin .JPG, seria:
cdlsf / home / usuari / Pictures jpg
????
Això era el que volies no?
PD: Poso cdlsf per cd (entrar) ls (llistar) f (filtrar) ... però la funció òbviament la pots anomenar com vulguis.
zsh no és POSIX, ia sobre triga mes a iniciar, així que prefereixo ser marica, però més eficient
Primer, en zsh es pot activar compatibilitat amb POSIX. Segon, triga a iniciar d'acord a totes les funcions carregui a l'inici, llavors pot ser tan lleuger com un vulgui. Tercer, amb zsh un és més pràctic i eficient que amb qualsevol altre shell. Quart, utilitzeu-lo abans de criticar.
5to. Quan pots activar la compatibilitat POSIX deixa de tenir sentit utilitzar zsh.
El vaig estar usant una estona, no val la pena, sh es curt i Bash és perfecte, no hi ha res que no puguis fer en Bash amb els àlies i funcions adequades.
m'agrada molt el tema. de fet, haurien de crear algun article més extens sobre les ordres que es poden utilitzar en general a la terminal, i en distros específiques, com Chakra.
Mira aquest post 😉
https://blog.desdelinux.net/mas-de-400-comandos-para-gnulinux-que-deberias-conocer/
M'ha semblat molt interessant ja que a part d'ensenyar aquest truquillo, has explicat com funciona cada comanda.
Us porto seguint des que vaig començar en el món linux (no fa gaire ...) i m'he animat a comentar només per felicitar-te per l'article 😉
Gràcies a tu per passar-te i deixar-nos el comentari 😀
Sempre que m'aventuro a explicar alguna cosa, m'agrada deixar-ho tan clar com sigui possible ... doncs, jo sé molt bé el que és llegir tutorials a internet i no entendre res de res jajaja.
Benvingut doblement ... benvingut a el món de l'Tux jaja, ia més benvingut a l'bloc 🙂
Si tens algun dubte ja saps, ens deixes saber jeje.
Salutació i gràcies pel comentari ^ ⁻ ^
Acabo de llegir la teva entrada des d'un altre lloc web, i no he pogut resistir-me:
No seria més fàcilment, simplement crear dins de l'.bashrc un àlies?
àlies cd = 'ls'
En realitat el que intento aconseguir és entrar a un directori X (/ opt / ... / home / usuari / ... el que sigui) ia més quan entri en ell, automàticament em llisti el contingut d'aquest directori.
Que sigui tot amb 1 sol pas o comandament.
Fent un àlies com indiques, llavors em llistaria directori sí, però no entraria en ell.
Pel que entenc, l'objectiu de realitzar tot això, és que si vols ara entrar a «/ etc» per mitjà de la comanda «cd», a l'entrar, automàticament et mostri el contingut d'aquest directori, cert?
Si és així, pots simplificar la funció en un «àlies», on dins de l'.bashrc col·loques:
àlies cd = »ls»
Amb això, quan en una terminal utilitzis:
cd / etc
Entressis a directori «/ etc» i a més automàticament et llistés tots els arxius i directoris que estiguin aquí dins.
Si vaig entendre malament l'objectiu, una disculpa 😛
En efecte, vull entrar a un directori i un cop a dins que llisti el que contingui.
Vaig intentar el que dius, declarant que cd = ls mitjançant un àlies, però no em va resultar.
El configurar així mateix, i després faig:
cd / etc /
Però em llista / etc / ... mes no entra a aquest directori.
Deixo un screenshot perquè vegis: http://img204.imageshack.us/img204/5272/cdlserror.png
El meu error 😀
Era obvi que no anava a funcionar d'aquesta manera, i tot i que intenti amb un:
àlies CDLS = 'cd $ 1; ls'
Per alguna estranya raó no funciona, simplement llista directori però no entra al D:
Bash error? xD
Una disculpa pels comentaris sense sentit! 😀 I em porto la funció per a la meva bashrc 😛
És que un àlies no és el mateix que una funció, un àlies si vols que sigui igual a diversos comandaments, has de obligatòriament utilitzar && ... no és com a les funcions, que usant; i escrivint més instruccions et resultarà.
Haha nah per a res amic, res a disculpar 😀
Salutacions
PD: ... fotre ... que nostàlgia m'entra quan veig el logotip d'Arch .... T_T ...
Es que no és el mateix però em imagini que funcionària (Error: P)
Només que al meu si em funciona el utilitzar «;» en lloc de «&&» dins d'un àlies D: (Tinc dos àlies així, el que no entenc és per que no funciona amb l'àlies que vaig voler crear per a aquest cas)
Gràcies i per cert, crec que em quedés al bloc sota el títol de «lector freqüent» 😀 Em va agradar molt el contingut de l'bloc 😛
Oooh si ho es, jo em separo de vegades del meu estimat Arch però, no es perquè, sempre m'és impossible no tornar a l'xD
Salutacions!
Bé ... Tux és misteriós, fa les coses i moltes vegades no li entenem, però té un pla o propòsit per a tots ... JAJA 😀
Un plaer llegir el que dius, un altre usuari més d'Arch que se suma a l'bloc jajajaja ... tot un plaer 😀
Jo el vaig haver de deixar d'usar per problemes raríssims que em donava el nucli ... però encara ocupa un lloc en el meu cor 🙁
jajajaja
No he conegut usuari d'Arch que no li prengui un gran afecte a la distribució, té un «no sé què, que que es jo»: P, igual i si els problemes que et donava van ser fa temps podries pensar en tornar a Arch 😀
Per cert, jo sabia que en algun altre lloc ja havia llegit el teu nom (bé, nick, pseudònim, sobrenom, whatever), ets part dels redactors de arteescritorio, no? 🙂
Solia llegir-los 🙂
En realitat per llistar el contingut d'un directori no cal entrar al, de manera que no crec que l'exemple que has escollit sigui el més feliç, jeje. Dit això, les funcions sí que es poden fer servir per a moltes coses útils.
Per exemple, jo faig servir aquesta funció per crear un directori i entrar en l'immediatament (validant que s'utilitzi només un paràmetre):
function mkcd () {
FNERR="Parametros incorrectos.\nUso: mkcd "
if [ $# -eq 1 ] ; then
mkdir -p "$1" && cd "$1"
else
echo -e $FNERR
fi
}
Hmmm ... el bloc es va menjar part de la comanda, intentaré posar la línia incompleta amb etiquetes HTML:
FNERR="Parametros incorrectos.\nUso: mkcd <nombre del directorio a crear>"
El que volia aconseguir era estalviar-me un pas.
O sigui, suposem que vull entrar a un directori (/ etc / squid /) per llavors editar un arxiu en aquest directori, i no recordo el nom de l'arxiu.
Els passos normalment serien:
cd / etc / squid /
ls
nano arxiu.conf
Però, amb aquest tip que proposo, em converteix els 2 primers passos en 1 sol, de manera que simplement fent:
cd / etc / squid /
Automàticament em llistarà també el contingut de directori.
Es tracta simplement d'estalviar-nos un pas 😀
M'entens?
... és que em costa explicar-me jaja.
No, l'explicació no tenia cap problema, em referia al fet que potser l'exemple que vas escollir per il·lustrar el tip no va ser l'ideal, atès que un pot fer un simple «ls directori».
En realitat quant vaig veure la funció vaig entendre el propòsit. Jo també ús diverses funcions en el meu .bash_aliases, Per exemple, aquesta és una que ús bastant per gestionar l'historial:
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
}
(Amb aquesta funció, si només poso h em surten els últims 25 ordres, però si per exemple poso h mount em surten els últims comandaments relacionats amb muntatges).
Em guardo la vostra funció jejeje ... mereix estudiar-la 😀
genial la teva funció! gràcies
+1
KZKG ^ Gaara
Molt bona resposta em va servir molt bé, ja no vaig poder respondre institutriu dalt
Ara usés cdlsf per augmentar la meva productivitat, molt bon nom per una ordre 😀
Salutacions
Com li fas per posar-li l'hora a la terminal, ja ho havia fet jo abans era un bashrc que descarregui però no recordo com es deia.
Bona entrada, no coneixia el truc, el pondre en practica a veure que tal. xP
Salutacions.
Seria bo que el meu navegador fora agregat. xD
Salutacions, de nou. xD
Quin navegador utilitzes?
Doncs en un altre comentari vaig veure que feies servir Firefox 🙂
Si, ús Firefox però cada vegada és menys i aquesta deixant de ser el meu navegador principal, estic fent servir DWB i seria bo que pogués ser agregat. xP
Salutacions.
I fer aquest àlies no donarà problemes en scripts a l'intentar fer cd simplement i donar adeams la sortida de ls? jo particularment prefereixo fer àlies amb noms que no facin servir altres executables, perquè no és la primera vegada que em dóna problemes ...
Com aconsegueixes les línies discontínues i l'hora després de cada comanda?
Mira aquí - » https://blog.desdelinux.net/con-el-terminal-mejorando-la-apariencia-de-la-consola-actualizado/
El meu aportació:
àlies ldir = 'ls | grep -v \\. ' ## llista només els directoris (ull, no ho renom a ld ja que hi ha comanda de GNU / Linux amb aquest nom)
-
àlies ll = 'ls -lah -color | 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} '\' ''
L'interessant d'aquest àlies és el awk que parseja la sortida de l'ls, resultat? Mostra els permisos d'arxius en format octal a la banda de rwx, per a mi infinitament més pràctic i ràpid que les lletres.
-
àlies lg = 'ls -lah -color | 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'
Variant de l'àlies de dalt. Li vaig agregar XNUMX grep a al final perquè d'aquesta forma quan faci per exemple:
$ Lg zip
Em mostri només els arxius que contingui zip en qualsevol de les seves formes (notin l'-i de la fin) a més dels permisos octals, etc.
-
àlies grep = 'grep -color = auto' ## acoloreix el matcheo de grep
-
Tinc molts més per compartir però es em fa atapeït aquest petit lloc xD
@KZKG, Staff: els sembla obrir un post al blog o al fòrum (a què linkeemos cada vegada que es publica algun tip relacionat a la consola) per anar ajuntant totes aquestes perletes?
Salutacions!
Amb el de link et refereixes a aquest? - » https://blog.desdelinux.net/tag/bash
No vaig dir res, no cal res de la resta, està tot perfectament taggeado!
Que chilero, molt bona funció aquesta!