Linux comandos y SO Flashcards
Arquitectura Linux
Foto
Sistema operativos de la familia UNIX
SCO HP-UX IBM-AIX Solaris BSD |--> Mac OSX(.dmg) |-->FreeBSD Linux |--> Debian (.deb) --> Ubuntu -->Mint |--> Red Hat |--> Fedora |--> CentOS(Rocky)
Dirías que Linux tiene una arquitectura monotlítica
SI
Gran parte de la funcionalidad la tiene el kernel. Linux tiene modules (plug-ins) que se cargan en tiempo de ejecución para dar funcionalidad adicional
Di el nombre de un interprete de comandos (shell) de Linux
Bash
BSH
CSH
KSH
ZSH
TCSH
En un sistema UNIX, cuál es la respuesta INCORRECTA:
a) El GID es el número de identificación de grupo.
b) El UID es el número de identificación de usuario.
c) El administrador del sistema se denomina root.
d) El proceso init se refiere al proceso de arranque de un usuario.
d) El proceso init se refiere al proceso de arranque de un usuario.
Necesitamos borrar la caché de las direcciones fisicas (Mac Address) en uno de los servidores que ofrece la aplicación de Intranet de la Subred de Aplicaciones del Modelo B. ¿Cuál de los siguientes comandos utilizaria?
a) ip delete cache
b) arp -d
c) iptables -d mac
d) ip flush
b) arp -d
En uno de los servidores de la Subred de Aplicaciones del Modelo B se necesita realizar una captura del tráfico que pasa por la interfaz de red eth1 y guardarlo en fichero.out para su posterior análisis, ¿cuál de las siguientes sentencias es la correcta?
a) snoop -d eth1 -w fichero.out
b) tcpdump -i any -o fichero.out
c) tcpdump - eth1 -w fichero.out
d) snoop -d any -o fichero.out
c) tcpdump - eth1 -w fichero.out
En una distribución Linux, ¿qué directorio contiene, entre otros, los ficheros de configuración tanto a nivel de componentes del sistema operativo en sí, como de los programas y aplicaciones instaladas a posteriori?
a) /root
b) /bin
c) /dev
d) /etc
d) /etc
En los sistemas Linux, si se ejecuta el comando chmod 640 para modificar los permisos de un archivo, ¿qué permisos estoy asignando?
a) Acceso de lectura, escritura y ejecución al propietario, acceso de lectura al grupo y ningún acceso al resto de usuarios.
b) Acceso de lectura, escritura y ejecución al propietario, acceso de lectura y escritura al grupo, y acceso de ejecución al resto de usuarios.
c) Acceso de lectura y escritura al propietario, acceso de lectura al grupo, y ningún acceso al resto de usuarios.
d) Acceso de lectura y escritura al propietario, acceso de ejecución al grupo, y ningún acceso al resto de usuarios.
c) Acceso de lectura y escritura al propietario, acceso de lectura al grupo, y ningún acceso al resto de usuarios.
En Linux, ¿cuál de las siguientes opciones utilizaría para conocer qué puertos tiene abiertos un servidor?
a) ntpq
b) ntport
c) nmap
d) traceroute
c) nmap
En sistemas Debian, ¿cuál de los siguientes comandos permitiría descargar la información de los paquetes desde todas las fuentes configuradas?
a) apt update
b) apt upgrade
c) apt full-upgrade
d) apt list
a) apt update
Donde me lleva el comando perdurus@debian:~$ cd ~
/home/perdurus
NOTA: Mismo efecto que ‘cd’ a secas
La DCM no es capaz de especificarle la versión de RHEL que tienen sus máquinas, por lo que debe decirles el comando a ejecutar. ¿Cuál de los siguientes sería?
a) rm -f /etc/redhat-release
b) cat /etc/redhat-version
c) cat /etc/redhat-release
d) mv /etc/redhat-release
c) cat /etc/redhat-release
¿Puedo ejecutar scripts en la shell de linux?
Si, scripts contenidos en los ficheros .sh con sentencias que interpreta la shell
¿Se pueden meter parametros en un script?
Si se puede. En un ejemplo:
/miScript.sh param1 param2 param3
y para recuperarlos:
$0 /miScript.sh
$1 param1
$2 param2
$3 param3
Para poder tener conectividad, la CHT necesita poner una ruta persistente en una de sus máquinas Solaris a la red 10.0.5.0/24 con una máscara de red 255.255.255.0 y usando como puerta de enlace la dirección IP 10.0.5.150 ¿Cuál seria el comando correcto?
a) route -p add -net 10.0.5.0/24 -gateway 10.0.5.150
b) route new -p -net 10.0.5.0/24 -gateway 10.0.5.150
c) route -static add -net 10.0.5.0/24 -gateway 10.0.5.150
d) route add -static -net 10.0.5.0/24 -gateway 10.0.5.150
a) route -p add -net 10.0.5.0/24 -gateway 10.0.5.150
Se está realizando una auditoría de seguridad en uno de los servidores Linux y le preguntan dónde se están guardando las contraseñas encriptadas de los usuarios:
a) /etc/passwd
b) /etc/users
c) /etc/shadow
d) /etc/groups
c) /etc/shadow
Se le solicita crear un backup del directorio /home/opositor/temas/ comprimido con gzip en RHEL. Indique el comando correcto para realizarlo.
a) tar-czf TEMAS.tar.gz /home/opositor/temas/
b) tar-xzf TEMAS.tar.gz /home/opositon/temas/
c) tar -xzf /homelopositor/temas/ TEMAS.tar.gz
d) tar-cjf home/opositor/temas/ TEMAS.tar.gz
a) tar-czf TEMAS.tar.gz /home/opositor/temas/
Desde la unidad responsable de la red, le indican que por motivos de seguridad van a realizar la conexión por el puerto 422. ¿Qué comando debería utilizar en sus equipos RHEL para comprobar que la comunicación ya está abierta, si la IP destino es la 10.0.4.22 ?
a) nc -v -ip 10.0.4.22 -port 422
b) nc -v 10.0.4.22 422
c) nc -v 422 10.0.4.22
d) nc -v 10.0.4.22:422
b) nc -v 10.0.4.22 422
En Linux, ¿cuál de los siguientes comandos se debe utilizar para listar los ficheros contenidos en el archivo “fichero.tar”
a) tar tvf fichero.tar
b) tar xvf fichero.tar
c) tar cvf fichero.tar
d) tar avf fichero.tar
a) tar tvf fichero.tar
NOTA: la ‘t’ para listar
Indique cuál de las siguientes opclones NO corresponde con un identificador vinculado a información sobre un proceso en Linux
a) TPID: identificador del hilo (thread) del proceso.
b) UID: identificador del usuario propietario
c) PPID: identificador del proceso padre.
d) PID: idenficador único del proceso.
a) TPID: identificador del hilo (thread) del proceso.
En Debian GNU/Linux, ¿cómo se puede obtener la versión de Linux instalada?
a) Isb_release -a
b) Isb_release -x
c) lsb_release -l
d) Isb_release -m
a) Isb_release -a
Debe comprobar si se está ejecutando “systemd”, para ello decide obtener su ID de proceso en ejecución. Desde la línea de comandos en el servidor debian GNU/Linux, ¿qué comando usaría?
a) pidof systemd
b) pid systemd
c) getpid systemd
d) apt –get-pid systemd
a) pidof systemd
Le piden el nombre de la maquina Linux a la que está conectado, ¿cual seria el comando para obtenerlo?
a) servername
b) hostname
c) sysname
d) giveservername
b) hostname
Le piden obtener de forma remota la información de los usuarios conectados a la máquina llamada s1, siendo “u” un usuario válido en el sistema y con permisos de acceso remoto. ¿Cómo lo haría?
a) ssh u@s1 ‘who’
b) ssh u:s1 who’
c) ssh s1 -login u ‘who’
d) ssh -user=u -command=’who’s1
a) ssh u@s1 ‘who’
Necesita conocer la ip del servidor en el que está conectado, pero descubre que el comando ifconfig ya no viene instalado por defecto y en su lugar debe usar otra opción. ¿Qué debe ejecutar para obtener la ip del servidor?
a) if
b) systemct interfaces
c) interíaces
d) ip address
d) ip address
Si quisiera usar en Debian el comando ifconfig, debería instalar el paquete net-tools, actualmente no instalado. Con los permisos adecuados, ¿cómo lo haría?
a) apt -get update net-tools
b) apt install net-tools
c) apt-cache install net-tools
d) dpkg -install net-tools
b) apt install net-tools
En Linux, indique como buscar los paquetes disponibles de salt:
a) apt-cache search salt
b) apt find salt
c) dpkg-give salt
d) apt-mark find salt
a) apt-cache search salt
Ha detectado que uno de los servidores no tiene instalado salt-minion, desde el propio servidor debe comprobar de forma manual cuál es la versión del paquete nginx instalado. ¿Cuál sería la orden a ejecutar para obtener dicha versión?
a) dpkg -show nginx
b) apt-cache show nginx | grep Version
c) dpkg –get-selections | grep nginx
d) apt show nginx -v
b) apt-cache show nginx | grep Version
pregunta mal hecha
En la Instalación de Docker se ha creado un grupo llamado “docker”, con usuarios que necesiten ejecutar comandos de Docker. Siendo “udocker” un usuario ya creado, ¿cómo añadiría este usuario a dicho grupo?
a) usermod -a -G docker udocker
b) useradd -G docker udocker
c) Editando el fichero /var/group y añadiendo “:udocker” al final de la línea donde está el grupo “docker”
d) Editando el fichero /etc/passwd y añaciendo “:udocker” al final de la línea donde está el grupo “docker”.
a) usermod -a -G docker udocker
En la web de CCN-CERT hay un aviso de vulnerabilidad que afecta a algunas distribuciones Debian, y necesita saber si está afectado o no. De entre las siguientes opciones elija la afirmación verdadera:
a) La distribución estable es Debian 10 “etch” y la antigua estable es Debian 9 “lenny’.
b) La distribución estable es Debian 10 “woody”, y la antigua estable es Debian 9 “sarge”.
c) La distribución estable es Debian 10 “jessie” y la antigua estable es Debian 9 “potato”.
d) La distribución estable es Debian 10 “buster” y la antigua estable es Debian 9 “stretch”.
d) Ladistribución estable es Debian 10 “buster” y la antigua estable es Debian 9 “stretch”.
En UNIX una llamada fork(), señale la FALSA:
a) Retorna al proceso padre el PID del proceso creado.
b) Crea un nuevo proceso hijo
c) Crea un nuevo proceso copia de si mismo.
d) Devuelve al proceso hijo el ID del proceso padre.
d) Devuelve al proceso hijo el ID del proceso padre.
El comando UNIX: ps -ef | grep $USER, muestra todos los procesos:
a) activos que está ejecutando el usuario “grep”.
b) que está ejecutando el usuario llamado “$USER”.
c) que está ejecutando el usuario actual.
d) no activos que está ejecutando el usuario actual.
c) que está ejecutando el usuario actual.
En Linux, la carpeta /bin:
a) Es la papelera de reciclaje.
b) Contiene ficheros ejecutables y algunas utilidades del sistema operativo.
c) Contiene los directorios de los usuarios.
d) Contiene programas, ficheros y directorios del usuario.
b) Contiene ficheros ejecutables y algunas utilidades del sistema operativo.
Haciendo uso del comando de Linux grep, indique cuál de las sigulentes opciones devuelve el número total de lineas en que aparece la palabra “Autor” en el fichero “libro.txt”:
a) grep -c libro.txt Autor
b) grep -n libro.bxt Autor
c) grep -n Autor libro.txt
d) grep -c Autor libro.txt
d) grep -c Autor libro.txt
¿Con qué comando de Linux se puede comprobar la integridad de un sistema de ficheros ext3?
a) fix.ext3
b) e2fsck
c) chkdsk
d) melt
b) e2fsck
El comando de Linux que permite conocer la ruta completa de un comando es:
a) which
b) apropos
c) catch
d) tee
a) which
De los siguientes comandos Linux, ¿cuál permite cambiar el sistema al nivel de ejecución 3?
a) rlevel 3
b) inittab 3
c) switch_root 3
d) init 3
d) init 3
En Linux, ¿qué información se muestra tras ejecutar en consola “who -r”?
a) Indica el nivel de ejecución.
b) Muestra la hora en la que el sistema se ha iniciado.
c) Lista los usuarios que han iniciado sesión remota.
d) Muestra los usuarios que pertenecen al grupo de administradores (root).
a) Indica el nivel de ejecución
Necesita saber si en el servidor Linux, que está actualmente en funcionamiento, está instalado el paquete que envía anónimamente estadísticas a los desarrolladores sobre los paquetes que más se usan en el servidor. ¿Cuál es el nombre del paquete para poder localizarlo?
a) installed-pkg
b) popularity-contest
c) debian-poll
d) debian-comunity
b) popularity-contest
En la nueva máquina Linux, recién instalada, le indican que NO está instalado el servidor de SSH. Indique el comando para proceder a su instalación:
a) apt-get install ssh
b) apt install sshd
c) aptitude openssh-server
d) dpkg -U ssh-server
a) apt-get install ssh
Qué paquete en Linux, equivalente al htop que muestra el uso de CPU, permite mostrar información de E/S del disco?
a) disk-status
b) iotop
c) zzuf
d) uisp
b) iotop
Tras instalar postgreSQL en el nuevo servidor Linux, usando el paquete “postgresal-all”. ¿Qué comando le permitirá comprobar que el servidor postgres está ejecutándose, usando el usuario postgres?
a) ps -ef postgres
b) ps -v server
c) ps -U postgres -u postgres u
d) ps –process=postgres
c) ps -U postgres -u postgres u
¿Con qué comando reiniciaría el agente de Zabbix, con los privilegios adecuados?
a) start-stop-daemon zabbix-agent –restart
b) /etc/init/zabbix-agent restart
c) systemctl restart zabbix-agent
d) /usr/bin/zabbix-agent restart
c) systemctl restart zabbix-agent
Necesita verificar que en el servidor de Zabbix, su base de datos está escuchando por el puerto de mysql. ¿Qué opción de las siguientes le permitiría obtener esta información?
a) ifconfig –list –port=3306
b) ss -l | grep mysql
c) netstat -g | grep 3306
d) netstat -i | grep mysql
b) ss -l | grep mysql
En el shell Bash del servidor Linux, ¿qué variable interna permite mostrare l directorio actual de trabajo?
a) $BashPID
b) $PWD
c) $$
d) No existe, hay que capturar la salida de un comando.
b) $PWD
¿Cómo podríamos localizar los ficheros binarios, fuentes o páginas de manual para un comando dado, por ejemplo, para el comando llamado zabbix?
a) dpkg –get-selections –find zabbix
b) apropos zabbix
c) findmnt zabbix
d) whereis zabbix
d) whereis zabbix
Durante la instalacion del nuevo servidor de bases de datos en Linux, se necesita sincronizar de forma periodica ciertas carpetas del servidor antiguo en el nuevo hasta que se haga el cambio. ¿Qué comando de Linux debería ejecutarse?
a) robocopy
b) rsync
c) rtar
d) xcp
b) rsync
Entre los comandos que podemos ejecutar desde Linux y que nos muestran la versión del sistema operativo NO se encontraria por tener otra finalidad el siguiente:
a) Isb_release -a
b) uname -n
c) cat /etc/*release
d) cat /etc/issue
b) uname -n
SSH permite restringir el acceso a un conjunto de usuarios, o a un determinado grupo, utilizando determinadas directivas desde su fichero de configuración. ¿Cuál de los siguientes comandos, le permite conocer que usuarios pertenecen a un grupo llamado usuarios_ssh?
a) cat /etc/group | grep usuarios_ssh
b) sysadmin –check –group=usuarios_ssh
c) groupadd –lst | grep usuarios_ssh
d) grep usuarios_ssh /etc/* -R -5
a) cat /etc/group | grep usuarios_ssh
En la máquina Linux, ¿cómo eliminaría al usuario denominado “u” de un grupo de usuarios denominado “usuarios_ssh”?
a) deluser u usuarios_ssh
b) groupdel -u u usuarios_ssh
c) groupmod –delete u usuarios_ssh
d) gpasswd u usuarios_ssh
a) deluser u usuarios_ssh
En el servidor Linux, ¿qué fichero permite comprobar el acceso a hosts concretos al sistema?
a) /etc/hosts.allow
b) /etc/sshd/sshd.conf
c) /etc/remote.conf
d) /etc/hosts
a) /etc/hosts.allow
¿Con qué comando se puede crear un nuevo grupo de volumen de LVM en el servidor Linux?
a) vgcreate
b) volume-add
c) Ivm-add-volume
d) pvcreate
a) vgcreate
En el servidor Linux en LVM, ¿con qué comando podemos crear un volumen lógico?
a) pvcreate -l
b) Ivm-add-logical
c) Ivcreate
d) Ivadd
c) Ivcreate
En Linux, ¿qué comando debería usar para añadir un volumen físico ya inicializado a un grupo de volúmenes existente en LVM?
a) vgextend
b) volume-extend
c) Ivm-extend-volume
d) pvadd
a) vgextend
A qué se refiere tty1 en Linux
A un terminal lógico.
NOTA: Esto viene del pasado cuando habia una maquina ‘servidora’ y términales (teclado, monitor) en organizaciones.
Cómo listarías ficheros y directorios en Linux
Comando ‘ls’
ls -> listado básico en horizontal
ls -l ->Listado con detalles en vertical
ls -li -> Listado con detalles y el id i-node
ls fichero* -> admite patrones, para listar solo ciertos ficheros
¿Qué ficheros va a ejecutar cualquier usuario que haga login?
/etc/bash.bashrc -> general
/etc/profile -> general
/home/.bashrc -> usuario
/home/.profile -> usuario
Personalizaciones generales y propias del usuario, cuando arrancamos con un usuario
Que siginfica el comando ‘pwd’ y para que sirve
PRINT WORKING DIRECTORY
¿Qué tres grupos de permisos tenemos en Linux?
Tenemos los permisos básicos:
rwx:
r: lectura
w: escritura
x: ejecución
Y para los tres grupos: USER, GROUP y OTHERS
Quedando con esta pinta los permisos:
-rwxr–r– => - | rwx |r– | r– => archivo, permiso de lectura/escritura/ejecución para el usuario, de lectura para el grupo y de lectura para todos los demás
Comando para añadir usuarios al sistema
useradd nombreUsuario
Comando para añadir grupos al sistema
groupadd nombreGrupo
Comando para añadir un usuario a un grupo
usermod -a -G => añadir a un grupo (G) sin modificarlo de otro (a)
usermod -a -G nombreGrupo nombreUser
Tenemos otro comando gpasswd, OJO al orden de los parametros
gpasswd -a nombreUser nombreGrupo
Comando para cambiar el propietario de un fichero
chown
Ej.: chown pepe:developers script1.txt
Que hace el comando id
Muestra la información del usuario:
UID
GID
GROUPS
Comando para cambiar permisos
chmod
Ejemplos: seria lo mismo para g(roups) o(thers)
chmod u=rw fichero1.txt
chmod u+x fichero1.txt
chmod u-w fichero1.txt
Cómo se comienza un shell script que quieres ejecutar en bash
!/bin/bash
Cómo pasarias/recogerías parametros a un script
user@debian:~# ./script1.txt hola que tal
$0 -> ./script1.txt
$1 -> hola
$2 -> que
$3 -> tal
$# -> 3
$*/$@ -> hola que tal
$0 -> nombre del scritp
$1 -> primer parametro
$2 -> segundo parametro
…..
$n -> n parametro
$# - > número de parametros
$*/$@ -> todos los parametros segùn se introdujeron
Cómo verías las variables de entorno en Linux
env
Este comando muestra todo lo que está definido en el ‘enviroment’
Variables notables:
SHELL -> shell que se va a utilizar (bash, zsh….)
PWD -> Directorio actual
HOME -> Directorio del usuario
USER -> usuario logado
PATH -> Path del usuario
OLDPWD -> idrectorio anterior
Como puedes volver al directorio /home
cd => sin poner nada va al home
cd~ => atajo ‘~’
cd $HOME => mediante var de entorno
Cuando se crea una variable de entorno. ¿Qué ambito de actuación tiene?
Si no la ‘exportas’ solo podrás verla en ese usuario y desaparecerá cuando estes en otro nivel de shell.
Pelicula de Origen. Hay niveles de shell.
export VAR_ENV => para crearla para todos los niveles de shell
Que estructura tiene un i-node de Linux
Nº i-node
Size
Owner uid
Group uid
[amc] time -> Fechas A(cceso) M(odificacion) y C(ambio) *nota: no es C de creación!!!
Tipo de fichero
Permisos
Nº Hard Links
[puntero a contenido del fichero]
*NOTA: El nombre del fichero no está en el i-node!!
Se puede consultar en la shell con: stat nombreFichero.txt
¿Cómo renombramos un fichero?
mv nombreOriginal.txt nuevoNombre.txt
Que hace el comando ‘touch’
Modifica el fichero según lo indicado en los parametros. Si hacemos un touch con nombre de fichero y no existe este se creará vacío a menos que digamos lo contrario.
Ejs.:
touch ficheroNoExiste.txt => crea un nuevo fichero vacio con nombre ‘ficheroNoExiste.txt’
touch -a fichero.txt => cambia la fecha de acceso del fichero. Al actualizar un metadato de i-node se actualiza la fecha de cambio.
touch -c fichero.txt => con -c si no existe fichero NO lo crea.
Si deseamos ‘afinar’ los permisos de un usuario en un fichero, ¿cómo podríamos hacerlo?
setfacl -m u:USER:rw fichero.txt => permisos para usuario USER de lectura/escritura en el fichero.txt aunque no pertenezca al grupo
nos saldrá un ‘+’ al final de la cadena de permisos para indicar que tiene más permisos:
-rw-r–r–+
getfacl fichero.txt => nos mostrará que permisos tiene el fichero
file: fichero.txt
# owner: perdurus
# group: developers
user:: rw-
user:USER:r-x
group::r–
mask::rwx
others::r–
¿Qué es el ‘Sticky bit’ ?
Solo tiene sentido para directorios. Permiso que se activa para proteger el contenido de un directorio. Cuando sobre un directorio varios user/groups tienen permiso de escritura se activa el sticky bit para proteger el contenido de cada usuario. Ej.: /tmp
Se marca con una ‘t’ al final de la cadena de permisos:
drw-r–r–t
Se activa con: chmod +t
¿Qué es el ‘Set User/Group ID’?
Permiso que sirve para impersonar los permisos de usuario/grupo, de tal manera que se pudean ejecutar como si fuera el usuario/grupo del fichero.
Ej.:
-rwxrw-rw- adminbackup backup 8808 Jul 31 06:17 setuid-test
Si ejecutamos el fichero setuid-test con el usuario daniel:
usuario efectivo: daniel
usuario real: daniel
si activamos con chmod u+s
-rwsrw-rw- adminbackup backup 8808 Jul 31 06:17 setuid-test
Si ejecutamos el fichero setuid-test de nuevo con el usuario daniel:
usuario efectivo: adminbackup
usuario real: daniel
¿Qué significa que una ‘S’ en lugar de una ‘s’ en la cadena de permisos
Cuando una letra esta mayuscula en la cadena de permisos significa que no tapa ningún permiso y si está en minuscula significa que lo tapa.
Ej.:
-rw-rw-rw- adminbackup backup 8808 Jul 31 06:17 prueba.txt
chmod u+s
-rwSrw-rw- adminbackup backup 8808 Jul 31 06:17 prueba.txt
Si por el contrario tenemos
-rwxrw-rw- adminbackup backup 8808 Jul 31 06:17 prueba.txt
chmod u+s
-rwsrw-rw- adminbackup backup 8808 Jul 31 06:17 prueba.txt
Que significa chmod 0660
Forma de dar permisos en octal:
0 –> 000 ningún bit especial (sticky, id)
6 –> en binario 110 para el usuario
6 –> en binario 110 para el grupo
0 –> 000 ningun permiso para otros
6 –> en binario 110 –> rw-rw- - - -
¿Qué pesos tienen los bit especiales en octal? ¿Cómo se establecierían?
4 –> SetUI
2 –> setGUI
1 –> Sticky bit
Si sumamos todos da 7. En binario 111=> UID GID Sticky
-rwxrw-rw- adminbackup backup 8808 Jul 31 06:17 prueba.txt
chmod 7766 prueba.txt
-rwsrwSrwT adminbackup backup 8808 Jul 31 06:17 prueba.txt
Cómo se crea un enlace simbolico o soft
ln -s fichero.txt nombreEnlace
NOTA: un enlace simbolico tiene su propio i-node
NOTA: los permisos que mandan son los del fichero apuntado
Cómo se crea un enlace duro o hard
ln fichero.txt nombreEnlace.txt
NOTA: es un puntero al mismo i-nodo, son los mismos ficheros.
Comando tar, empaquetar y desempaquetar
tar cvf file.rar *.c -> Empaquetado sin comprimir
tarcvfz file.tar.gz *.c -> empaquetado y comprimido con gzip
tarcvfj file.tar.bz2 *.c -> empaquetado y comprimido con bzip2
tar xvf file.tar -> desempaqueta con o sin compresion
Para qué sirve rsync
Copia y sincroniza ficheros en maquina remota
Comando find, que hace y como se usa
Sirve para buscar ficheros según unas caracteristicas descritas
find / -size +50M -> encuentra ficheros de más de 50mb en la raíz
Head y Tail
Primeras líneas y ultimas de un fichero
tail -10f fichero.txt, mantiene abierto para nuevas lineas
Comando wc
Word count
wc -l cuenta lineas
wc -w cuenta palabras
wc -m cuenta caracteres
wc -c cuenta bytes
Comando grep
Busca en textos. vale para filtrar.
grep “cadenaBuscar” fichero.txt
Qué son y como se numeran las salidas/entradas estandar de linux
0 -> entrada estandard, teclado
1 -> salida estandad, monitor
2 -> salida de error, monitor
Ej.:
find / -size 10M 1>fichero.txt 2>error.txt
Para que sirve ‘|’ -> pipeline
Redirige la salida estandar de un comando e la entrada de otro.
Ej.: find / -size 10M | grep “/home” -> ficheros de más de 10Mb que estan en home
Comando mount
Monta unidades y dispositivos en el sistema de ficheros para poder acceder a ellas.
Fdisk, parted, lsblk, hdparm, mdadm
- Fdisck, parted: Para particionar discos. No puede tener más de 4 particiones primarias, o 3 primarias y logicas.
- lsblk: muestra información de como están las particiones
- hdparam: infomación de bajo nivel de la unidad. Ej.: hdparam /dev/sdc
- mdadm: trabaja con RAID. Une discos físicos en un volumen. Ej.: mdadm -Cv /dev/md0 -10 -n2 -c128 /dev/sdb1 /dev/sdc1
Comandos df y du
du: tamaño de directorios
df: espacio en el sistema de archivos
Comando mkfs.
Para formatear. Lo que va después del punto es el sistema de archivos. Ej.: mkfs.ext4
Sistema y comando lvm
LVM
- PV (Physical Volume - Volumen físico)
- VG (Volume Group - Grupo de volumenes)
- LG (Logical Volume - Volumen lógico)
- Paso 1)
Convertir cada disco en un PV (pvcreate)
hda –> 10Gb
hdb –> 10Gb
hdc –> 10Gb
….
Podemos añadir en caliente hdd –> 50Gb - Paso 2)
Añadir cada PV a un VG (saco gordo) (vgcreate)
añadir /dev/hda a VG (/dev/datos_vg)
añadir /dev/hdb a VG (/dev/datos_vg)
añadir /dev/hdc a VG (/dev/datos_vg)Tamaño de /dev/datos_vg –> 30Gb
Nos podemos quedar sin espacion en el saco gordo pero podemos añadir más PV al VG -> vgexted - Paso 3)
El VG se divide en trozos –> /dev/datos_vg/trocito1
Formatear el LV (mkfs.ext4)
Montarlo en algún directorio (mount /dev/datos_vg/trocito1 /mnt/pruebas)Si nos quedamos sin espacio en LV –> lvextend (mientras haya espacion en el saco gordo)
Diferencias entre ‘su’ y ‘sudo’
su: cambia de usuario en la sesión actual
sudo: permite ejecutar como superusuario una aplicación
Cuentame sobre ‘ps’
Muestra los procesos actualemnte corriendo
Ej.: ps -ef -> muestra todo PID y PPID
Cuentame sobre ‘top’
Muestra procesos en tiempo real
Ej.: top -> muestra la lista de procesos corriendo en tiempo real
Cuentame sobre ‘nice’ y ‘renice’
- nice: cambia la prioridad de un proceso que se va a lanzar
- renice: cambia la prioridad de un proceso que se está ejecutando ya
Que hace ‘kill’
Comando que manda señales a los procesos
Ej.: kill -9 pidProceso
¿Qué harias si quieres lanzar un proceso en segundo plano (background)?
Poniendo un ‘&’ al final del comando
Ej.: find / -size 1b &> ficherSalida.txt &
¿Qué harias si quieres lanzar un proceso en segundo plano (background) y que no muera al salir del terminal?
Empezando con ‘nohup’ y terminando con ‘&’. Con esto decimos que no queremos hacer caso a la señal de colgar cuando cerremos el terminal y que nos ejecute en background
Poniendo un ‘&’ al final del comando
Ej.: nohup find / -size 1b &> ficherSalida.txt &
¿Qué formas tenemos en Linux para planificar procesos?
- at: solo una vez, se planifica un momento concreto
- fichero /etc/crontab: se configura el fichero para tareas programadas en el tiempo. Tenemos un ‘demonio’ que chequea el fichero, ‘cron’ y la manera de editar el fichero es ‘crontab -e’
Systemd vs SysVinit comandos
OJO!!! al orden de los parametros
sysVinit=> service proceso comando
Systemd => systemctl comando proceso
Qué contiene el fichero /etc/shadow
Las pasword de los usuarios hasheadas
Comandos whereis, which, type
Localiza un binario en tu sistema de ficheros
Comando uname
Sirve para ver información de la versión del sistema.
uname -a -> toda la info
uname -s -> kernel
uname -v -> version del kernel
……
Comando useradd
Añade un usuario. Puedes añadirle directorio grupo etc.
EJ.: useradd -m -d /home/user -s /usr/bin/zsh -G grupo1, grupo2, grupo3 user
Comandos ifconfig / ip
Muestra todos los interfaces de red con sus respectivas IP
Comnando netstat / ss
Conexiones de red entrantes y salientes
netstat -atun -> conexiones t(cp) u(dp) y su n(umero) de puerto
Comando lsof
Lista archivos abiertos.
lsof -i –>todo
lsof -p PID –> los ficheros abiertos por el proceso PID
Comandos host, dig, nslookup
Consulta los registros de DNS
Utilidad del fichero /etc/shadow
En este fichero se encuentran las contraseñas de los usuario ‘encriptadas’
Utilidad del comando mv, chown, grep, mkfs, top, nice, at, dmesg
a) mv = mover/renombrar
b) chown = Cambia el usuario/grupo propietario de un fichero
c) grep = Filtrar en base a una expresión regular la entrada (fichero, entrada estandar, etc…)
d) mkfs = Formatea una unidad o partición (mkfs.ext4)
e) top = Procesos activos en tiempo real e interactiva
f) nice = Modifica la prioridad final de un comando que vamos a lanzar
g) at = Planificar ejecución de un comando para un momento concreto
h) dmesg = Ver los mensajes del inicio/arranque del sistema
¿Cómo se interpreta esta orden –>find . - name “backup*.gz” | grep “2024”?
Localiza desde el directorio actual, todos los ficheros que empiecen por backup y acaben por -gz, y de ellos filtra lo que contengan la cadena 2024 en su nombre
Utilidad del directorio /dev, /etc y /var
a) /dev = Dispositivos (de bloque /dev/sda y de caracter /dev/tty)
b) /etc = Ficheros de configuración
c) /var = Ficheros de tamaño variable (logs, bbdd, )
Utilidad del fichero /etc/hosts
Contiene reglas de resolucion de nombres locales (DNS locales)
Utilidad del fichero /etc/fstab
Contiene reglas con los montajes que hay que hacer al inicio, montajes permanentes
Utilidad del fichero /etc/group
Contiene grupos que existen en el sistema y sus miembros
Utilidad del fichero /etc/sudoers
Contiene reglas para permitir que un cierto usuario ejecute un cierto comando como si fuera otro usuario distinto. “sudo” consulta este fichero. “visudo” para editarlo
Utilidad del comando id, export, nohup, wc, time, touch, history
a) id = Información del usuario + sus grupos
b) export = Crear variables de entorno
c) nohup = Lanzar un comando que ignore la señal SIGHUP de hang up
d) wc = Contar lineas, caracteres, bytes
e) time = Nos da el tiempo que tarda en ejecutarse el comando que pongamos a continuación
f) touch = Sirve para modificar las fechas del i-node. Si el fichero no existe lo crea vacio a menos que le digas lo contrario
g) history = Historial de comandos ejecutados
Utilidad del fichero /etc/network/interfaces
Configuración de los interfaces de red
Utilidad del paquete SAMBA
Transformar tu linux en un servidor de compartición de ficheros / impresoras (CIFS/SMB)
NOTA: Si soy cliente de CIFS/SMB no necesito SAMBA, necesito instalar las utililidades y montar el la ruta del servidor en una ubicación /mnt/montaje_CIFS
Utilidad del paquete GRUB
Gestor de arranque. GRUB2, LILO
Utilidad del paquete BIND
Montar un servidor de DNS
¿Que permisos se activan si usamos chmod 1654 fichero1?
a) 1 = Sticky bit (sobre directorios)
b) 6 = Lectura / escritura para el usuario
c) 5 = Lectura / ejecución para el grupo
d) 4 = Lectura para otros
drw-r-x-r-T
¿Qué información relevante se almacena en un i-node?
- nº inodo
- uid owner
- gid owner
- fechas [amc] –> Acceso, Modificacion, Cambio (en los nuevos indoes está la de creación también)
- nº hard links
- tamaño
- tipo de fichero
Datos = punteros a bloques de índices que apuntan a datos
Utilidad del comando su
Cambiar de usuario (switch user)
Utilidad del fichero /etc/resolv.conf
Configuración del resolver DNS
Utilidad del fichero /etc/crontab
Planificación de ejecución de tareas/comandos. A diferencia de ‘at’ estas tareas quedan planificadas con periodicidad.
¿Cómo puedo saber el estado del servicio “mariadb.service?
systemctl status mariadb.service (modelo SystemD)
service mariabd.service status (modelo SystemV)
Utilidad del comando “ip n s”
Mostrar los vecinos (arp) = ip neigh show
Significado del comando “ss -atun”
Comando para mostrar las conexiones a nivel TCP/UDP. Se usuaran los números de puerto
-a
-t = tcp
-u = udp
-n = Nº de puerto
con netstat -atun también nos sale el mismo resultado
Utilidad del comando “ulimit”
Para limitar el uso de determinados recursos (memoria, ficheros, cpu) a un proceso.
NOTA: /etc/security/limits.conf -> se puede configurar en este fichero
NOTA: Existen dos niveles de protección (soft limit, hard limit)
NOTA: El nuevo software/modelo para esta gestión de recursos –> cgroups
¿Tenemos alguna manera de listar todos los dispositivos USB?
lsusb –> comando especifico
¿Que representa el dispositivo /dev/sdb?
Es un disco SATA/SCSI secundarioi (b)
¿Cómo podemos obtener detalles de la CPU?
lscpu
cat /proc/cpuinfo
¿Cuál es la opción de vi que sirve para salir sin grabar las modificaciones?
:q!
¿A quien protege el Sticky bit?
A un directorio, para que solo el root y el owner de cada fichero puedan borrar o renombrar
NOTA: En Linux a nivel de fichero se ignora
NOTA: El uso más típico es sobre el dir /tmp
¿Qué nos interesa si hacemos un “ps -eo user, euser”?
Muestra un listado de los procesos en ejecución de el usuario Real y el Efectivo
¿Cómo puedo ver los ficheros que tiene abiertos una determinada cuenta de uauario?
lsof -u
¿Se puede realizar un montaje de “solo lectura” de un cierto dispositivo?
Si, con el comando mount y la opción -o ro (read only).
mount -t sist_ficheros -o ro