Comandos GNU/Linux

Comandos para ejecutar desde un emulador de terminal en sistemas operativos GNU/Linux basados en Debian (Ubuntu, Linux Mint, etc.). Muchos comandos se encuentran disponibles en la gran mayoría de las distros. Algunos no vienen instalados pero se instalan fácilmente ya que se encuentran disponibles en los repositorios.

cd

Abreviatura de Change Directory. Es un comando esencial y sencillo. Debe ser el primer comando en aprender a utilizar. Es lo equivalente a la tabla del 2 en matemáticas.

Cada vez que abrimos la terminal, estamos situados en el directorio, también llamado carpeta, de nuestro usuario, es decir, /home/usuario
Si bien no está del todo relacionado con el tema, es bueno saber que en Linux, todo es un archivo, es decir, una carpeta o directorio, es un archivo del tipo directorio, pero es un archivo, lo mismo que los dispositivos como discos rídigos, pendrives, etc.

Para ir a la carpeta Descargas:
cd Descargas

Para regresar al directorio del usuario se puede utilizar:
cd
cd ~

Cualquiera de las dos opciones regresa a /home/usuario

Algo a tener en cuenta es que los nombres de archivos en Linux es case sensitive, distingue entre mayúsculas y minúsculas, por ende, cd descargas no irá a ningún lado, ya que no existe descargas sino Descargas.

Todo muy lindo, pero quiero ir a directorios que están antes de /home/usuario cómo hago?
Usando trayectorias absolutas, todo visto hasta ahora corresponde a trayectorias relativas al directorio sobre el cual estamos situados. Por ejemplo:

cd Descargas  <-- trayectoria relativa, se utiliza un espacio luego de cd
cd /home/usuario/Descargas/ <-- trayectoria absoluta, se utiliza / luego de cd

En este caso accedemos al mismo lugar aunque en el primer caso con espacio porque accedemos a un subdirectorio del directorio donde estamos situados. En el segundo caso, con la barra de fechas / que significa el directorio raíz, por eso debemos indicar toda la ruta y no importa sobre que directorio estemos situados.

Por ejemplo, estemos en cualquier directorio, podemos ir al directorio X11 que es un subdirectorio de etc que es un directorio principal o subdirectorio del raíz / es decir /etc/X11/ de la siguiente manera:

cd /etc/X11/

o también cd /etc/X11 en este caso obviamos la última barra, es lo mismo porque Linux sabe que es un directorio.

Para volver un directorio atrás:
cd -
también cumple la misma función cd ..

Otro ejemplo: si estamos en /home/usuario/Descargas/ y queremos ir a /home/usuario/programas lo podemos hacer de la siguiente manera:

cd ~/programas/

El símbolo ~ implica el directorio del usuario, es decir, /home/usuario

Autocompletado: al escribir cd Desc y presionar la tecla de tabulación se autocompleta la palabra Descargas. Si hay varios directorios que comienzan con Desc entonces se mostrarán todas las coincidencias a fin de que el usuario elija una de ellas.

Aunque se trata de otro comando, ls se utiliza para ver la lista de archivos de un directorio. Para usar ls con pausa y poder avanzar y retroceder (navegar) se usa ls | less
Elija un directorio con unos cuantos archivos y juegue un rato con las teclas de la flechas arriba y abajo, las teclas retroceso y avance de página y las teclas inicio y fin.

whoami

muestra el usuario activo, equivale a "id -un". No tiene opciones más que --help y --version.

man

busca si hay un manual de un comando o programa y lo muestra. Por ejemplo: "man ls". Tiene muchas opciones, ejecutar "man man".

su

Identificarse como super usuario. Ejecutar "su -". Si devuelve un mensaje error es porque algunas distribuciones de GNU/Linux no asignan de manera predeterminada una contraseña para el usuario root. Esto se soluciona asignando una contraseña para root de la siguiente manera "sudo passwd root" y sí, se puede elegir la misma password que el usuario.
Tiene más usos y opciones, como cambiar el ID de un usuario o cambiar de usuario (no solo a root). El uso más frecuente es para loguearse como super usuario.

uname

Muestra información del sistema: nombre de la PC, versión del kernel y del sistema operativo y del procesador. Tiene algunas opciones:
Sin especificar ninguna opción solo devolverá "Linux".
-a  muestra toda la información.
-s nombre del kernel
-n nombre del host del nodo de red
-r versión del kernel
-m nombre del procesador
Lo más normal es usar la opción -a o --all
Ejemplos:

prueba@prueba-VirtualBox:~$ uname
Linux
prueba@prueba-VirtualBox:~$ uname -a
Linux prueba-VirtualBox 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:06:37 UTC 2016 i686 athlon i686 GNU/Linux
prueba@prueba-VirtualBox:~$ uname -s
Linux
prueba@prueba-VirtualBox:~$ uname -n
prueba-VirtualBox
prueba@prueba-VirtualBox:~$ uname -r
4.4.0-31-generic
prueba@prueba-VirtualBox:~$ uname -m
i686