Bienvenidos a este capítulo de este Curso de Linux para Hackers – Guía Completa de comandos. Comparte este articulo y síguenos para recibir más capítulos, guías y cursos gratis.

Esta guía es parte de un curso mucho más grande en donde te enseñamos a convertirte en hacker de 0 a 100. Desde los conocimientos más básicos hasta conseguir empleo.

En esta guía veremos desde cero un tema tan amplio como es Linux y lo haremos desde el punto de vista del hacking y la ciberseguridad.

Para saber más comente a continuación, respondemos todos y cada uno de los comentarios.

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Guía Completa de comandos

Esta guía completa presenta la lista definitiva de comandos de Linux, desvelando las herramientas críticas para profesionales de la ciberseguridad. Desde la gestión de archivos hasta la monitorización del sistema, exploraremos cómo estos comandos se convierten en la esencia de un arsenal robusto en el ámbito de la seguridad informática.

Es posible que necesites abrir un archivo comprimido, pero olvidaste los comandos TAR. O eres nuevo en Linux y necesitas conocer los diez comandos principales de terminal que abren y modifican archivos y carpetas. El gran volumen de comandos de terminal Linux puede abrumar a los principiantes, sin mencionar a los administradores de servidores, los profesionales de TI y los aficionados.

Por lo tanto, hemos preparado esta hoja de trucos completa para la línea de comandos de Linux para ayudarlo a familiarizarse con los comandos de seguridad de Linux clasificados por el alcance de sus acciones. Estamos seguros de que esta compilación puede ayudarle a dominar Linux rápidamente.

Comandos esenciales

Le recomendamos que memorice estos comandos. Los necesitará más cuando opere Linux.

Gestión de archivos

En los siguientes comandos: Xpuede referirse a un solo archivo, una cadena que contiene un símbolo comodín que hace referencia a un conjunto de múltiples archivos, por ejemplo, file*.txto la salida de flujo de un comando canalizado (en cuyo caso la sintaxis sería X | commanden lugar de command X); Yes un directorio único; ABson cadenas de ruta de archivos/directorios.

DOMINIODESCRIPCIÓN
*El símbolo comodín para longitud variable, por ejemplo, *.txtse refiere a todos los archivos con la extensión TXT
?Símbolo comodín que hace referencia a un solo carácter, por ejemplo, Doc?.docxpuede hacer referencia a Doc1.docxDocA.docx, etc.
lsEnumere los nombres de archivos y subcarpetas en el directorio actual. Las opciones incluyen -l, -a, -tlas que puede combinar, por ejemplo, -alt.
ls -lTambién muestre detalles de cada elemento mostrado, como permisos de usuario y la hora/fecha en la que el elemento se modificó por última vez.
ls -aTambién muestra archivos/carpetas ocultos. Puede combinarse con ls -lpara formar ls -al.
ls -tOrdene los archivos/carpetas según la hora/fecha de la última modificación, comenzando con el elemento modificado más recientemente
ls X Listar los archivos 
ls -RTambién enumera archivos en subdirectorios
ls -alEnumera archivos y directorios con información detallada como permisos, tamaño, propietario, etc.
cd YCambie el directorio a Y.

Instancias especiales de Y:
.  – directorio actual
..– directorio principal
cdal $HOMEdirectorio
cd ..Subir un nivel a la carpeta adjunta o al directorio principal
cd /Mover al directorio raíz
cd /etcal /etcdirectorio
cmp A BCompara dos archivos ABbusca similitud. No hay salida si ABson idénticos; de lo contrario, genera el carácter y el número de línea.
diff A BCompara dos archivos ABbusca diferencias. Genera la diferencia.
pwdMuestra la ruta del directorio de trabajo actual.
mkdir XCree un nuevo directorio nombrado Xdentro del directorio actual.
mv A BMover un archivo de una ruta Aa otra B. También se utiliza para cambiar el nombre de archivos.
Ejemplos:
– Moverse entre directorios folder1folder2:
mv ./folder1/file.txt ./folder2
El nombre del archivo permanecerá sin cambios y su nueva ruta será ./folder2/file.txt.
– Cambiar el nombre de un archivo: mv new_doc.txt expenses.txt
el nuevo nombre del archivo es expenses.txt.
cp A BCopie un archivo de una ruta Aa otra B. Uso similar a mvambos para mover a un nuevo directorio y cambiar simultáneamente el nombre del archivo en su nueva ubicación.
Ejemplo: cp ./f1/file.txt ./f2/expenses.txtcopia simultáneamente el archivo file.txta la nueva ubicación con un nuevo nombre expenses.txt.
cp -r Y ZCopie recursivamente un directorio Yy su contenido a Z. Si Zexiste, copie la fuente Yen él; de lo contrario, cree ZYse convierta en su subdirectorio con Yel contenido de
rm XEliminar (eliminar) Xpermanentemente.
rm -r YEliminar recursivamente un directorio Yy su contenido
rm -f XEliminar archivo a la fuerza Xsin indicaciones ni confirmación
rm -rf YEliminar por la fuerza el directorio Yy su contenido de forma recursiva
rmdir YEliminar un directorio Yde forma permanente, siempre que Yesté vacío.
open XÁbralo Xen su programa predeterminado.
open -e XSe abre Xen el editor de texto predeterminado (macOS: TextEdit)
touch XCree un archivo vacío Xo actualice los tiempos de acceso y modificación de X.
cat XVer contenidos de X.
cat -b XTambién muestra los números de línea.
cat > filenameCrea un nuevo archivo
cat file1 file2 > file3Une dos archivos (archivo1, archivo2) y almacena la salida en un nuevo archivo (archivo3)
wc XMuestra el recuento de palabras de X.
head XMuestra las primeras 10 líneas de X. Si se especifica más de un archivo, cada archivo está precedido por un encabezado que consta de la cadena ” ” donde ” ” es el nombre del archivo.==> X <==X
head -n 4 XMuestra las primeras 4 líneas de X.
ls *.c | head -n 5Muestra los primeros 5 elementos de una lista de *.carchivos en el directorio actual.
tail XMuestra las últimas (10, por defecto) líneas de X. Si se especifica más de un archivo, cada archivo está precedido por un encabezado que consta de la cadena ” ” donde ” ” es el nombre del archivo.==> X <==X
tail -n +1 XMuestra el contenido completo de los archivos Xespecificados, con el encabezado de los nombres de archivo respectivos
tail -f XMuestre las últimas 10 líneas de los archivos Xespecificados y realice un seguimiento de los cambios agregados al final. Sobrescribir Xo modificar Xcon un editor de texto como vim arruinaría la salida de este comando.
lessLeer un archivo con navegación hacia adelante y hacia atrás. A menudo se utiliza con tuberías, por ejemplo,cat file.txt | less
ln -s A SCree un enlace simbólico de la ruta Aal nombre del enlace S.
sudoPermite a los usuarios habituales ejecutar programas con los privilegios de seguridad del superusuario o root
manProporciona información de ayuda sobre un comando.
historyProporciona una lista de todos los comandos anteriores escritos en la sesión de terminal actual
clearLimpia la terminal
pr -xDivide el archivo en x columnas
pr -hAsigna un encabezado al archivo
pr -nIndica el archivo con números de línea.
lp -nc , lpr cImprime “c” copias del archivo
 lp-d lp-PEspecifica el nombre de la impresora.
apt-getComando utilizado para instalar y actualizar paquetes
mail -s ‘subject’ -c ‘cc-address’ -b ‘bcc-address’ ‘to-address’Comando para enviar correo electrónico
mail -s «Subject» to-address < FilenameComando para enviar correo electrónico con archivo adjunto

Comandos de gestión de usuarios de Linux

DominioDescripción
sudo adduser usernamePara agregar un nuevo usuario
sudo passwd -l ‘username’Para cambiar la contraseña de un usuario
sudo userdel -r ‘username’Para eliminar un usuario recién creado
sudo usermod -a -G GROUPNAME USERNAMEPara agregar un usuario a un grupo
sudo deluser USER GROUPNAMEPara eliminar un usuario de un grupo
fingerMuestra información de todos los usuarios conectados
finger usernameProporciona información de un usuario en particular.

Redirección de entrada/salida

Son útiles para registrar la salida del programa y los mensajes de error.

DOMINIODESCRIPCIÓN
echo TEXTMuestra una línea TEXTo el contenido de una variable.
echo -e TEXTTambién interpreta caracteres de escape TEXT, por ejemplo, \n →nueva línea, \b →barra invertida, \t → tabulación.
echo -n TEXTOmite la nueva línea final de TEXT.
cmd1 | cmd2|es el carácter de tubería; alimenta la salida del comando cmd1y la envía al comando cmd2, por ejemplo, ps aux | grep python3.
cmd > fileRedirigir la salida de un comando cmda un archivo file. Sobrescribe el contenido preexistente de file.
cmd >& fileRedirigir la salida de cmdfile. Sobrescribe el contenido preexistente de file. Suprime la salida de cmd.
cmd > /dev/nullSuprime la salida de cmd.
cmd >> fileAgregue la salida de cmdfile.
cmd < fileLeer la entrada de cmddesde file.
cmd << delimLea la entrada de cmdla entrada estándar con el carácter delimitador delimpara indicarle al sistema dónde terminar la entrada. Ejemplo para contar el número de líneas de entrada ad-hoc: por lo tanto, solo hay 4 líneas en la entrada estándar delimitadas por .
wc -l << EOF
> I like
> apples
> and
> oranges.
> EOF    
  
 4
EOF
cmd <<< stringIntroduzca un texto stringen cmd.
cmd 2> fooRedirigir mensajes de error de cmdfoo.
cmd 2>> fooAgregar mensajes de error de cmdfoo.
cmd &> fileRedirigir mensajes de salida y de error de cmdfile.

Comando de variables de entorno

DominioDescripción
echo $VARIABLEPara mostrar el valor de una variable
envMuestra todas las variables de entorno
VARIABLE_NAME= variable_valueCrear una nueva variable
UnsetEliminar una variable
export Variable=valuePara establecer el valor de una variable de entorno

Buscar y filtrar

Estos comandos le ayudan a encontrar los archivos que desea.

DOMINIODESCRIPCIÓN
grep patt /path/to/srcBusque un patrón de texto patten X. Comúnmente usado con pipe, por ejemplo, ps aux | grep python3filtra los procesos que contienen python3de todos los procesos en ejecución de todos los usuarios.
grep -r patt /path/to/srcBusque recursivamente (el directorio de destino /path/to/srcy sus subdirectorios) un patrón de texto patt.
grep -v patt XLas líneas de retorno Xno coinciden con lo especificado patt.
grep -l patt XEscriba en la salida estándar los nombres de los archivos que contienen patt.
grep -i patt XRealice coincidencias que no distingan entre mayúsculas y minúsculas en X. Ignora el caso de patt.
findEncuentra archivos.
find /path/to/src -name "*.sh"Busque todos los archivos que /path/to/srccoincidan con el patrón ” *.sh” en el nombre del archivo.
find /home -size +100MBusque todos los archivos en el /homedirectorio de más de 100 MB.
locate nameBusque archivos y directorios por name.
sort XOrganizar líneas de texto alfabéticamente Xo numéricamente.

Archivo

Estos comandos sirven para descomprimir archivos comprimidos ( .zip, .gz, .bz2, .tar, etc.) con contenidos grandes o complejos, como programas.

DOMINIODESCRIPCIÓN
tarManipular archivos con .tarextensión.
tar -vObtenga resultados detallados mientras manipula archivos TAR. Puede combinar esta opción con otras, por ejemplo, tar -tvf.
tar -cf archive.tar YCree un archivo TAR llamado archive.tarque contenga Y.
tar -xf archive.tarExtraiga el archivo TAR llamado archive.tar.
tar -tf archive.tarMuestra el contenido del archivo TAR denominado archive.tar.
tar -czf archive.tar.gz YCree un archivo TAR comprimido con gzip llamado que archive.tar.gzcontenga Y.
tar -xzf archive.tar.gzExtraiga el archivo TAR comprimido con gzip llamado archive.tar.gz.
tar -cjf archiave.tar.bz2 YCree un archivo TAR comprimido con bzip2 llamado archive.tar.bz2que contenga Y.
tar -xjf archive.tar.bz2Extraiga el archivo TAR comprimido con bzip2 llamado archive.tar.bz2.
gzipManipular archivos con .gzextensión.
gzip YCree un archivo gzip llamado Y.gzque contenga Y.
gzip -l Y.gzListar el contenido del archivo gzip Y.gz.
gzip -d Y.gz
gunzip Y.gz
Extraiga Y.gzy recupere el archivo original Y.
bzip2Manipular archivos con .bz2extensión.
bzip2 YCree un archivo bzip2 llamado Y.bz2que contenga Y.
bzip2 -d Y.gz
bunzip2 Y.gz
Extraiga Y.bz2y recupere el archivo original Y.
zip -r Z.zip YComprime Yal archivo ZIP Z.zip.
unzip Z.zipDescomprímalo Z.zipen el directorio actual.
unzip Z.zipListar el contenido de Z.zip.

Transferencia de archivos

Estos comandos sirven para iniciar sesión en hosts locales y remotos, y para cargar y descargar archivos, transfiriéndolos entre dispositivos. Recuerde omitir los corchetes ” [” y ” ]” cuando ingrese los parámetros opcionales que encierran.

DOMINIODESCRIPCIÓN
ssh user@accessConéctese a accesscomo user.
ssh accessConéctese accesscomo su nombre de usuario local.
ssh -p port user@accessConéctese a accesscomo userusando port.
scp [user1@]host1:[path1] [user2@]host2:[path2]Inicie sesión hostNcomo userNa través del protocolo de copia segura para N=1,2.

Uso de ejemplo:
scp alice@pi:/home/source bob@arduino:/destination

path1path2puede ser local o remota, pero asegúrese de que sean rutas absolutas en lugar de relativas, por ejemplo, /var/www/*.html/usr/bin.

Si no se especifican user1y , utilizará su nombre de usuario local.user2scp
scp -P port [user1@]host1:[path1] [user2@]host2:[path2] Conéctese hostNcomo si userNestuviera utilizando el puerto para N=1,2.
scp -r [user1@]host1:[path1] [user2@]host2:[path2]Copie recursivamente todos los archivos y directorios de path1path2.
sftp [user@]accessInicie sesión accesscomo usera través del protocolo seguro de transferencia de archivos. Si userno se especifica, se utilizará su nombre de usuario local.
sftp accessConéctese accesscomo su nombre de usuario local.
sftp -P port user@accessConéctese a accesscomo userusando port.
rsync -a [path1] [path2]Sincronice [path1]con [path2], preservando enlaces simbólicos, atributos, permisos, propiedades y otras configuraciones.
rsync -avz host1:[path1] [path2]Sincronice [path1]en el host remoto host1con la ruta local [path2], preservando enlaces simbólicos, atributos, permisos, propiedades y otras configuraciones. También comprime los datos involucrados durante la transferencia.

Permisos de archivos

No todos los archivos son igualmente accesibles. Para evitar manipulaciones no deseadas, es posible que algunos archivos de su dispositivo sean de solo lectura. Para obtener más información sobre los permisos de archivos en Linux, consulte nuestra Hoja de referencia sobre permisos de archivos de Linux .

DominioDescripción
ls -lPara mostrar el tipo de archivo y el permiso de acceso
rpermiso de lectura
wpermiso de escritura
xpermiso de ejecución
-=Sin permiso
DOMINIODESCRIPCIÓN
chmod permission fileCambiar permisos de un archivo o directorio. Los permisos pueden tener la forma [u/g/o/a][+/-/=][r/w/x](ver ejemplos a continuación) o un número octal de tres dígitos.
chown user2 fileCambiar el propietario de un archivo a user2.
chgrp group2 fileCambie el grupo de un archivo a group2.

Ejemplos de uso:

  • chmod +x testfile→ permitir que todos los usuarios ejecuten el archivo
  • chmod u-w testfile→ prohibir al usuario actual escribir o cambiar el archivo
  • chmod u+wx,g-x,o=rx testfile→ agregue simultáneamente permisos de escritura y ejecución al usuario, elimine el permiso de ejecución del grupo y establezca los permisos de otros usuarios para que solo lean y escriban.

Representación numérica

La siguiente tabla compara los permisos de archivos de Linux en forma octal y en formato [u/g/o/a][+/-/=][r/w/x].

OCTALPERMISO(S)EQUIVALE A LA APLICACIÓN DE
0no permisos-rwx
1Sólo permiso de ejecución=x
2Sólo permiso de escritura=w
3Permisos de escritura y ejecución únicamente: 2 + 1 = 3=wx
4Sólo permiso de lectura=r
5Permisos de lectura y ejecución únicamente: 4 + 1 = 5=rx
6Permisos de lectura y escritura únicamente: 4 + 2 = 6=rw
7Todos los permisos: 4 + 2 + 1 = 7=rwx

Ejemplos

  • chmod 777 testfile→ permitir que todos los usuarios ejecuten el archivo
  • chmod 177 testfile→ restringir al usuario actual ( u) a solo ejecución, mientras que el grupo ( g) y otros usuarios ( o) tienen permisos de lectura, escritura y ejecución.
  • chmod 365 testfile→ el usuario ( u) solo puede escribir y ejecutar; grupo ( g), solo lectura y escritura; otros ( o), solo lectura y ejecución.

Información del sistema

Estos comandos resultan útiles cuando desarrolla nuevas aplicaciones para Linux o soluciona problemas de su máquina Linux.

General

Estos proporcionan información sobre su máquina Linux y realizan tareas administrativas.

DOMINIODESCRIPCIÓN
unameMuestra la información del sistema Linux.
uname -aInformación detallada del sistema Linux
uname -rInformación de lanzamiento del kernel, como la versión del kernel
uptimeMuestra cuánto tiempo está funcionando el sistema y carga información.
su
sudo
Superusuario; use esto antes de un comando que requiera acceso de root, por ejemplo,su shutdown
calMostrar calendario donde está resaltada la fecha actual.
dateMuestra la fecha y hora actuales de la máquina.
haltDetenga el sistema inmediatamente.
shutdownApague el sistema.
rebootReinicie el sistema.
last rebootMostrar historial de reinicio.
man COMMANDMuestra el manual de un determinado COMMAND. Para salir del manual, presione “q”.
hostnameMostrar el nombre del host del sistema
hostname -IMostrar la dirección IP del host
cat /etc/*-releaseMuestra la versión de la distribución de Linux instalada. Por ejemplo, si utiliza Red Hat Linux, puede reemplazar * por redhat.

Hardware

Estos comandos proporcionan detalles sobre el hardware que admite su máquina Linux.

DOMINIODESCRIPCIÓN
dmesgMostrar mensajes en el búfer de anillo del kernel (estructura de datos que registra mensajes relacionados con la operación del programa que ejecuta el sistema operativo)
cat /proc/cpuinfo Mostrar información sobre la unidad central de procesamiento (CPU)
cat /proc/meminfoMostrar información de la memoria
lspci -tvMuestra información sobre cada dispositivo de interconexión de componentes periféricos (PCI) en su sistema.
La opción -tgenera la información como un diagrama de árbol y -ves para una salida detallada.
lsusb -tvMuestra información sobre los dispositivos Universal Serial Bus (USB) y los dispositivos conectados a ellos.
La opción -tgenera la información como un diagrama de árbol y -ves para una salida detallada.
dmidecodeMostrar los componentes de hardware del sistema, los números de serie y la versión del BIOS
hdparm -i /dev/sdaMostrar información sobre el disco.sda
hdparm -tT /dev/sdaRealizar una prueba de velocidad de lectura en el disco.sda 
badblocks -s /dev/sdaPrueba de bloques ilegibles en el discosda

Uso del disco

Estos comandos proporcionan detalles de almacenamiento relacionados con su máquina Linux.

DOMINIODESCRIPCIÓN
dfMostrar espacio libre en disco.
duMostrar tamaños de archivos/carpetas en el disco.
du -ahUso del disco en formato legible por humanos (KB, MB, etc.)
du -shUso total del disco del directorio actual
du -hEspacio libre y usado en sistemas de archivos montados
du -iInodos gratuitos y usados ​​en sistemas de archivos montados
fdisk -lEnumerar particiones, tamaños y tipos de disco
free -hMuestra la memoria libre y utilizada en unidades legibles por humanos.
free -mMuestra la memoria libre y utilizada en MB.
free -gMuestra la memoria libre y utilizada en GB.

Gestión de Procesos y Monitoreo del Desempeño

Lo siguiente recuerda a las funciones del Administrador de tareas de Windows, pero en la línea de comando.

DOMINIODESCRIPCIÓN
&Agregue este carácter al final de un comando/proceso para ejecutarlo en segundo plano.
psMostrar el estado del proceso. A menudo se utiliza con, greppor ejemplo, ps aux | grep python3muestra información sobre procesos que involucran python3.

Significado de aux:
a= mostrar procesos para todos los usuarios
u= mostrar la columna de usuario o propietario en la salida
x= mostrar procesos no conectados a una terminal
ps -e
ps -A
Cualquiera de estos dos comandos imprime todos los procesos en ejecución en el sistema.
ps -efImprimir descripción detallada
ps -U root -u rootMuestra todos los procesos que se ejecutan en la cuenta root.
ps -eo pid,user,commandMostrar solo las columnas piduseren commandla pssalida
ps PIDProporciona el estado de un proceso particular
topMostrar información ordenada sobre procesos
htopMuestre información ordenada sobre procesos con aspectos destacados visuales. Le permite desplazarse vertical y horizontalmente, para que pueda ver todos los procesos que se ejecutan en su sistema y los comandos completos.
atopMostrar información detallada sobre procesos y hardware.
kill PIDMata un proceso especificado por su ID de proceso PID, que obtienes usando el pscomando
killall proc1Mata todos los procesos que contienen proc1sus nombres.
lsofEnumere todos los archivos abiertos en el sistema. (Este comando le ayuda a identificar qué archivos y procesos le impiden expulsar con éxito una unidad externa).
lsof -u rootEnumere todos los archivos del sistema abiertos por el rootusuario. Como la salida puede ser larga, puede utilizarla lsof -u root | lesspara evitar que esta lista ocupe espacio en la salida del terminal.
mpstat 1Muestra estadísticas relacionadas con el procesador, actualizadas cada segundo (de ahí el 1, mientras que mpstat2 actualiza la salida cada 2 segundos
vmstat 1Muestra estadísticas de memoria virtual (información sobre memoria, procesos del sistema, paginación, interrupciones, E/S de bloques, disco y programación de CPU), actualizadas cada 1 segundo
iostat 1Muestra estadísticas de entrada/salida del sistema para dispositivos y particiones. Estadísticas de memoria virtual, actualizadas cada 1 segundo.
tail -n 100 /var/log/messagesMuestra las últimas 100 líneas en los registros del sistema.
Reemplazar /var/log/messagescon /var/log/syslogpara sistemas basados ​​en Debian.
tcpdump -i eth0Capture y muestre todos los paquetes en la interfazeth0
tcpdump -i eth0 port 80Monitorear todo el tráfico en el eth0puerto de interfaz 80 (HTTP)
watch df -hEjecutar df -hy mostrar actualizaciones periódicas.
Para salir, presione Ctrl+C .
bgPara enviar un proceso al segundo plano
fgPara ejecutar un proceso detenido en primer plano
pidofProporciona el ID de proceso (PID) de un proceso
niceInicia un proceso con una prioridad determinada
reniceCambia la prioridad de un proceso que ya se está ejecutando
dfProporciona espacio libre en el disco duro de su sistema
freeProporciona RAM libre en su sistema

Gestión de usuarios

Estos comandos brindan información sobre los usuarios del sistema y permiten a los administradores de superusuario cambiar la configuración del usuario.

DOMINIODESCRIPCIÓN
whoMostrar quién ha iniciado sesión
wMostrar qué usuarios están en línea y qué están haciendo
usersListar usuarios actuales
whoamiMuestra con qué usuario has iniciado sesión
idMostrar el ID de usuario y los ID de grupo de su usuario actual
lastMostrar los últimos usuarios que han iniciado sesión en el sistema.
groupadd gp1Crea un grupo llamadogp1
useradd -c "Alice Bob" -m ab1Cree una cuenta llamada ab1, con un comentario de ” Alice Bob” y cree el directorio de inicio del nuevo usuario
userdel ab1Eliminar la cuenta nombradaab1
usermod -aG gp1 ab1Agregar la cuenta ab1al grupogp1

Redes

Estos comandos regulan cómo su máquina Linux se comunica con otras computadoras, como el enrutador de la red de área local (LAN) o sitios web externos.

DOMINIODESCRIPCIÓN
ifconfigMostrar todas las interfaces de red con direcciones IP
ifconfig -aMostrar todas las interfaces de red, incluso si alguna de ellas está inactiva, con direcciones IP
ifconfig eth0Mostrar direcciones IP y detalles de la eth0interfaz .
ip aOtra forma de mostrar todas las interfaces de red con direcciones IP.
ethtool eth0Consultar o controlar la configuración del hardware y del controlador de red de la interfazeth0
netstatImprima sockets abiertos de conexiones de red, tablas de enrutamiento, estadísticas de interfaz, conexiones enmascaradas y membresías de multidifusión.
Tubería con el lesscomando: por ejemplo,netstat -a | less
netstat -aMostrar enchufes tanto de escucha como de no escucha
netstat -lMostrar solo tomas de escucha
netstat -nutlpMostrar puertos TCP y UDP de escucha y programas correspondientes
ping hostEnviar solicitud de eco ICMP a host, que puede ser un nombre simbólico, nombre de dominio o dirección IP
whois domainMostrar información whois paradomain
dig domainMostrar información DNS paradomain
dig -x addrRealice una búsqueda inversa en una dirección IPv4 o IPv6addr
host domainMostrar la dirección IP DNS paradomain
wget LINKDescargar desde la ubicaciónLINK
curl LINKMuestra la fuente HTML de LINK. Consulte nuestra hoja de trucos para curl para obtener más detalles.
SSH username@ip-address or hostnameIniciar sesión en una máquina Linux remota mediante SSH
put fileCargar ‘archivo’ desde una computadora local a una remota
get fileDescargar ‘archivo’ desde una computadora remota a una local
quitCerrar sesión

Instalación de nuevos programas

Un archivo de paquete es un archivo que contiene software compilado y otros recursos que utiliza. La extensión del archivo del paquete y el instalador del paquete (una utilidad para instalar nuevos programas) dependen de la distribución de Linux.

Conozca la distribución de Linux de su sistema para comprender los comandos de instalación correctos y adaptados a ella. Si el paquete viene con un componente README, debe contener instrucciones de instalación específicas de la aplicación, como extraer archivos TAR./setup.shmake install.

Descripción general de la gestión de paquetes

La siguiente tabla trata sobre la administración de paquetes en distribuciones populares de Linux.

DISTRIBUCIÓN DE LINUXEXTENSIÓN DE ARCHIVO DEL PAQUETEINSTALADORES DE PAQUETES
Debian/Ubuntu.debapt, dpkg
Rocky / Fedora / Red Hat Enterprise Linux.rpmyum, dnf
Arch Linux / Manjaro / Garuda / Chakra.pkg, .pacman, .pkg.tar(.xz/.zst/.gz)pacman

Comandos de gestión de paquetes

Estos son los comandos para la administración de paquetes en distribuciones populares de Linux.

DISTRIBUCIÓN DE LINUXDEBIAN/UBUNTUROCKY / FEDORA / RED HAT ENTERPRISE LINUXARCH LINUX / MANJARO / GARUDA / CHAKRA
Actualizar lista de paquetes disponibles desde repositorios remotossudo apt updatednf check-updateEl comando pacman -Syylogra este propósito pero puede dañar su sistema.
Úselo pacman -Syuen su lugar.
Actualizar paquetes instaladossudo apt upgradesudo dnf upgradepacman -Syu
Encuentre un paquete con una palabra clave en el nombreapt search keyworddnf search keywordpacman -Ss keyword
Ver descripción e información resumida sobre un paqueteapt show packagednf info packagepacman -Si package
Instalar un paquete (con la extensión de archivo adecuada) en el sistema de archivos localsudo dpkg -i package.debsudo dnf install package.rpmpacman -S package
Eliminar/desinstalar un paquetesudo apt remove packagesudo dnf erase packagepacman -R package

Comandos de edición VI

DominioDescripción
iInsertar en el cursor (entra en modo inserción)
aEscribir después del cursor (entra en modo inserción)
AEscribe al final de la línea (entra en modo inserción)
ESCTerminar el modo de inserción
uDeshacer el último cambio
UDeshacer todos los cambios en toda la línea
oAbrir una nueva línea (entra en modo inserción)
ddBorrar linea
3ddBorrar 3 lineas
DEliminar el contenido de la línea después del cursor
CEliminar el contenido de una línea después del cursor e insertar texto nuevo. Pulsar la tecla ESC para finalizar la inserción.
dwEliminar palabra
4dwBorrar 4 palabras
cwCambiar palabra
xEliminar carácter en el cursor
rReemplazar personaje
RSobrescribir caracteres desde el cursor en adelante
sSustituir un carácter bajo el cursor y continuar insertando
SSustituir la línea completa y comenzar a insertar desde el principio de la línea.
~Cambiar mayúsculas y minúsculas de caracteres individuales

Tabla de comandos de Linux ordenados alfabéticamente

CommandsDescripción
accessSe utiliza para comprobar si el programa que realiza la llamada tiene acceso a un archivo específico. Se puede utilizar para comprobar si un archivo existe o no.
acctonSe utiliza para activar o desactivar el proceso de contabilidad o cambiar la información del archivo de contabilidad del proceso.
aclocalSe utiliza para generar automáticamente archivos aclocal.m4 a partir del archivo configure.in
acpiSe utiliza para mostrar el estado de la batería y otra información ACPI
acpi_availableComprueba si el subsistema ACPI (Interfaz de energía y configuración avanzada) está disponible o no
acpidProporciona una gestión inteligente de la energía en un sistema y se utiliza para notificar a los programas del espacio de usuario sobre los eventos ACPI.
addr2lineSe utiliza para convertir direcciones en nombres de archivos y números de línea.
agettyEs una versión Linux de getty, que es un programa Unix que se ejecuta en una computadora host que administra terminales físicas o virtuales para permitir el acceso de múltiples usuarios.
aliasIndica al shell que reemplace una cadena por otra mientras ejecuta los comandos.
amixerEs un mezclador de línea de comandos para el controlador de tarjeta de sonido ALSA (Arquitectura de sonido avanzada de Linux)
aplayEs un reproductor de audio de línea de comandos para controladores de tarjetas de sonido ALSA (Arquitectura de sonido avanzada de Linux).
aplaymidiSe utiliza para reproducir archivos MIDI (interfaz digital de instrumentos musicales) estándar, enviando el contenido de un archivo MIDI a un puerto MIDI ALSA (arquitectura avanzada de sonido Linux)
aproposAyuda al usuario cuando no recuerda el comando exacto pero conoce algunas palabras clave relacionadas con el comando que definen sus usos o funcionalidad.
aptProporciona una CLI (interfaz de línea de comandos) de alto nivel para el sistema de administración de paquetes y está pensada como una interfaz para el usuario final que habilita algunas opciones más adecuadas para el uso interactivo de forma predeterminada en comparación con herramientas APT más especializadas como apt-cache y apt-get.
apt-getEs una herramienta de línea de comandos que ayuda a manejar paquetes en Linux.
aptitudeAbre una interfaz altamente incorporada para interactuar con el administrador de paquetes de la máquina.
arSe utiliza para crear, modificar y extraer los archivos de los archivos.
archSe utiliza para imprimir la arquitectura de la computadora.
arpManipula la caché ARP del sistema. También permite un volcado completo de la caché ARP.
aspellSe utiliza como corrector ortográfico en Linux
atdEs un demonio programador de trabajos que ejecuta trabajos programados para su ejecución posterior.
atrmSe utiliza para eliminar los trabajos especificados. Para eliminar un trabajo, se pasa su número de trabajo en el comando
atqMuestra la lista de trabajos pendientes que están programados por el usuario.
autoconfSe utiliza en Linux para generar scripts de configuración.
autoheaderSe utiliza para crear un archivo de plantilla de C “#define” o cualquier otro encabezado de plantilla para que configure su uso
automakeSe utiliza para generar automáticamente archivos Makefile.in que cumplan con los estándares de codificación GNU establecidos.
autoreconfSe utiliza para crear código fuente compilable automáticamente para sistemas tipo Unix
autoupdateSe utiliza para actualizar el archivo configure.in en nuestro sistema Linux a un Autoconf más nuevo.
awkEs un lenguaje de programación utilizado para manipular datos y generar informes.
bannerSe utiliza para imprimir la cadena de caracteres ASCII en letras grandes en la salida estándar.
basenameElimina la información del directorio y los sufijos de los nombres de archivo, es decir, imprime el nombre del archivo NOMBRE con cualquier componente de directorio principal eliminado.
batchSe utiliza para leer comandos desde la entrada estándar o un archivo específico y ejecutarlos cuando los niveles de carga del sistema lo permiten, es decir, cuando el promedio de carga cae por debajo de 1,5.
bcSe utiliza para la calculadora de línea de comandos.
bgSe utiliza para colocar trabajos en primer plano en segundo plano.
biffUn sistema de notificación de correo para Unix que notifica al usuario en la línea de comandos cuando llega correo nuevo y le dice de quién proviene.
bindSe utiliza para establecer combinaciones de teclas y variables de Readline
bisonEs básicamente un generador de analizador similar a yacc.
breakSe utiliza para finalizar la ejecución del bucle for, el bucle while y el bucle Until
builtinSe utiliza para ejecutar una función incorporada de shell, pasándole argumentos (args) y también para obtener el estado de salida.
bzcmpSe utiliza para invocar la utilidad cmp en archivos comprimidos bzip2
bzdiffSe utiliza para comparar los archivos comprimidos bzip2
bzgrepSe utiliza para buscar un patrón o una expresión pero dentro de un archivo comprimido bzip2
bzip2Se utiliza para comprimir y descomprimir los archivos.
bzlessNo es necesario leer todo el archivo de entrada antes de comenzar, por lo que con un archivo grande, se inicia más rápido
bzmoreSe utiliza como filtro para la visualización CRT de archivos comprimidos bzip2, que se guardan con el sufijo .bz2
calSe utiliza para ver el calendario de un mes específico o de un año completo. De manera predeterminada, muestra el calendario del mes actual como salida.
caseEs la mejor alternativa cuando tenemos que usar múltiples if/elif en una sola variable
catLee datos de un archivo y proporciona su contenido como salida. Nos ayuda a crear, visualizar y concatenar archivos.
ccSe utiliza para compilar los códigos del lenguaje C y crear ejecutables.
ccryptEs una herramienta de línea de comandos para cifrar y descifrar datos.
cdSe conoce como comando de cambio de directorio. Se utiliza para cambiar el directorio de trabajo actual.
cfdiskMuestra o manipula la tabla de particiones del disco proporcionando una interfaz “gráfica” basada en texto.
chageSe utiliza para ver y cambiar la información de vencimiento de la contraseña del usuario.
chattrEs un comando del sistema de archivos que se utiliza para cambiar los atributos de un archivo en un directorio.
chfnLe permite cambiar el nombre de un usuario y otros detalles fácilmente. chfn significa Cambiar dedo
chgrpSe utiliza para cambiar la propiedad grupal de un archivo o directorio
chkconfigSe utiliza para enumerar todos los servicios disponibles y ver o actualizar sus configuraciones de nivel de ejecución.
chmodSe utiliza para cambiar el modo de acceso a un archivo.
chownSe utiliza para cambiar el propietario o el grupo del archivo.
chpasswdSe utiliza para cambiar la contraseña de varios usuarios a la vez
chrootSe utiliza para cambiar el directorio raíz
chrtSe utiliza para manipular los atributos en tiempo real de un proceso.
chshSe utiliza para cambiar el shell de inicio de sesión del usuario (actualmente shell de inicio de sesión)
chvtSe utiliza para cambiar entre los diferentes terminales TTY (TeleTYpewriter) disponibles
cksumSe utiliza para mostrar un valor CRC (verificación de redundancia cíclica), el tamaño en bytes del archivo y el nombre del archivo en la salida estándar.
clearSe utiliza para borrar la pantalla del terminal.
cmpSe utiliza para comparar dos archivos byte a byte y le ayuda a descubrir si los dos archivos son idénticos o no.
colSe utiliza para filtrar los saltos de línea inversos. La utilidad col simplemente lee desde la entrada estándar y escribe en la salida estándar.
colcrtSe utiliza para formatear la salida del procesador de texto para que pueda verse en pantallas de tubos de rayos catódicos.
colrmElimina las columnas seleccionadas de un archivo
columnSe utiliza para mostrar el contenido de un archivo en columnas.
commCompara dos archivos ordenados línea por línea y escribe en la salida estándar; las líneas que son comunes y las líneas que son únicas
compressSe utiliza para reducir el tamaño del archivo. Después de la compresión, el archivo estará disponible con una extensión .Z agregada
continueSe utiliza para omitir la iteración actual en bucles for, while y Until
cpSe utiliza para copiar archivos o grupos de archivos o directorios.
cpiocpio significa “copiar dentro, copiar fuera”. Se utiliza para procesar archivos comprimidos como *.cpio o *.tar. Este comando puede copiar archivos hacia y desde archivos comprimidos.
cppEl compilador de C lo utiliza automáticamente para transformar su programa antes de la compilación.
cronUna utilidad de software, ofrecida por un sistema operativo similar a Linux, que automatiza la tarea programada en un momento predeterminado.
crontabUna lista de comandos que desea ejecutar en un cronograma regular y también el nombre del comando utilizado para administrar esa lista
csplitSe utiliza para dividir cualquier archivo en muchas partes según lo requiera el usuario.
ctagsPermite un acceso rápido a través de los archivos (por ejemplo, ver rápidamente la definición de una función)
cupsdEs un tipo de planificador para CUPS (Common Unit Printing System). Implementa el sistema de impresión en base al Protocolo de Impresión de Internet.
curlUna herramienta para transferir datos hacia o desde un servidor, utilizando cualquiera de los protocolos compatibles
cutPara cortar las secciones de cada línea de archivos y escribir el resultado en la salida estándar
cvsSe utiliza para almacenar el historial de un archivo. Cuando un archivo se corrompe o algo sale mal, los archivos «cvs» nos ayudan a volver a la versión anterior y restaurar nuestro archivo.
dateSe utiliza para mostrar la fecha y la hora del sistema. También se utiliza para configurar la fecha y la hora del sistema.
dcSe utiliza para evaluar expresiones aritméticas. Evalúa expresiones en forma de expresión sufija
ddEs una utilidad de línea de comandos para sistemas operativos Unix y similares cuyo propósito principal es convertir y copiar archivos.
declareSe utiliza para declarar variables y funciones de shell, establecer sus atributos y mostrar sus valores.
depmodSe utiliza para generar una lista de descripciones de dependencias de los módulos del kernel y sus archivos de mapas asociados.
dfSe utiliza para mostrar información relacionada con los sistemas de archivos sobre el espacio total y el espacio disponible.
diffSe utiliza para mostrar las diferencias en los archivos comparándolos línea por línea.
diff3Se utiliza para comparar los tres archivos línea por línea.
dirSe utiliza para enumerar el contenido de un directorio.
dirnameSe utiliza para eliminar las barras diagonales finales “/” del NOMBRE e imprime la parte restante
dirsSe utiliza para mostrar la lista de directorios recordados actualmente
disableSe utiliza para detener las impresoras o clases.
dmesgSe utiliza para examinar el búfer de anillo del núcleo e imprimir el búfer de mensajes del núcleo.
dmidecodeSe utiliza cuando el usuario desea recuperar información relacionada con el hardware del sistema, como el procesador, la RAM (DIMM), los detalles del BIOS, etc. del sistema Linux en un formato legible.
domainnameSe utiliza para devolver el nombre de dominio del Sistema de información de red (NIS) del host
dos2unixConvierte un archivo de texto DOS al formato UNIX
dosfsckDiagnostica problemas en el sistema de archivos MS-DOS e intenta repararlos.
dstatSe utiliza para recuperar información o estadísticas de componentes del sistema, como conexiones de red, dispositivos IO o CPU, etc.
duSe utiliza para rastrear los archivos y directorios que consumen una cantidad excesiva de espacio en el disco duro.
dumpSe utiliza para realizar una copia de seguridad del sistema de archivos en algún dispositivo de almacenamiento.
dumpe2fsSe utiliza para imprimir la información del superbloque y del grupo de bloques para el sistema de archivos presente en el dispositivo
dumpkeysSe utiliza para las tablas de traducción del teclado de volcado
echoSe utiliza para mostrar líneas de texto/cadena que se pasan como argumento.
edSe utiliza para iniciar el editor de texto ed, que es un editor de texto basado en líneas con una interfaz mínima que lo hace menos complejo para trabajar con archivos de texto, es decir, crear, editar, mostrar y manipular archivos.
egrepTrata el patrón como una expresión regular extendida e imprime las líneas que coinciden con el patrón.
ejectPermite expulsar un medio extraíble (normalmente un CD-ROM, un disquete, una cinta o un disco JAZ o ZIP) mediante el software.
emacsEs un editor con una interfaz de usuario sencilla. Además, no tiene modo de inserción, solo modo de edición.
enableSe utiliza para iniciar las impresoras o clases.
envSe utiliza para imprimir variables de entorno. También se utiliza para ejecutar una utilidad o un comando en un entorno personalizado.
evalComando incorporado utilizado para ejecutar argumentos como un comando de shell
exEs un editor de texto en Linux que también se denomina modo de editor de línea del editor vi.
execSe utiliza para ejecutar un comando desde el propio bash.
exitSe utiliza para salir del shell donde se está ejecutando actualmente.
expandLe permite convertir tabulaciones en espacios en un archivo y cuando no se especifica ningún archivo, lee desde la entrada estándar
expectEste comando o lenguaje de programación funciona con scripts que esperan entradas del usuario. Automatiza la tarea proporcionando entradas
exportSon comandos BUILTINS del shell bash, lo que significa que son parte del shell. Marcan las variables de entorno que se exportarán a los procesos secundarios.
exprEvalúa una expresión dada y muestra su salida correspondiente.
factorSe utiliza para imprimir los factores primos de los números dados, ya sea dados desde la línea de comando o leídos desde la entrada estándar.
fcSe utiliza para enumerar, editar o volver a ejecutar los comandos ingresados ​​previamente en un shell interactivo.
fc-cacheEscanea los directorios de fuentes y crea un caché de fuentes para aplicaciones que usan fontconfig para el manejo de fuentes.
fc-listSe utiliza para enumerar las fuentes y los estilos de fuente disponibles. Con la opción de formato, se puede filtrar y ordenar la lista de todas las fuentes.
fdiskFormatear disco es un comando controlado por diálogo en Linux que se utiliza para crear y manipular la tabla de particiones del disco.
fgSe utiliza para poner un trabajo en segundo plano en primer plano.
fgrepSe utiliza para buscar cadenas de caracteres fijos en un archivo.
fileSe utiliza para determinar el tipo de un archivo. El tipo de archivo puede ser legible para humanos (por ejemplo, ‘texto ASCII’) o de tipo MIME (por ejemplo, ‘text/plain; charset=us-ascii’).
findSe utiliza para buscar archivos y directorios y realizar operaciones posteriores en ellos.
fingerEs un comando de búsqueda de información de usuario que proporciona detalles de todos los usuarios conectados.
fmtFunciona como formateador para simplificar y optimizar archivos de texto.
foldEnvuelve cada línea en un archivo de entrada para que se ajuste a un ancho especificado y lo imprime en la salida estándar.
forSe utiliza para ejecutar repetidamente un conjunto de comandos para cada elemento presente en la lista.
freeMuestra la cantidad total de espacio libre disponible junto con la cantidad de memoria utilizada y la memoria de intercambio en el sistema, y ​​también los buffers utilizados por el kernel.
FunSe utiliza para dibujar varios tipos de patrones en la terminal.
functionSe utiliza para crear funciones o métodos.
g++Se utiliza para el preprocesamiento, compilación, ensamblaje y vinculación del código fuente para generar un archivo ejecutable.
gawkSe utiliza para escanear patrones y procesar lenguaje.
gccGNU Compiler Collections se utiliza principalmente para compilar lenguajes C y C++. También se puede utilizar para compilar Objective C y Objective C++.
gdbLa herramienta GNU Debugger ayuda a depurar los programas escritos en C, C++, Ada, Fortran, etc.
getentSe utiliza para obtener las entradas de una serie de archivos de texto importantes llamados bases de datos.
gpasswdSe utiliza para administrar /etc/group y /etc/gshadow
grepBusca un archivo en busca de un patrón particular de caracteres y muestra todas las líneas que contienen ese patrón.
groupaddSe utiliza para crear un nuevo grupo de usuarios.
groupdelSe utiliza para eliminar un grupo existente
groupmodSe utiliza para modificar o cambiar el grupo existente en el sistema Linux
groupsLos grupos son una colección de usuarios. Los grupos facilitan la gestión de usuarios con los mismos privilegios de seguridad y acceso.
grpckVerifica la integridad de la información de los grupos. Comprueba que todas las entradas en /etc/group y /etc/gshadow tengan el formato adecuado y contengan datos válidos.
grpconvSe utiliza para convertir grupos de sombras. El comando grpconv crea un gshadow a partir del grupo y un gshadow existente opcional
gsEste comando invoca Ghostscript, que es un intérprete de los lenguajes Adobe Systems PostScript y Portable Document Format (PDF).
gunzipSe utiliza para comprimir o expandir un archivo o una lista de archivos en Linux
gzexeSe utiliza para comprimir archivos ejecutables y también para descomprimir y ejecutar automáticamente los archivos.
gzipEste comando comprime archivos. Cada archivo individual se comprime en un solo archivo.
haltSe utiliza para indicar al hardware que detenga todas las funciones de la CPU. Básicamente, reinicia o detiene el sistema.
hashSe utiliza para mantener una tabla hash de programas ejecutados recientemente.
hdparmSe utiliza para obtener estadísticas sobre el disco duro, modificar los intervalos de escritura, la gestión acústica y la configuración de DMA.
HeadImprime el número N superior de datos de la entrada dada
helpMuestra información sobre los comandos integrados del shell
hexdumpSe utiliza para filtrar y mostrar los archivos especificados o la entrada estándar en un formato especificado legible para humanos.
historySe utiliza para ver el comando ejecutado anteriormente
hostSe utiliza para operaciones de búsqueda de DNS (sistema de nombres de dominio)
hostidSe utiliza para mostrar el ID del host en formato hexadecimal.
hostnameSe utiliza para obtener el nombre DNS (sistema de nombres de dominio) y establecer el nombre de host del sistema o el nombre de dominio NIS (sistema de información de red).
hostnamectlProporciona una API adecuada que se utiliza para controlar el nombre de host del sistema Linux y cambiar sus configuraciones relacionadas.
htopEs una utilidad de línea de comandos que permite al usuario monitorear de forma interactiva los recursos vitales del sistema o los procesos del servidor en tiempo real.
hwclockUtilidad para acceder al reloj del hardware, también llamado Reloj de Tiempo Real (RTC)
iconvSe utiliza para convertir algún texto de una codificación a otra codificación.
idSe utiliza para averiguar los nombres de usuarios y grupos y los identificadores numéricos (UID o ID de grupo) del usuario actual o de cualquier otro usuario en el servidor.
ifSe utiliza para ejecutar comandos según condiciones.
ifconfigSe utiliza para configurar las interfaces de red residentes en el kernel.
iftopEs una herramienta de análisis de red utilizada por los administradores de sistemas para ver las estadísticas relacionadas con el ancho de banda.
ifupBásicamente, activa la interfaz de red, lo que le permite transmitir y recibir datos.
importSe utiliza para capturar una captura de pantalla de cualquiera de las páginas activas que tenemos y da el resultado como un archivo de imagen.
infoLee la documentación en formato de información. Proporciona información detallada sobre un comando en comparación con la página principal.
insmodSe utiliza para insertar módulos en el kernel.
installSe utiliza para copiar archivos y establecer atributos.
iostatSe utiliza para supervisar las estadísticas de entrada/salida del sistema para dispositivos y particiones.
iotopSe utiliza para mostrar y monitorear los detalles de uso de E/S del disco e incluso obtiene una tabla de la utilización de E/S existente por parte del proceso.
ipSe utiliza para realizar varias tareas de administración de red.
ipcrmSe utiliza para eliminar algunos recursos de comunicación entre procesos (IPC). Elimina los objetos de IPC y su estructura de datos asociada del sistema.
ipcsMuestra información sobre las facilidades de comunicación entre procesos para las cuales el proceso que realiza la llamada tiene acceso de lectura.
iptablesSe utiliza para configurar y mantener tablas para el firewall Netfilter para IPv4, incluido en el kernel de Linux
iptables-saveGuardará las reglas actuales de iptables en un archivo especificado por el usuario, que se puede usar más tarde cuando el usuario lo desee.
iwconfigSe utiliza para mostrar los parámetros y las estadísticas inalámbricas que se extraen de /proc/net/wireless
joinEs una utilidad de línea de comandos para unir líneas de dos archivos en función de un campo clave presente en ambos archivos.
journalctlSe utiliza para ver registros de systemd, kernel y journal.
killSe utiliza para finalizar procesos manualmente. El comando kill envía una señal a un proceso que finaliza el proceso.
lastSe utiliza para mostrar la lista de todos los usuarios que iniciaron y cerraron sesión desde que se creó el archivo /var/log/wtmp
lessSe utiliza para leer el contenido de un archivo de texto una página (una pantalla) por vez.
letSe utiliza para evaluar expresiones aritméticas en variables de shell.
lnSe utiliza para crear enlaces entre archivos.
locateSe utiliza para buscar los archivos por nombre.
lookMuestra las líneas que comienzan con una cadena determinada
lsEnumera los nombres de archivos y subcarpetas en el directorio actual. Las opciones incluyen -l, -a, -tlas que puede combinar, por ejemplo, -alt.
lsblkSe utiliza para mostrar detalles sobre los dispositivos de bloque y estos dispositivos de bloque (excepto el disco RAM) son básicamente aquellos archivos que representan dispositivos conectados a la PC.
lshwSe utiliza para generar información detallada de la configuración del hardware del sistema a partir de varios archivos en el directorio /proc
lsmodSe utiliza para mostrar el estado de los módulos en el núcleo de Linux. El resultado es una lista de módulos cargados.
lsofProporciona una lista de archivos que están abiertos
lsusbSe utiliza para mostrar información sobre los buses USB y los dispositivos conectados a ellos.
mailqEste comando en Linux imprime la cola de correo, es decir, la lista de mensajes que hay en la cola de correo.
manSe utiliza para mostrar el manual de usuario de cualquier comando que podamos ejecutar en la terminal.
md5sumPara verificar la integridad de los datos utilizando MD5 (algoritmo de resumen de mensaje 5)
mkdirPermite al usuario crear directorios. Este comando puede crear varios directorios a la vez.
modinfoSe utiliza para mostrar información sobre un módulo del kernel de Linux
moreSe utiliza para ver los archivos de texto en el símbolo del sistema, mostrando una pantalla a la vez en caso de que el archivo sea grande (por ejemplo, archivos de registro)
mountSe utiliza para montar el sistema de archivos que se encuentra en un dispositivo en una estructura de árbol grande (sistema de archivos Linux) con raíz ‘/’
mpstatSe utiliza para informar estadísticas relacionadas con el procesador.
mvSe utiliza para mover uno o más archivos o directorios de un lugar a otro en un sistema de archivos como UNIX
nc (netcat)Es una de las herramientas de red más poderosas, una herramienta de seguridad o una herramienta de monitoreo de red.
netstatMuestra diversa información relacionada con la red, como conexiones de red, tablas de enrutamiento, estadísticas de interfaz, conexiones de enmascaramiento, membresías de multidifusión, etc.
nmcliSe utiliza para controlar NetworkManager. El comando nmcli también se puede utilizar para mostrar el estado del dispositivo de red, crear, editar, activar/desactivar y eliminar conexiones de red.
nslookupEs una herramienta de administración de red para consultar el Sistema de nombres de dominio (DNS) para obtener el mapeo de nombres de dominio o direcciones IP o cualquier otro registro DNS específico.
odSe utiliza para convertir el contenido de entrada en diferentes formatos con el formato octal como formato predeterminado.
passwdSe utiliza para cambiar las contraseñas de las cuentas de usuario.
pasteSe utiliza para unir archivos horizontalmente (fusión paralela) generando líneas que consisten en líneas de cada archivo especificado, separadas por una tabulación como delimitador, en la salida estándar.
pidofSe utiliza para averiguar los identificadores de proceso de un programa específico en ejecución
pingSe utiliza para comprobar la conectividad de red entre el host y el servidor/host
pinkyEs un comando de búsqueda de información de usuario que brinda detalles de todos los usuarios conectados. A diferencia del dedo, en el meñique puede recortar la información de su interés.
pmapSe utiliza para mostrar el mapa de memoria de un proceso. Un mapa de memoria indica cómo se distribuye la memoria.
poweroffEnvía una señal ACPI que indica al sistema que se apague.
printfSe utiliza para mostrar la cadena, el número o cualquier otro especificador de formato dado en la ventana del terminal.
psSe utiliza para enumerar los procesos que se están ejecutando actualmente y sus PID junto con otra información que depende de diferentes opciones.
pwdImprime la ruta del directorio de trabajo, comenzando desde la raíz.
ranlibSe utiliza para generar índice para archivar
rcpSe utiliza para copiar archivos de una computadora a otra.
readLee el número total de bytes del descriptor de archivo especificado en el búfer
readelfSe utiliza para obtener información de archivos ELF (formato ejecutable y enlazable)
readlinkSe utiliza para imprimir enlaces simbólicos resueltos o nombres de archivos canónicos
rebootIndica al sistema que se reinicie o se reinicie.
renameSe utiliza para cambiar el nombre de los archivos nombrados según la expresión regular perlexpr
resetSe utiliza para inicializar la terminal. Esto resulta útil cuando un programa se bloquea y deja la terminal en un estado anormal.
restoreSe utiliza para restaurar archivos desde una copia de seguridad creada mediante dump
returnSe utiliza para salir de una función de shell.
revSe utiliza para invertir las líneas en función de los caracteres.
rmSe utiliza para eliminar objetos como archivos, directorios, enlaces simbólicos, etc. del sistema de archivos como UNIX.
rmdirSe utiliza para eliminar directorios vacíos del sistema de archivos en Linux
rmmodSe utiliza para eliminar un módulo del kernel.
routeSe utiliza cuando se desea trabajar con la tabla de enrutamiento IP/kernel
rsyncEs una utilidad de software para sistemas tipo Unix que sincroniza de manera eficiente archivos y directorios entre dos hosts o máquinas.
sarSe utiliza para supervisar los recursos del sistema Linux, como el uso de la CPU, el uso de la memoria, el consumo de dispositivos de E/S, etc.
scpSe utiliza para copiar archivos entre servidores de forma segura.
screenProporciona la capacidad de iniciar y utilizar múltiples sesiones de shell desde una única sesión ssh
scriptSe utiliza para mecanografiar o registrar todas las actividades de la terminal.
scriptreplaySe utiliza para reproducir un typescript/terminal_activity almacenado en el archivo de registro que fue grabado por el comando de script
sdiffSe utiliza para comparar dos archivos y luego escribe los resultados en la salida estándar en un formato de lado a lado.
sedSe utiliza para buscar, filtrar, sustituir texto, reemplazar y manipular texto como inserción, eliminación, búsqueda, etc.
selectSe utiliza para crear un menú numerado desde el cual un usuario puede seleccionar una opción.
seqSe utiliza para generar números del PRIMERO al ÚLTIMO en pasos de INCREMENTO
setsidSe utiliza para ejecutar un programa en una nueva sesión.
shiftDesplaza/mueve los argumentos de la línea de comando a una posición hacia la izquierda.
showkeyImprime en la salida estándar los códigos de escaneo o el código de tecla o el código ‘ascii’ de cada tecla presionada
shredSe utiliza para eliminar un archivo por completo del disco duro.
shutdownSe utiliza para apagar el sistema de forma segura.
sleepSe utiliza para crear un trabajo ficticio. Un trabajo ficticio ayuda a retrasar la ejecución.
sourceSe utiliza para leer y ejecutar el contenido de un archivo (generalmente un conjunto de comandos), pasado como argumento en el script de shell actual.
sortSe utiliza para ordenar un archivo, organizando los registros en un orden particular.
splitSe utiliza para dividir archivos grandes en archivos más pequeños.
sshProtocolo utilizado para conectarse de forma segura a un servidor/sistema remoto
straceEs una de las herramientas de diagnóstico, instrucción y monitoreo de procesos más poderosas de Linux.
sttySe utiliza para cambiar e imprimir la configuración de la línea del terminal.
sudoSe utiliza como prefijo de algún comando que sólo los superusuarios pueden ejecutar.
sumSe utiliza para encontrar la suma de comprobación y contar los bloques de un archivo.
syncSe utiliza para sincronizar escrituras en caché con el almacenamiento persistente.
systemctlSe utiliza para examinar y controlar el estado del sistema “systemd” y el administrador de servicios
tacSe utiliza para concatenar e imprimir archivos en sentido inverso.
TailImprime el último número N de datos de la entrada dada
tarSe utiliza para crear archivos y extraer los archivos del archivo.
teeLee la entrada estándar y la escribe tanto en la salida estándar como en uno o más archivos
timeSe utiliza para ejecutar un comando e imprime un resumen en tiempo real del tiempo de CPU del usuario y del tiempo de CPU del sistema empleado al ejecutar un comando cuando finaliza.
topProporciona una vista dinámica en tiempo real del sistema en ejecución.
touchSe utiliza para crear, cambiar y modificar marcas de tiempo de un archivo.
trEs una utilidad de línea de comandos para traducir o eliminar caracteres.
tracepathSe utiliza para rastrear la ruta hasta el destino y descubrir la MTU a lo largo de esta ruta
tracerouteImprime la ruta que toma un paquete para llegar al host
TreeUn programa de listado de directorios recursivo que produce un listado de archivos con sangría de profundidad
ttyMuestra la información relacionada con el terminal. Básicamente, imprime el nombre del archivo del terminal conectado a la entrada estándar.
typeSe utiliza para describir cómo se traduciría su argumento si se usara como comando.
unameMuestra la información sobre el sistema.
unexpandConvierte cada espacio en tabulaciones y escribe la salida producida en la salida estándar.
uniqEs una utilidad de línea de comandos que informa o filtra las líneas repetidas en un archivo.
unix2dosConvierte un archivo de texto Unix al formato DOS
untilSe utiliza para ejecutar un conjunto de comandos siempre que el comando final en los comandos ‘hasta’ tenga un estado de salida que no sea cero
UptimeSe utiliza para saber cuánto tiempo está activo (en ejecución) el sistema.
useraddSe utiliza para agregar cuentas de usuario a su sistema
usermodSe utiliza para cambiar las propiedades de un usuario en Linux a través de la línea de comandos.
usernameProporciona un conjunto de comandos para obtener el nombre de usuario y sus configuraciones del host Linux
usersSe utiliza para mostrar los nombres de usuario de los usuarios que están conectados actualmente al host actual.
userdelSe utiliza para eliminar una cuenta de usuario y archivos relacionados.
viEs el editor predeterminado que viene con el sistema operativo UNIX se llama editor visual.
vmstatEs un comando de monitoreo de rendimiento del sistema, ya que proporciona información sobre procesos, memoria, paginación, E/S de bloque, programación de disco y CPU.
vnstatLo utilizan los administradores de sistemas para monitorear parámetros de red como el consumo de ancho de banda o tal vez algún tráfico entrante o saliente.
wSe utiliza para mostrar quién está conectado y qué está haciendo.
wallMuestra un mensaje, o el contenido de un archivo, o de lo contrario su entrada estándar, en las terminales de todos los usuarios conectados actualmente.
watchSe utiliza para ejecutar un programa periódicamente, mostrando la salida en pantalla completa.
wcSe utiliza para averiguar el número de líneas, palabras, bytes y caracteres en los archivos especificados en los argumentos del archivo.
WgetSe utiliza para descargar archivos del servidor incluso cuando el usuario no ha iniciado sesión en el sistema y puede funcionar en segundo plano sin obstaculizar el proceso actual.
whatisSe utiliza para obtener descripciones de páginas de manual de una línea.
whichSe utiliza para localizar el archivo ejecutable asociado con el comando dado buscándolo en la variable de entorno de ruta
whileSe utiliza para ejecutar repetidamente un conjunto de comandos siempre que el COMANDO devuelva verdadero
whoSe utiliza para obtener información sobre el usuario que ha iniciado sesión actualmente en el sistema.
whoamiMuestra el nombre de usuario del usuario actual cuando se invoca este comando
writePermite a un usuario comunicarse con otros usuarios, copiando líneas desde la terminal de un usuario a otras.
xargsSe utiliza para generar y ejecutar comandos a partir de la entrada estándar. Convierte la entrada recibida de la entrada estándar en argumentos de un comando.
xdg-openSe utiliza para abrir un archivo o URL en la aplicación preferida del usuario.
yesSe utiliza para imprimir un flujo de salida continuo de la CADENA indicada. Si no se menciona la CADENA, se imprime «y».
zdiffSe utiliza para invocar el programa diff en archivos comprimidos mediante gzip
zdumpSe utiliza para imprimir la hora actual en la zona especificada o se puede decir que imprime la hora actual en cada zona nombrada en la línea de comando
zgrepSe utiliza para buscar expresiones de un archivo determinado incluso si está comprimido.
zipEs una utilidad de compresión y empaquetado de archivos para Unix. Cada archivo se almacena en un único archivo .zip {.zip-filename} con la extensión .zip.

Conclusión

Al recorrer la lista definitiva de comandos de Linux, hemos trazado un camino claro hacia la maestría en la seguridad cibernética. Desde asegurar la integridad de los archivos hasta optimizar el rendimiento del sistema, estos comandos son las herramientas fundamentales para los defensores digitales.

Al incorporar estos conocimientos, los profesionales no solo simplifican tareas, sino que también fortalecen las defensas digitales en un mundo cada vez más dependiente de la tecnología basada en Linux.

Aprender los comandos básicos de Linux es una excelente manera de iniciar su educación en TI y ciberseguridad. Ahora está listo para practicarlos en cualquier distribución de Linux que desee. Si desea centrarse en la seguridad cibernética, opte por Kali Linux y Parrot OS . Además, no olvide consultar nuestra hoja de referencia de comandos de Unix aquí .

Continúa practicando y explorando para fortalecer tu dominio sobre este aspecto crucial de la administración de Linux.

Preguntas frecuentes

¿Qué es Shell?

Un shell es un programa de usuario especial que proporciona una interfaz para que el usuario utilice los servicios del sistema operativo. El shell acepta comandos legibles por humanos de los usuarios y los convierte en algo que el núcleo puede entender. Es un intérprete de lenguaje de comandos que ejecuta comandos leídos desde dispositivos de entrada como teclados o desde archivos. El shell se inicia cuando el usuario inicia sesión o inicia la terminal.

La Shell se clasifica en dos categorías generales:

  • Línea de comandos
  • Shell gráfica

Línea de comandos

Los usuarios pueden acceder al shell mediante una interfaz de línea de comandos. Se proporciona un programa especial llamado Terminal en Linux/macOS, o Símbolo del sistema en el sistema operativo Windows para escribir comandos legibles para humanos como «cat», «ls», etc. y luego se ejecutan.

En la captura de pantalla anterior, se ejecuta el comando “ ls ” con la opción “ -l ”. Enumerará todos los archivos en el directorio de trabajo actual en un formato de lista larga.

Trabajar con un shell de línea de comandos es un poco difícil para los principiantes porque es difícil memorizar tantos comandos. Es muy potente; permite a los usuarios almacenar comandos en un archivo y ejecutarlos juntos. De esta manera, cualquier tarea repetitiva se puede automatizar fácilmente. Estos archivos generalmente se denominan archivos por lotes en Windows y scripts de shell en sistemas Linux/macOS.

Shell gráficas

Los shells gráficos proporcionan medios para manipular programas basados ​​en la interfaz gráfica de usuario (GUI), al permitir operaciones como abrir, cerrar, mover y cambiar el tamaño de las ventanas, así como cambiar el foco entre ventanas. El sistema operativo Windows o Ubuntu se pueden considerar como un buen ejemplo que proporciona una GUI al usuario para interactuar con el programa.

Hay varios shells disponibles para sistemas Linux como:

  • BASH (Bourne Again SHell): es el shell más utilizado en sistemas Linux. Se utiliza como shell de inicio de sesión predeterminado en sistemas Linux y en macOS. También se puede instalar en sistemas operativos Windows.
  • CSH (C SHell): la sintaxis del C shell y su uso son muy similares al lenguaje de programación C.
  • KSH (Korn SHell): Korn Shell también fue la base para las especificaciones del estándar POSIX Shell, etc.

Cada shell hace el mismo trabajo pero entiende diferentes comandos y proporciona diferentes funciones integradas.

¿Qué es una terminal?

Un programa que se encarga de proporcionar una interfaz a un usuario para que pueda acceder al shell. Básicamente, permite a los usuarios introducir comandos y ver el resultado de dichos comandos en una interfaz basada en texto. Los scripts de gran tamaño que se escriben para automatizar y realizar tareas complejas se ejecutan en la terminal.

Para acceder a la terminal, simplemente busque en el cuadro de búsqueda “terminal” y haga doble clic en él.

Scripts de shell

Por lo general, los shells son interactivos, lo que significa que aceptan comandos como entrada de los usuarios y los ejecutan. Sin embargo, a veces queremos ejecutar un montón de comandos de forma rutinaria, por lo que tenemos que escribir todos los comandos cada vez en la terminal.

Como un shell también puede recibir comandos como entrada de un archivo, podemos escribir estos comandos en un archivo y ejecutarlos en el shell para evitar este trabajo repetitivo. Estos archivos se denominan scripts de shell o programas de shell . Los scripts de shell son similares al archivo por lotes de MS-DOS. Cada script de shell se guarda con la extensión de archivo `.sh`, por ejemplo, myscript.sh.

Un script de shell tiene una sintaxis como la de cualquier otro lenguaje de programación. Si tienes experiencia previa con algún lenguaje de programación como Python, C/C++, etc., te resultará muy fácil empezar a usarlo.

Un script de shell consta de los siguientes elementos:

  • Palabras clave de Shell: if, else, break, etc.
  • Comandos de Shell: cd, ls, echo, pwd, touch, etc.
  • Funciones
  • Flujo de control: if…then…else, bucles case y shell, etc.

¿Por qué necesitamos scripts de shell?

Hay muchas razones para escribir scripts de shell:

  • Para evitar el trabajo repetitivo y la automatización
  • Los administradores de sistemas utilizan scripts de shell para realizar copias de seguridad de rutina.
  • Monitoreo del sistema
  • Agregar nueva funcionalidad al shell, etc.

Algunas ventajas de los scripts de shell

  • El comando y la sintaxis son exactamente los mismos que los ingresados ​​directamente en la línea de comando, por lo que los programadores no necesitan cambiar a una sintaxis completamente diferente.
  • Escribir scripts de shell es mucho más rápido
  • Inicio rápido
  • Depuración interactiva, etc.

Algunas desventajas de los scripts de shell

  • Propenso a errores costosos, un solo error puede cambiar el comando lo que podría ser perjudicial.
  • Velocidad de ejecución lenta
  • Defectos de diseño en la sintaxis o implementación del lenguaje
  • No es adecuado para tareas grandes y complejas.
  • Proporciona una estructura de datos mínima a diferencia de otros lenguajes de scripting, etc.

No te detengas, sigue avanzando

Aquí tienes un propósito que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores

Álvaro Chirou

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:

Laprovittera Carlos

Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

Hacker de 0 a 100 desde las bases hasta conseguir empleo

¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/hacker-de-0-a-100-desde-las-bases-hasta-conseguir-empleo/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

Hemos creado una ruta de 0 a 100. Un plan de desarrollo que va desde las bases: cómo aprender hacking, qué aprender, en qué orden; pasando por las areas técnicas necesarias como Linux, Redes, Programación y los conocimientos necesarios en ciber seguridad, hacking, pentesting hasta la práctica y el inicio laboral: Crear tu propio laboratorio, certificaciones, adquirir experiencia e iniciarse laboralmente.

Este es un mega post. Una guía con más de 250 artículos que te llevaran por el camino del hacker. Esta guía es gratuita y esta creada gracias al esfuerzo y al trabajo combinado de Alvaro Chirou y mío (Laprovittera Carlos).

Creamos esta guía (futuro curso) para que puedas iniciarte en este mundo. Puedes arrancar ahora, GRATIS, solo necesitas un PC, conexión a internet y paciencia (Ser hacker NO ES un camino de la noche a la mañana).

El Hacking y la ciberseguridad es una carrera divertida, emocionante y gratificante que te recompensará y desafiará por igual. Sin embargo, para quienes buscan adentrarse en este campo en auge y en constante evolución, puede resultar difícil saber por dónde empezar. ¡Ahí es donde entra en juego nuestra guía en ciberseguridad!

Esta es la hoja de ruta hacia el trabajo de ciberseguridad de tus sueños. Te ayudará a entender qué conocimientos, habilidades y certificados son necesarios para alcanzar tus metas profesionales y tener una carrera próspera. Si quieres ser consultor de ciberseguridad, analista de malware, evaluador de penetración, analista de SOC o cualquier otro puesto de ciberseguridad, esta guía es lo que necesitas.

SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS

Aprende con nuestros más de 100 cursos que tenemos disponibles para vos

Compartimos estos recursos para ayudar a la comunidad de hacking y ciberseguridad. COMPARTE y Siéntete libre de agregar más sugerencias en los comentarios a continuación, respondemos todos y cada uno de los comentarios.

Saludos amigos y happy hacking!!!