La Terminal de Linux (I). Como Utilizar la Línea de Comandos

Muy buenas lector, si eres usuario de alguna distribución GNU/Linux y quieres profundizar mas en el uso del sistema, una de las cosas que debes aprender si o sí es a manejarte bien con la terminal o interfaz de línea de comandos. Si quieres conocer a nivel más teórico los diferentes conceptos relativos a la terminal, te recomiendo la lectura de la pagina que te acabo de enlazar.

Si quieres pasar más al nivel practico, con este primer post estreno una serie de guías dedicadas a profundizar en el uso de la consola y a explorar todas las posibilidades punto por punto. En este caso me voy a centrar en los fundamentos básicos de su uso y en algunos comandos básicos con los que puedes empezar a familiarizarte con ella. Al final tienes enlazados el resto de artículos de la serie.

Anuncios

Tabla de contenidos:

  1. Como acceder a la consola
  2. Sudo y Su. Ejecutar comandos como Superusuario
    1. Sudo
    2. Su
    3. Prompt de usuario y superusuario
  3. Algunos comandos para empezar con buen pie
    1. Man
    2. Uname
    3. Who
    4. History
    5. Clear
    6. Ping
    7. Date
    8. Curl wttr.in
    9. Exit
  4. Esto continua: aquí tienes el resto de posts de esta serie

Como Acceder a la Consola

Hay básicamente dos maneras de usar la terminal en GNU/Linux. Por un lado, puedes usar las interfaces TTY, mientras que por otro lado, están los emuladores o PTS, que permiten usar una interfaz de línea de comandos de manera virtual desde la propia interfaz gráfica de usuario.

Para acceder a las diferentes sesiones TTY debes utilizar las combinaciones de teclado ‘CTRL+ALT+F1’, para la TTY1, hasta ‘CTRL+ALT+F7’. Para iniciar sesión deberás introducir tu nombre de usuario y contraseña, y a partir de ahí ya puedes empezar a interactuar con el interprete de comandos.

Otra manera más práctica de utilizar la línea de comandos es, como digo al principio, mediante el emulador de terminal desde la propia sesión gráfica. En este caso, basta con acceder a tu aplicación de terminal favorita y listos. No es necesario que inicies sesión aquí, ya que ya reconoce el usuario con el que has iniciado la propia sesión gráfica.

Sudo y Su. Ejecutar Comandos Como Otro Usuario

Muchos comandos invocan acciones que solo pueden ser realizadas por el usuario root o superusuario. Esto significa que, si intentas instalar un paquete en tu sistema, y por ello haces un apt install <paquete>, desde la sesión de tu usuario normal no se te permitirá.

Para ello, deberías primero hacer un log-in con el usuario root (en la consola) y posteriormente realizar esta acción desde este nivel de privilegios. Para agilizar esta tarea, dispones de herramientas como sudo o su, ambas similares a la práctica pero diferentes en su concepción.

Sudo

De sudo se podrían escribir líneas y líneas, pero para lo que es el propósito de este post, quédate con la idea de que, lo que hace, es ejecutar el comando que lo sigue utilizando, temporalmente, los privilegios de otro usuario. Este usuario, en la mayoría de usuarios suele ser el superusuario, pero se puede configurar para que sea cualquier otro.

Hay distribuciones, sobretodos aquellas orientadas a usuarios con menos conocimientos técnicos (Ubuntu y gran parte de sus derivados directos son un claro ejemplo) que, por motivos de seguridad (o de simplicidad) optan por mantener la cuenta de superusuario deshabilitada.

A cambio, utilizan sudo configurado de tal modo que el usuario estándar pueda utilizarlo para adquirir, temporalmente, los permisos de superusuario.

Su uso consiste únicamente en ser introducido delante del comando en cuestión, para indicar que ese comando se va a ejecutar bajo los permisos de otro usuario (por defecto, root).

$ sudo <comando>

Su

La utilidad su (de «switch user») es algo diferente. Como su nombre indica, lo que permite es hacer un cambio de sesión de usuario, pero sin necesidad de cerrar la sesión del usuario actual. Se utiliza seguido del nombre de usuario con el que se quiere inicial sesión.

Es muy común utilizarlo en aquellas distribuciones que prefieren mantener abierta la cuenta de superusuario para que cualquier usuario autorizado para usarlo (entendiéndose que conozca la contraseña) pueda hacer un salto de sesión y hacer un log-in como root.

En este ultimo caso, la sintaxis es muy simple. Basta con teclear la palabra su, y automáticamente el sistema te pedirá las contraseña necesaria para hacer el cambio de sesión.

$ su
#

El cambio de forma del promp es un claro indicativo que te puede servir para identificar rápidamente si estás en una sesión de usuario estándar o de root.

Generalmente, se suelen dar esas dos situaciones entorno al uso de sudo y su:

  • En las distribuciones que mantienen la cuenta de superusuario bloqueada (como es el caso de Ubuntu y sus multiples derivados), se utiliza «sudo» seguido de un determinado comando, con las credenciales del usuario actual (que se le permite una elevación temporal para ejecutar los comandos como root).
  • En las distribuciones que hacen uso de la cuenta de root, como Debian o Fedora, se utiliza «su» para saltar de la cuenta de usuario normal a la cuenta de superusuario. Para hacer el salto, se requiere conocer la contraseña de root.

Sin embargo, el uso de sudo y su se puede complementar perfectamente. De este modo, aun estando la cuenta de root operativa, se puede configurar sudo para que determinados usuarios puedan igualmente realizar una elevación de privilegios, si necesidad de que tengan que conocer las credenciales de root.

Si quieres profundizar en todo esto, en este post explico con mucho más detalle como habilitar o deshabilitar el uso de root, así como configurar sudo para permitir o impedir que los usuarios puedan hacer uso de él para la elevación de privilegios.

Prompt de Usuario y Superusuario

Como podrás advertir, dependiendo del usuario que esté logueado en la sesión de la terminal, el prompt sera ligeramente distinto. De este modo, si te encuentras logueado como usuario estándar, el prompt sera similar a éste:

user@computer:~$

Por el contrario, si haces un log-in como superusuario (a partir del comando sudo su), el prompt adoptará este formato:

root@computer:/home/user#

Ah, como curiosidad que seguramente te gustará saber, el prompt de bash es personalizable en color y estructura. Si tienes curiosidad en saber como, en este post lo tienes explicado en detalle.

De hecho no es en absoluto mala idea que, por tal de distinguir mejor el prompt de los comandos en sí, establezcas que éste se muestre en un color diferente. Verás que mejora en gran medida el aspecto general de la consola.

Dicho todo esto, y habiendo hecho una justa introducción, la mejor manera de acabar este primer post de la serie será con algunos ejemplos sencillos para empezar a practicar con los primeros comandos. Esto nos servirá para dar nuestro primer paso en el uso de la consola.

Aprende tus Primeros Comandos

Realmente existen infinidad de comandos, por lo que es importante centrarse en aquellos que te serán de mas utilidad dependiendo de tus tareas o necesidades.

Antes de nada, no quiero dejarme de comentar como puedes acceder a la línea de comandos para empezar a jugar. Tienes básicamente dos opciones:

  • Acceder a una de las terminales TTY, mediante las combinaciones de teclado ‘CTRL+ALT+F1’ hasta ‘CTRL+ALT+F7’, para acceder a cada una de las TTY.
  • Abrir una ventana desde el propio entorno de escritorio, utilizando una de las multiples aplicaciones que hacen de emulador de terminal. Aquí tienes a numerosos ejemplos y cada entorno de escritorio ya viene de forma predeterminada con el suyo. Para nombrar algunos: GNOME Terminal, Konsole, Xterm, Yakuake, Guake, etc.

Ahora ya si que puedes empezar tu mismo a practicar con tus primeros comandos. Para empezar a ser capaz de ejecutar acciones simples, puedes echar un rápido vistazo a los ejemplos que te propongo. Si no es tu primera vez, seguramente ya los conocerás. En este caso, no dejes de echar un vistazo al resto de posts de esta serie que enlazo al final.

Man

El comando man es una pagina de manual. Debe ir acompañado del nombre de un comando, y muestra en pantalla una completa guía sobre el uso del comando entrado. Aquí tienes la sintaxis básica, y a partir de ahí puedes ir probando ejemplos con varios comandos.

$ man <nombre del comando>

Esta es la sintaxis básica del comando, y a partir de ahí puedes desplegar el manual de casi cualquier comando que se te ocurre.

$ man uname

Imprime por pantalla el manual completo del comando uname, junto con todas sus opciones de uso.

Uname

El comando uname te da información del sistema operativo usado. Puede incluir diferentes opciones, algunas de las cuales son ‘-a’, ‘-s’, ‘-p’, m’, y ‘-o’. Puedes probar de usar algunas de ellas y observar el output mostrado por pantalla.

$ uname

Formato simple del comando. Retorna solamente el nombre del sistema operativo, sin especificar mas detalles.

$ uname -a

Con esta opción, podrás visualizar el nombre del sistema operativo, junto con otros detalles básicos como la versión del kernel, la arquitectura del sistema (si es de 32 o 64 bits) o la fecha actual entre otros datos.

Who

El comando who muestra los usuarios logueados en el sistema. Si lo utilizas desde la aplicación de terminal del escritorio, mostrara que tu usuario está logueado en la sesión de terminal TTY7, correspondiente a la interfaz gráfica de usuario, y en una sesión PTS, que no es más que el emulador de terminal dentro de la propia interfaz gráfica.

$ who

Esta es la sintaxis básica de #who, y muestra un listado con los usuarios logueados en el sistema junto con la fecha y hora de logueo.

$ who -b

Con esta opción obtendrás la fecha y hora del último arranque realizado en el sistema.

History

El comando history te imprime por pantalla un listado de los últimos comandos que se han pasado por la terminal desde la cuenta del usuario actual.

$ history

Esta es la forma básica, y muestra un listado de todos los comandos introducidos por la terminal, uno a uno.

$ history 10

Tienes también la opción de limitar el numero de resultados a visualizar. En este caso, tendrás un listado con los últimos 10 comandos introducidos.

$ history | grep ls

Como no, si deseas acotar más la búsqueda, también puedes establecer filtros por palabra contenida. En este caso, por ejemplo, se te imprimirá por pantalla un listado de todas las órdenes introducidas que contengan la palabra «ls».

$ history -c

Si quieres borrar el historial de todos los comandos utilizados hasta el momento, puedes hacerlo con un  history -c.

Clear

El comando clear limpia la pantalla de la terminal pero sin borrar el contenido. Básicamente hace un scroll  hacía abajo.

$ clear

Ping

Con la orden ping podrás conocer si un cliente o servidor bajo una determinada dirección IP está operativo o no. También te permite conocer la latencia entre tu máquina y la IP especificada.

$ ping 192.168.1.1

En este ejemplo estamos comprobando la latencia entre nuestra máquina y el router de la red interna en la que estamos conectados (que típicamente se encuentra bajo la dirección IP 192.168.1.1).

$ ping www.google.com

También podemos comprobar si un determinado sitio web esta operativo o no a partir de su url. En este caso, comprobamos la latencia entre nuestra máquina y Google.

Date

El comando date informa sobre la fecha y hora del sistema. Es un comando puramente informativo, útil si te encuentras en un entorno sin interfaz gráfica.

$ date

Curl wttr.in

Con esta simple sentencia podrás consultar la previsión meteorológica directamente desde la consola, a lo Geek.

$ curl wttr.in

Esta es el modo más fácil de utilizarlo. Te entrega directamente la previsión de tu zona geográfica para los próximos tres días. Aparte de esta opción básica, puedes personalizar la salida de muchas maneras. A continuación tienes un ejemplo.

$ curl wttr.in/paris

Para consultar la previsión de una zona en concreto, basta con añadir «/» al final seguido de la zona (como datos acepta ciudad, código de aeropuerto o nombre de dominio). Tienes una ayuda rápida aquí: http://wttr.in/:help.

Exit

El comando exit cierra la sesión de terminal actual del usuario logueado en ella. Si estas usando la terminal como superusuario, se cerrará la sesión y volverás a ser usuario estándar.

$ exit

Hasta aquí ya puedes empezar a practicar con algunos de los comandos más básicos. Alternativamente, con el comando ‘man‘ podrás hacer una ojeada a las distintas opciones que ofrecen los comandos tratados.

Continua con el Resto de Posts de Esta Serie…

Como he dicho al principio este es solo el primer post de una serie de artículos enfocados a sacar el máximo partido de la consola en Linux. Así que si quieres aprender más, mucho más, te iré dejando debajo los enlaces con los diferentes enlaces a medida que vaya completando los post. Espero que te sirva;)

  1. La terminal de Linux. Introducción
  2. Como gestionar ficheros y directorios desde la línea de comandos
  3. Como obtener información del sistema operativo
  4. Como abrir y escanear el contenido de un archivo
  5. Como listar y finalizar procesos activos
  6. Como comparar archivos de texto
  7. Como comprimir y descomprimir archivos
  8. Como iniciar, detener o reiniciar servicios

Hay infinidad de cosas que se pueden realizar desde la terminal de Linux, así que en todos los posts de la serie trato de dar cabida al máximo de ellas, dentro de lo mejor que pueda y sepa.

Y ya para acabar por hoy, si se te ocurren comandos útiles de los que hablar, la sección de comentarios de este primer post de la serie es el mejor sitio dónde hacerlo.

Esto me puede dar ideas para otros artículos de la serie, o para completar los que llevo escritos hasta el momento. Y ya sin más, me despido con un fuerte saludo y esperando verte en los próximo post.

Categorías LinuxEtiquetas

18 comentarios en “La Terminal de Linux (I). Como Utilizar la Línea de Comandos

  1. Enhorabuena por el post!Buenisimo :)

    Me gusta

  2. muy buen material, te felicito por tus artículos!

    Me gusta

    1. Muchas gracias por tu comment ibrahim,
      Un fuerte abrazo!

      Me gusta

  3. Muchas gracias por el post. Instalé hace poco Linux mint sarah y con estos tutoriales estoy aprendiendo mucho. Al principio cuesta, pero este SO es lo que me hacía falta. A propósito, podrías decirme por qué me comió desde que lo instalé casi 30 gigas del disco duro?Solo me falta cambiar la cuenta de correo electrónico para deshacerme de los tentáculos de Microsof. Bueno, de nuevo gracias por publicar tus conocimientos. Un saludo.

    Me gusta

    1. Hola Helmut,
      Me alegra que te sirva de ayuda el blog.

      Respecto a lo del espacio en disco, me parece algo excesivo el que te ocupe 30 gigas. A mi un Ubuntu recién instalado, actualizado y con los cuatro programas básicos instalados, me ronda los 7 u 8, aunque luego es normal que vaya creciendo a medida que lo vayas rellenando. ¿Esta cantidad que comentas es lo que te ocupa sin haber instalado aún ningún software adicional, o traspasado documentos ni nada?

      En cualquier caso, para tener una idea de por donde van los tiros, te recomiendo que eches un vistazo a la aplicación de monitorización de uso del disco que suele venir en Ubuntu, Debian, e imagino que también Linux Mint. Formalmente se llama Baobab y es una de las aplicaciones del entorno GNOME. Te dejo enlace debajo.

      https://help.ubuntu.com/community/Baobab

      Con esto podrás ver la distribución del espacio ocupado en disco, según cada directorio.

      Espero que esto te sirva de ayuda y puedas detectar la causa, sino dime algo;)

      Me gusta

  4. fracielarevalo 24 May 2016 — 03:22

    gracias amigo me sirvio de mucha ayuda este inducion

    Me gusta

    1. De nada, me alegro mucho saberlo;)
      Gracias por el comment y por pasarte!

      Me gusta

  5. Genial! estaría bueno un indice… Saludos!

    Me gusta

    1. Gracias Zeintger!
      Buena idea lo del índice, a este post le hace falta, jeje. Queda dicho que lo pondré;)
      Saludos y hasta pronto!

      Me gusta

  6. MUchas gracias. Ojalá puedas seguir publicando entradas como estas, fue muy buena y nos ayudas a los que somos demasiado nuevos.

    Me gusta

    1. Gracias a ti!:)
      Me alegro mucho.
      Espero que nos sigamos viendo por aquí;)

      Me gusta

  7. Nuevo en linux 27 Dic 2014 — 16:25

    Me gustaria saber mas sobre la linea de comandos para instalar programas….. Enseñame a instalar programas te lo agredeceria bastante. Me desespera no poder hacer esto………..otra cosa acabe de instalar linux mint desde cero, como se que usuario es? Es root o no?

    Me gusta

    1. Hola, para instalar programas en Ubuntu desde la terminal se suele utilizar ‘apt-get’:

      sudo apt-get install nombre-paquete

      La unica dificultad está a la hora de conocer el nombre del paquete, pero eso lo puedees buscar en launchpad. Por ejemplo, para instalar el navegador chromium, seria:

      sudo apt-get install chromium-browser

      Fuera de Ubuntu, cada distro tiene su propio gestor de paquetes, por ejemplo Fedora y las derivadas de RedHat usan ‘yum’.

      Espero haberte ayudado algo, más adelante tengo pensado publicar sobre comandos para instalar o desinstalar paquetes.

      El usuario root en Linux Mint por defecto está deshabilitado, y para realizar tareas administrativas se utiliza el comando ‘sudo’.

      Me gusta

      1. Nuevo en linux 28 Dic 2014 — 06:54

        Gracias amigo te entendi perfectamente lo de la linea para instalar aplicaciones (probe con algunas y funciono), y tienes razon con lo del usuario root si aparece deshabilitado……….de nuevo gracias por estar atento contestando comentarios… espero tu proximo tuto.

        Me gusta

        1. De nada, gracias a ti por pasarte por aquí;)

          Me gusta

  8. donde tienes mas información acerca de la terminal de linux

    Me gusta

    1. Hola, perdona por tardar tanto en contestar. La idea que tenia era hacer una serie de posts sobre la terminal de Linux. Este es el primero de ellos, y en este blog tengo 3 entradas mas que hablan sobre comandos de la terminal.
      Tengo pendiente publicar muchas más cosas, pero de momento no he tenido tiempo para hacerlo. Te paso un par de ejemplos:

      https://computernewage.com/2013/04/10/como-manejar-archivos-y-carpetas-desde-la-terminal-de-linux/

      https://computernewage.com/2013/06/02/como-finalizar-procesos-en-linux-desde-la-linea-de-comandos/

      Además, para la mayoría de comandos, desde la propia terminal tienes la opción de teclear » man comando » y podrás consultar un manual completo del comando que sea, como por ejemplo de APT:

      $ man apt

      Espero haberte ayudado un poco.

      Me gusta

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.