Índice

Índice

Comandos básicos de Linux

Al operar un sistema operativo Linux, como hemos visto anteriormente, debes usar un shell, una interfaz que te da acceso a los servicios del sistema operativo. Conocer los comandos básicos de Linux nos servirá para interactuar de forma mucho más eficiente con el sistema.

 La mayoría de las distribuciones de Linux utilizan una interfaz gráfica de usuario (GUI) como shell, principalmente para proporcionar facilidad de uso a sus usuarios.

Con la siguiente lista de comandos básicos ya podrás desenvolverte y realizar las funciones básicas en un sistema Linux. Ahora veremos los comandos básicos por encima, pero poco a poco durante el curso iremos practicando y profundizando en sus funciones.

¿Qué es un Comando?

Un comando es una instrucción específica dada a una aplicación informática para realizar algún tipo de tarea o función.

Los diferentes sistemas operativos como Windows, Linux, Android, o macOS disponen de una serie de comandos básicos para realizar operaciones simples y directas, que se utilizan a través de una consola o intérprete de comandos.

Los comandos no solo están disponibles en un sistema operativo, sino que también se utilizan en aplicaciones o programas. Cada software puede disponer de sus propios comandos internos para realizar tareas específicas.

¿Qué es un Comando de Linux?

En Linux, un comando es un programa o utilidad que se ejecuta en la línea de comandos. Una línea de comandos es una interfaz que acepta líneas de texto y las procesa en forma de instrucciones para tu ordenador.

Cualquier interfaz gráfica de usuario (GUI) no es más que una abstracción de los programas de línea de comandos. Por ejemplo, cuando cierras una ventana haciendo clic en la «X», hay un comando que se ejecuta detrás de esa acción.

Un flag es una forma de pasar opciones al comando que se ejecuta. La mayoría de los comandos de Linux tienen una página de ayuda que podemos llamar con la flag -h. La mayoría de las veces, las flag son opcionales.

				
					[comando -h]
				
			

Puedes invocar flags utilizando guiones (-) y guiones dobles (–), mientras que la ejecución de los argumentos depende del orden en que los pase a la función, esta sintaxis también la podemos ver en el modo ayuda o en el manual del comando.

Para ver el manual de cualquier comando simplemente utilizamos man seguido del comando del que queremos más información.

				
					man [comando]
				
			
Ejemplo:
				
					man whoami
				
			

Lista de Comandos Principales

pwd

Usa el comando pwd para encontrar la ruta del directorio (carpeta) de trabajo actual en el que te encuentras. El comando devolverá una ruta absoluta (completa), que es básicamente una ruta de todos los directorios que comienzan con una barra diagonal (/) Un ejemplo de una ruta absoluta es /home/nombredeusuario.

En el siguiente ejemplo ejecutaremos el comando pwd desde el directorio principal y vemos como nos devuelve /home/firox, en vuestro caso, reportará el usuario con el que esteis registrados:

				
					pwd
				
			

Ahora vamos a realizar el mismo comando desde la raíz del sistema:

cd

Para navegar por los archivos y directorios de Linux, se usa el comando cd. Te pedirá la ruta completa o el nombre del directorio, dependiendo del directorio de trabajo actual en el que te encuentres. Supongamos que estás en /home/nombredeusuario/Documentos y deseas ir a Fotos, un subdirectorio de Documentos. Para hacerlo, simplemente escribe el siguiente comando:
				
					cd Fotos
				
			

Otro escenario es si deseas ir a un directorio completamente nuevo, por ejemplo, /home/nombredeusuario/Películas. En este caso, debes escribir cd seguido de la ruta absoluta del directorio:

				
					cd /home/nombredeusuario/Películas
				
			

Hay algunos atajos para ayudarte a navegar rápidamente:

  • cd .. : (Con dos puntos) Para ir un directorio hacia arriba.
  • cd : Para ir directamente a la carpeta de inicio.
  • cd- o cd ../ : (Con un guion) Para ir al directorio anterior.

Como nota al margen, el shell de Linux distingue entre mayúsculas y minúsculas. Por lo tanto, debes escribir el nombre del directorio de forma exacta.

ls

El comando ls se usa para ver el contenido de un directorio. Por defecto, este comando mostrará el contenido de tu directorio de trabajo actual.

Si deseas ver el contenido de otros directorios, escribe ls y luego la ruta del directorio. Por ejemplo, ingresa ls /home/nombredeusuario/Documentos para ver el contenido de Documentos.

Hay variaciones que puedes usar con el comando ls:

  • ls -R : También listará todos los archivos en los subdirectorios.
  • ls -a : Mostrará los archivos ocultos.
  • ls -l : Listará los archivos y directorio con información detallada como los permisos, el tamaño, el propietario, etc.
  • ls -la : Listará los archivos y directorios, incluidos los ocultos, con información detallada como los permisos, el tamaño, el propietario, etc.

cat

Cat (abreviatura de concatenate, en inglés) es uno de los comandos más utilizados en Linux. Se utiliza para listar el contenido de un archivo en la salida estándar (sdout). Para ejecutar este comando, escribe cat seguido del nombre del archivo y su extensión. Por ejemplo:
				
					cat archivo.txt
				
			

Aquí hay otras formas de usar el comando cat:

cat > nombredearchivo : Crea un nuevo archivo.
cat nombredearchivo1 nombredearchivo2>nombredearchivo3 : Une dos archivos (1 y 2) y almacena la salida de ellos en un nuevo archivo (3).
cat nombredearchivo | tr a-z A-Z> salida.txt : Convertir un archivo a mayúsculas o minúsculas.

cp

Usa el comando cp para copiar archivos del directorio actual a un directorio diferente. Por ejemplo, el comando cp escenario.jpg /home/nombredeusuario/Imágenes crearía una copia de escenario.jpg (desde tu directorio actual) en el directorio de Imágenes.
				
					cp [Archivo Copiado] [Ruta del Archivo Nuevo]
				
			

Copiar un archivo en directorio actual con cp:

				
					cp [Archivo Copiado] .
				
			

Copiar un archivo en directorio actual y cambiar el nombre con cp:

				
					cp /home/user/Archvo1 ./ArchivoUno
				
			

mv

El uso principal del comando mv es mover archivos, aunque también se puede usar para cambiar el nombre de los archivos. Los argumentos en mv son similares al comando cp. Debes escribir mv, el nombre del archivo y el directorio destino.
				
					mv archivo.txt /home/nombredeusuario/Documentos .
				
			

En el caso anterior estaremos moviendo el archivo.txt que se encuentra dentro de Documentos hasta el directorio actual en el que nos encontramos el cual se representa con un punto.  

Ejemplo:

Para cambiar el nombre de los archivos, el comando de Linux es:

				
					mv nombreviejo.ext nombrenuevo.ext
				
			

mkdir

Usa el comando mkdir para crear un nuevo directorio: si escribes mkdir Música, creará un directorio llamado Música. También hay comandos adicionales de mkdir: Para generar un nuevo directorio dentro de otro directorio, usa este comando básico de Linux mkdir Musica/Nuevoarchivo. Usa la opción p (padres) para crear un directorio entre dos directorios existentes. Por ejemplo, mkdir -p Musica/2020/Nuevoarchivo creará el nuevo directorio llamado 2020 antes de Nuevoarchivo.

Crear un directorio con mkdir:

				
					mkdir nambreDirectorio
				
			

rmkdir

Si necesitas eliminar un directorio, usa el comando rmdir. Sin embargo, rmdir solo te permite eliminar directorios vacíos.

Eliminar directorio con rmkdir:

				
					rmkdir nambreDirectorio
				
			
				
					rmkdir rutaDirectorio
				
			

rm

El comando rm se usa para eliminar directorios y el contenido dentro de ellos. Si solo deseas eliminar el directorio, como alternativa a rmdir, usa rm -r.

Nota: Ten cuidado con el  comando rm -r y verifica en qué directorio te encuentras. Este comando elimina todo y no se puede deshacer.

Eliminar un archivo con rm:

				
					rm nambreArchivo
				
			
				
					rm /home/user/desktop/nambreArchivo
				
			

Eliminar varios archivos con rm:

				
					rm nambreArchivo1 nombreArchivo2
				
			
				
					rm {nambreArchivo1|nombreArchivo2}
				
			

Eliminación de archivos recursiva con rm (no se pedirá confirmación):

				
					rm -r nambreArchivo
				
			

Eliminar todos los archivos del directorio actual con rm :

				
					rm *
				
			

touch

El comando touch te permite crear un nuevo archivo en blanco a través de la línea de comando de Linux.

Como ejemplo, ejecuta touch /home/nombredeusuario/Documentos/Web.html para crear un archivo HTML titulado Web en el directorio Documentos.

Crear un archivo con touch:

				
					touch nombreArchivo
				
			
				
					touch "nombre Archivo"
				
			
				
					touch nombre\ Archivo
				
			

Crear varios archivos con touch:

				
					touch Archivo1 Archivo2
				
			
				
					touch Archivo1 "Archvio Dos" Archivo\ Tres
				
			

nano

GNU nano es un editor de texto de línea de comandos fácil de usar para sistemas operativos Unix y Linux. Incluye toda la funcionalidad básica que esperaría de un editor de texto regular, como resaltado de sintaxis, múltiples búferes, búsqueda y reemplazo con soporte para expresiones regulares, corrección ortográfica, codificación UTF-8 y más.

Ver versión:

				
					nano --version
				
			

Instalar nano en Linux:

				
					sudo apt install nano
				
			

Crear un archivo con nano:

				
					nano archivoNuevo
				
			

Esto abre una nueva ventana de editor y puede comenzar a editar el archivo.

En la parte inferior de la ventana, hay una lista de los atajos de comandos más básicos para usar con el editor nano.

Todos los comandos tienen el prefijo ^ o el carácter  M.

  • El símbolo de caret (`^`) representa la clave. Ctrl.
  • La letra M representa la clave Alt.


Por ejemplo, los comandos ^J significan presionar las teclas Ctrl y J al mismo tiempo. 
Puede obtener una lista de todos los comandos escribiendo Ctrl+g.

Cómo Guardar y Salir en nano :

Para guardar los cambios que ha realizado en el archivo, presione Ctrl+o. Si el archivo no existe, se creará una vez que lo guarde.

Si quieres salir de nano presiona Ctrl+x. Si hay cambios no guardados, se le preguntará si desea guardar los cambios.

Para guardar el archivo debe tener permisos de escritura en el archivo. Si está creando un archivo nuevo , necesita tener permiso de escritura en el directorio donde se creará el archivo.

Personalizando Nano (nanorc)

Cuando se inicia nano, lee sus parámetros de configuración del archivo de configuración de todo el sistema /etc/nanorc y de los archivos específicos del usuario ~/.config/nano/nanorc y ~/.nanorc si los archivos están presentes.

Las opciones especificadas en el archivo de usuario tienen prioridad sobre las opciones globales.

Visite la página de nanorc para obtener una lista completa de todas las opciones disponibles.

locate

Puedes usar este comando para localizar un archivo, al igual que el comando de búsqueda en Windows. Además, el uso del argumento -i junto con este comando hará que no distinga entre mayúsculas y minúsculas, por lo que puedes buscar un archivo incluso si no recuerdas su nombre exacto. Para buscar un archivo que contenga dos o más palabras, usa un asterisco *. Por ejemplo, el comando locate -i escuela*nota buscará cualquier archivo que contenga la palabra escuela y nota, ya sea en mayúsculas o minúsculas.

find

Similar al comando locate, usando find también buscas archivos y directorios. La diferencia es que usas el comando find para ubicar archivos dentro de un directorio dado.

Como ejemplo, el comando find /home/ -name notas.txt buscará un archivo llamado notas.txt dentro del directorio de inicio y sus subdirectorios.

 

Sintaxis:

				
					find [Dirección de Inicio de Búsqueda] [Filtros de Búsqueda] [Búsqueda]
				
			

Buscar Archivo por su nombre en el directorio actual con find:

				
					find . -name [Búsqueda]
				
			
  • . : Con el punto indicamos que la búsqueda se realizará desde el directorio actual.
  • -name : Indica que deseamos buscar un archivo por su nombre.
  • [Búsqueda]: Nombre del archivo que deseamos buscar.

Buscar Directorios por su nombre con find:

				
					find / -type d -name [Búsqueda]
				
			
  • / : Con el punto indicamos que la búsqueda se realizará desde el directorio raíz.
  • -type d : Indica que deseamos buscar un directorio.

Buscar Archivos por su Tamaño con find:

				
					find / -size 33c [Búsqueda]
				
			
  • -size : Indica que vamos a filtrar por el tamaño del archivo.
  • 33c : 33 es el tamaño del archivo y c indica que son bytes.

Buscar Archivos por su Usuario con find:

				
					find / -user [NombreUsuario][Búsqueda]
				
			

Buscar Archivos por su Usuario con find:

				
					find / -group [NombreGrupo][Búsqueda]
				
			

grep

Otro comando básico de Linux que sin duda es útil para el uso diario es grep. Te permite buscar a través de todo el texto en un archivo dado.

Para ilustrar, grep azul notepad.txt buscará la palabra azul en el archivo del bloc de notas. Las líneas que contienen la palabra buscada se mostrarán.

Listar por palabras con grep:

				
					grep -r "\w" 2>/dev/null
				
			

Quitar una línea con grep:

				
					grep -v [palabraIncluidaEnLaLínea]
				
			

Quitar varias líneas con grep:

				
					grep -vE [palabra1|palabra2|palabra3]
				
			

sudo

Abreviatura de «SuperUser Do» (SuperUsuario hace), este comando te permite realizar tareas que requieren permisos administrativos o raíz. Sin embargo, no es aconsejable usar este comando para el uso diario, ya que podría ser fácil que ocurra un error si haces algo mal.

Ingresar como Super Usuario:

				
					sudo su
				
			

Ingresar como Super Usuario:

				
					sudo [comando]
				
			

sort

Permite ordenar alfabéticamente, en orden inverso, por número, por mes y también puede eliminar duplicados. El comando sort también puede ordenar por elementos que no estén al principio de la línea, ignorar la sensibilidad a las mayúsculas y minúsculas y devolver si un archivo está ordenado o no.

Ordenar en orden Alfabético:

				
					sort [archivo.txt]
				
			

Ordenar en orden Inverso:

				
					sort -r [archivo.txt]
				
			

Ordenar números de menor a mayor:

				
					sort -n [archivo.txt]
				
			

Cómo clasificar y eliminar duplicados:

				
					sort -u [archivo.txt]
				
			

Cómo ordenar por meses:

				
					sort -M [archivo.txt]
				
			

strings

Muestra únicamente las cadenas de caracteres imprimibles de un archivo o un output. Esto puede ser muy útil para extraer los fragmentos legibles de un archivo que contenga caracteres codificados o no legibles.

Mostrar únicamente caracteres imprimibles con strigs:

				
					strings nombreArchivo
				
			

df

Usa el comando df para obtener un informe sobre el uso del espacio en disco del sistema, que se muestra en porcentaje y KB. Si deseas ver el informe en megabytes, escribe df -m.

du

Si deseas verificar cuánto espacio ocupa un archivo o un directorio, el comando du (Uso del disco, en inglés) es la respuesta. Sin embargo, el resumen de uso del disco mostrará números de bloque de disco en lugar del formato de tamaño habitual. Si deseas verlo en bytes, kilobytes y megabytes, agrega el argumento -h a la línea de comando.

El comando head se usa para ver las primeras líneas de cualquier archivo de texto. De manera predeterminada, mostrará las primeras diez líneas, pero puedes cambiar este número a tu gusto.
Por ejemplo, si solo deseas mostrar las primeras cinco líneas, escribe:

				
					head -n 5 nombredearchivo.ext
				
			

tail

Este tiene una función similar al comando head, pero en lugar de mostrar las primeras líneas, el comando tail mostrará las últimas diez líneas de un archivo de texto.

Mostrar las últimas 10 líneas con tail:

				
					trail -n nombredearchivo.ext
				
			

Mostrar las últimas X líneas con tail:

				
					trail -n X nombredearchivo.ext
				
			
				
					trail -n 2 nombredearchivo.ext
				
			

diff

Para abreviar diferencia, el comando diff compara el contenido de dos archivos línea por línea. Después de analizar los archivos, genera las líneas que no coinciden. Los programadores a menudo usan este comando cuando necesitan hacer modificaciones al programa en lugar de reescribir todo el código fuente.

La forma más simple de usar este comando es:

 

				
					diff archivo1.ext archivo2.ext
				
			

tar

El comando tar es el comando más utilizado para guardar múltiples archivos en un tarball, un formato de archivo de Linux común que es similar al formato zip, con compresión opcional. Este comando es bastante complejo con una larga lista de funciones, como agregar nuevos archivos a un archivo existente, enumerar el contenido de un archivo, extraer el contenido de un archivo y muchos más.

chmod

Es otro comando de Linux, utilizado para cambiar los permisos de lectura, escritura y ejecución de archivos y directorios. Como este comando es bastante complicado, puedes leer el tutorial completo (en inglés) para ejecutarlo correctamente.

chown

En Linux, todos los archivos son propiedad de un usuario específico. El comando chown te permite cambiar o transferir la propiedad de un archivo al nombre de usuario especificado. Por ejemplo, chown usuariolinux2 archivo.ext hará que usuariolinux2 sea el propietario del archivo.ext.

jobs

El comando jobs mostrará todos los trabajos actuales junto con sus estados. Un trabajo es básicamente un proceso iniciado por el shell.

kill

Si tienes un programa que no responde, puedes cerrarlo manualmente utilizando el comando kill. Enviará una cierta señal al programa que se está ejecutando mal y le indica a la aplicación que finalice. Hay un total de sesenta y cuatro señales que puedes usar, pero las personas generalmente solo usan dos señales: SIGTERM (15) : Solicita que un programa deje de ejecutarse y te da algo de tiempo para guardar todo tu progreso. Si no especificas la señal al ingresar el comando kill, se utilizará esta señal. SIGKILL (9) : Obliga a los programas a detenerse inmediatamente. El progreso no guardado se perderá. Además de conocer las señales, también debes conocer el número de identificación del proceso (PID) del programa que deseas detener (kill). Si no conoces el PID, simplemente ejecute el comando ps ux. Después de saber qué señal deseas usar y el PID del programa, ingresa la siguiente sintaxis:
				
					diff archivo1.ext archivo2.ext
				
			

ping

Usa el comando ping para verificar tu estado de conectividad a un servidor. Por ejemplo, simplemente ingresando ping google.com, el comando verificará si puedes conectarte a Google y también medirá el tiempo de respuesta.

wget

La línea de comandos de Linux es muy útil: incluso puedes descargar archivos de Internet con la ayuda del comando wget. Para hacerlo, simplemente escribe wget seguido del enlace de descarga.

uname

El comando uname, abreviatura de Nombre de Unix, imprimirá información detallada sobre tu sistema Linux, como el nombre de la máquina, el sistema operativo, el núcleo, etc.

top

Como un terminal equivalente al Administrador de tareas en Windows, el comando top mostrará una lista de los procesos en ejecución y la cantidad de CPU que utiliza cada proceso. Es muy útil monitorear el uso de los recursos del sistema, especialmente para saber qué proceso debe terminarse porque consume demasiados recursos.

history

Cuando hayas estado utilizando Linux durante un cierto período de tiempo, notarás rápidamente que puedes ejecutar cientos de comandos todos los días. Como tal, ejecutar el comando history es particularmente útil si deseas revisar los comandos que ingresaste anteriormente .

man

¿Confundido sobre la función de ciertos comandos de Linux? No te preocupes, puedes aprender fácilmente cómo usarlos directamente desde el shell de Linux mediante el comando man. Por ejemplo, al ingresar man tail se mostrarán las instrucciones manuales del comando tail.

echo

Este comando se usa para mover algunos datos a un archivo. Por ejemplo, si deseas agregar el texto «Hola, mi nombre es John» en un archivo llamado nombre.txt, debes escribir: echo Hola, mi nombre es John >> nombre.txt.

zip

Usa el comando zip para comprimir tus archivos en un archivo zip. y use el comando unzip para extraer los archivos comprimidos de un archivo zip.

unzip

Se utiliza el comando unzip para extraer los archivos comprimidos de un archivo zip.

hostname

Si deseas conocer el nombre de tu host/red, simplemente escribe hostname. Agregar un -I al final mostrará la dirección IP de tu red.

useradd

Dado que Linux es un sistema multiusuario, esto significa que más de una persona puede interactuar con el mismo sistema al mismo tiempo. useradd se usa para crear un nuevo usuario, mientras que passwd agrega una contraseña a la cuenta de ese usuario. Para agregar una nueva persona llamada John, escribe useradd John y luego para agregar su contraseña, escribe passwd 123456789.

userdel

Eliminar un usuario es muy similar a agregar un nuevo usuario. Para eliminar la cuenta de usuario, escribe userdel NombredeUsuario.

clear

Se utiliza para limpiar el terminal si se está abarrotando con demasiados comandos pasados. Esta acción también la podemos realizar con el atajo Ctrl + L.