Está en la página 1de 6

COMANDOS LINUX

Consola gráfica
● Deshabilitar la interfaz gráfica de forma indefinida ubuntu

sudo systemctl set-default multi-user.target

● Ejecutar interfaz gráfica usu01 de forma puntual:

sudo systemctl start graphical.target

● Recuperar la interfaz gráfica de forma indefinida:

sudo systemctl set-default graphical.target

Montar discos
● lsblk
● diskf
● fdisk -l | grep sd

● Montar CDROM:

mount -t iso9660 -o ro /dev/cdrom /cdrom

sudo umount /cdrom/ (Desmontar CDROM)

● Ver sistema de archivos:

df -Th | grep "^/dev"

Configurar teclado
setxkbmap -layout 'es,es' -model pc105

Cambiar Prompt
export PS1="\u>": Pone prompt el nombre de usuario.
jvega>export PS1="\u:\w>": Pone prompt el nombre de usuario + ruta

GESTIÓN USUARIOS
● Crear usuarios:
sudo adduser “nombre usuario”
más opciones:
sudo useradd -m -s /bin/bash -d /home/pepe2 -p pepe2 pepe2
Vamos a crear al usuario super con directorio de inicio, shell /bin/bash, que pertenece al
grupo latia (previamente creado), su cuenta de usuario vencerá el 31/12/2021, cambiará la
contraseña cada 40 días, el aviso de caducidad de la cuenta será 6 días antes, tendrá 3
reintentos de inicio de sesión, estableceremos el nombre completo del usuario y le asignaremos
una contraseña. Id de usuario “1010”.

sudo useradd -m -K PASS_MAX_DAYS=40 -u 1010 -s /bin/bash -G latia -K


PASS_WARN_AGE=6 -K LOGIN_RETRIES=3 -c "caca de la vaca" caca

● Cambiar contraseña usuarios:


sudo passwd “nombre usuario”

● Borrar usuarios:
sudo deluser --remove-home “nombre usuario”

● Grupo sudo a un usuario


sudo usermod -aG sudo username

● Disponibilidad usuario
getent passwd | grep “nombre usuario”

● Login usuario desde consola


sudo login “nombre usuario”

● Crear grupos desde consola


sudo addgroup “nombre de grupo”

● Añadir un usuario a un grupo desde consola


sudo adduser usersudo-re“nombre de grupo”

● Ver usuario normales


cat /etc/passwd | grep -E ':1[0-9]{3}'

cat /etc/group | grep -E ':x:1[0-9]{3}.*:$'

● Ver grupos de un usuario:


groups “nombre usuario”

cat /etc/group | grep -E ':x:1[0-9]{3}.*[^:]$'

● Información usuario
id “nombre usuario”

● Información completa usuario


lslogins “nombre usuario”
● Miembros de un grupo

getent group “nombre grupo”

● Ficheros importantes
/etc/passwd: El archivo /etc/passwd contiene atributos de usuario básicos.
Este es un archivo ASCII que contiene una entrada para cada usuario.

/etc/group: es un archivo legible en todos (world-readable) que contiene una


lista de grupos, cada uno en una línea separada: developer:x:1002: Cada línea
constante de cuatro campos delimitados por dos puntos: Group Name.
/etc/shadow: El fichero /etc/shadow almacena las contraseñas de las cuentas de
usuario. Se utiliza este fichero por seguridad. /etc/shadow es un archivo de texto
que contiene información sobre las contraseñas de los usuarios del sistema. Es
propiedad del usuario root y del grupo oculto y tiene 640 permisos.

● Caducidad contraseña
sudo chage –list “nombre usuario” link caducidad contraseña

● Usuarios conectados: w

Enlaces duros/blandos
● Enlaces duros (hard link):

ln /home/jvega/nombre.txt /home/jvega/directorio/hardlink.txt

Crear enlaces duros recursivos de todo un directorio:


cp -rl /home/jvega/textos/ /home/jvega/enlacesduros/

● Enlaces simbólicos (soft link):


ln -s /home/jvega/nombre.txt /home/jvega/softlink/simbolico.txt

Crear enlaces simbólicos recursivos de todo un directorio:


cp -rs /home/jvega/textos/ /home/jvega/enlacesblandos/

Crear enlaces simbólicos de un directorio:


ln -s /home/jvega/textos/ /home/jvega/softlink/

● Quitar enlaces:
unlink /home/jvega/softlink/

● Link enlaces duros/blandos:


https://geekland.eu/que-son-para-que-sirven-enlaces-duros-y-simbolicos/
PERMISOS LINUX

● Permisos Linux: Blog AsirLasGalletas

● Link Cálculo de umask

● chown;
chown - cambia el usuario y grupo propietarios de ficheros
chgrp - cambia el grupo al que pertenecen los ficheros

FIND
● Buscar con profundidad (“n” niveles)

Busca ficheros acabados en “.txt”:

find /home/* -name "*.txt" -maxdepth 2

find /home/* -name "*.txt" -mindepth 2

Busca directorios con profundidad

sudo find /home/* -maxdepth 1 -type d

● Buscar por tamaños

find /* -name "*.jpg" -size +100k -and -size -1000k

● Buscar con condiciones lógicas

find . -name ‘*.txt’ -not -name ‘t*’

find . -name ‘*.txt’ -and -name ‘t*’

find /home/jvega -name '*.png' -or -name '*.txt'


● Buscar ficheros de un usuario y cambiar propietario

Busque todos los archivos empezando en el directorio /home/pepe que le


pertenecen al usuario pepe y cambia el dueño de los archivos a root usando el
comando chown.

$ find /home/pepe -user pepe -exec chown root \{\} \;

● Buscar ficheros por permisos y modificar los permisos

Busque todos los archivos en mi directorio home donde el grupo o los otros tienen
permisos de escritura y use el comando chmod para remover ese permiso.

$ find ~ \( -perm -020 -o -perm -002 \) -exec chmod go-w \{\} \;

$ find ~ \( -perm -g=w -o -perm -o=w \) -exec chmod go+w \{\} \;

Buscar todos los archivos en tu directorio home donde el grupo u otros tienen
permisos de escritura y usar el comando chmod para añadir el permiso de escritura
a los otros si no los tuviera ya.

$ find /home/test/ -maxdepth 1 -type f \( -perm -400 -o -perm -040


\) -exec chmod o+w \{\} \;

● Expresiones regulares en find


Utiliza una expresión regular extendida desde tu home para hacer una
búsqueda no recursiva en /etc de los ficheros regulares que contengan dos
p o dos t consecutivas.

find ~ -maxdepth 1 -type f -regex ".*\([pP]\{2\}\|[tT]\{2\}\).*"

find /home/jvega/ -maxdepth 1 -type f -regex .*pp.* -or -regex


.*tt.*

Con una expresión regular desde tu home busca en /etc de forma recursiva
hasta nivel 2 todos los directorios que contengan por uno o dos números.

find ~ -maxdepth 1 -regextype posix-extended -regex '.*[0-9]{2,3}.*'

find -maxdepth 2 -name '[0-9][0-9]*'

Para resolver este problema, puedes utilizar el comando find en Linux. El comando find es
muy poderoso y te permite buscar archivos y directorios en función de diferentes criterios,
como el tamaño, el nombre, la fecha de modificación, etc.

Para buscar los archivos regulares en la carpeta de tu Escritorio con un tamaño


comprendido entre 600 Kb y 1000 Kb, puedes usar el siguiente comando:
bash
Copy code
find ~/Escritorio -type f -size +600k -size -1000k -exec ls -lh {} \; | awk '{ print $5 " " $9 }' |
sort -hr

Explicación del comando:

● find ~/Escritorio: busca en la carpeta de tu Escritorio.


● -type f: limita la búsqueda a archivos regulares.
● -size +600k -size -1000k: limita la búsqueda a archivos con un tamaño mayor que
600 Kb y menor que 1000 Kb.
● -exec ls -lh {} \;: ejecuta el comando ls -lh en cada archivo encontrado para mostrar
información detallada sobre el tamaño y el nombre del archivo.
● awk '{ print $5 " " $9 }': utiliza el comando awk para mostrar solo el tamaño y el
nombre del archivo separados por un espacio.
● sort -hr: ordena los resultados por tamaño de forma descendente (de mayor a
menor) y muestra el tamaño en un formato humano legible (por ejemplo, "1.2M" en
lugar de "1200000").

Este comando te mostrará una lista de todos los archivos regulares en tu carpeta de
Escritorio con un tamaño entre 600 Kb y 1000 Kb, ordenados de mayor a menor según su
tamaño.

find ~/Escritorio -type f -size +600k -size -1000k -exec ls -lh {} \; | awk
'{ print $5 " " $9 }' | sort -hr

También podría gustarte