Linux es un sistema operativo de código abierto, popular entre comunidades técnicas específicas. En nuestra página web nos interesa la cuestión de la ciberseguridad, pero si eres nueva en esta cuestión, te vamos a mencionar los 20 comandos básicos que debes aprender.
Cada comando debe tener un argumento, además que Bash suele distinguir entre mayúsculas y minúsculas, por lo que saber esto podría ayudarte a resolver uno que otro problema que se suele tener.
Comandos de Linux para navegar en el sistema de archivos de Linux
La similitud de la manera en cómo se organizan todos los archivos, llevan un sistema de árbol. Esta comparación se debe a que todo empieza desde una raíz y poco a poco se va ramificando cada uno de los archivos.
En Linux encontrarás que el directorio raíz o comúnmente llamada “root”, es el directorio de nivel más alto y lo designa una sola barra.
De ahí en adelante, los subdirectorios salen del directorio raíz y así sucesivamente. Mira el siguiente ejemplo:
/home/analyst
En el siguiente ejemplo, la primera barra indica el directorio raíz, después la siguiente ramificación se da un nivel hasta el subdirectorio home, después la siguiente barra indica una ramificación nueva al directorio analyst.
A continuación veremos ahora sí los primeros comandos que debes conocer:
pwd | Como resultado verás el directorio en el que te encuentras | Cuando la ruta te lleva a un subdirectorio por debajo del directorio del usuario conectado, puede aparecer solo una virgulilla (~), es decir que /home/josduara/cibercuervo es igual a ~/cibercuervo |
ls | Muestra el nombre de los archivos y directorios que existen en el directorio en donde te encuentras | Si quieres listar los archivos en otra carpeta, basta con identificar la ruta, por ejemplo: /home/josduara/cibercuervo Si quieres listar los archivos de un subdirectorio dentro del directorio en donde te encuentras, basta con poner: ls cibercuervo |
cd | Comando utilizado para navegar entre los directorios | También puedes cambiar a un directorio con su ruta de archivo absoluta, es decir, escribiendo toda la ruta desde la carpeta raíz (/home/…) Para regresar a un directorio arriba escribe: cd .. |
whoami | Te mostrará el nombre de usuario del usuario actual |
A continuación veremos una imagen de la bash de cómo se ven los comandos anteriores.
cat | Muestra el contenido completo de un archivo | Ejemplo: cat «Lorem Ispum.txt» Esto puede ser un problema en archivos muy grandes, como lo pueden ser registros de log que pueden incluir meses. Se escriben entre comillas cuando el nombre del archivo lleva un espacio en el nombre |
head | Permite ver las primeras 10 líneas de un archivo. | Ejemplo: head «lorem ipsum.txt» Si quieres otra cantidad de número, puedes agregar -n para decir la cantidad de líneas que necesitas, por ejemplo: head -n 5 “lorem ipsum.txt” Con lo anterior mostrará las primeras 5 líneas. |
less | Muestra el contenido de todo un archivo pero una página a la vez, a diferencia de cat que lo muestra todo de un solo golpe. | Ejemplo: less archivo.txt Al ingresar este comando, podrás navegar por el contenido con el teclado: Barra Espacio: Ir a la sig. página.b: Ir a la página anterior.Flecha abajo: Avanzar una línea.Flecha arriba: Regresar una línea.q: Salir y volver a la ventana de terminal anterior. |
Comandos para buscar y filtrar en Linux
También existen comandos que se utilizan para buscar en el sistema una determinada información según la necesidad.
grep | Busca una cadena de texto. Se le puede indicar el archivo en donde lo debe buscar o simplemente dejarlo así para buscar esa cadena en un directorio. | Ejemplo: grep Lorem logs.txt Buscará la palabra Lorem en el archivo logst.txt |
piping o pleca: ( | ) | Este comando envía una salida estándar de un comando como entrada en otro comando para después poder procesarlo y es el símbolo de una pleca o barra horizontal: ( | ) | Ejemplo: ls | grep usuario Dará como salida los archivos que tengan en su nombre la palabra «usuario» Considera que la pleca se puede utilizar en muchas utilidades más, no solo para filtrado, pero se verá en otro momento. La pleca, al menos en un teclado en español, se encuentra en la parte superior izquierda, junto al símbolo de grados: ( ° ), pero si estas en un teclado norteamericano, suele estar en la misma tecla de donde se encuentra la barra invertida ( \ ) |
find | Este comando sirve para buscar los directorios y archivos. Puede usarse para buscar una cadena en el nombre, tamaño de archivo o por última vez modificado. | Después del comando, el primer argumento a escribir debe ser el lugar en donde buscar, seguido de los criterios de búsqueda. -name e -iname después de estas opciones agregas la cadena específica que estás buscando entre comillas. la primera distingue entre mayúsculas y minúsculas, la segunda no, por ejemplo: find «carpeta 1» -name «*usuario*» Este ejemplo anterior tiene una ubicación relativa, pero también puede ser absoluta: find /home/josduara/cibercuervo/»carpeta 1″ -name «*usuario*» Si no sabes el nombre completo, deberás encerrar la palabra clave entre ( * ), por ejemplo “*logs*” (Incluyendo las comillas). -mtime se utiliza seguida de un número para indicar que fue actualizado en los últimos x días, de igual puedes usar -mtime +1 para hace más de un día o -mtime -1 para menos de un día -mmin es para basar en minutos en lugar de días |
Mira el siguiente ejemplo:
Con el comando: grep Lorem logs.txt estamos buscamos la palabra “Lorem” en el archivo logs.txt. Así nos dará como resultado cada una de las líneas que contienen esa cadena de texto.
Para buscar una cadena con un espacio, debes ponerlo entre comillas ( “ “ )
Para el uso de la pleca, estamos buscando el filtrado de un archivo, sin embargo, hay que poner lo que quieres hacer, es decir, lo queremos listar:
Con el comando: ls | grep usuario
Le estamos diciendo que liste a los archivos que tiene en su nombre la palabra “usuario”. En la imagen anterior puedes ver cómo al utilizar solo “ls” lista todos los archivos en la carpeta en donde estás. En nuestro ejemplo estamos en la carpeta “carpeta 1”.
De igual manera, si conoces la ruta, puedes escribirla después de ls, en caso de que te encuentres en otra ruta, por ejemplo:
Mira cómo estamos en la ruta /home/josduara, pero pedimos listar los archivos en la “carpeta 1”, la primera vez con un filtro y después sin ningún filtro para que notes la diferencia.
Comandos para gestionar directorios y archivos en Linux
Hasta el momento quizás te has dado cuenta que utilizo la palabra “Archivos” y “directorios” indistintamente.
Lo cierto es que aún hay algo cuestionable en este sentido, pues algunos indican que en Linux existen directorios y subdirectorios, lo que en Windows conocemos como carpetas y subcarpetas.
Sin embargo, muchos usuarios de windows que trabajan con la línea de comandos, también le llaman directorios a las carpetas en este sistema operativo.
Te comento esto porque en inglés está más presente esta diferencia, aunque también existe una cierta discrepancia entre directory y folder, file y archive.
Sea cómo lo quieras llamar, en este blog podremos utilizar estos nombres indistintamente, así que vamos a ver los comandos.
mkdir | Comando para crear un nuevo directorio. | Ejemplo: mkdir nueva_carpeta Va a crear la carpeta llamada “nueva_carpeta” También lo puedes hacer con ruta absoluta |
rmdir | Comando para eliminar un directorio. | Al utilizarlo te advierte si el directorio contiene archivos. Ejemplo: rmdir carpeta_1 En una ubicación relativa, elimina la carpeta_1 No puedes eliminar directorios con archivos o subdirectorios |
touch | Comando para crear un nuevo archivo. | Ejemplo: touch email_parches.txt Crea el archivo de texto “email_parches” es necesario agregar la extensión. |
rm | Comando que elimina un archivo. | Ejemplo: rm email_parches.txt Eliminará el archivo mencionado. También requiere la extensión. |
mv | Comando para mover un directorio o un archivo. | Ejemplo: mv archivo_para_mover.txt /home/cibercuervo/carpeta_1 Requiere dos argumentos, primero el nombre del archivo y después la ruta a donde se va a mover. Recuerda que debes estar en el directorio contenedor del archivo a mover, además que va a quitar el archivo de ahí. También se puede hacer para cambiar el nombre del archivo, poniendo como tercer argumento el nuevo nombre: mv archivo.txt nuevonombre.txt Así será de archivo.txt a nuevonombre.txt |
cp | Copia un archivo o directorio en una nueva ubicación. | Ejemplo: cp archivo_para_mover.txt /home/cibercuervo/carpeta_1 Es similar a mv, pero en este caso NO va a eliminar el archivo de la carpeta contenedora. |
Nano | Nano es un editor de archivos que se abre con este comando y está disponible en muchas distribuciones Linux | Ejemplo: nano logs.txt También se pueden crear archivos con este comando. Es importante saber que no hay guardado automático. Para salir del editor presiona Ctrl + X |
echo | Es un comando que muestra como salida una cadena de texto que escribes | Ejemplo: echo “texto de prueba” y dará como salida: texto de prueba |
> | Operador para enviar la salida de echo a un archivo, pero sustituye todo lo que tiene el otro archivo | Ejemplo: echo “nueva actualización” > log.txt Sobreescribe el contenido del archivo log.txt y solo tendrá la cadena de texto “nueva actualización” |
>> | Similar al anterior, pero con la diferencia de que este solo añade la cadena de texto echo en lugar de sobreescribirlo | Ejemplo: echo “fecha de hoy” >> logs.txt Agregará la cadena de texto “fecha de hoy” sin sobreescribir el archivo. Este y el operador anterior, crearán un nuevo archivo si es que aún no existe uno con el nombre que especificaste. |
Aunque son muchos los comandos que existen, estos son los comandos básicos. Para seguir mejorando, recuerda practicar mucho.
0 comentarios