B2T4 Linux Flashcards

(26 cards)

1
Q

Que es Linux

A

Un Sistema Operativo de código abierto y que proviene de la familia de los S.O Unix. Emergió como sistema operativo de un servidor para facilitar el acceso de terminales (otros ordenadores “tontos”) y no como una herramienta de escritorio de usuario

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

Que es Shell

A

Interprete de comandos.

En WIndows esta el CMD como nativo.

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

Di varios tipos de interpretes de comandos, varios tipos de shell en Linux.

A

ksh-> Originario Unix. Combina bash y csh
bash-> mayoritario en Linux y MacOs
csh-> Similar a lenguaje C
tcsh-> Mejora de csh

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

Cual es el directorio similar a home en windows?

A

User

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

Comandos Bash(Linux)
2 comandos para cambiar el grupo propietario de un usuario propietario

A

*usermod -add -group <grupo> <usuario>*
usermod -aG developers daniel</usuario></grupo>

*gpasswd -add <usuario> <grupo>*
gpasswd -a daniel developers</grupo></usuario>

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

Comandos Bash(Linux)
chown
exec <comando>
time <comando>
history
date</comando></comando>

A

chown-> Para cambiar el grupo propietario
exec <comando> -> Ejecuta el comando y después cierra sesión de SHELL
time <comando> -> Mide el tiempo que tarda en ejecutarse el comando
history-> Muestra lista de comm. recientes
date-> Devuelve la fecha actual</comando></comando>

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

Comandos Bash(Linux)
su
whoami
id
pwd
touch <nombre_fichero></nombre_fichero>

A

su-> login con otro usuario
whoami-> Muestra el usuario logged
id-> Muestra usuario logged y sus grupos
pwd-> Muestra el directorio actual
touch <nombre_f> Crea archivo + "nombre"</nombre_f>

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

Archivos que se ejecutan por defecto en Linux al iniciar sesión:

A

Archivos globales :
/etc/profile: Archivo ejecutado al inicio de todas las sesiones de shell.
/etc/bash.bashrc: Archivo específico para Bash, ejecutado en cada nueva sesión interactiva.

Archivos de usuario :
~/.profile: Ejecutado al inicio de todas las sesiones de shell para el usuario.
~/.bashrc: Archivo específico para Bash, ejecutado en cada nueva sesión interactiva del usuario.

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

Variables de entorno en shell, que són y como utilizarlas.

TEST=valor
echo $TEST
export TEST (ya definida)
export TEST=valor (define y exporta)
env

A

Variable Local-> Definida con
VARIABLE=valor-> Solo está disponible en el shell actual.

Variable de Entorno-> Definida con
VARIABLE=valor-> seguida de->
export VARIABLE
Está disponible en el shell y sus subprocesos.

env-> Te dice todas las variables de entorno de la sesión de shell

TEST=valor “Asigna “valor” a var. TEST
echo $TEST “Imprime la varible TEST
export TEST=valor “var. utilizable en cualquier proceso de ese shell”

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

Comandos Bash(Linux)
Permisos

umask “Máscara de Permisos”

chmod [opciones] modos archivo/directorio

A

umask 022-> Esto establece que los nuevos archivos tendrán permisos por defecto de -rw-r–r– (644).
La máscara de permisos se expresa como un número octal

chmod 777 directorio-> Esto otorga permisos de lectura, escritura y ejecución a todos los usuarios (dueño, grupo y otros).

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

Variables especiales de SHELL para script

Explícame que hacen cada una de estas variables de este script:

echo ‘$0:’ + $0
echo ‘$1:’ + $1
echo ‘$:’ + $
echo ‘$#:’ + $#
echo ‘$$:’ + $$
echo ‘$@:’ + $@

Y si ejecutamos este script en bash con tres variables, di que aparecerá por terminal:

./script.sh param1 param2 param3

A

$0-> Nombre del script-> ./script.sh

$1,$2, etc.-> Argumentos individuales
$1 = “param1”

$*->Todos los argumentos como una cadena->”param1 param2 param3”

$#-> Número de argumentos->3

$$-> PID del script-> 7256

$@-> Todos los argumentos como una lista separada-> “param1” “param2” “param3”

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

Comandos Bash(Linux) para archivos/directorios

cat script.sh
nano script.sh
vim script.sh
cp documento.txt copia_documento.txt
cp -r carpeta_original/ carpeta_copia/
mv viejo_nombre.txt nuevo_nombre.txt
mv archivo.txt /ruta/destino/
rm archivo.txt
rm -r carpeta/
rm -rf carpeta/

A

cat-> Ver un archivo desde terminal
nano-> Editor texto en terminal
vim-> Editor avanzado de texto en terminal
cp(file)-> Copia un archivo en nuevo archivo
cp(dir)-> Copia una carpeta en nueva carp.
mv(renomb.)-> Renombra un archivo/carp.
mv(move)-> Mueve el archivo a otra carpeta
rm-> Eliminar un archivo
rm -r -> Elimina una carpeta y su contenido
rm -rf -> Fuerza a hacer (rm -r) “+ peligroso”

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

Que hacen los comandos:
cd $OLDPWD
cd -

A

Los 2 comandos hacen lo mismo.
Volvemos al directorio anterior, del que veniamos.

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

Que hacen los comandos:
cd $home
cd ~
cd

A

Hacen los tres lo mismo.
Te mueven al directorio /home

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

Como nos movemos a una capa más interna de SHELL?
Si creamos una variable de entorno env en una capa externa se ve en las internas? y viceversa?

A

su nombre_usuario-> Se mueve a una capa interna

exit-> Se mueve a una capa externa

Vemos las env desde capas mas internas si estan definidas desde una externa o la misma, pero no al revés. Es decir si definimos una env en una capa interna y le damos exit para salir a la capa exterior, no tenemos la env definida.

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

Diferencia entre Vi y Vim?

A

Vi-> Visual Editor -> Es un editor de texto con: modo Normal/comandos y modo insertar/texto

Vim-> Visual Editor Improved -> Es la evolución de Vi

Actualmente aunque activemos el comando vi fichero.txt (lo crea si no existe)
en la mayoría de dispositivos se abre con vim

q -> salir
q! -> cerrar sin guardar
w -> guardar

17
Q

Que hace este comando?

ls -li fichero*.txt

A

ls -> lista archivos y directorios del directorio contenedor
-l -> listar en formato largo
-i -> inode number
fichero*.txt -> Se mostrarán todos los archivos que empiecen con fichero y acaben con .txt

salida:
1308169 -rw-r–r– 1 root root 9 jul 31 20:22 fichero1.txt
1308170 -rw-r–r– 1 root root 18 jul 31 20:23 fichero2.txt

18
Q

Que datos incluye el inode number?´

Como ver esta información??

A

nº de inodo “identificador único del file/dir”
site “tamaño en bytes del archivo”
owner uid “usuarios propietario”
group uid “grupo propietario”
[amc] time “fechas”(acceso, modificación y cambio)
file type “tipo de archivo”
permisos “define quien puede leer, escribir y ejecutar el archivo”

stat fichero1.txt (para ver esta información)

19
Q

Que función tiene el comando touch?

touch -a fichero1.txt
touch -m fichero1.txt

A

Modificar las fechas de acceso (-a) y modificación (-m) de los stats de un inodo.
Además si el fichero no existe lo crea.

vi fichero1.txt

Si entras al fichero ya se cambiaria la fecha de acceso y cambio(cambio el inodo de fecha acceso) y si además guardas cambios se cambiará la fecha de modificación.

20
Q

Cuando cambian las fechas de acceso, modificación y cambio de un fichero?

vi fichero1.txt (lo crea si no existe)
touch fichero1.txt (lo crea si no existe)

A

Acceso-> “atime”
Cuando entras al fichero o haces un touch -a fichero1.txt

Modificación-> “mtime”
Cuando guardas cambios en el fichero o haces un touch -m fichero1.txt

Cambio-> “ctime”
Al modificar los metadatos del archivo (como permisos, propietario, grupo, etc.)
ej: chmod g+w fichero1.txt
(sólo cambia ctime)
Se crea o elimina el archivo(Cambia las tres)
ej: vi fichero1.txt
Se ejecuta el comando touch fichero1.txt sin opciones específicas (cambia las tres).
ej: touch fichero1.txt

21
Q

Que hace el comando:

touch -c fichero2.txt

A

Sirve para que si no esta creado el fichero no lo cree.

22
Q

Como configurar los permisos

A

Usuario
r
w
x
Grupo
r
w
x
Otros

23
Q

En que consiste el paquete acl?

apt install acl

A

ACLs-> Acces Control Lists -> Paquete que permite dar permisos diferentes a usuarios del mismo grupo.

Sin el no se podría ya que sólo diferencia entre usuario propietario, grupo propietario y otros usuarios, no hay más divisiones posibles sin acls.

24
Q

Explica los permisos con esta línea de terminal sacada con el código:

ls -l

-rw-r–r– 1 root root 15 jul 31 20:36 fichero1.txt

A

Grupo 1(left) : Permisos para el propietario del archivo.
Grupo 2(mid) : Permisos para el grupo propietario del archivo.
Grupo 3(right) : Permisos para otros usuarios (todos los demás).

Cada grupo consta de tres caracteres:
r : Lectura (read).
w : Escritura (write).
x : Ejecución (execute).

25
En Linux no se puede cambiar los permisos a usuarios particulares sin ACLs, sólo a usuarios propietarios, grupos propietarios y otros usuarios. Ahora yo quiero crear a dos usuarios (juan y maria) del grupo desarrolladores con permisos diferentes en el archivo script2.sh, como lo harias?
apt install acl (instalo acl si no lo tengo) (creo los usuarios en el grupo desarr.) sudo adduser juan -G desarrolladores sudo adduser maria -G desarrolladores setfacl -m u:juan:rw script2.sh (+permisos) setfacl -m u:maria:rx script2.sh getfacl script2.sh (compruebo los permisos)
26