Cyber Monday Sale 40% off unlimited courses & creative assets! 40% off unlimited assets! Save Now
Advertisement
  1. Code
  2. Roundups

10 Comandos de Terminal que Incremetarán su Productividad

by
Read Time:12 minsLanguages:

Spanish (Español) translation by Jorge Montoya (you can also view the original English article)

En mayo, Nettuts+ presentó un gran artículo titulado "7 Simples y Útiles Tips para la Línea de Comandos"; este fue un gran artículo para empezar a utilizar la línea de comandos. Pero hay mucho más que usted puede aprender de utilizar la terminal y ¡yo le llevaré al siguiente nivel en este tutorial!


Empezando

Si está ejecutando Mac OS X, o Su sabor favorito de Linux, todo está listo. Sólo lance la terminal, y siga adelante. Si estás en Windows, bueno, el conjunto de comandos predeterminado no es lo que es una terminal. Si desea un poco de poder, eche un vistazo a Microsoft PowerShell; sin embargo, los comandos a continuación no funcionarán necesariamente allí. Sin embargo, puede obtener una consola en Windows:

  • Instale Cygwim, un entorno similar a Linux para Windows.
  • Instale msysgit; dependiendo de las opciones que elijas al instalar, obtendrá un Git Bash que debería funcionar con todos estos comandos.
  • Pruebe el subsistema de Windows para aplicaciones basadas en Unix. Aunque no lo he probado yo mismo, entiendo que puede obtener un shell de Unix con él.

De acuerdo, ¡vamos a entrar!


1. Touch

touchtouchtouch

Como desarrollador, una de las tareas más comunes es la creación de archivos. Si está trabajando desde la línea de comandos, la mayor parte del tiempo simplemente pasará el nombre del archivo que desea crear a su editor:

Sin embargo, de vez en cuando sólo querrá crear uno o más archivos, sin editarlos. En este caso, utilice el comando touch:

Es así de fácil. En realidad, el comando touch es para actualizar la fecha de acceso / modificación de un archivo; es sólo un efecto secundario agradable que si el archivo no existe, lo creará.


2. Cat and Less

cat and lesscat and lesscat and less

Bueno, ya que se trata de archivos, existe una gran posibilidad que desea ver el contenido de un archivo desde la terminal tarde o temprano. Hay algunos comandos que harán esto por usted. El primero es cat; cat es abreviatura de "concatenar", y este comando hace más que mostrar el contenido del archivo; sin embargo, eso es lo que veremos aquí. Es tan simple como pasar el comando a un archivo:

Sin embargo, si el archivo es grande, todo el contenido pasará por delante de usted y quedará en la parte inferior. Por supuesto, puede desplazarse hacia arriba, pero eso es débil. ¿Qué tal usar less?

Less es una forma mucho mejor de inspeccionar archivos grandes en la línea de comandos. Obtendrá una pantalla llena de texto a la vez, pero no más. Puede mover una línea hacia arriba o una línea hacia abajo con k y j respectivamente, y mover una ventana hacia arriba o hacia abajo con b y f. Puede buscar un patrón escribiendo /pattern. Cuando haya terminado, pulse q para salir del visor less.


3. Curl

curlcurlcurl

Dado que probablemente trabaje con su parte justa de las bibliotecas de frameworks, a menudo se encontrará descargando estos archivos mientras trabaja. Oh, ya lo sé: usted puede descargarlo desde la web, navegar a la carpeta, descomprimirlo y copiar las piezas a su proyecto, pero ¿no suena como mucho trabajo? Es mucho más sencillo usar la línea de comandos. Para descargar archivos, puede utilizar curl; proceda así:

El indicador -O indica a curl que escriba el contenido descargado en un archivo con el mismo nombre que el archivo remoto. Si no proporciona este parámetro, curl probablemente sólo mostrará el archivo en la línea de comandos (suponiendo que sea texto).

Curl es una herramienta muy extensa, así que echa un vistazo a la página del manual (ver más abajo) si cree que va a usarla mucho. Aquí hay un buen consejo que utiliza la extensión de soporte de la consola:

Sí, es así de fácil descargar múltiples archivos de un lugar a la vez. (Tenga en cuenta que esto no es funcionalidad curl, es parte de la shell, por lo que puede utilizar esta notación en otros comandos, consulte este enlace para más)


4. Tar y Gzip

tar and gziptar and gziptar and gzip

Así que ahora está moviendo descargas de línea de comandos; sin embargo, hay una posibilidad muy buena de que la mayoría de las cosas que descargue estén archivadas y comprimidas con una extensión de .tar.gz (o, alternativamente, .tgz). Entonces, ¿qué hace con eso? Vamos a dar un paso atrás por un segundo y entender lo que exactamente "archivado y comprimido gzip" significa. Probablemente esté familiarizado con los archivos. Has visto archivos .zip; son una encarnación de archivos. Básicamente, un archivo comprimido es sólo un archivo único que envuelve varios archivos juntos. A menudo los archivos comprimen los archivos, de modo que el archivo final es más pequeño que los originales juntos. Sin embargo, todavía puede ser un poco más pequeño al comprimir el archivo ... y ahí es donde entra el gzipping. Gzipping es una forma de compresión.

Así que de  vuelta a esa descarga. Ha sido tarred (archivado) y comprimida en gzip. Usted podría descomprimirlo y luego deshacerlo, pero todos estamos por menos pulsaciones de teclas, ¿no? Esto es lo que haría:

¿Espere qué? Aquí está el desglose: tar es el comando que estamos ejecutando; xvzf son las opciones que estamos usando (por lo general, tendría un guión en frente, pero eso es opcional aquí). Las opciones son las siguientes:

  • vamos a tar x sabemos que estamos extrayendo, no archivando.
  • vamos a tar v sabemos que queremos que sea detallado (verbose) (darnos alguna salida sobre la acción que está realizando).
  • vamos a tar z,  saber que el archivo con el que estamos trabajando ha sido comprimido (por lo que descomprime el archivo).
  • vamos tar f, saber que vamos a pasar el nombre del archivo.

Si desea crear uno de estos archivos comprimidos con gzip, es tan simple como reemplazar el indicador x con un c (para crear un archivo). Las opciones v y z no son mandatorias: ¿desea la salida? ¿Qué tal gzipping? Por supuesto, dejar f; tendrá que dar el nombre de archivo para el nuevo archivo (de lo contrario, todo saldrá a la línea de comandos). Después de eso, pasará el comando todos los archivos que desea poner en el archivo:

Solo por completar, mencionaré que usted puede comprimir archivos gzip (u otros archivos) individualmente; cuando lo hace, gzip reemplaza el archivo original con la versión gzip. Para des-gzip, agregue la opción -d (piense en descomprimir).


5. Chmod

chmodchmodchmod

Otra cosa que usted hará a menudo como un desarrollador web es cambiar los permisos de archivo. Hay tres permisos que puede establecer y hay tres clases que pueden recibir esos permisos. Los permisos se leen, escriben y ejecutan; las clases son usuario, grupo y otros. El usuario suele ser el propietario del archivo, el usuario que creó el archivo. Es posible tener grupos de usuarios y la clase de grupo determina los permisos para los usuarios del grupo que pueden acceder al archivo.  Previsiblemente, la clase otros incluye a todos los demás. Sólo el usuario (propietario del archivo) y el superusuario pueden cambiar los permisos de archivo. Oh y todo lo que acaba de leer va para los directorios también.

Entonces, ¿cómo podemos establecer estos permisos? El comando aquí chmod (cambio de modo). Hay dos maneras de hacerlo. Primero, usted puede hacerlo con la notación octal; esto es un poco críptico, pero una vez que lo entienda, es más rápido. Básicamente, ejecutar obtiene 1 punto, escribir obtiene 2 y leer obtiene 4. Puede agregar estos para dar permisos múltiples: leer + escribir = 6, leer + escribir + ejecutar = 7, etc. Así que para cada clase, usted obtendrá este número y los alineará para obtener un número de tres dígitos para Usuario, Grupo y Otros. Por ejemplo, 764 le dará al usuario todos los permisos, le dará la capacidad de leer y escribir al grupo y le dará a otros el permiso para leer. Para una mejor explicación, eche un vistazo al artículo de Wikipedia.

Si tiene dificultades para recordar la notación octal, puede encontrar la notación simbólica más fácil (aunque se necesitan unas pocas teclas más). En este caso, usará el 'u' inicial, 'g' y 'o' para usuario, grupo y otros respectivamente (y 'a' para todas las clases). A continuación, utilice 'r', 'w' y 'x' para leer, escribir y ejecutar. Finalmente, usará los operadores '+', '-' y '=' para sumar, restar y establecer absolutamente los permisos. A continuación se indica cómo utilizarán estos símbolos: clase, operador, permisos. Por ejemplo, u+rwx añade todos los permisos a la clase de usuario; go-x elimina el permiso ejecutable del grupo y otros; a=rw establece todas las clases para leer y escribir solamente.

Para usar toda esta teoría en la línea de comandos, comenzará con el comando (chmod), seguido de los permisos, seguidos por los archivos o directorios:


6. Diff y Patch

diff and patchdiff and patchdiff and patch

Si ha utilizado el control de versiones como Git o Subversion, sabe cuán útil es este sistema cuando desea compartir un proyecto con otros desarrolladores o simplemente realizar un seguimiento de las versiones. Pero, ¿y si quiere enviar a un amigo algunas actualizaciones a un solo archivo? ¿O qué tal si otro desarrollador le ha enviado por correo electrónico la nueva versión de un archivo que ha editado desde que recibió la última copia? A veces, el control de versión completo es demasiado, pero todavía necesita algo pequeño. Bueno, la línea de comandos lo tiene cubierto. Deseará utilizar el comando diff. Antes de realizar cambios en un archivo, copie el archivo para que tenga el original. Después de actualizar, ejecute diff; si no envía la salida a un archivo, sólo saldrá a la línea de comandos, así que incluya un > con el nombre del archivo de revisión:

Como puede ver, el diff es simplemente un archivo de texto simple que usa una sintaxis que los comandos diff y patch entenderán. ¿Patch? Bueno, ese es el comando que va de la mano con diff. Si ha recibido un archivo de revisión, actualizará el original de la siguiente manera:

Y ahora usted está actualizado completamente.


7. Sudo

sudosudosudo

Sudo no es realmente un comando como los otros, pero es uno al que usted le encontrará una necesidad a medida que se aventure más profundamente en el mundo de línea de comandos. Aquí está el escenario: hay algunas cosas que los usuarios regulares no deberían ser capaces de hacer en la línea de comandos; no es difícil hacer daño irrevocable. El único usuario que tiene el derecho de hacer algo que él o ella quiera es el superusuario o usuario raíz. Sin embargo, no es realmente seguro iniciar sesión como el superusuario, debido a todo ese poder. En su lugar, puede utilizar el comando sudo (super user do) para darle permisos de raíz para un solo comando. Se le pedirá la contraseña de la cuenta de usuario y, cuando se le proporcione, el sistema ejecutará el comando.

Por ejemplo, la instalación de una gema de ruby requiere permisos de superusuario:


8. Man

manmanman

La mayoría de los comandos que usará en un shell bash son bastante flexibles y tienen gran cantidad de talentos ocultos. Si sospecha que un comando puede hacer lo que desea o simplemente desea ver algunas instrucciones generales sobre el uso de un comando, es hora de golpear los manuales o páginas man, como se les llama. Simplemente escriba man seguido del comando que le interesa.

Notará que las páginas de manual se abren en less.


9. Shutdown

shutdownshutdownshutdown

Cuando haya terminado el día, puede incluso apagar su computadora desde la línea de comandos. El comando en el centro de atención es shutdown y usted necesitará usar sudo para ejecutarlo.  Tendrás que darle al comando una opción o dos; los más comunes son -h para detener el sistema (apagarlo), -r para reiniciar y -s para ponerlo en reposo. A continuación, pasará el tiempo que debería suceder, ya sea como now, +numeroDeMinutos o yymmddhhmm.  Finalmente, usted puede pasar un mensaje que se mostrará a los usuarios cuando el comando esté a punto de ejecutarse. Si yo quisiera poner mi computadora a dormir en media hora, me gustaría ejecutar esto:


10. History, !!, y !$

historyhistoryhistory

Dado que la línea de comandos tiene que ver con eficiencia, se supone que es fácil repetir comandos. Hay algunas maneras de hacer esto. En primer lugar, puede utilizar el comando history para obtener una lista numerada de muchos de sus comandos recientes. Luego, para ejecutar uno de ellos, simplemente escriba un signo de exclamación y el número del historial.

Por supuesto, este es un terrible ejemplo, porque estoy escribiendo más caracteres para usar la historia de lo que se necesitaría para volver a escribir el comando. Pero una vez que esté combinando comandos para crear cadenas largas, esto será más rápido.

Incluso es más rápido acceder al último comando y último argumento utilizado. Para el comando más reciente, use !!; el caso de uso habitual dado a esto es agregar sudo al frente de un comando. Para el último argumento, use !$; con esto, pasar a una nueva carpeta es probablemente el ejemplo común. En ambos casos, el shell imprimirá el comando completo para que pueda ver lo que realmente está ejecutando.


Conclusión

Si usted es tan apasionado de la productividad como yo, la idea de usar la línea de comandos tanto como sea posible debería resonarle. Lo que le he mostrado aquí es sólo una muestra de los comandos incorporados ... luego, hay muchos más que puede instalar usted mismo (mire algo como el gestor de paquetes homebrew, por ejemplo). Pero tal vez usted ya es competente en la línea de comandos; si es así, ¿puede compartir otro gran comando con el resto de nosotros? Escriba en los comentarios!

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.