# Comandos Bash

Los comandos Bash son conjunto de parámetros utilizados para la administración y configuración del sistema, así como un conjunto de combinaciones especiales de teclas para realizar tareas específicas en entornos Linux/Unix mediante un intérprete de comandos Bash.

## Comandos de ayuda

| Comando | Descripción |
| man | Muestra el manual del comando que le indiquemos |
| info | Provee información del comando indicado |
| help | Da una ayuda de los comandos |
| whatis | Da una breve descripción de los comandos |

## Comandos para archivos y directorios

| Comando | Descripción |
| ls | Lista los archivos y directorios |
| sort | Ordena alfabéticamente una lista de archivos |
| cd | Cambia de directorio |
| pwd | Muestra la ruta al directorio actual |
| tree | Muestra la estructura de directorios y archivos en forma gráfica |
| mkdir | Crea un directorio |
| rmdir | Borra directorios (los directorios deben estar vacíos). |
| rm -d | Borra directorios (los directorios pueden no estar vacíos) |
| cp | Copia archivos |
| rm | Borra archivos |
| mv | Mueve o renombra archivos y directorios |
| cat | Muestra el contenido de uno o varios archivos |
| more | Ve el contenido de los archivos página a página |
| less | Ve el contenido de los archivos |
| split | Dividir archivos |
| find | Busca archivos |
| locate | Localiza archivos según una lista generada |
| updatedb | Actualiza la lista de los archivos existentes |
| whereis | Muestra la ubicación de un archivo |
| file | Muestra el tipo de archivo |
| whatis | Muestra descripción del archivo |
| wc | Muestra el total de líneas, palabras o caracteres en un archivo |
| grep | Busca un texto en un archivo |
| head | Muestra el inicio de un archivo |
| tail | Muestra el final de un archivo |
| tailf | Muestra el final de un archivo y lo que se añada en el instante (logs) |
| tr | Reemplaza caracteres en un fichero de texto |
| sed | Cambia una cadena de caracteres por otra |
| join | Cruza la información de dos archivos y muestra las partes que se repiten |
| paste | Toma la primera línea de cada archivo y las combina para formar una línea de salida |
| uniq | Elimina líneas repetidas adyacentes del archivo entrada cuando copia al archivo salida |
| cut | Sirve para seleccionar columnas de una tabla o campos de cada línea de archivo |
| ln | Crea enlaces a archivos o carpetas |
| diff | Muestra las diferencias entre dos archivos |
| fuser | Muestra que usuario tiene en uso o bloqueado un archivo o recurso |
| tar | Empaqueta archivos |
| gzip | Comprime archivos en formato .gz |
| gunzip | Descomprime archivos en formato .gz |
| compress | Comprime archivos Z |
| uncompress | Descomprime archivos Z |
| chmod | Cambia permisos de archivos y directorios |
| chown | Cambia de propietario/usuario |
| chgrp | Cambia de grupo |
| vi | Abre el editor de texto vi |
| nano | Abre el editor de texto nano |
| pico | Edita un fichero de texto |

## Comandos para la gestión de usuarios

Ayuda a tener un manejo de los usuarios para su beneficio
| Comando | Descripción |
| adduser | Agrega un nuevo usuario |
| useradd | Agrega un nuevo usuario |
| userdel | Borra un usuario |
| passwd | Permite cambiar la contraseña |
| su | Cambia de usuario |
| whoami | Muestra el nombre de usuario actual |
| logname | Muestra el nombre de usuario |
| id | Muestra datos de identificación del usuario |
| finger | Da información de usuario |
| chfn | Cambia la información propocionada por el comando finger |
| who | Muestra los usuarios actuales del sistema |
| w | Muestra detalles de los usuarios actuales aplicado al comando who |
| last | Información de los últimos usuarios que han usado el sistema |
| mail | Abre la aplicación de correo electrónico |
| pine | Lector de correo en modo texto |
| write | Manda un mensaje a la pantalla de un usuario |
| mesg | Activa o desactiva la función de recepción de mensajes |
| wall | Envía mensaje a todos los usuarios |
| talk | Establecer una conversación/diálogo con otro usuario |
| banner | Saca un diálogo/letrero en la pantalla |
| set | Proporciona información sobre el entorno del usuario |
| addgroup | Agrega un nuevo grupo |
| groupadd | Agrega un nuevo grupo |
| chown | Cambia el propietario de un fichero |

## Comandos para la gestión de procesos

| Comando | Descripción |
| top | Muestra los procesos que se están ejecutando y permite matarlos |
| ps | Muestra la lista de procesos del usuario |
| ps aux | Muestra la lista de procesos de la máquina |
| kill | Envía un evento concreto a un proceso |
| killall | Mata un proceso por su nombre |
| time | Mide el tiempo que tarda un proceso en ejecutarse |
| fg | Trae a primer plano un proceso parado o en segundo plano |
| bg | Pone un proceso en segundo plano |
| & | Colocado al final de la línea de un comando,lo ejecuta en segundo plano |
| nice | Ajusta la prioridad de un proceso de -20 a 19 |

## Comandos para la gestión de discos y dispositivos

| Comando | Descripción |
| mount | Monta un disco/dispositivo |
| umount | Desmonta un disco/dispositivo |
| df | Muestra el espacio libre de los discos/dispositivos |
| du | Muestra el espacio usado por el disco/dispositivo o un directorio |
| mkfs | Formatea un disco/dispositivo |
| fsck | Estado del disco/dispositivo |
| fdisk | Abre la aplicación para la gestión de particiones |

## Comandos para el acceso remoto

| Comando | Descripción |
| rdsktop | Se conecta a otra máquina de forma remota (remote login) |
| ssh | Se conecta a otra máquina de forma remota (remote shell) |
| ftp | Se conecta a otra máquina por el protocolo FTP |

## Comandos para apagado y reinicio del sistema

| Comando | Descripción |
| reboot | Reinicia la máquina |
| halt | Apaga el sistema |
| shutdown | Apaga el sistema |
| init 0 | Apaga la máquina |
| init 6 | Reinicia la máquina |

## Comandos para gestión del sistema

| Comando | Descripción |
| uptime | Muestra el tiempo transcurrido de encendido de la máquina |
| exit | Cerrar sesión actual |
| logout | Salir del sistema |
| nohup | Proporciona inmunidad frente a rupturas de comunicación y abandonos en ejecución de comandos |
| dmesg | Muestra mensajes del arranque de la máquina |
| history | Muestra todos los comandos escritos por el usuario |
| uname | Proporciona información del sistema operativo |
| tee | Copia la entrada estándar a la salida estándar y a un archivo |
| host | Muestra la dirección IP del servidor en una red local. Ej: host malpelo.univalle.edu.co => 192.168.31.5 |
| hostname | Muestra el nombre del servidor |
| umask | Muestra y permite cambiar la máscara de usuario |
| chroot | Cambia la raíz para que root ejecute algo de forma particular |
| chsh | Cambia el login shell |
| free | Muestra el estado de la memoria |
| date | Muestra la fecha y hora actual |
| cal | Muestra el calendario |
| clear | Borra las líneas de texto escritas en la pantalla/terminal |
| at | Ejecuta un comando con un retardo de tiempo especificado |
| env | Muestra las variables de entorno |
| export | Permite el uso de variables por programas en todos los caminos del usuario |
| modprobe | Carga un módulo |
| startx | Arranca/inicia el servidor X |
| xev | Muestra los eventos de las teclas y el ratón |
| lspci | Muestra los periféricos conectados al puente PCI |
| lsmod | Muestra los módulos cargados en el sistema |
| echo | Escribe un mensaje en la salida estándar |
| alias | Crea un alias |
| unalias | Borra un alias |
| bc | Muestra la calculadora |
| mc | Ejecuta Midnight Commander |
| xkill | Mata una ventana gráfica |
| rpm | Instala los paquetes RPM de RedHat |
| dpkg | Instala los paquetes DEB de Debian |
| kernelcfg | Manejo de los módulos cargados en el kernel |
| insmod | Inserta módulos en el kernel |
| rmmod | Elimina módulos del kernel |
| updatedb | Actualiza la base de datos interna de archivos |
| sh | Cambia al bash/shell |
| setxkbmap | Realiza la función de la tecla AltGr (en modo X) |

## Comandos de red

| Comando | Descripción |
| netstat | Muestra estado de la red |
| ifconfig | Muestra la configuración del dispositivo de red |
| iwconfig | Muestra la configuración del dispositivo de red inalámbrico |
| nmap | Escanea la red y muestra los puertos que se encuentran disponibles. Ej: nmap malpelo.univalle.edu.co/~ahbarome/ => 80/tcp open http |
| ping | Indica si hay respuesta por parte del servidor |
| nslookup | Muestra la IP del servidor DNS conectado(Servidor predeterminado: UnKnown Address: 192.168.1.1) |
| telnet | Conexión a un equipo/máquina de forma remota |
| netconf | Configuración de la red |
| ntop | Muestra los procesos de la red |
| route -n | Muestra la tabla de rutas de la conexión de red |
| installpkg | Instalar en slackware |

## Comandos para gestión de impresoras

| Comando | Descripción |
| lpq | Muestra las colas de impresión |
| lpc | Estado de las impresoras |
| lprm | Elimina un trabajo de la cola de impresión |
| printtool | Configuración de la impresora |
| pr | Imprime un archivo |
| jobs | Muestra los trabajos que están en una cola de impresión |

## Combinación especial de teclas

| Comando | Descripción |
| ctrl+l | Borra las líneas de texto de pantalla/terminal |
| ctrl+alt+F1 F2 | Cambio de consola |
| ctrl+F1 F2 | Cambio de escritorio |
| ctrl+z | Suspensión de un proceso |
| ctrl+d | Muestra el final de un archivo EOF |
| ctrl+c | Termina/finaliza un proceso en ejecución |
| tab | Completa nombres de carpetas o archivos |
| ctrl+backspace | Cierra el modo X (sale del sistema X y regresa a la consola) |

## Símbolos

| Comando | Descripción |
| ~ | Apagar el equipo por otros medios (alt+126) |
| . | Ubicación en directorio actual |
| | | Redirección de comandos. Pipeline o tubería (alt+124) |
| > | Redirige la salida estándar (stdout) de un comando (alt+62) |
| 2> | Redirige la salida estándar de errores (stderr) de un comando (alt+62) |
| < | Redirige un comando (alt+60) |
| & | Colocado al final de la línea de comando, lo ejecuta en segundo plano |
| && orden_1 && orden_2 | Ejecuta la orden_2 si la orden_1 termina correctamente (OK) |
| || orden_1 || orden_2 | Ejecuta la orden_2 si la orden_1 no termina correctamente (OK) |