Comandos Básicos de LINUX.
Tags: linux, webdev, beginners, programming
Published: 2021-11-11 20:22:45

![Texto alternativo](https://www.skinatech.com/portal/wp-content/uploads/2017/05/original.png)

<p>
 En la informática saber usar la consola de comandos Linux es fundamental, es por eso que les comparto una serie de comandos básicos para que aprendas y logres dominar la terminal.
</p>

A continuación, se detallan algunos de los comandos con los que se puede empezar.

---
#### **pwd (print working directory - imprimir directorio de trabajo)** 
Sirve para encontrar la ruta del directorio (carpeta) de trabajo actual en el que te encuentras.
![pwd](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qumjdhy9qasrubeiw180.png)

#### **cd (change directory - cambiar de directorio)** 
Sirve para navegar por los archivos y directorios.

`cd proyecto1/`  entrar en el directorio proyecto1
![cd](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8v6p3zmn80eqm5weua4j.png)

`cd ..` (con dos puntos) retroceder un nivel
![cd ..](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5y6bi5zc2vgp19zaipj8.png)

`cd ../..` retroceder dos niveles

![cd ../..](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kaie1yj1wn7hth3pnhp2.png)
`cd -` (con un guión) para ir al directorio anterior
![cd -](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k61uybo6f42i7girme4n.png)

#### **mkdir (make directory - crear directorio)** 
Crear un nuevo directorio con el nombre que le indiques.
Por ejemplo: `mkdir <nombre-directorio>`
![mkdir](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jczriwz8snb99phbvilu.png)

#### **take** 
Crear un nuevo directorio con el nombre que le indiques y accede al mismo.
Por ejemplo: `take <nombre-directorio>`

#### **touch (crear archivos)** 
Crear un nuevo archivo con el nombre que le indiques.
Por ejemplo: `touch index.html`
![touch](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/epiqmcu19rx5vlyh7h4m.png)

#### **echo**
Imprimir por pantalla. Por Ejemplo: `echo ¡Hola a todos!`
![echo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/clu4ezdrsmlnrulvym5h.png)
Este comando también puede servir para crear un archivo.

Por ejemplo:

Agrega el contenido al archivo sin reemplazar

`echo ¿Como estas? >> archivo.txt`

Reemplaza el contenido que se encuentra en el 

`echo ¡Hola a todos! > archivo.txt`

![echo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d45omtvvtgp0e8px50uf.png)

#### **ls (list - listar)** 
Se usa para ver el contenido de un directorio.
`ls -l` mostrar los detalles de archivos y carpetas de un directorio.
`ls -a` mostrar los archivos ocultos.
![ls](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xvazndxpd9kkzde88jc6.png)

#### **cat (leer el contenido de un archivo)** 
`cat archivo.txt`
![cat](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hr1sp0pfsn3apfu44cvp.png)

`cat -n archivo.txt` Con el -n se muestra el numero de lineas del archivo 
![cat -n](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/htbpr0bc1vzltp7599qd.png)

`cat -n archivo.txt | less` Muestra el archivo como paginas
![cat -n](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gz0hsiazr1c16uzv06xf.png)

#### **rm (remove)** 
Si necesitas eliminar un directorio, pero solo te permite eliminar directorios vacíos.

`rmdir <nombre-directorio>` 

`rm -d <nombre-directorio>` 

Eliminar directorios y/o archivos.

`rm -r <nombre-directorio>` elimina directorio con su contenido

`rm <nombre-archivo>` elimina un archivo

`rm -i <nombre-archivo>` con el -i nos pregunta si queremos eliminar

`rm -i *`

#### **cp (copy - copiar)** 
Copiar directorios y/o archivos.

`cp -r origen destino` para copiar un directorio

`cp origen destino` para copiar un archivo

#### **mv (move - mover)** 
Mover directorios y/o archivos.

`mv origen destino`

#### **clear (limpiar)** 
Limpiar la terminal, también sirve CTRL+L.

--- 
#### **Otros comandos que pueden ser de mucha ayuda.**
Ejecutar comandos como otro usuario, si no se le especifica el usuario, por defecto tomara a root.
```cmd
$ sudo
```
Ver historial de comandos.
```cmd
$ history
```
Como cat, pero los lee al revés.
```cmd
$ tac
```
Sirve para ver las primeras lineas de un archivo. 
```cmd
$ head -n 7 nombre-archivo.ext
```
Es lo contrario de head, este comando muestra las ultimas lineas de un archivo. Con la opcion "-n"puedes especificar el numero de lineas.
```cmd
$ tail -n nombre-archivo.ext
```
Ver las distintas interfaces de red que están en el dispositivo, tanto reales como no.
```cmd
$ ipconfig
```

Mostar la arquitectura del sistema.
```cmd
$ arch
```
Mostar fecha del sistema.
```cmd
$ date
```
Sirve para ver los procesos iniciados por el shell activos.
```cmd
$ jobs
```
Sirve para descargar contenido de internet, para ello se usa el wget seguido del enlace de lo que se quiere descargar.
```cmd
$ wget
```
Muestra el manual de un comando. 
```cmd
$ man tail 
```
Agregar un usuario al sistema.
```cmd
$ useradd nombre-de-usuario
```
Cambiar contraseña
```cmd
$ passwd
```
Eliminar un usuario del sistema.
```cmd
$ userdel nombre-de-usuario
```
Eliminar un grupo del sistema.
```cmd
$ groupdel
```

Busca archivos y directorios.
```cmd
$ locate
```
Igual que el anterior, solo que locate cuenta con su propia base de datos.
```cmd
$ find

// El "." es el directorio actual
$ find . -name "archivo.txt" o find /home/gdcode -name "*.txt"

// Buscara archivos ya sean que esten en mayuscula o miniscula
$ find . -iname "archivo.txt"

// Buscar un directorio
$ find . -iname "directorio"

// El "-type d" nos aseguramos que solo busque directorios (Mejor forma)
$ find . -type d "directorio" 
```
Busca dentro de ficheros una serie de caracteres.
```cmd
$ grep
```
Sirve para comparar el contenido de dos archivos, diff es abreviatura de difference.
```cmd
$ diff archivo1.ext archivo2.ext
```
Muestra el tiempo que lleva activo el sistema operativo, hora, etc.
```cmd
$ uptime
```

Asignar o quitar permisos a directorios o ficheros.
```cmd
$ chmod
```
Ver archivos y directorios como un árbol.
```cmd
$ tree
```
Mostrara el nombre de tu host. Agregar un -I al final mostrará la dirección IP de tu red.
```cmd
$ hostname
```
Sirve para verificar cuanto espacio ocupa un archivo.
```cmd
$ du
```

Instalar / actualizar un paquete.
```cmd
$ apt install nombre_paquete
```
Actualizar la lista de paquetes.
```cmd
$ apt update
```
Actualizar todos los paquetes instalados.
```cmd
$ apt upgrade
```
Eliminar un paquete del sistema.
```cmd
$ apt remove nombre_paquete
```

---

📌 Mis Redes: 🔵[Facebook](https://www.facebook.com/gdcode7) | 💼[LinkedIn](https://www.linkedin.com/in/gastondanielsen/) | 💻[Github](https://github.com/gdcodev)