info@vidainformatica.com.ar

Comandos GNU/Linux

Vida Informática - Sistemas - Tutoriales - Área Técnicos

Comandos GNU/Linux

Volvemos a hablar de GNU/Linux. En este caso, vamos a familiarizarnos con muchos de los comandos GNU/Linux más utilizados en la terminal, muy útiles. Claro, la cuota de mercado de Linux es del 3% aprox. en ordenadores de escritorio a nivel mundial, pero casi un 90% en la infraestructura en la nube y los servicios de alojamiento. Por este motivo, es crucial estar familiarizado con estos comandos.

Una línea de comandos es una interfaz que acepta líneas de texto y las procesa en forma de instrucciones. Cualquier interfaz gráfica de usuario (GUI) no es más que una abstracción de los programas de línea de comandos.

Un flag es una forma de pasar opciones al comando que se ejecuta y un argumento o parámetro es el input que damos a un comando para que pueda ejecutarse correctamente. Generalmente el argumento es una ruta de archivo. Podemos invocar flags usando guiones.

Estos comandos también funcionan en MacOS o WSL, en cualquier entorno donde tengas UNIX. Hoy en día en Windows tenemos un subsistema oficial de Windows para Linux (Windows Subsystem for Linux) que podes instalar en Windows, lo que te permite ejecutar Linux de una manera simple en Windows.

¿Qué es un Shell de Linux?

shell
shell

Un Shell es un intérprete de comandos que expone una interfaz para que el usuario trabaje con el sistema operativo.

Permite ejecutar operaciones usando textos y comandos, y proporciona a los usuarios características avanzadas como la posibilidad de crear scripts. Los Shells te permiten realizar cosas de manera mucho más optimizada que una GUI. La línea de comandos ofrece muchas más opciones de configuración.

Hay muchos tipos de Shells, aquí nada más vamos a hablar de Shells para Unix, ósea Linux y MacOS. Dentro de los diferentes tipos de shells creado para estos sistemas operativos, están Bash, Csh, Zsh, Fish, entre otras.

Todos los Shell se originan del Bourne Shell, llamado sh. Bourne se debe a su creador Steve Bourne.

Bash significa Bourne-again Shell. Sh era propietario y no de código abierto, Bash fue creado en 1989 para crear una alternativa libre para el proyecto GNU y la Free Software Foundation, como los proyectos tenían que pagar para usar el Bourne Shell, Bash se hizo muy popular.

Si usas Mac, intenta abrir tu terminal en Mac, por defecto funciona con ZSH. En Linux podes gestionar diferentes tipos, ctrl+alt+t, abrimos una terminal. Sino también podemos abrir el modo consola, presionando ctrl+alt+F2 o F3 o F4, pudiendo abrir diferentes consolas en diferentes sesiones. Para volver al entorno grafico presionamos ctrl+alt+F7.

Comando man

El comando man lo ponemos primero porque es el que nos ayudara a entender todos los demás comandos, cuando no sepamos cómo usar un comando (cosa que nos puede pasar seguido) podemos usar man para obtener el manual, a veces nos brinda demasiada información. Algo mas abreviado y como dato, tenemos esta página: https://tldr.sh/ que podemos instalar en nuestro sistema, ejecutando luego el comando tldr <command>, donde nos dará una visión general y rápida de un comando con ejemplos prácticos.

Esto no es un sustituto de man, sino una herramienta útil para evitar perderse con la cantidad de información que nos brinda man.

Por ejemplo podemos escribir en la consola $ man man, y esto nos arrojara todo referente al comando man.

Como vemos a su vez cada comando se puede dividir en diferentes tipos de búsquedas ya que el manual está divido en secciones y un mismo comando puede aparecer en diferentes aspectos del sistema.

Comando ls

El comando ls se utiliza para mostrar el contenido de los directorios, como también para ver las propiedades de los distintos archivos

Sintaxis:

$ ls [opciones] [archivo1] [archivo2] [archivoN]
$ ls [opciones] [directorio1] [directorio2]

Opciones:

-a Muestra todos los archivos, incluso los ocultos
-l  Muestra el tipo de archivo, permisos, propietarios, tamaño, fecha de modificación
-h Muestra el tamaño de los archivos en una unidad fácil de leer
-r Ordena los archivos de manera inversa
-t Ordena los archivos por fecha de modificación

Ejemplo:

$ ls –al /bin

Los archivos ocultos son los que comienzan con un (.)

ls
ls
ls al
ls al

Comando cd

El comando cd nos permite movernos a través de los directorios, cd significa change directory, se invoca la carpeta a la que te vas a mover, podes especificar un nombre de una carpeta o una ruta completa.

Ejemplo:

Hacemos $ ls para ver las carpetas que tenemos

Ingresamos a la carpeta prueba haciendo:

$ cd /prueba

Si hacemos $ cd .. Retrocedemos un directorio

Si solo escribimos $ cd, volvemos al home.

(Como agregado, si escribimos # luego del comando, indica el comienzo de un comentario que dura toda la línea hasta el final)

Comando pwd

Cuando estés perdido en el sistema de archivos, podemos escribir pwd para saber dónde estamos, simplemente nos arrojara en que directorio estamos.

Comando mkdir

Usando el comando mkdir podemos crear carpetas en los directorios, también podemos crear múltiples carpetas, poniendo un nombre al lado de otro, o carpetas anidadas con la opción –p

Ejemplo

$ mkdir prueba
$ mkdir prueba1 prueba2
$ mkdir –p prueba1/prueba2

mkdir
mkdir

Comando rmdir y rm

Así como se pueden crear carpetas, se pueden eliminar usando rmdir, se utiliza igual que mkdir. Para poder borrar con este comando la carpeta debe estar vacía.

Para borrar carpetas con archivos dentro, vamos a usar el comando genérico rm el cual borra archivos y carpetas, usando la opción –rf (mucho cuidado con este comando, ya que no pide confirmación)

Ejemplo:

$ rm –rf prueba . Suponiendo que dentro de la carpeta prueba tenemos otros archivos.

No existen una papelera cuando se eliminar archivos desde la línea de comandos, por lo que recuperarlos puede ser complejo.

Opciones usadas:

-f hace un borrado sin preguntar nada
-i en modo interactivo
-r,-R para borrar recursivamente.

Comando cp

El comando cp se utiliza para copiar archivos o directorios

Sintaxis:

$ cp [opciones] archivo1 archivo2
$ cp [opciones] archivos directorio

opciones:

-f Fuerza la reescritura si ya existe el destino.
-i Habilita el “prompt” interactivo para evitar la sobreescritura
-p Preserva todos los permisos de la estructura del directorio y/o archivo, inclyendo la fecha de creación
-r,-R hace una copia recursiva, para poder copiar todo un directorio y sus subdirectorios
-v Modo “verbose” donde muestra todo lo que esta haciendo.

Comando touch

Puede crear un archivo vacío usando el comando touch, si el archivo ya existe es abierto en modo escritura y se utiliza la marca de tiempo del archivo.

Comando mv

Una vez que tenemos un archivo, podemos moverlo usando el comando mv

Ejemplo completo:
$ pwd
/home/user

$ touch archivo
$ touch archivo2

ambos archivos se crearon en nuestro home de nuestro usuario

$ mkdir carpeta
se crea la carpeta “carpeta” en el home de nuestro usuario

$ mv archivo archivo2 carpeta #ambos archivos se movieron a la carpeta

Comando cat

Cat es la abreviatura de concatenate, se utiliza para listar el contenido de un archivo, como también podemos crear archivos

Ejemplo:

$ cat > archivo.txt crea un nuevo archivo

$ cat archivo1 archivo2 > archivo3 une dos archivos (1 y 2) y almacena la salida de ellos en un nuevo archivo (3)

Comando find

El comando find se puede utilizar para encontrar archivos o carpetas que coincidan con un patrón de búsqueda determinado, busca en forma recursiva.

Ejemplos:

Buscamos todos los archivos del árbol actual que tengan extencion .txt e imprime la ruta relativa de cada archivo que coincida:

$ find . –name ‘*.txt’

Por lo tanto es importante usar comillas alrededor de los caracteres especiales como * para evitar que el Shell los interprete.

Encuentra los directorios bajo el árbol actual que coincidan con el nombre “tel”

$ find . –type d –name tel

Podemos usar –type f para buscar solo archivos o –type l para buscar solo enlaces.

-name es sensible a mayuculas y minúsculas, podemos usar –iname para buscar independientemente de las mayúsculas o minúsculas.

Tenemos muchas opciones con el comando find que veremos en el futuro, un ejemplo mas seria por ejemplo buscar todos los archivos editados en las ultimas 24hs.

$ find . –type f –mtime -1

Conclusión

Vamos a dejar por acá la guía básica de comandos de Linux, con estos comandos ya podemos empezar a familiarizarnos con la terminal y podemos empezar a trabajar. Está claro que existen muchísimos comandos más, que vamos a ir viendo en futuros posteos. Luego veremos cómo comprimir archivos, usar variables, como utilizar VI/VIM, dar permisos a usuarios, comandos como administrador, etc.

Dejamos un archivo para descargar en formato PDF para con un resumen de estos comandos, vamos a ir ampliando este listado con futuros posteos.

Tags: , ,

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *