Terminal 101
Autor
Vanessa ReteguínLa terminal es una interfaz de línea (es decir, basada en texto) que permite al usuario comunicarse directamente con el sistema operativo en un lenguaje accesible para los humanos. Es esencial para cualquier desarrollador saber empleara para poder explotar al máximo las capacidades de velocidad, precisión y automatización de los equipos; mismas que las interfaces gráficas de usuario (GUI) simplemente no pueden igualar.
Resumen: La terminal es una forma de interactuar con la computadora por medio de comandos.
A continuación, comandos esenciales para diferentes sistemas operativos
UNIX, macOS, Linux, Solaris y FreeBSD
Edición de comandos en tcsh (shell de UNIX)
(More UNIX Commands, s. f.)
man commandname:
Obtener información sobre cómo se usa un comando
Ejemplo, queremos obtener información sobre la bandera
-a del comando ps (process status)
- Abrimos el Manual General de Commandos (General Commands Manual) con
el commando
man ps - Nos dirigimos a la sección “DESCRIPTION” y buscamos la opción
-a, la cuál indica:
Display information about other users’ processes as well as your own. This will skip any processes which do not have a controlling terminal, unless the -x option is also specified.
- Ahora entendemos que el comando
ps -aops ase emplea para obtener los procesos que actualmente corren para mi usuario y el de los demás usuarios.
Backspace
(retroceso): Eliminar el carácter anterior
↑
y ↓ : Subir y bajar sobre el historial de comandos
ingresados en la consola
ctrl
+ c: Cancelar todo el proceso una vez que ya ha
iniciado
Si por ejemplo se empleó el comando top para mostrar los
procesos actuales y se desea dejar de visualizar la utilidad, empleamos
este comando para regresar a nuestra línea de comando.
ctrl +
l: “Re-dibujar” (borrar) la pantalla
ctrl +
a: Ir al inicio de la línea
ctrl +
e: Ir al final de la línea
ctrl
+ b: Retroceder sobre la línea carácter por carácter
ctrl +
u: Eliminar toda la línea
TAB ( →| ):
Completar el nombre de un archivo
Si fuéramos por ejemplo a imprimir un archivo, podemos ingresar la
primera o las primeras dos letras del nombre del archivo y luego
completar con TAB : cat ma → cat main.py
| (piping): Re-dirigir
contenido
Del inglés, to pipe (entubar), este comando nos permite redirigir el contenido o output de un comando hacia otro. De esta forma, se pueden ejecutar múltiples comandos en una misma secuencia.
Por ejemplo, me es común que por alguna razón alguna aplicación se bloqué o no pueda terminar un proceso que me provoque no poder avanzar en mi trabajo. Lo que necesito es identificar el PID del proceso y luego eliminarlo.
Con ps (process status) y los parámetros a
(listar los procesos de todos los usuarios) y x (incluir
los procesos del background como los demonios), puedo visualizar todos
los procesos activos.
Después, quiero filtrar por sólo los procesos relacionados con el
nombre de mi aplicación. Puedo hacer eso con egrep
(Extended Global Regular Expression Print) y el parámetro
-i (búsqueda ignorando distinción entre mayúsculas y
minúsculas).
Ahora, puedo unir ambos comportamientos mediante un | de
la siguiente forma: ps ax | grep -i appname
vanessa@MacBook-Air-de-Vanessa ~ % ps ax | grep -i music
638 ?? S 9:32.75 /System/Applications/Music.app/Contents/MacOS/Music
875 ?? Ss 0:00.31 /System/Applications/Music.app/Contents/XPCServices/VisualizerService.xpc/Contents/MacOS/VisualizerService
2299 s002 S+ 0:00.00 grep -i music
Luego, selecciono el PID correspondiente y termino el proceso con el
comando kill y el parámetro 9 para hacer no
ignorable mi petición: kill -9 638
Archivos
(Basic UNIX Commands, s. f.)
ls: Listar
archivos en directorio actual
ls -la:
Listar archivos en formato largo
Mostrar permisos por propietario, grupo y otros
Muestra peso de los archivos en bytes
Agréguese la bandera
-hpara mostrar en KB, MB, GB o tamaño más adecuado de acuerdo al tamaño del archivo:ls -laMuestra fecha de última modificación de cada archivo
Muestra archivos ocultos (ej: .ssh)
[root@alarm /]# ls -la
total 72
drwxr-xr-x 17 root root 4096 Sep 25 2022 .
drwxr-xr-x 17 root root 4096 Sep 25 2022 ..
lrwxrwxrwx 1 root root 7 Dec 9 2021 bin -> usr/bin
drwxr-xr-x 3 root root 16384 Jan 1 1970 boot
drwxr-xr-x 17 root root 3160 Apr 24 04:00 dev
drwxr-xr-x 37 root root 4096 Sep 25 2022 etc
drwxr-xr-x 3 root root 4096 Apr 25 19:12 home
lrwxrwxrwx 1 root root 7 Dec 9 2021 lib -> usr/lib
drwx------ 2 root root 16384 Sep 25 2022 lost+found
drwxr-xr-x 3 root root 4096 Sep 25 2022 mnt
drwxr-xr-x 2 root root 4096 Dec 9 2021 opt
dr-xr-xr-x 166 root root 0 Apr 24 04:00 proc
drwxr-x--- 4 root root 4096 Mar 27 18:41 root
drwxr-xr-x 16 root root 420 Apr 24 04:00 run
lrwxrwxrwx 1 root root 7 Dec 9 2021 sbin -> usr/bin
drwxr-xr-x 4 root root 4096 Aug 10 2022 srv
dr-xr-xr-x 12 root root 0 Apr 24 04:00 sys
drwxrwxrwt 9 root root 180 Apr 24 04:00 tmp
drwxr-xr-x 8 root root 4096 Sep 25 2022 usr
drwxr-xr-x 12 root root 4096 Sep 25 2022 var
ls -s filename destinationdirectory:
Crear una liga simbólica de una dirección a otra
cd: Moverse de
un directorio a otro
cd foldername → Ingresar al directorio seleccionado
cd ../ → Subir 1 directorio
cd / → Ingresar al directorio raíz
mkdir directoryname:
Crear un nuevo directorio
cat filename.txt:
Imprimir el contenido de un archivo
touch filename.txt:
Crear un nuevo archivo
mv oldfileroute newfileroute:
mover un archivo de un directorio a otro
También sirve para renombrar un archivo, por ejemplo:
mv test.txt holi.txt
cp oldfileroute newfileroute:
Copiar un archivo de un directorio a otro
pwd:
Obtener la ruta desde la raíz hasta el directorio actual
Ejemplo de output: /Users/vanessa/Desktop
rm: Eliminar archivo
rm -r:
Eliminar un directorio y los elementos dentro del mismo
nano:
Inicializar editor de archivos sencillo (alternativa a vi/vim o
Emacs)
nano filename.txt: Crear/editar archivo e inicializar
editor para modificar contenido. Se puede editar cualquier tipo de
archivo, no sólo txt
ctrl + x : Salir del editor
ctrl + o : Sobre escribir contenido
(salvar)
ctrl + w : Buscar cadenas dentro del
editor
diff file1.txt file2.txt:
Mostrar las diferencias entre dos archivos
Ejemplo:
test1.txt → “Wake me up before you go go”
test2.txt → “Wake me up before September ends”
vanessa@MacBook-Air-de-Vanessa Desktop % diff test1.txt test2.txt
1c1
< Wake me up before you go go
---
> Wake me up before September ends
wcfilename:
Mostrar cuántas líneas, palabras y caracteres hay en un archivo
Ejemplo:
vanessa@MacBook-Air-de-Vanessa Desktop % wc linux_server_hacks.pdf
139750 982170 35660828 linux_server_hacks.pdf
echo “holi”:
Imprimir cadenas a la consola
echo $VARIABLE:
Imprimir contenido de variable a la consola
Ejemplo, obtener la shell de la terminal:
vanessa@MacBook-Air-de-Vanessa Desktop % echo $SHELL
/bin/zsh
./hello.sh
o sh hello.sh o bash hello.sh: Ejecutar un
archivo
wget https://example.com:
Descargar contenido de una URL
Ejemplo:
vanessa@MacBook-Air-de-Vanessa Desktop % wget https://www.carduitech.com/license/
--2026-05-08 08:34:05-- https://www.carduitech.com/license/
Resolving www.carduitech.com (www.carduitech.com)... 52.202.77.92
Connecting to www.carduitech.com (www.carduitech.com)|52.202.77.92|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’
index.html [ <=> ] 1.06K --.-KB/s in 0s
2026-05-08 08:34:06 (36.9 MB/s) - ‘index.html’ saved [1084]
vanessa@MacBook-Air-de-Vanessa Desktop % cat index.html
<pre>MIT License
Copyright (c) 2026 Vanessa Reteguín
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.</pre>%
file filename.txt -I:
Obtener la codificación de un archivo
vanessa@MacBook-Air-de-Vanessa Desktop % file test.txt -I
test.txt: text/plain; charset=us-ascii
Permisos y usuarios
chmod:
Cambiar permisos de acceso hacia un archivo
Los permisos se representan por valores octales que indican los permisos sobre el archivo dependiendo del usuario. Los permisos se asignan numéricamente al sumarlos:
r → read (leer) → 4
w → write (modificar el archivo) → 2
x → execute (ejecutar) → 1
| Owner (dueño del archivo) | Grupo | Otros (fuera del grupo) |
|---|---|---|
| -rw | r– | r– |
| 6 | 4 | 4 |
| 6 = 4 + 2 + 0 | 4 = 4 + 0 + 0 | 4 = 4 + 0 + 0 |
| Leer y escribir | Sólo leer | Sólo leer |
Por ejemplo, creé el archivo test.txt con el editor de
texto en consola nano. Por default, este archivo tiene permisos 644. Es
decir, sólo su dueño (yo) puedo escribir sobre él, los demás sólo pueden
leerlo.
vanessa@MacBook-Air-de-Vanessa Desktop % ll
total 80840
drwx------@ 9 vanessa staff 288 May 4 08:30 .
drwxr-x---+ 46 vanessa staff 1472 May 4 08:23 ..
-rw-r--r--@ 1 vanessa staff 8196 May 2 08:23 .DS_Store
-rw-r--r-- 1 vanessa staff 0 Jun 20 2025 .localized
-rwxr-xr-x@ 1 vanessa staff 4612670 Mar 6 2017 Linux_Server_Security.pdf
-rw-r--r--@ 1 vanessa staff 1091318 Apr 30 17:49 Screenshot 2026-04-30 at 17.48.56.png
-rwxr-xr-x@ 1 vanessa staff 35660828 Jan 31 2009 linux_server_hacks.pdf
drwxr-xr-x 11 vanessa staff 352 May 2 08:23 old
-rw-r--r-- 1 vanessa staff 26 May 4 08:30 test.txt
vanessa@MacBook-Air-de-Vanessa Desktop % chmod 700 test.txt
vanessa@MacBook-Air-de-Vanessa Desktop % ll
total 80840
drwx------@ 9 vanessa staff 288 May 4 08:30 .
drwxr-x---+ 46 vanessa staff 1472 May 4 08:23 ..
-rw-r--r--@ 1 vanessa staff 8196 May 2 08:23 .DS_Store
-rw-r--r-- 1 vanessa staff 0 Jun 20 2025 .localized
-rwxr-xr-x@ 1 vanessa staff 4612670 Mar 6 2017 Linux_Server_Security.pdf
-rw-r--r--@ 1 vanessa staff 1091318 Apr 30 17:49 Screenshot 2026-04-30 at 17.48.56.png
-rwxr-xr-x@ 1 vanessa staff 35660828 Jan 31 2009 linux_server_hacks.pdf
drwxr-xr-x 11 vanessa staff 352 May 2 08:23 old
-rwx------ 1 vanessa staff 26 May 4 08:30 test.txt
vanessa@MacBook-Air-de-Vanessa Desktop %
chown username filename.txt:
Cambiar el propietario de un archivo
chown username:groupname filename.txt: Cambiar el
propietario y el grupo de un archivo
chown :groupname filename.txt: Cambiar el grupo al que
pertenece un archivo
whoami:
Imprimir el usuario con el que se está trabajando actualmente
vanessa@MacBook-Air-de-Vanessa Desktop % whoami
vanessauseradd -m -G users,wheel newusername:
Crear un nuevo usuario
-m: Crear directorio del nuevo usuario
-G: Definir a qué grupos pertenece el nuevo usuario
users: Grupo general de usuarios
wheel: Grupo de usuarios que puede cambiarse a ser
root
passwd newusername:
Definir la contraseña del nuevo usuario
su - newusername:
Para cambiarse al usuario recién creado
su -: Cambiarse al
usuario root
passwd root:
Cambiar la contraseña de root
Compresión de archivos
zip newfilename.zip originalfile.txt:
Comprimir archivos .zip
Ejemplo:
vanessa@MacBook-Air-de-Vanessa Desktop % zip linux_server_hacks.pdf.zip linux_server_hacks.pdf
adding: linux_server_hacks.pdf (deflated 12
%)
unzip newfilename.zip:
Descomprimir archivos .zip
Ejemplo:
vanessa@MacBook-Air-de-Vanessa Desktop % unzip linux_server_hacks.pdf.zip
Archive: linux_server_hacks.pdf.zip
replace linux_server_hacks.pdf? [y]es, [n]o, [A]ll, [N]one, [r]ename: n
xz filename.pdf:
Comprimir archivos
unxz compressedfilename.pdf.xz:
Descomprimir archivos
tar -jvcf foldername.tar.bz foldername:
Comprimir una carpeta y los archivos dentro de ella
vanessa@MacBook-Air-de-Vanessa ~ % tar -jvcf Desktop.tar.bz Desktop
a Desktop
a Desktop/.DS_Store
a Desktop/.localized
a Desktop/old
a Desktop/Linux_Server_Security.pdf
a Desktop/old/.DS_Store
a Desktop/old/perrytheplaypus.html
tar -vxf Desktop.tar.bz:
Descomprimir un archivo .tar
v→ Salida verbosa (con comentarios intermedios de tooodo el proceso)x→ Extraer los contenidos del archivof→ File, proporcionar el nombre del archivo a descomprimir
vanessa@MacBook-Air-de-Vanessa ~ % tar -vxf Desktop.tar.bz
x Desktop/
x Desktop/.DS_Store
x Desktop/.localized
x Desktop/old/
x Desktop/Linux_Server_Security.pdf
x Desktop/old/.DS_Store
x Desktop/old/perrytheplaypus.html
Configuración relacionada a regiones
loadkeys la-latin1:
Teclado a español latino temporalmente
** Si no encuentras el guión medio (-), primero prueba con
loadkeys es (teclado de España) y luego cámbialo al teclado
latino
date:
Obtener la hora y zona horaria con la que el sistema está
trabajando
vanessa@MacBook-Air-de-Vanessa Desktop % date
Thu May 7 21:58:51 CST 2026Monitoreo del sistema
top:
Monitoreo interactivo de los procesos actuales del sistema
Este es sólo un ejemplo de el monitoreo que se actualiza cada segundo
Para salir de la utilidad, ingrese ctrl +
C
Processes: 650 total, 2 running, 648 sleeping, 2656 threads 19:10:10
Load Avg: 1.97, 2.17, 2.05 CPU usage: 6.98% user, 2.48% sys, 90.53% idle
SharedLibs: 904M resident, 175M data, 133M linkedit. MemRegions: 0 total, 0B resident, 0B private, 2250M shared.
PhysMem: 15G used (1723M wired, 2155M compressor), 224M unused.
VM: 276T vsize, 5363M framework vsize, 0(0) swapins, 0(0) swapouts.
Networks: packets: 16329478/1549M in, 15804781/1012M out. Disks: 1209719/27G read, 1056582/19G written.
PID COMMAND %CPU TIME #TH #WQ #PORT MEM PURG CMPRS PGRP PPID STATE BOOSTS %CPU_ME
2266 Music 16.7 02:08.94 29 3 1093 381M- 19M 42M 2266 1 sleeping *61[42] 0.14447
408 coreaudiod 11.9 07:39.51 10 2 693 26M 0B 7568K 408 1 sleeping *0[1] 0.00000
1791 com.apple.We 10.7 10:19.46 6 3 74 600M 0B 503M 1791 1 sleeping 0[55240+] 0.00000
2274 AUHostingSer 8.3 00:17.84 9 1 312 23M 0B 2928K 2274 1 sleeping *885[1024] 0.00000
2416 top 5.0 00:01.19 1/1 0 27 8880K 0B 0B 2416 2402 running *0[1] 0.00000
0 kernel_task 4.9 18:54.68 556/8 0 0 46M 0B 0B 0 0 running 0[0] 0.00000
395 WindowServer 3.3 28:46.34 20 5 3117 713M+ 196M+ 109M 395 1 sleeping *0[1] 0.00000
1706 Safari 1.7 03:26.78 12 5 765 326M 136M 73M 1706 1 sleeping *0[546] 0.00000
1722 Notion 1.4 02:27.94 49 1 746 163M 16K 41M 1722 1 sleeping *0[117473+] 0.33820
387 bluetoothd 1.3 02:31.03 12 6 474 14M 128K 4960K 387 1 sleeping *0[1] 2.28513
480 com.apple.Dr 1.1 03:59.73 8 6 1470 32M 0B 3040K 480 1 sleeping 0[1] 0.00000
1729 Notion Helpe 0.9 03:37.31 22 1 282 524M 0B 54M 1722 1722 sleeping *1[2148] 0.00000
688 sharingd 0.5 00:55.06 5 3 370 16M 0B 3968K 688 1 sleeping *0[1] 0.00000
746 nearbyd 0.4 00:35.44 7 5 98 5216K 0B 1392K 746 1 sleeping *3[1] 0.00000
593 rapportd 0.4 00:38.55 4 3 317 10M 0B 2176K 593 1 sleeping *0[1] 0.00000
751 milod 0.4 00:15.71 4 2 145 8112K 640K 2720K 751 1 sleeping *1[4] 0.00000
2211 Terminal 0.4 00:07.36 10 5 357 155M- 47M 8208K 2211 1 sleeping *0[156] 0.02339
1711 com.apple.We 0.3 00:50.79 14 3 238 42M 225M 83M 1711 1 sleeping *0[3098] 0.00000
599 WhatsApp 0.3 04:33.99 29 5 1144 259M 46M 76M 599 1 sleeping *0[3180] 0.00000
1723 Notion Helpe 0.3 02:34.94 17 3 248 176M 20M 15M 1722 1722 sleeping *1[
ps: Mostrar procesos
ps ax: Mostrar información de los procesos de todos los
usuarios, incluyendo los propios y lo que no los está controlando la
terminal
Ejemplo
vanessa@MacBook-Air-de-Vanessa Desktop % ps ax
PID TT STAT TIME COMMAND
1 ?? Ss 4:28.01 /sbin/launchd
321 ?? Ss 2:47.16 /usr/libexec/logd
322 ?? Ss 0:00.08 /usr/libexec/smd
323 ?? Ss 0:14.25 /usr/libexec/UserEventAgent (System)
325 ?? Ss 1:12.44 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd
326 ?? Ss 0:05.59 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted
329 ?? Ss 0:05.53 /usr/sbin/systemstats --daemon
331 ?? Ss 0:05.05 /System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Support/accessoryupdaterd 120
332 ?? Ss 0:00.05 /usr/libexec/uarpassetmanagerd
333 ?? Ss 0:47.26 /usr/libexec/configd
334 ?? Ss 0:00.04 endpointsecurityd
335 ?? Ss 0:34.31 /System/Library/CoreServices/powerd.bundle/powerd
336 ?? Ss 0:00.03 /usr/libexec/IOMFB_bics_daemon
338 ?? Ss 0:00.70 /usr/libexec/amfid
340 ?? Ss 0:00.21 /usr/libexec/remoted
342 ?? Ss 0:00.21 /usr/libexec/keybagd -t 15
343 ?? Ss 0:00.37 /System/Library/PrivateFrameworks/MobileSoftwareUpdate.framework/Support/softwareupdated
344 ?? Ss 0:00.02 /System/Library/PrivateFrameworks/CoreSpeech.framework/corespeechd_system
346 ?? Ss 0:02.75 /usr/libexec/watchdogd
350 ?? Ss 3:10.39 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds
351 ?? Ss 0:00.69 /System/Library/CoreServices/iconservicesd
Diagnóstico de red
ping gentoo.org:
Utilidad de red para probar la conexión desde una máquina a otra
Ejemplo:
vanessa@MacBook-Air-de-Vanessa Desktop % ping gentoo.org
PING gentoo.org (146.75.109.91): 56 data bytes
64 bytes from 146.75.109.91: icmp_seq=0 ttl=43 time=214.479 ms
64 bytes from 146.75.109.91: icmp_seq=1 ttl=43 time=259.138 ms
64 bytes from 146.75.109.91: icmp_seq=2 ttl=43 time=210.473 ms
64 bytes from 146.75.109.91: icmp_seq=3 ttl=43 time=348.359 ms
^C
--- gentoo.org ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 210.473/258.112/348.359/55.495 ms
** El proceso lo detenemos con ctrl + C
(^C)
macOS
open -a appname:
Forzar que a una aplicación que se abra
iconv -f 'ISO-8859-1' -t 'UTF-8' filename.txt -o filename_utf8.txt:
Cambiar la codificación de un archivo
Linux
Los comandos a continuación se probaron en Arch Linux
Administración de Paquetes
pacman -Q:
Mostrar paquetes instalados actualmente
En Arch linux, el manejador de paquetes es pacman; el parámetro -Q nos enlistará todos los paquetes instalados actualmente
Red
ip address:
Obtener la ip de nuestra máquina
iptables:
Utilidad de firewall en la línea de comando
iptables -L: Listar todas las reglas de firewall desde
el kernel
iptables -nvL or iptables -L -n -v or iptables -numeric -verbose --list:
Listar todas las reglas numéricamente (bytes, cantidad de entradas y
salidas, etc.) en modo verboso
iptables --flush or iptables -f: Eliminación de las
reglas existentes (flush)
iptables -A INPUT -s 127.0.0.0/8 -j ACCEPT: Aceptar todo
el tráfico a la subred de localhost (que el servidor pueda conectarse a
si mismo)
iptables -A INPUT -s 187.233.0.0/16 -p tcp --dport 22 -j ACCEPT:
Aceptar sólo un segmento de red en el puerto 22 (Telmex en
Aguascalientes)
iptables -A INPUT -p tcp --dport 22 -j DROP: Denegar
acceso al resto de todas las ip del mundo al puerto 22
ls -la - dir
iptables -A INPUT -s 207.46.0.0/16 -j DROP: Denegar
acceso a un segmento específico de ip (en este caso Bing
http://www.bing.com/bingbot.htm)
/etc/init.d/iptables save: Guardar las reglas en un
archivo estático (= respaldadle, transferible)
netstat:
Listar todas las conexiones a internet activas
netstat -i (netstat -lp en linux): Mostrar todos los
sockets que están en estado de escucha y los programas que están
escuchando a cada puerto (p3 hacker guide). Mostrar la tabla de
interfaces
netstat -n: Mostrar las direcciones de red
numéricamente
Ejemplo:
vanessa@MacBook-Air-de-Vanessa ~ % netstat -n
Active Internet connections
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp4 0 0 10.13.244.103.52699 208.103.161.2.443 ESTABLISHED
tcp4 0 0 10.13.244.103.52688 208.103.161.2.443 ESTABLISHED
tcp4 0 0 10.13.244.103.52687 208.103.161.1.443 ESTABLISHED
tcp4 0 0 10.13.244.103.52686 208.103.161.2.443 ESTABLISHED
tcp4 0 0 10.13.244.103.52685 208.103.161.1.443 ESTABLISHED
tcp4 0 0 10.13.244.103.52683 208.103.161.2.443 ESTABLISHED
tcp6 0 0 fe80::a2a5:834c:.1026 fe80::1f53:9d61:.1025 ESTABLISHED
tcp6 0 0 fe80::a2a5:834c:.1024 fe80::1f53:9d61:.1024 ESTABLISHED
tcp4 0 0 10.13.244.103.56034 44.212.247.191.443 ESTABLISHED
tcp4 0 0 10.13.244.103.56011 31.13.70.50.5222 ESTABLISHED
tcp4 0 0 10.13.244.103.55900 17.57.144.121.5223 ESTABLISHED
udp4 0 0 10.13.244.103.51063 208.103.161.2.443
Windows
Existen comandos equivalentes en Windows para algunas de la funciones antes presentadas
| Función | UNIX | Windows PowerShell | Command Prompt |
|---|---|---|---|
| Cambiarse de directorio | cd |
cd |
cd |
| Listar contenidos de directorio | ls |
ls / dir |
dir |
| Crear un nuevo directorio | mkdir |
mkdir |
mkdir |
| Copiar un archivo o directorio | cp |
cp |
copy |
| Eliminar archivo o directorio | rm |
rm |
del |
| Imprimir los contenidos de un archivo | cat |
cat |
type |
| Mostrar ruta actual | pwd |
pwd |
cd |
| Buscar una expresión recular dentro de un archivo | grep |
grep |
find |
| Terminar un proceso | kill |
kill |
taskkill |
| Mostrar procesos actuales | ps |
ps |
tasklist |
| Mostrar usuario actual | whoami |
whoami |
whoami |
| Limpiar contenido de la consola | Ctrl + C / clear |
clear |
cls |
| Imprimir contenido en la consola | echo text |
echo text |
echo text |
(LaBelle, s. f.)
notepad filename.txt:
Levantar el editor de texto plano notepad para editar un archivo
No existe una alternativa nativa para windows del editor de texto en
línea de comando nano de UNIX, pero lo más cercano que
podemos encontrar nativamente (es decir, sin instalar paquetes) es
levantar la aplicación notepad. Ejemplo:
Nos situamos en el directorio correcto
PS C:\Users\Cardui\Desktop> notepad test.txt
Se abre el editor. Acepta crear el nuevo archivo y agrégale contenido
plano. Guarda con ctrl + S. Cierra el editor y
vuelve a la consola.
Imprimimos el contenido del archivo para comprobar que se guardó
Windows PowerShell
PS C:\Users\Cardui\Desktop>cat test.txt
May the force be with you
Command Prompt
C:\Users\Cardui\Desktop>type test.txt
May the force be with you
Cambiar permisos
(M00nbeam360., 2015)
icacls "filename.txt" /setowner "username":
Cambiar el propietario de un archivo
Equivalente de chown filename.txt username
PS C:\Users\Cardui\Desktop> icacls ".\test.txt" /setowner "administrator"
processed file: .\test.txt
Successfully processed 1 files; Failed processing 0 files
icacls "filename.txt" /grant:r "administrator:(F)" /C:
Dar control completo al propietario de un archivo
Equivalente de
chown root:root filename.txt && chmod 700 filename.txt
PS C:\Users\Cardui\Desktop> icacls ".\test.txt" /grant:r "administrator:(F)" /C
processed file: .\test.txt
Successfully processed 1 files; Failed processing 0 files
icacls "filename.txt" /grant:r "users:(RX)" /C:
Dar permisos de lectura y ejecución al usuario dentro del archivo
Equivalente de chmod g+rx "filename.txt"
icacls "filename.txt" /grant:r "users:(R)" /C:
Dar sólo permisos de lectura al usuario dentro del archivo
Equivalente de chmod g=r "filename.txt”
regedit:
Abrir la ventana del editor de registros
msconfig:
Abre la ventana del configuración del sistema
cleanmgr:
Abre la utilidad de limpieza del disco
winver:
Muestra la versión actual de windows al abrir una nueva ventana
Referencias
Basic UNIX commands. (s. f.). https://mally.stanford.edu/~sr/computing/basic-unix.html
Binnie, C. (2016). Linux Server Security: Hack and Defend. John Wiley & Sons.
Flickenger, R. (2003). Linux server hacks. «O’Reilly Media, Inc.»
LaBelle, J. (s. f.). Windows to UNIX Command Cheatsheet. https://jonlabelle.com/snippets/view/markdown/windows-to-unix-command-cheatsheet
More UNIX commands. (s. f.). https://mally.stanford.edu/~sr/computing/more-unix.html
M00nbeam360. (2015, 23 noviembre). How do I specify chmod 744 in Powershell? Super User. https://superuser.com/a/1003736