[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
es:howtos:software:efficient_cli_navigation [2019/02/28 01:44 (UTC)] – creado slackwarespanoles:howtos:software:efficient_cli_navigation [2019/08/29 12:46 (UTC)] (actual) – [Fuentes] slackwarespanol
Línea 3: Línea 3:
  
  
-====== Efficient CLI Navigation ======+====== Navegación eficiente de la CLI ======
  
-The CLI (Command Line Interfaceis a very powerful, flexible and programmable environmentIf you use the command line interface on a regular basisyou know how important it is to customise your working environment and develop shortcuts to ensure efficient workflowBelow are some tips on navigating through directories in an quick and easy way.+La CLI (Interfaz de línea de comandoses un entorno muy potente, flexible y programableSi utiliza la interfaz de línea de comandos de forma regular, sabrá lo importante que es personalizar su entorno de trabajo y desarrollar accesos directos para garantizar un flujo de trabajo eficienteA continuación hay algunos consejos sobre cómo navegar a través de directorios de una manera rápida y fácil. 
 +===== Volver al Home =====
  
-===== Go Back Home ===== 
  
-The ''cd'' command changes the current working directory to your ''/home'':+El comando '' cd '' cambia el directorio de trabajo actual a su '' / home '':
  
 <code>$ pwd <code>$ pwd
Línea 17: Línea 17:
 /home/user</code> /home/user</code>
  
-===== Go Back to the Previous Directory =====+===== Regresar al directorio anterior =====
  
-To go back to the previous directoryyou can use ''cd -'':+Para volver al directorio anteriorpuede usar '' cd - '':
  
 <code>$ pwd <code>$ pwd
Línea 32: Línea 32:
  
  
-===== Use the Last Argument of the Previous Command =====+===== Use el último argumento del comando anterior =====
  
-The ''$_'' variable returns the last argument of the previous commandThis can be helpful in a variety of scenarios:+La variable '' $_ '' devuelve el último argumento del comando anteriorEsto puede ser útil en una variedad de escenarios:
  
 <code>$ pwd <code>$ pwd
Línea 47: Línea 47:
 (This will execute script.sh)</code> (This will execute script.sh)</code>
  
-The same can be achieved using the combination <key>Alt</key>+<key>.</key> or <key>'Esc'</key>+<key>.</key>.+Lo mismo se puede lograr utilizando la combinación <key> Alt </key> + <key>. </key> <key> 'Esc' </key> + <key>. </key>.
 ===== Bash Completion ===== ===== Bash Completion =====
  
 Bash offers <key>TAB</key> completion, a very useful feature that reduces the number of keystrokes you are required to type to navigate to a directory. Bash offers <key>TAB</key> completion, a very useful feature that reduces the number of keystrokes you are required to type to navigate to a directory.
 +
 +===== Autocompletado en  Bash =====
 +
 +Bash ofrece autocompletar al presionar <key> TAB </key>, una característica muy útil que reduce la cantidad de pulsaciones de teclas que debe escribir para navegar a un directorio.
  
 <code>$ cd d[TAB]</code> <code>$ cd d[TAB]</code>
  
-It will expand the path with a directory starting with ''d''Please note that Linux is case-sensitive so ''~/Desktop'' or ''~/Downloads'' will be ignoredIf there are more than directory starting with ''d'', you need to press the <key>TAB</key> twice to get the possible completions listed below:+Expandirá la ruta con un directorio que comienza con '' d ''Tenga en cuenta que Linux distingue entre mayúsculas y minúsculas, por lo que se ignorará '' ~ / Desktop '' '' ~ / Downloads ''Si hay más de directorio que comienza con '' d '', debe presionar la tecla <key> TAB </key> dos veces para obtener las finalizaciones posibles que se enumeran a continuación: 
  
 <code>$ cd d[TAB][TAB] <code>$ cd d[TAB][TAB]
 data/    downloads/</code> data/    downloads/</code>
  
-Now press <key>'o'</key> and <key>TAB</key> to expand the path to ''downloads''.+Ahora presione <key> 'o' </key> <key> TAB </key> para expandir la ruta a '' descargas ''.
  
-It can greatly reduce the number of keystrokes when accessing directoriesFor example:+Puede reducir en gran medida el número de pulsaciones de teclas al acceder a los directoriosPor ejemplo:
 <code>$ cd data/projects/python-dir/euler/completed/</code> <code>$ cd data/projects/python-dir/euler/completed/</code>
  
-The keystrokes I used:+Las pulsaciones de teclas que utilicé:
 <code>cd da[TAB]p[TAB]p[TAB]e[TAB]c[TAB]</code> <code>cd da[TAB]p[TAB]p[TAB]e[TAB]c[TAB]</code>
  
-If each directory contained only one subdirectoryI could have done the following:+Si cada directorio contuviera solo un subdirectoriopodría haber hecho lo siguiente:
  
 <code>cd [TAB][TAB][TAB][TAB][TAB]</code> <code>cd [TAB][TAB][TAB][TAB][TAB]</code>
  
-Not only does the bash completion reduce the number of key strokesbut it also comes handy if you do not remember directory names.+El autocpmpletado de bash no solo reduce la cantidad de pulsaciones de teclassino que también resulta útil si no recuerda los nombres de directorio.
  
-Please note that bash completion works also on files:+Tenga en cuenta que el autocpmpletado  de bash también funciona en archivos:
  
 <code>$ cp data/projects/scripts/sync-script.sh .</code> <code>$ cp data/projects/scripts/sync-script.sh .</code>
  
-Keystrokes used:+Pulsaciones de teclas utilizadas:
  
 <code>$ cp d[TAB]p[TAB]s[TAB]s[TAB] .</code> <code>$ cp d[TAB]p[TAB]s[TAB]s[TAB] .</code>
  
-The dot (.) represents the current directory so the command will copy ''sync-script.sh'' to the current directory.+El punto (.) representa el directorio actual, por lo que el comando copiará '' sync-script.sh '' al directorio actual.
  
-===== Programmable Bash Completion =====+===== Autocompletado de Bash Programmable  =====
  
-To take advantage of all Bash completion featuresyou need to install an additional package from ''/extra'':+Para aprovechar todas las funciones de autocompletado de Bash, debe instalar un paquete adicional desde '' / extra '':
  
 <code># slackpkg install bash-completion</code> <code># slackpkg install bash-completion</code>
Línea 91: Línea 96:
 ===== CDPATH ===== ===== CDPATH =====
  
-If you work in certain directories on a regular basisyou might want to include them in the $CDPATH variableSuppose you often work in the ''slackbuilds'' directory which contains some builds:+Si trabaja en ciertos directorios de manera regular, es posible que desee incluirlos en la variable $ CDPATH. Suponga que a menudo trabaja en el directorio '' slackbuilds '' que contiene algunas compilaciones:
  
 <code>$ cd ~/data/projects/slackbuilds/ <code>$ cd ~/data/projects/slackbuilds/
Línea 101: Línea 106:
 <code>CDPATH=$CDPATH:~/data/projects/slackbuilds/</code> <code>CDPATH=$CDPATH:~/data/projects/slackbuilds/</code>
  
-Please note the path included in the CDPATH variable is the path to the **parent directory** where the said directories are located+Tenga en cuenta que la ruta incluida en la variable CDPATH es la ruta al ** directorio padre ** donde se encuentran dichos directorios.
  
-After you have sourced ''.bashrc'' (''source ~/.bashrc''), you can ''cd'' to any of those directories from any place:+Después de obtener '' .bashrc '' ('' source ~ / .bashrc ''), puede '' cd '' a cualquiera de esos directorios desde cualquier lugar:
  
 <code>$ pwd <code>$ pwd
Línea 110: Línea 115:
 /home/user/data/projects/slackbuilds/yajl</code> /home/user/data/projects/slackbuilds/yajl</code>
  
-If you would like to enable Tab completion within the directories added through the CDPATH variable, you need to install ''bash-completion'' from Slackware's ''/extra'' directory. 
  
-<note important>It is NOT recommended to give your directories names similar to the system oneseg. ''usr''''etc'', which can result in unpredictable behaviour.</note>+Si desea habilitar el autocompletado de TAB dentro de los directorios agregados a través de la variable CDPATHdebe instalar '' bash-complete '' desde el directorio '' / extra '' de Slackware.
  
-===== Symlinks =====+<note important>NO se recomienda dar a sus directorios nombres similares a los del sistema, por ejemplo. '' usr '', '' etc '', que puede dar lugar a un comportamiento impredecible.</note>
  
-In some situations you may consider using [[slackbook:shell?s[]=symlinks#linking|symlinks]] to create //shortcuts// to regularly visited directories:+===== Enlaces simbólicos ===== 
 + 
 +En algunas situaciones, puede considerar usar [[slackbook: shell? [] = enlaces simbólicos vinculación enlaces simbólicos]] para crear // accesos directos // a directorios visitados regularmente:
  
 <code>$ ln -s /home/user/data/projects/scripts/slackbuilds ./slackbuilds</code> <code>$ ln -s /home/user/data/projects/scripts/slackbuilds ./slackbuilds</code>
  
  
-===== Bash Aliases =====+===== Alias Bash =====
  
-You can make your life easier by creating aliases (= shortcutsfor commands that you use oftenThe syntax is very simple:+Puede facilitarle la vida creando alias (= accesos directospara los comandos que utiliza con frecuenciaLa sintaxis es muy simple:
  
 <code>name_of_the_alias='value'</code> <code>name_of_the_alias='value'</code>
  
-You can place your aliases in ''~/.bashrc''You might need to create this fileEach time you edit this file you need to ''source'' it afterwards for the changes to take effect:+Puede colocar sus alias en '' ~ /.bashrc ''Es posible que deba crear este archivoCada vez que edite este archivo, debe '' recargar '' después para que los cambios surtan efecto:
  
 <code>source ~/.bashrc</code> <code>source ~/.bashrc</code>
  
-or+o
  
 <code>. ~/.bashrc</code> <code>. ~/.bashrc</code>
  
-When it comes to navigationone couldfor examplecreate a few aliases to speed up navigating up the directory tree:+Cuando se trata de navegaciónuno podríapor ejemplocrear algunos alias para acelerar la navegación en el árbol de directorios:
  
 <code>alias 1.='cd .. ; pwd' <code>alias 1.='cd .. ; pwd'
Línea 142: Línea 148:
 alias 4.='cd ../../../.. ; pwd'</code> alias 4.='cd ../../../.. ; pwd'</code>
  
-The value of an alias can be quite complexAs you can see, ''4.'' will first change directories ''cd ../../../..'' and then print the current working directory - ''pwd''Please note a semi-colon ('';''separating the commands.+El valor de un alias puede ser bastante complejoComo puede ver, '' 4. '' primero cambiará los directorios '' cd ../../../ .. '' y luego imprimirá el directorio de trabajo actual - '' pwd ''Tenga en cuenta un punto y coma (''; ''que separa los comandos.
  
 <code>$ cd data/projects/python-dir/euler/ <code>$ cd data/projects/python-dir/euler/
Línea 152: Línea 158:
 /home/user/data</code> /home/user/data</code>
  
-Aliases can be used in a number of different waysA few more examples:+Los alias se pueden usar de diferentes manerasAlgunos ejemplos más:
  
 <code>alias epyt='emacs -nw /home/user/data/projects/python-dir/euler/32-problem.py' <code>alias epyt='emacs -nw /home/user/data/projects/python-dir/euler/32-problem.py'
 alias slacktop='ssh user@slacktop'</code> alias slacktop='ssh user@slacktop'</code>
  
-===== Directory Stack =====+===== Stack (pila) de directorios en bash  =====
  
-BASH features some helpful directory stack buildins that help you navigate recently visited directories.+BASH presenta algunos complementos útiles de la pila de directorios que lo ayudan a navegar por los directorios visitados recientemente.
  
-  * ''pushd'' - push a directory into the directory stack and ''cd'' to it. 
-  * ''popd'' - remove a directory from the directory stack and ''cd'' to it. 
-  * ''dirs'' - display the list of the directories in the stack. 
  
-==== How does it work in practice? ====+    * ''pushd'': guarda el directorio actual al principio del stack de directorios. Si le pasamos como parámetro un directorio guardará el directorio actual y el especificado (este último primero). 
 +    * ''popd'': elimina el primer directorio del stack de directorios y hace un «cd» contra ese directorio. 
 +    * ''dirs'': muestra el listado de directorios almacenados en el stack.
  
-First of alladd directory to the stackPlease note that it also automatically switches to the directory (the ''-n'' flag suppresses this behaviour).+==== ¿Cómo funciona en la práctica? ==== 
 + 
 +En primer lugaragregue un directorio la pilaTenga en cuenta que también cambia automáticamente al directorio (el indicador '' -n '' suprime este comportamiento).
  
 <code>user@darkstar:~$ pushd data/projects/programming/ <code>user@darkstar:~$ pushd data/projects/programming/
Línea 173: Línea 180:
 user@darkstar:~/data/projects/programming$</code> user@darkstar:~/data/projects/programming$</code>
  
-Alternativelyyou can ''cd'' to given directory and issue:+Alternativamentepuede '' cd ''un directorio dado y emitir:
  
 <code>pushd .</code> <code>pushd .</code>
  
-After adding a few directories you can display the content of the stack:+Después de agregar algunos directorios, puede mostrar el contenido de la pila:
  
 <code>user@darkstar:~$ dirs -v <code>user@darkstar:~$ dirs -v
Línea 188: Línea 195:
 6 ~/public_html/project_eden</code> 6 ~/public_html/project_eden</code>
  
-Please note that the first entry always displays the current working directory so if it also sits at the top of the stackyou'll see what seems like duplicate linesThe ''-v'' flag is responsible for a nicely indexed output. +Tenga en cuenta que la primera entrada siempre muestra el directorio de trabajo actualpor lo que si también se encuentra en la parte superior de la pila, verá lo que parecen líneas duplicadasEl indicador '' -v '' es responsable de una salida bien indexada.
- +
-To switch to one of the directories in the stack you could issue:+
  
 +Para cambiar a uno de los directorios en la pila, puede emitir:
 <code>user@darkstar:~$ cd $(dirs +2 -l) <code>user@darkstar:~$ cd $(dirs +2 -l)
 user@darkstar:~/projects/web-develop/project-eden/pages/en$</code> user@darkstar:~/projects/web-develop/project-eden/pages/en$</code>
  
-Admittedly, this is not the most concise way of changing directoriesTo make it shorter we can add an alias and a function to the ''~/.bashrc'' file.+Es cierto que esta no es la forma más concisa de cambiar directoriosPara acortarlo, podemos agregar un alias y una función al archivo '' ~ / .bashrc ''.
  
 <code>alias dv='dirs -v'</code> <code>alias dv='dirs -v'</code>
  
-List the current stack by simply typing ''dv''.+Enumere la pila actual simplemente escribiendo '' dv ''.
  
 <code>cdd() <code>cdd()
Línea 211: Línea 217:
 }</code>     }</code>    
  
-The ''cdd'' function((Based on [[http://linux.byexamples.com/archives/138/directory-stack/#comment-99015|this function]].)) makes it possible to ''cd'' to given directory from the stack by typing:+La función '' cdd '' ((Basado en [[http://linux.byexamples.com/archives/138/directory-stack/#comment-99015| esta función]])) hace posible '' cd ''un directorio dado de la pila escribiendo:
  
 <code>cdd 3</code> <code>cdd 3</code>
  
-====== Sources ======+====== Fuentes ======
 <!-- If you are copying information from another source, then specify that source --> <!-- If you are copying information from another source, then specify that source -->
-  Original source: [[http://www.slackword.net/?p=494|Blog Post]]  written by [[wiki:user:sycamorex |sycamorex]]+     Fuente original: [[http://www.slackword.net/?p=494|Blog Post]]  escrito por [[wiki:user:sycamorex |sycamorex]] 
 +     * Traducido por [[wiki: user: slackwarespanol | Víctor]]  2019/08/28 18:12 (UTC) 
 <!-- * Contributions by [[wiki:user:yyy | User Y]] --> <!-- * Contributions by [[wiki:user:yyy | User Y]] -->
  
 es:howtos:software:efficient_cli_navigation ()