Linux Flashcards

1
Q

PWD

A

lista el directorio actual

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

whoami

A

lista el usuario actual

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

exec comando

A

exec comando

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

time comando (no confundir con DATE)

A

lista el tiempo que ha tardado en ejecutarse el comando

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

date

A

te devuelve fecha y hora

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

history

A

lista los últimos comandos tecleados (~/.bash_history)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

id

A

muestra UID y GID del usuario especificado + grupos secundarios

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

touch nombreFichero

A

Tocar un fichero (lo modifica) y si no existe lo crea.
(-a solo fecha acceso | -m solo fecha modificación | -c no crear fichero si no existe)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

man comando

A

manual del comando

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

$USER

A

Variable usuario que ha iniciado sesión actualmente

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

$PWD

A

la ruta directorio actual

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

$OLDPWD

A

la ruta al del directorio anterior

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

$HOME

A

directorio de inicio del usuario actual

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

cd

A

Cambiar Directorio. Ir a un directorio (Videos) a cd Videos | a cd /home/gsus/Documents/Videos
Ir a la carpeta de inicio a cd | Sube un nivel à cd .. (espacio entre d y ..) | Volver al directorio anterior cd -

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

ls

A

Listar contenido. (-a ocultos | -l largo | -R recursivo (directorios&sub) | -F marca al final | -d directorios
| – archivos | -S tamaño | -t marca de tiempo | -r inverso | -X extensión | -i muestra inodos)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

cp

A

Copiar ficheros. (-u update si es más nuevo | -r recursivo | -l crea hard link)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

mv

A

Mueve ficheros y renombra. El archivo original lo borra. (-i pregunta antes de sobrescribir)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

rm

A

Remove (-i interactivo | -r recursivo | -f no preguntes) (rm -fr / == muerte)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

tar

A

Empaquetar/desempaquetar. Se combina con parámetros xa comprimir: (-c crear archivo | -f especificar nombre
tar cfvz /ficherocomprimido.tar.gz(.tgz) ~/my-work –> crea tar comprimido verbose ¡¡OJO!! destino origen
tar xfvz /ficherocomprimido.tar.gz(.tgz) –> descomprime el fichero en ‘.’ verbose

tar cvfz file.tar.gz *.c (crea un fichero emaquetado y comprimido con gzip)
# tar cvfj Phpfiles-org.tar.bz2 /home/php (crea un fichero emaquetado y comprimido con bzip2)

-r (actualiza o añade un fichero en un empaquetado concreto)
-f (para poder especificar el nombre del fichero resultante)
-J (para usar el algoritmo de compresion xz)
-t (lista el contenido del archivo empaquetado o comprimido)

-v ver progreso | -z comprime gzip | -x extraer | -tf ver contenido | -rf añadir ficheros al final del .tar)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

cpio

A

Copia ficheros entre directorios. Para copias de seguridad. Se suele encadenar con otros flujos. Parecido a tar
(-i extraer | -o create)
Ejemplo: find ./my-work | cpio –o | gzip > /tmp/backup.cpio.gz
gunzip -c /tmp/backup.cpio.gz | cpio –i

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

dd

A

Copia entre dispositivos a bajo nivel. O transformando formatos.
dd if=/dev/zero of=empty.img bs=1024 count=720 –> genera fichero vacío tamaño 720KB
dd if=/dev/cdrom of=/tmp/image.iso
dd if=/dev/hda of=/dev/hdb bs=blocksize à forma rudimentaria de clonar un disco de misma geometría
of=/media/mbr bs=512 count=1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

rsync

A

Copia remota de ficheros (sincronizar ficheros entre 2 máquinas)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

mkdir

A

Crear un directorio (-p con los directorios necesarios o intermedios) mkdir -p c1/c2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

rmdir

A

Eliminar un directorio VACIO (-p árbol entero) rmdir -p c1/c2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

chown

A

Change Owner. Cambia el propietario (-R recursivo) (Solo puede ROOT!!!)
chown user:group | user | :group files (chown siempre borra los bits setuid y setgid)

chown -R pepe:dev /path (establece como usuario y grupo propietario a todos los ficheros y directorios recursivamente )

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

chgrp

A

Change group. Cambie el grupo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

chmod

A

Change mode bits. Cambia los bits de permisos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

find

A

Busca ficheros en una jerarquía de ficheros
( / todo el sistema | . à directorio actual | ~ desde directorio home)
find/ -type d (f=regular) | -name my-file | -perm 0777 | -user gsus | -exec
-atime nºdias (tiempo acceso) / ± nºdias
-mtime nºdias (tiempo modificación) / ± nºdias
-ctime nºdias (actualización (cambio) metad) / ± nºdias
-size 10c bytes | k kb | M mb | G gb | b trozos 512 bytes / [Opción: -size +5G (mayor que…)]

ejemplo

comando opciones {} \;
Ej: find -perm 777 -exec chmod 755 {} \;
Busca files con perm 777 y los pasa a 755

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

locate

A

Encuentra archivos por su nombre en una BBDD que crea (updatedb à para actualizar BBDD manual)–>HACERLO 1º

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

whereis

A

Localizar el archivo binario, el código fuente y la página del manual de un determinado comando
whereis [-bms] comando ( -b –> solo binario | . -m –> solo página manual | -s –> solo código fuente)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

type

A

Muestra que tipo de elemento esta asociado a un comando determinado y alguna información adicional sobre él

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

stat

A

Mucha información de fichero o de sistema de ficheros

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

ln

A

Crea enlaces ( -d –> duro NO directorios) crear soft y hard links sobre ficheros/directorios
( -s –> simbólico/blando)
si no, es HARD por defecto

Ejemplos:
# ln -s origen nombre_enalce (enlace simbolico, funciona con directorios y
fichero)
# ln origen nombre_enlace (enlace duro, no vale para directorios)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

split

A

Genera ficheros en trozos x bytes x líneas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

tr

A

Translate (cambiar caracteres, borrarlos, etc)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

uniq

A

Eliminar líneas duplicadas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

cat / nl

A

Mostrar por pantalla, Imprimir o concatenar contenido. NL es como cat, pero mostrando números de línea
| -b a numera también las líneas vacías

Ejemplo

cat /etc/redhat-release

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

head/tail -n
(-n 200 = -200)

A

Ver las primeras o últimas n líneas. SI NO ESPECIFICAS nº SACA LAS PRIMERAS/ULT. 10
à tail -200f fichero.log / –> tail fichero.txt (imprime las 10 últimas líneas)
(tail -f lo mantiene abierto, para ver “logs” como nuevas líneas)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

more / less

A

Información paginada

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

cut

A

Corta en vertical

-b bytes
-f fields/campos
-c chars

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

wc

A

Word Count, para contar

wc -w –> palabras
wc -l –> líneas
wc -m –> caracteres <–ojo!
wc -c –> bytes <– ojo!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

sed

A

Stream editor. Por ejemplo para sustituir (no interactiva) ‘s/texto_a_buscar/texto_a_reemplazar/’
à sed ‘s/2020/2021/’ fichero.txt >fichero_nuevo.txt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

grep

A

Extraer líneas que cumplen criterios o filtrar. ( -n –> ver nº línea | -i à no distingue MAY/min | -R recurs)
Variantes: egrep (soporte para expresiones regulares extendidas) –> grep -e
fgrep (no permite expresiones regulares) –> grep -f

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

tee

A

El comando tee redirecciona la salida (stdout) a ambos; un archivo y a la terminal.
ps -ef | tee procesos.txt (La salida de ps se muestra en la terminal y al mismo tiempo se redirecciona
al archivo procesos.txt. Con la opción -a (tee -a) concatena (añade al final) al archivo.)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

xargs

A

colocado detrás de una tubería, recupera las cadenas pasadas por argumento de la entrada estándar y ejecuta
comando2 pasándole estas cadenas como argumento
comando1 | xargs [opciones] comando2
–> find ./ -name “*~” | xargs -d “\n” rm

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

cat

paste

join

A

cat concatena en vertical, paste en horizontal

paste en horizontal

sobre un campo común (≈ join sql en texto)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

sort

A

Para ordenar líneas de texto
–> -k 3 lista.txt
campo
-b Ignorar los espacios en blanco iniciales
-g Comparar según el valor numérico general
-r Invertir el orden
-n Ordenar por número
-f Ignora distinción mayúsculas/minúsculas
-M Ordenar por mes
-u Permite eliminar las líneas repetidas
-c Compruebe si el archivo de entrada ha sido ordenado
-k campo Ordena considerando campos o columnas específicas. (Delimitador por defecto espacio en blanco)
–> -t “delimidador” En un .csv (separado por comas à -k campo -t ,).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

/bin

A

aplicaciones binarias importantes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

/boot

A

Ficheros de configuración del arranque, núcleos y otros ficheros necesarios para el arranque (boot) del equipo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

/dev

A

los ficheros de dispositivo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

/etc

A

ficheros de configuración, scripts de arranque, etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

/home

A

directorios personales (home) para los diferentes usuarios.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

/mnt

A

sistemas de archivos montados manualmente en el disco duro.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

/sbin

A

binarios importantes del sistema

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

/var

A

archivos variables como archivos de registros y bases de datos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

df

A

(display filesystems) –> dispositivos (df -h –> legible humano)
Muestra capacidad, espacio disponible, ocupado

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q

du

A

(disk usage) –> fichero / directorios (du -sh)
Muestra espacio ocupado (-s total sin subdirect | -c con subdirc)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
57
Q

fsck

A

(fs check) –> Chek and repair file system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
58
Q

lsof

A

lista ficheros abiertos por un proceso

Ejemplo:

lsof -u pepe (lista los ficheros abiertos por el usuario)
# lsof -p PID (lista los ficheros abiertos por el proceso con PID)
# lsof -c nombre (lista los ficheros abiertos por el proceso con nombre)
# lsof /path/fichero (muestra los procesos que tiene abierto el fichero)
# lsof -t /path/fichero (muestra solo los PID de los procesos que tiene abierto
el fichero)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
59
Q

mount -t FileSystem origen destino

A

Montaje de sistemas de ficehros
/etc/fstab à (montajes permanentes)
#device mount point FileSystem options
/dev/sda1 /var/log xfs,nfs,cifs… …..
/etc/mtab à Se registra cada montaje (montajes actuales)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
60
Q

ps

A

Process Snapshot. Muestra los procesos en ejecución del usuario

Ejemplo:

ps -eF (todos los procesos y formato largo extendido). Con –forest o -H
saca el arbol padres/hijos
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 1 0 0 34749 6684 0 Dec21 ? 00:00:06 /sbin/init

mysql 1041 1 0 163468 74540 0 Dec21 ? 00:02:47
/usr/sbin/mysqld
# ps -eLf (informacion sobre los threads). Con -H tambien saca info de threads
UID PID PPID LWP C NLWP STIME TTY TIME CMD

www-data 23807 1868 23807 0 27 06:25 ? 00:00:00 /usr/sbin/apache2 -
k start
www-data 23807 1868 23837 0 27 06:25 ? 00:00:00 /usr/sbin/apache2 -
k start
www-data 23807 1868 23838 0 27 06:25 ? 00:00:00 /usr/sbin/apache2 -
k start
otras opciones interesantes:
-p –> PID (muestra un proceso concreto)
-u –> UID/user (muestra los procesos del usuario efectivo)
-U –> UID/user (muestra los procesos del usuario real)
-g –> GID/grupo (muestra los procesos del grupo efectivo)
-G –> GID/grupo (muestra los procesos del grupo real)
-eo lista_columnas_a_mostrar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
61
Q

top

A

Muestra dinámicamente una tabla con los procesos en ejecución

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
62
Q

nice

A

Establece prioridad a un comando (cuanto menor, más prioridad)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
63
Q

vmstat

A

Muestra información de procesos, memoria, paginación, io, cpu, disk…

64
Q

pstree

A

Muestra el árbol de procesos (para ver como se han ido ‘forkeando’ y sus dependencias)

65
Q

kill

A

Manda una señal a un proceso. Si se manda la señal -9, lo ‘mata’. Pero hay más…

66
Q

nohup comando

A

Lanza un comando que sobrevive a la destrucción de tu shell (logout)

67
Q

fork

A

Duplicado del proceso actual.
Crea un nuevo proceso (se hace fork de uno existente). En Linux todo son procesos con su “PID”
(system call) (Process ID)

68
Q

jobs

A

Listar procesos en segundo y primer plano.
Controlar la ejecución de procesos. Puede estar en primer plano (FOREGROUND), o en segundo
plano (BACKGROUND). Los enumera: [1],[2],[3]… Usar ese numero con fg y bg

69
Q

fg

A

(foreground o primer plano) Trae a primer plano un trabajo que está ejecutándose en segundo
plano. También para reanudar en primer plano un trabajo que está suspendido o detenido.

70
Q

bg

A

(background o segundo plano) Reanudar un trabajo que está suspendido en segundo plano

71
Q

at

A

Ejecuta un comando en un momento concreto (at ese momento). Solo vale para una vez.

72
Q

cron (demonio)

A

Utilidad de línea de comandos. Es un programador de tareas.
* Una hoja por usuario /etc/crontab (crontab -e –> para editar)
* Un directorio /etc/cron.d o daily, weekly, monthly)

73
Q

anacron

A

Programa que complementa a Cron. Ejecuta tareas que se han quedado pendientes de realizar.
* Si al realizar la tarea el equipo está parado, esta se realizará cuando se encienda y Cron llame a
Anacron

74
Q

dmesg

A

Lista mensajes de consola cuando arranca el sistema operativo

75
Q

/etc/hosts

A

define nombres de equipos con sus direcciones IP. (“DNS LOCALES”)

76
Q

/etc/hostname

A

muestra o establece el nombre de nuestro host

77
Q

/etc/resolv.conf

A

se configuran aquí el dominio DNS por defecto y los servidores DNS que resuelve para el equipo.

78
Q

/etc/host.conf

A

indica cómo (en que orden) se resuelven los nombres de equipo o de dominio.

79
Q

/etc/network/interfaces

A

para configurar tarjeta de reden en Debian

80
Q

NetworkManager

A

Para configuración de red de Red Hat, se usa nmcli como comando y ficheros de tipo
clave=valor en /etc/sysconfig/network-scripts/ifcfg-name.

81
Q

ip / ifconfig (obsoleto)

A

Muestra configuración de red del interface (Obsoleto. Ahora se usa ip)

ifconfig -a (muestra todos los interfaces de red)
# ifconfig eth0 192.168.56.5 netmask 255.255.255.0 (asignar una IP)
# ifconfig eth0 up/down (activar o desactivar un interface)
# ip addr show (muestra los interfaces de red). Version corta –> ip a s
# ip addr add 192.168.56.1 dev eth0 (asignacion temporal de ip)
# ip addr del 192.168.56.15/24 dev eth0 (eliminacion de ip)
# ip neigh (mostrar la tabla de vecinos). Sustituye al comando arp
# ip link set eth1 up/down (activar/desactivar interfaces)
# ip route show (muestra tabla de encaminamiento, como netstat -nr)
# ip route add 10.10.20.0/24 via 192.168.50.100 dev eth0 (añade un ruta
estatica)
# ip route add default via 192.168.50.100 (añade un gateway por defecto)
Fichero de configuración en RedHat
———————————-
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=”p2p1”
BOOTPROTO=”static” o BOOTPROTO=”dhcp” (asignacion dinamica)
IPADDR=”192.168.29.39”
NETMASK=”255.255.255.0”
NETWORK=”192.168.29.0”
BROADCAST=”192.168.29.255”
GATEWAY=”192.168.29.1”
ONBOOT=”yes”
Fichero de configuración en Debian
———————————-
/etc/network/interfaces
iface eth0 inet6 auto
iface eth0 inet dhcp
iface eth0 inet static
address 172.104.158.196/24
gateway 172.104.158.1

82
Q

ifup / ifdown
ip

A

Activar / Desactivar interface (Obsoleto. Ahora se usa ip)

Ejemplo:
# ifup eth0 / ifdown eth0

83
Q

ping <host></host>

A

Envía Paquetes ICMP ECHO REQUEST a un destino de red (para que conteste si está vivo)

84
Q

nslookup

A

Busca un nombre en el servidor DNS

nslookup mocedent.es

85
Q

dig

A

Hace consultas DNS

85
Q

host

A

Resuelve un nombre de host (o reverso desde la IP)

86
Q

route

A

Gestión de routing

87
Q

traceroute/path

A

Descubrimiento de ruta entre dos IP’s
Envía paquetes ICMP a todos los equipos de red de camino a la dirección destino (jugando con
el TTL del ECHO REQUEST)

opciones interesantes:
-g direccion_ip (especificar el gateway de salida)
-i direccion_ip (especificar el interface de salida)
-f first_ttl (en lugar de empezar por 1)
-m max_ttl (maximo numero de saltos)
-n (no resuelva las IP a nombres)

88
Q

netstat

A

Muestra conexiones de red, tablas de routing, estadísticas de interfaces de red

89
Q

lsof –i

A

Repetido pero importante, muestra ficheros abiertos… de internet (conexiones, sockets)

90
Q

dhclient

A

Renueva dirección IP

91
Q

dhclient -r

A

Libera dirección IP

92
Q

tcpdump

A

Es un sniffer de red. Vuelca tráfico de red por pantalla, a fichero… etc

92
Q

lp / lpr

A

Envíar trabajos a la impresora

93
Q

lpq

A

Informa sobre el estado de la cola de impresión

94
Q

/etc/passwd

A

Contiene una línea por usuario, tiene las cuentas de usuario

95
Q

/etc/group

A

Contiene una línea por grupo:
grupo:x:gid:member1,member2…

96
Q

/etc/shadow

A

Contiene una línea por usuario:
user:password:lastchanged:min_days:max_days:warn_days:inactive_days:expire_date

97
Q

/etc/sudoers

A

Configuración del comando sudo para hacer operaciones como otro usuario (un equivalente a un RunAs)

98
Q

/etc/pam.d/files

A

Directorio con las configuraciones de PAM (pluggable authentication modules)

99
Q

useradd

A

Crea un nuevo usuario o actualiza la información de otro

100
Q

userdel

A

Elimina un usuario y sus ficheros

101
Q

adduser

A

Añade un usuario al sistema (con preguntas) à SCRIPT

102
Q

addgroup

A

Añade un grupo al sistema

103
Q

delgroup

A

Elimina un grupo del sistema

104
Q

gpasswd

A

Administrar administradores, miembros y contraseñas de grupos

105
Q

usermod

A

Modifica una cuenta de usuario

106
Q

chage

A

Cambia la información de expiración de una cuenta y contraseñas con preguntas

107
Q

sudo

A

Permite ejecutar un comando como otro usuario

Ejemplo:

sudo -u carlos comando (ejecuta comando como si fuera “carlos”)
Fichero de configuracion /etc/sudoers
————————————-
Defaults badpass_message=”Password is wrong, please try again”
Defaults passwd_tries=5

QUIEN DONDE=(COMO QUIEN) COMANDOS
o
USER MACHINE=(EFECTIVE_USER) COMANDOS (restricciones)

108
Q

su

A

Switch User. Cambiar de usuario, para ejecutar comandos
* su gsus –> cambia a user “gsus” permaneciendo carpeta actual. Hereda variables entorno
* su - gsus –> cambia a user “gsus”. Te posiciona en /home/gsus. No hereda variables entorno

109
Q

ulimit

A

Comando para limitar el uso de recursos, como por ejemplo:
- Cantidad de ficheros que puede abrir (hard y soft)
- Cantidad de memoria máxima a consumir

Ejemplo:

cat /proc/sys/fs/file-max (maximo numero de ficheros abiertos para todo el
sistema)
# su - oracle (poder ver los limites de un user concreto)
$ ulimit -Hn (ver el hard limit)
$ ulimit -Sn (ver el soft limit)
Podemos cambiar estos parametros en el fichero /etc/security/limits.conf
Ej.
httpd soft nofile 4096
httpd hard nofile 10240

NOTA: un ususario puede cambiar su limite soft pero nunca el hard (ej. $ ulimit -S -s 8192 – > cambia el stack size a 8192)

110
Q

Cgroups

A

Control de grupos:
- Característica del Kernel para limitar, controlar y aislar el uso de recursos (CPU, I/O, disk, red)
- Usado por tecnologías de contenedores (Docker)

111
Q

fdisk

A

crear particiones
fdisk /dev/sdb (para discos SATA o SCSI)

112
Q

mdadm

A

trabajar con RAID

mdadm -Cv /dev/md0 -l0 -n2 -c128 /dev/sdb1 /dev/sdc1
opciones interesantes:
-C (crear el RAID de discos )
-lx (x es el nivel de RAID deseado)
-ny (y es el numero de discos empleados)
-cz (z es tamaño del chunk)

113
Q

lvm

A

gestion de volumenes logicos o gestion de almacenamiento flexible/virtual
# pvcreate / pvdisplay / pvmove (crear un volumen fisico a partir de un disco
entero o particion)
# vgcreate / vgdisplay / vgextend / vgreduce (crear un grupo de volumenes
fisicos)
# lvcreate / lvdisplay /lvextend / lvreduce (crear un volumen logico a partir
de un grupo de volumenes)

114
Q

mkfs.ext4

A

formatear dispositivos con sistemas de ficheros
mkfs.ext4 /dev/sdb1

115
Q

resize2fs dispositivo [nuevo-tamaño] (si no se pone toma el maximo
posible)

A

reducir o ampliar un sistemas de ficheros

resize2fs /dev/sdb1 50g
opciones interesantes:
-M (shrink o reduce hasta el minimo posible el filesystem)

116
Q

e2fsck

A

reparar sistemas de ficheros

umount /dev/vdb1 (requisito previo)
# e2fsck /dev/vdb1

117
Q

rsync

A

copia/sincronizacion remota de ficheros / backup inteligente de ficheros usando el
algoritmo delta
# rsync -avzh /root/rpmpkgs /tmp/backups/ (en local)
# rsync -avzh rpmpkgs/ root@192.168.0.101:/home/ (en remoto contra el rsync daemon - puerto 873 por defecto)

118
Q

setfacl / getfacl

A

establecer/consultar permisos/acl sobre ficheros/directorios
Ejemplo
# setfacl -m u:pepe:rw /path/fichero (añade acl de permiso de rw para el usuario
pepe sobre el fichero)
# setfacl -m g:developers:rwx /path/fichero (añade acl de permiso de rwx para el
grupo developers sobre el fichero)
# setfacl -b ficharo (borrar todas las acl’s del fichero)
# setfacl -x “acl” fichero (elimina una acl concreta sobre el fichero)

119
Q

stat

A

informacion de detalle sobre el fichero/directorio

ejemplo:
root@miegi_linux:~# stat f3.txt
File: f3.txt
Size: 32 Blocks: 8 IO Block: 4096 regular file
Device: 800h/2048d Inode: 555 Links: 3
Access: (1644/-rw-r–r-T) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2020-01-13 12:03:23.768504851 +0000
Modify: 2019-12-03 19:13:44.736114591 +0000
Change: 2019-12-10 17:36:02.232820347 +0000
Birth: -

120
Q

nice/renice

A

nice Ejecuta un comando con una prioridad distintas ala de por defecto.
(modifica la prioridad de planificacion de un proceso)

renice Cambia la prioridad de un proceso ejecutándose. No se puede aumentar la urgencia.

Ejemplo:

nice -n valor-de-nice comando argumentos (solo el root puede usar los valores negativos)
$ nice -n NUMERO_PRIORIDAD COMANDO

$ renice -n NUMERO_PRIORIDAD COMANDO

121
Q

ldd

A

(listar las depenencias (librerias dinamica) que usa un determinado programa/libreria)

Ejemplos:

ldd /usr/sbin/nginx
linux-vdso.so.1 (0x00007ffc9bb6f000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0dd7b41000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0

122
Q

kill

A

enviar señales a un proceso

ejemplo:
# kill -l (muestra todas las señales)
# kill SIGKILL 63772 o kill -9 63772 (este numero es un pid)

NOTA: existen variantes que lo hacen en base al nombre del proceso como: pkill,killall

123
Q

whereis, which, type

A

localización de la ruta del binario
Ejemplo:

whereis -b netstat
# type netstat
# which netstat

124
Q

nohup

A

si queremos que nuestro comando “sobreviva” a la señal SIGHUP tenemos que ejecutarlo asi:
Ejemplo:

nohup sh your-script.sh > /path/to/custom.out &

125
Q

watch

A

monitorizar la salida de un comando en tiempo real

watch -n segundos_para_refrescar -d (resaltar cambios en la salida)

watch -n 1 -d ‘ps -e -o pid,ppid,cmd,%mem=USO_MEMORIA,%cpu=USO_CPU –sort=-
%mem | head’

126
Q

crontab / cron

A

planificacion de procesos

Ejemplo:

crontab -e (para editar el fichero con la planificacion)
# crontab -l (lista el crontab actual)
# crontab -r (borrar el crontab actual)
Formato del fichero:
m h dom mon dow usario comando (n lineas)
m –> minuto (0-59)
h –> hora (0-23)
dom –> dia del mes (1-31)
mon –> mes (1-12)
dow –> dia de la semana (0-7 son domingo)

127
Q

at

A

planificacion de procesos en un momento concreto unicamente

Ejemplo:

at now + 1 minute -f script.sh
# atq (ver los trabajos encolados)
# atrm (eliminar un trabajo encolado)

128
Q

nmap

A

herramienta de analisis de red / seguridad

ejemplos:

nmap server2.ruinosa.com (escaneo de puertos)
# nmap 192.168.0.* (escaneo de una subred)
# nmap -A 192.168.0.101 (escanea informacion del SO y traceroute)
# nmap -O server2.ruinosa.com (detectar sistema operativo)
# nmap -sA 192.168.0.101 (para detectar reglas del firewall)
# nmap -sS 192.168.0.101 (escaneo de puertos basa en el envio de TCP SYN, Half-
Open scan)
# nmap -p 80 server2.ruinosa.com (escanear un puerto especifico)
# nmap -sV 192.168.0.101 (descubrir versiones de los servicios)

129
Q

ss / netstat (obsoleto)

A

muestra información sobre conexiones de red, encaminamiento, etc

netstat -at (solo conexiones TCP). Con -au serían UDP
# netstat -atn (no resuelva las IP a nombres)
# netstat -l (solo conexiones en estado LISTEN)
# netstat -ltnp (muestra el PID/ProgramName)
# netstat -ltne (muestra el UID)
# netstat -nr (muestra tabla de encaminamiento, como ip route show)
# netstat -ie (muestra los interfaces de red)
# ss -atun (muestra todos los puertos TCP y UDP y en formato numérico)
# netstat -ac (modo promiscuo, se refresca cada 5 segundos)
# ss -at ‘( dport = :22 or sport = :22 )’ (permite filtros)
NOTA: con lsof -i obtenemos una información muy similar

130
Q

dig / nslookup / host

A

consultas dns

ejemplo:

host -t AAAA www.ruinosa.com (localiza la ipv6 de ese nombre)
# dig yahoo.com (consulta registros A y AAAA)
# dig yahoo.com MX (consulta registro MX)
# dig -x 72.30.38.140 +short (resolucion inversa)
# nslookup yahoo.com (consulta registro A)
# nslookup 209.191.122.70 (resolucion inversa)
# nslookup -query=mx yahoo.com (consulta registro MX)
# nslookup -type=mx yahoo.com 8.8.8.8 (idem, usando el DNS de Google)

131
Q

ping / ping6

A

chequeo de host con ICMP en IPv4 e IPv6

Ejemplo:

ping -c 4 192.168.0.103 (lanza unicamente 4 ECHO_REQUEST)
otras opciones interesantes:
-f (flood, envia 100 o mas paquetes por segundo)
-i segundos (incrementa el intervalo de envio entre paquetes)
-6 (solo usa IPv6)

132
Q

route (obsoleto)

A

gestión de tabla de encaminamiento

Ejemplo:

route add default gw 192.168.29.1

133
Q

tcpdump

A

analisis del trafico de red

Ejemplo:

tcpdump -i eth0 (capturar trafico del interface eth0)
# tcpdump -c 5 -i eth0 (capturar solo 5 paquetes)
# tcpdump -A -i eth0 (mostrar captura en modo ASCII)
# tcpdump -D (mostrar interfaces disponibles)
# tcpdump -w 0001.pcap -i eth0 (guardar en un fichero la captura)
# tcpdump -i eth0 tcp (captura trafico tcp)
# tcpdump -i eth0 port 22 (captura trafico del puerto 22)
# tcpdump -i eth0 src/dst 192.168.0.2 (captura hacia/desde una IP)

134
Q

nmcli (paquete network-manager) + iw (wifi)

A

Gestión de interfaces de red

iw dev (muestra tus interfaces wifi. Ej. wlp2s0)
# iw wlp2s0 link (estado de conexion de ese dispositivo)
# iw wlp2s0 scan (escanea la redes wifi)
# nmcli dev wifi connect MiegiWifi password 1234 (conectar a una wifi)
# nmcli dev show (listado los dispositivos de red)
# nmcli connection (listado de conexiones activas)

135
Q

nc (paquete nc en RedHat y Netcat en Debian)

A

Navaja suiza de red

Ejemplo:

nc -v -w 2 z 192.168.56.1 22 #scan a single port
-v (verbose)
-w timeout_segundos
-z (simplemente que haga un escaneo)
# nc -l -vv -p 5000 (crear un servidor de chat)
-l (listen mode)
-vv (more verbose)

136
Q

shutdown / poweroff

A

parada del sistema

Ejemplo:

shutdown now (con -P apaga de la maquina)
# shutdown -H now (para la maquina: procesos y cpu. Ej: mantenimiento/cambio
tarjeta PCI)
# shutdown -c (cancela un shutdown pendiente)
# poweroff (apaga la maquina)
# poweroff –reboot (reinicia la maquina)
# halt (para la maquina)
# halt -p (apaga la maquina)
# halt –reboot (reinicia la maquibna)

137
Q

systemctl (SystemD) / service (SysVinit)

A

gestion de servicios

systemctl status firewalld.service (chequea que el estado del
servicio/unidad)
# systemctl status firewalld (idem sin el “.service”)
# systemctl list-unit-files –type=service –state=active (lista todos los
servicios activos)
# systemctl start/restart/stop/reload httpd.service (inicio,reinicio,parada y
recarga)
# systemctl enable/disable httpd.service (activar el servicio al arranque)
# systemctl reboot (reiniciar la maquina)
# systemctl poweroff (apagar la maquina)
# systemctl halt (parar la maquina)
# service miservicio start/stop/restart/reload/status
# chkconfig miservicio on/off (activar el servicio al arranque)

138
Q

apt / dpkg / aptitude /yum / dnf / rpm

A

apt-cache search vsftpd (busca el paquete vsftpd en tu catalogo local)

instalación de paquetes

FAMILIA DEBIAN (repositorios en /etc/apt/sources.list)
# apt-cache search vsftpd (busca el paquete vsftpd en tu catalogo local)
# apt-cache show vsftpd (info del paquete)
# apt-get update (actualiza el indice de paquetes usando los repositorios)
# apt-get upgrade (actualiza los paquetes instalados en el sistema)
# apt-get install vsftpd (instala el paquete vsftpd online)
# apt-get remove vsftpd (elimina el paquete)
# apt-get purge vsftpd (elimina el paquete y ficheros de configuracion)
# apt-get autoremove (elimina paquetes huerfanos, que ya no son necesarios)
# dpkg -i flash_2.8.2+squeeze1_i386.deb (instalación offline)
# dpkg -l (lista paquetes instalados)
# dpkg -r nombre_paquete (remove, con -p hace un purge)
# dpkg -c flash_2.8.2+squeeze1_i386.deb (listar el contenido)
# dpkg -s nombre_paquete (chequea si está instalado)
# dpkg -L nombre_paquete (localizacion/directorios de la instalacion)
# dpkg -P nombre_paqueta (elimina el paquete y ficheros de configuración)
FAMILIA REDHAT (repositorios en /etc/yum.repos.d/)
# yum install firefox (instala el paquete firefox)
# yum remove firefox (elimina el paquete)
# yum update mysql (actualiza ese paquete)
# yum list openssh (busca el paquete llamado exactamente openssh)
# yum list installed (muestra paquetes instalados)
# yum search openssh (busca el paquete openssh)
# yum info firefox (muestra info del paquete)
# yum repolist (muestra lista de repositorios activos)
# yum –enablerepo=epel install phpmyadmin (para instalar desde un repo
concreto)
# rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm (instalación offline verbose)
# rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm (hacer un upgrade)
# rpm -qpR BitTorrent-5.2.2-1-Python2.4.noarch.rpm (chequear dependencias
antes de la instalacion)
# rpm -ql BitTorrent (lista los ficheros de la instalación)
# rpm -evv nombre_paquete (elimina el paquete)
# rpm -qi vsftpd (muestra información del paquete instalado)
# rpm -qip sqlbuddy-1.3.3-1.noarch.rpm (muestra información del paquete)

139
Q

useradd / usermod / userdel

A

creacion/modificacion/borrado de usuarios

Ejemplos:
# useradd -m -d /home/pepe -s /usr/bin/zsh -G devs,admins pepe (crea el
usuario pepe, crea el directorio home especificado, le configura el shell zsh
y le asocia a esa lista de grupos)
# useradd -e 2022-01-22 pepe (fecha de expiracion de la cuenta)
# useradd -f 45 (bloquea la cuenta pasados esos dias de inactividad)
# useradd -r nginx (crea una cuenta de sistema)
# usermod -l pepeito pepe (cambia el login de “pepe” a “pepito”)
# usermod -a -G Marketing pepe (añade a pepe al grupo de Marketing)
# usermod -L pepe (bloquea la cuenta). Con -U (desbloquea)
# userdel -r pepe (borra la cuenta y todos sus ficheros asociados)

140
Q

who

A

muestra informacion de usuario conectados

Ejemplo:

who -q (muestra los login y el numero total de usuarios logados)
# who -m (muestra el hostname desde donde está conectandose el usuario)
root pts/0 2020-01-21 21:40 (77.224.114.94)
otras opciones “peculiares”:
# who -r (muestra el runlevel actual)
# who -b (fecha y hora del ultimo inicio del sistema)

141
Q

id [usuario]

A

(muestra información del usuario: uid, gid, grupos)

142
Q

dmesg

A

muestra mensajes de diagnostico

Ejemplo:

dmesg –level=alert,crit,… (filtrar por el nivel de cada mensaje)
# dmesg -k (mensajes del kernel)
# dmesg -T (muestra la fecha y hora en un formato legible)
# dmesg -w (se queda esperando a nuevos mensajes)
# dmesg -u (mensajes del espacio de usuario)

143
Q

uname

A

muestra información del sistema

Ejemplo:

uname -a (muestra toda la informacion).
equivalente a # cat /proc/version
# uname -s (nombre del kernel)
Linux (similar a # cat /proc/sys/kernel/ostype)
# uname -n (nombre del host)
miegi_linux (similar a # cat /proc/sys/kernel/hostname o /etc/hostname)
# uname -v (version del kernel)
#1 SMP Debian 4.9.189-3+deb9u2 …(similar a # cat /proc/sys/kernel/version)
# uname -r (release del kernel)
4.9.0-11-amd64 (similar a # cat /proc/sys/kernel/osrelease)
# uname -p (tipo de procesador)
tipo de cpu o “unknown”
# uname -m (nombre de hardware)
x86_64 (similar al comando “arch”)
# uname -o (sistema operativo)
GNU/Linux

144
Q

sysctl

A

configurar parametros del kernel en tiempo de ejecucion

sysctl -a (ver una lista completas de los parametros del kernel)
# sysctl -w net.ipv4.ip_forward=1 (ej. capacidad de routing, aunque temporal)
# echo “net.ipv4.icmp_echo_ignore_all = 1”&raquo_space; /etc/sysctl.conf (es definitivo)
# sysctl -p (aplicar los cambios)

NOTA: si queremos que el cambio sea permanente hay que editar el fichero /etc/sysctl.conf

145
Q

lscpu

A

muestra informacion del procesador: arquitectura, cores, virtualizacion, cache L1,L2, etc, equivalente a # cat /proc/cpuinfo

146
Q

lsusb / lspci

A

muestra los dispositivos conectados al USB o al PCI

147
Q

modprobe

A

añadir o borrar modulos del kernel

Ejemplo:

lsmod (listado de modulos cargados actualmente)
# modprobe cifs (añadir un modulo)
# modprobe -r cifs (eliminar un modulo)
# modinfo cifs
filename: /lib/modules/4.9.0-11-amd64/kernel/fs/cifs/cifs.ko
version: 2.09
description: VFS to access servers complying with the SNIA CIFS depends:
fscache,dns_resolver

148
Q

free

A

muestra información de la memoria RAM

Ejemplo:

free -h (formato legible)
# free -b/m/g/k (información en bytes/kibi/mebi/gibibyte –> base 2)
# free –si (aplica las unidades del sistema internacional –> base 10)
obtiene la informacion de # cat /proc/meminfo

149
Q

ip route show

A

muestra la tabla de routing completa

150
Q

cat /etc/redhat-release

A

Muestra la versión de Redhat RHEL

151
Q

Comando Vi
:q

A

Salir si no hubo cambios del editor vi

152
Q

Comando Vi
:q!

A

Salir sin guardar cambios del editor vi

153
Q

Comando vi
:w

A

Guardar cambios

154
Q

Comando vi
:wq

A

Guardar cambios y salir

155
Q

comando vi
a

A

Inserta texto a la derecha del cursor