Cómo usar la Terminal en Ubuntu

Obtenido de https://help.ubuntu.com/community/UsingTheTerminal: “Contribuidores del wiki de documentación de Ubuntu”

Últimamente he estado pasando mucho tiempo usando Ubuntu y como usuario de Windows me di cuenta de lo que siempre he sabido: La vida sin una interfaz gráfica es difícil. A menos que estés constantemente usando comandos o los tengas memorizados, necesitas verificar constantemente qué comandos hacen lo que quieres, pero es como intentar aprender francés cuando sabes español, no está tan mal. Decidí compilar una lista de referencia para poder volver a consultarla con frecuencia. Había comenzado cuando eventualmente encontré un artículo en Ubuntu que cubría todo lo que tenía y más, así que decidí usarlo como base y luego expandirlo basándome en mi experiencia. ¡Espero que esto ayude a otros que están comenzando a usar Linux/Ubuntu también!

Navegación:

¿Por qué usar la línea de comandos?

(Porque a veces es lo único que tienes) “En Linux hay GUIs (interfaces gráficas de usuario), donde puedes hacer clic y arrastrar, y con suerte hacer el trabajo sin antes leer mucha documentación. El entorno Unix tradicional es un CLI (interfaz de línea de comandos), donde escribes comandos para decirle a la computadora qué hacer. Eso es más rápido y más potente, pero requiere descubrir cuáles son los comandos.” — de man intro(1) Hay muchas variedades de Linux, pero casi todas usan comandos similares que pueden ser ingresados desde una terminal de interfaz de línea de comandos. También hay muchas interfaces gráficas de usuario (GUIs), pero cada una funciona de manera diferente y hay poca estandarización entre ellas. Los usuarios experimentados que trabajan con muchas distribuciones de Linux encuentran más fácil aprender comandos que pueden usarse en todas las variedades de Ubuntu y, de hecho, en otras distribuciones de Linux también. Para el novato, los comandos de la interfaz de línea de comandos pueden parecer intimidantes:

sudo gobbledegook blah_blah -w -t -h --long-switch aWkward/ComBinationOf/mixedCase/underscores_strokes/and.dots

Sin embargo, es importante notar que incluso los usuarios experimentados frecuentemente copian y pegan comandos (de una guía o manual) en la terminal de línea de comandos; no los memorizan. Es importante, por supuesto, saber cómo usar la terminal de línea de comandos - y cualquiera que pueda manejar escribir, borrar, y copiar y pegar puede manejar la terminal de línea de comandos (no es más difícil que eso). Esta página describirá algunos atajos ingeniosos que pueden hacer más fácil el uso de una interfaz de línea de comandos.

Iniciar una Terminal

En Unity

Unity es el entorno de escritorio predeterminado usado desde la versión 11.04. Donde los sistemas no están listos para Unity, revierten a Gnome que también se usa en versiones anteriores como Ubuntu 10.04 LTS (Lucid), ver la siguiente subsección. La forma más fácil de abrir la Terminal es usar la función de ‘búsqueda’ en el dash. O puedes hacer clic en el botón ‘Más aplicaciones’, hacer clic en ‘Ver más resultados’ junto a la sección de instalados, y encontrarla en esa lista de aplicaciones. Una tercera forma, disponible después de hacer clic en el botón ‘Más aplicaciones’, es ir a la barra de búsqueda y ver que en el extremo derecho dice ‘Todas las aplicaciones’. Luego haces clic en eso y verás la lista completa. Después puedes ir a Accesorios > Terminal. Entonces, los métodos en Unity son: Dash -> Buscar Terminal Dash -> Más aplicaciones -> ‘Ver más resultados’ -> Terminal Dash -> Más aplicaciones -> Accesorios -> Terminal Atajo de teclado: Ctrl + Alt + T

En Gnome

Gnome es el entorno de escritorio clásico para Ubuntu 11.04 (Natty) y es el entorno predeterminado en versiones anteriores, como Ubuntu 10.04 LTS (Lucid). Menú Aplicaciones -> Accesorios -> Terminal. Atajo de teclado: Ctrl + Alt + T

En Xfce (Xubuntu)

Menú Aplicaciones -> Sistema -> Terminal. Atajo de teclado: Super + T

En KDE (Kubuntu)

KMenu -> Sistema -> Programa de Terminal (Konsole).

En LXDE (Lubuntu)

Menú -> Accesorios -> LXTerminal.

Comandos

sudo: Ejecutar comandos con privilegios elevados

  • La mayoría de los siguientes comandos necesitarán ir precedidos del comando sudo. Esto eleva los privilegios al nivel administrativo de usuario root temporalmente, lo cual es necesario cuando se trabaja con directorios o archivos que no son propiedad de tu cuenta de usuario. Cuando uses sudo se te pedirá tu contraseña. Solo los usuarios con privilegios sudo (administrativos) podrán usar este comando. Nunca deberías usar sudo normal para iniciar aplicaciones gráficas como Root (Consulta (https://help.ubuntu.com/community/RootSudo) para más información sobre el uso correcto de sudo.)

Comandos de archivos y directorios

  • La tilde () representa tu directorio home. Si eres el usuario user, entonces la tilde () representa /home/user
  • pwd: El comando pwd te permitirá saber en qué directorio te encuentras (pwd significa “print working directory” - imprimir directorio de trabajo). Ejemplo: “pwd” en el directorio Desktop mostrará ”~/Desktop”. Nota que la Terminal de Gnome también muestra esta información en la barra de título de su ventana. Un mnemotécnico útil es “directorio de trabajo presente.”
  • ls: El comando ls te mostrará (‘listará’) los archivos en tu directorio actual. Usado con ciertas opciones, puedes ver tamaños de archivos, cuándo fueron creados, y permisos de archivos. Ejemplo: “ls ~” te mostrará los archivos que están en tu directorio home.
  • cd: El comando cd te permitirá cambiar de directorio. Cuando abres una terminal estarás en tu directorio home. Para moverte por el sistema de archivos usarás cd. Ejemplos:
    • Para navegar al directorio raíz, usa “cd /”
    • Para navegar a tu directorio home, usa “cd” o “cd ~”
    • Para navegar un nivel de directorio arriba, usa “cd ..”
    • Para navegar al directorio anterior (o atrás), usa “cd -”
    • Para navegar a través de múltiples niveles de directorio a la vez, especifica la ruta completa del directorio al que quieres ir. Por ejemplo, usa “cd /var/www” para ir directamente al subdirectorio /www de /var/. Como otro ejemplo, “cd ~/Desktop” te moverá al subdirectorio Desktop dentro de tu directorio home.
  • cp: El comando cp hará una copia de un archivo. Ejemplo: “cp archivo foo” hará una copia exacta de “archivo” y la nombrará “foo”, pero el archivo “archivo” seguirá allí. Si estás copiando un directorio, debes usar “cp -r directorio foo” (copiar recursivamente). (Para entender qué significa “recursivamente”, piénsalo de esta manera: copiar el directorio y todos sus archivos y subdirectorios y todos sus archivos y subdirectorios de los subdirectorios y todos sus archivos, y así sucesivamente, “recursivamente”).
  • mv: El comando mv moverá un archivo a una ubicación diferente o renombrará un archivo. Los ejemplos son los siguientes: “mv archivo foo” renombrará el archivo “archivo” a “foo”. “mv foo ~/Desktop” moverá el archivo “foo” a tu directorio Desktop pero no lo renombrará. Debes especificar un nuevo nombre de archivo para renombrar un archivo.
    • Para ahorrar escritura, puedes sustituir ’~’ en lugar del directorio home.
  • rm: Usa este comando para eliminar o borrar un archivo en tu directorio.
  • rmdir: El comando rmdir eliminará un directorio vacío. Para eliminar un directorio y todo su contenido recursivamente, usa rm -r en su lugar.
  • mkdir: El comando mkdir te permitirá crear directorios. Ejemplo: “mkdir musica” creará un directorio llamado “musica”.

Ejecutar un archivo dentro de un directorio

¿Así que has decidido ejecutar un archivo usando la línea de comandos? Bueno… ¡también hay un comando para eso!

  • ./ nombrearchivo.extension

Después de navegar al directorio padre del archivo, este comando permitirá a cualquier usuario de Ubuntu analizar archivos compilados mediante gcc o cualquier otro lenguaje de programación. Ten en cuenta que la ‘extensión’ variará dependiendo del lenguaje en que está escrito el código fuente. Por ejemplo: “.c” para código fuente C, “.cpp” para C++, “.rb” para Ruby, “.py” para Python, etc. También, recuerda que (en el caso de lenguajes interpretados como Ruby y Python) debes tener una versión de ese lenguaje instalada en Ubuntu antes de intentar ejecutar archivos escritos con él.

Comandos de información del sistema

  • df: El comando df muestra el uso de espacio en disco del sistema de archivos para todas las particiones montadas. “df -h” es probablemente el más útil - usa megabytes (M) y gigabytes (G) en lugar de bloques para reportar. (-h significa “legible por humanos”)
  • free: El comando free muestra la cantidad de memoria libre y usada en el sistema. “free -m” dará la información usando megabytes, que probablemente es lo más útil para computadoras actuales.
  • top: El comando top (‘tabla de procesos’) muestra información sobre tu sistema Linux, procesos en ejecución y recursos del sistema, incluyendo uso de CPU, RAM y swap y el número total de tareas ejecutándose. Para salir de top, presiona “q”.
  • uname -a: El comando uname con la opción -a imprime toda la información del sistema, incluyendo nombre de la máquina, nombre y versión del kernel, y algunos otros detalles. Más útil para verificar qué kernel estás usando.

Opciones

El comportamiento predeterminado de un comando generalmente puede ser modificado agregando una —opción al comando. El comando ls por ejemplo tiene una opción -s para que “ls -s” incluya tamaños de archivos en el listado. También hay una opción -h para obtener esos tamaños en un formato “legible por humanos”. Las opciones pueden agruparse en clusters así que “ls -sh” es exactamente el mismo comando que “ls -s -h”. La mayoría de las opciones tienen una versión larga, precedida por dos guiones en lugar de uno, así que incluso “ls —size —human-readable” es el mismo comando.

”Man” y obtener ayuda

man comando, info comando y comando —help son las herramientas más importantes en la línea de comandos. Casi todos los comandos y aplicaciones en Linux tendrán un archivo man (manual), así que encontrarlos es tan simple como escribir “man “comando"" para abrir una entrada más larga del manual para el comando especificado. Por ejemplo, “man mv” abrirá el manual de mv (Mover). Muévete hacia arriba y abajo en el archivo man con las teclas de flecha, y sal de vuelta al prompt de comandos con “q”. “man man” abrirá la entrada del manual para el comando man, que es un buen lugar para empezar. “man intro” es especialmente útil - muestra la “Introducción a los comandos de usuario” que es una introducción bien escrita y bastante breve a la línea de comandos de Linux.

Otras cosas útiles

Pegar comandos

A menudo, te referirán a instrucciones que requieren que los comandos se peguen en la terminal. Podrías preguntarte por qué el texto que copiaste de una página web usando ctrl+C no se pega con ctrl+V. Seguramente no tienes que escribir todos esos comandos y nombres de archivos desagradables. Relájate. ctrl+shift+V pega en una terminal Gnome; también puedes hacer clic con el botón medio del ratón (ambos botones simultáneamente en un ratón de dos botones) o hacer clic derecho y seleccionar Pegar del menú. Si quieres evitar el ratón y aún así pegar, usa “Shift+Insert” para pegar el comando.

Ahorrar escritura

Flecha arriba o ctrl+pSe desplaza por los comandos que has ingresado previamente.
Flecha abajo o ctrl+nTe lleva de vuelta a un comando más reciente.
EnterCuando tengas el comando que quieres.
tabUna función muy útil. Autocompleta cualquier comando o nombre de archivo, si solo hay una opción, o te da una lista de opciones.
ctrl+rBusca comandos que ya has escrito. Cuando has ingresado un comando muy largo y complejo y necesitas repetirlo, usar esta combinación de teclas y luego escribir una porción del comando buscará en tu historial de comandos. Cuando lo encuentres, simplemente presiona Enter.
HistoryEl comando history muestra una lista muy larga de comandos que has escrito. Cada comando se muestra junto a un número. Puedes escribir !x para ejecutar un comando previamente escrito de la lista (reemplaza la X con un número).

Más información

Para tutoriales más detallados sobre la línea de comandos de Linux, consulta: