Basics
~ |
indica que está en el directorio home |
$ |
indica si es un usuario normal |
# |
indica si es el administrador del sistema |
root |
es el usuario administrador del sistema y puede realizar cualquier tarea de administración |
sudo -l |
muestra toda la información |
exit |
salir |
/home |
directorio del usuario |
pwd |
muestra la ruta donde estoy |
cd |
cambia de directorio |
cd /directorio/subdirectorioA |
cd .. |
va al directorio de atrás |
cd |
va al home del usuario |
cd ./directorio/subdirectorioB |
. |
hace referencia al directorio actual |
.. |
hace referencia al directorio padre (al anterior) |
tree |
ver directorios en árbol |
info "comando" |
info del comando |
apt-get update |
instala una actualización |
apt clean |
instala el paquete sin instalarlo |
apt purge nombre_paquete |
purga paquetes |
apt remove nombre_paquete |
elimina paquetes |
Buscar, filtrar, ordenar, contar
find ruta/ -name loquequiera |
busca texto |
find ruta/ -name a* |
busca en la ruta todo lo que empiece por a |
find ruta/ -name a* -exec rm {} \ |
borra todo lo que ha encontrado en ese fichero que empiece por a |
aclaración |
para añadir que haga algo con el resultado añadimos los comandos y al final " {} \; |
find ruta/ -type f |
ficheros |
find ruta/ -type d |
directorios |
find ruta/ -type l |
enlaces simbolicos |
find ruta/ -user nombreusuario |
usuario |
find ruta/ -perm XXX |
permisos |
find ruta/ -size +512c |
tamaño |
-not -path '/\.' |
No muestra en el resultado archivos ocultos .hidden_files |
|
IMPORTANTE si añades un -exec para realizar alguna accion con lo encontrado: hay que añadir al final {} \ |
find / | grep .conf |
equivale a find / -type f -name *.conf |
|
find /home/javi/ -type f -name _practica_SMR_21 -exec ls -l {} \ |
|
find / -type f -size +4M -size -7M |
|
find / -type f -atime -1 |
|
find / -type f -mmin -5 |
grep Eva fichero.tx |
buscar palabra. Muestra la linea completa donde aparece Eva |
grep "Garcia Eva" fichero.txt |
buscar conjunto palabras en ese orden |
wc |
contar el número de líneas, palabras y caracteres |
wc -w (words) |
wc -l (lines) |
sort fichero.txt |
ordena un fichero |
sort -k2 fichero.txt |
ordena por la 2º columna |
sort -n fichero.txt |
ordena por numeros |
sort -r fichero.txt |
ordena al reves |
sort -u fichero.txt |
elimina lineas duplicadas |
| unir varias opciones |
ls -l fichero.txt | grep 2020 | sort -k2 |
|
|
Estructura de directorios
ls |
muestra contenido del directorio |
ls -a |
muestra todos los archivos y directorios, incluso aquellos que están ocultos |
ls -C |
muestra resultados en formato columna |
ls -d |
muestra solo el nombre del directorio en lugar de su contenido |
ls -F |
agrega caracteres especiales al final del nombre de cada archivo para indicar su tipo (por ejemplo, una barra diagonal para un directorio) |
ls -G |
muestra los archivos y directorios en color, lo que puede facilitar la lectura |
ls -h |
muestra los tamaños de los archivos en un formato legible por humanos, como “1K” o “1G” |
ls -I |
i, formato de lista larga |
ls -i |
muestra el número de inodo de cada archivo o directorio |
ls -l |
muestra detalles detallados sobre los archivos y directorios, incluyendo sus permisos, propietarios, tamaños y fechas de modificación |
ls -m |
separa el contenido del directorio con comas |
ls -R |
muestra todos los archivos y subdirectorios en una ubicación dada, incluyendo los que están en subdirectorios |
ls -r |
invierte el orden de visualización de los archivos |
ls -S |
ordenar por tamaño de archivo |
ls -s |
muestra el tamaño de los archivos en bloques de disco |
ls -t |
muestra los archivos ordenados por fecha de modificación, con los más recientes primero |
Usuarios y Grupos SIEMPRE CON SUDO
sudo su |
cambia usuario |
sudo useradd |
crear usuarios |
sudo useradd -g |
asociar a un grupo princiapl (adm) |
sudo useradd -d |
asociar ruta absoluta para su home |
sudo useradd -m |
por si no ha sido creada la home |
sudo useradd -s |
asociar la shell ( /bin/bash ) |
sudo useradd -g adm -d /home/pepe -m -s /bin/bash pepe |
sudo passwd usuario |
establece contraseña |
sudo passwd usuario -d |
borra contraseña |
sudo passwd usuario -e |
fuerza caducidad contraseña |
sudo passwd usuario -i |
si la contraseña de la cuenta lleva caducada INACTIVE días, la cuenta será desactivada |
sudo passwd usuario -i |
si la contraseña de la cuenta lleva caducada INACTIVE días, la cuenta será desactivada. |
sudo passwd usuario -l |
bloque de la cuenta |
sudo passwd usuario -n MIN_DAYS |
obliga a que la contraseña se cambie como pronto a los MIN_DAYS |
sudo passwd usuario -x MAX_DAYS |
obliga a que la contraseña se cambie como tarde a los MAX_DAYS |
sudo passwd usuario -S |
informa estado contraseña |
sudo passwd usuario -u |
desbloquea cuenta |
sudopasswd usuario -w |
preaviso de la fecha de caducidad |
sudo chpasswd |
cambia contraseña |
sudo usermod |
modifica algo de ese usuario |
sudo userdel |
borrar usuarios (no las carpetas) |
sudo userdel -r usuario |
borra todo |
sudo groupadd |
crear grupo |
sudo adduser usuario grupo |
añade el usuario al grupo |
sudo deluser usuario grupo |
borra el usuario del grupo |
sudo groupmod |
modifica grupo |
sudo groupmod -n nombrefin nombreinicial |
cambia nombre al grupo |
sudo groupdel |
borra grupo |
sudo chsh |
cambia la shell de un grupo |
|
|
Metacaracteres
* |
empieza, termna, contiene |
? |
equivale a un caracter |
{} |
varias opciones separadas por comas {az,ro]* |
[] |
es válido lo que haya dentro de ellos |
! |
negación/lo contrario |
| |
la salida estándar (pantalla) de un comando se convierte en la entrada estándar del siguiente comando |
< |
redirecciona la entrada estándar sustituyéndola por el archivo que le indique |
> |
redirecciona la salida estándar de un proceso al fichero o dispositivo que se le indique, borrando la información que el fichero contenía. Si es un fichero que no existe, lo crea |
>> |
redirecciona la salida estándar de un proceso al fichero que se le indique. No borra el contenido del fichero, sino que añade la información al final del fichero. |
2> |
redirecciona la salida de errores de un proceso al fichero que se le indique, borrando la información que el fichero contenía |
2>> |
redirecciona la salida de errores de un proceso al fichero que se le indique pero añadiendo al final de la información del fichero la salida, con lo que no se borra el contenido del fichero |
&> |
redirecciona tanto la salida de errores como la salida estándar a un fichero o dispositivo |
&>> |
redirecciona tanto la salida de errores como la salida estándar a un fichero o dispositivo, pero añadiendo la información al final del contenido del fichero |
Enlaces
Enlaces simbólicos |
ln -s "ruta absoluta origen" "nombre del enlace" |
Enlaces simbólicos |
ln -s "ruta abolsuta origen" "ruta absoluta destino" "nombre enlace" |
Enlaces físicos |
ln "ruta fichero" "nombre enlace" |
Fechas y Mantenimiento Equipo
date |
fecha completa |
date +%d |
día |
date +%m |
mes |
date +%y |
año |
date +%d/+%m/+%y |
día, mes, año |
date --date="tomorrow" |
muestra mañana |
date --date="next mon" |
muestra el próximo lunes |
cal |
calendario |
cal -m 11 |
muestra calendario noviembre |
cal -m 11 2023 |
muestra calendario noviembre del 2023 |
cal -y 2021 |
muestra un calendario del año 2021 |
ncal -M-b |
calendario empieza en lunes estilo clásico |
who |
muestra el usuario que ha iniciado sesión |
whoami |
muestra el usuario actual |
id usuario |
saber datos del usuario |
shutdown |
apagar |
shutdown -h +10 |
apagar dentro de 10h |
reboot |
Reiniciar |
reboot -p |
apagar |
uptime |
saber cuanto tiempo lleva encendida la máquina |
free |
saber cantidad RAM libre |
free -h |
la h humaniza las unidades |
df |
saber espacio disponible en disco (disk free) |
du |
saber espacio usado en disco (disk used) |
history |
muestra el historial completo de comandos usados |
uname |
muestra info sobre el equipo y sistema operativo |
lsb_release |
muestra info distribución y versión instalada |
Atributos y Permisos
lsattr |
nos servirá para listar atributos de ficheros y directorios |
lsattr -Ra | more |
se ven todos los atributos extendidos de todos los archivos y directorios en el directorio actual, mostrándolos página por página |
chattr +A prueba.txt |
nos servirá para cambiar los atributos |
chattr +c prueba.txt |
comprime automaticamente el fichero / lo descomprime cuando se vaya a usar. |
chattr +u prueba.txt |
permite recuperación aunque sea eliminado |
chattr +e prueba.txt |
al ser eliminado todos sus bloques se sobreescriben con 0 |
ls -l (- no tiene r lectura w escritura x ejecución) |
nos podemos dar cuenta que a un lado aparecen unos pequeños atributos, estos son los permisos que tiene cada archivo. Ej: ls -las (large + all + size) |
chmod (- elimina, + añade, = asigna) |
Se utiliza para cambiar los permisos del archivo o directorioSe pueden modificar en formato simbólico o numérico (con letras o con números.) Existe la opción -R, que hace cambie de forma recursiva, es decir, que también afectará el cambio al contenido de directorios. |
chmod (u user, g grupo, o resto, a todos) |
En resumen, la primera cifra (7, 5 o 6) representa los permisos del propietario, la segunda cifra (7, 5 o 4) representa los permisos del grupo y la tercera cifra (7, 5 o 4) representa los permisos de otros usuarios que no son el propietario ni están en el grupo. |
chmod u+rw |
Otorga permisos de lectura y escritura al propietario (usuario) |
chown |
se utiliza para cambiar el propietario del fichero o directorio |
chgrp |
es como la anterior pero así cambiamos el grupo. |
umaks |
Este comando es la abreviatura de user file-creation mode mask, y sirve para establecer los permisos por defecto que tendrán los uevos ficheros y directorios que creemos. |
|
|
Contraseñas y Seguridad
cat /etc/passwd |
podemos ver info de los usuarios (no sus contraseñas). |
cat /etc/shadow | grep nombreusuario |
archivo ASCII de acceso restringido que almacena para cada usuario las contraseñas encriptadas y más info |
cat /etc/profile |
contiene el perfil igual para todos los usuarios, en su interior podemos poner comandos que se ejecutarán al iniciar sesión cualquier usuario |
ls /etc/profile.d/ |
ejecuta todos los script que se encuentran en el directorio |
nano .profile |
Modifica tu perfil. Sitúate en tu directorio home y edita el fichero .profile |
chage -l usuario |
obtiene información sobre la contraseña de un usuario |
chage -M 0 -W 560 ann |
Si queremos obligar al usuario ann a modificar la contraseña cada 60 días, y que mande un aviso 5 días antes de que la contraseña va a caducar, puedo hacerlo así |
pwunconv |
se elimina el fichero shadow pasando las contraseñas cifradas al fichero passwd |
Directorios y Ficheros
mkdir |
crear directorio (carpeta) |
rmdir |
borrar directorio vacío |
rmdir a/b/c |
borra el último directorio |
rmdir a/b/c -p |
borra todos |
rm |
eliminar directorios o ficheros |
rm -i |
pide confirmación (iteraction) |
rm -r |
lo hace recursivo. Si es directorio usar siempre -r |
mv |
cambiar nombre fichero a.txt b.txt |
mv |
mueve directorios mv spiderman ../../DC/ |
touch |
crea fichero |
echo |
escribe texto dentro de un fichero "..." > a.txt |
cat |
mostrar contenido archivo |
cat > prueba.txt |
crea fichero con ese nombre, se escribe lo que sea y luego ctrl+d para salir |
cp hola ../../DC/ -r |
copia hola a DC |
head nombre.extension |
muestra las primeras 10 líneas del fichero |
tail nombre.extension |
muestra las 10 últimas líneas del fichero |
head -num |
muestra las num número de líneas primeras pedidas |
tail -num |
muestra las num número de líneas últimas pedidas |
nano nombre.extension |
muestra contenido de fichero y lo permite editar |
Registros y Archivos
/var/log |
encontraras registro de todo lo que sucede en tu máquina. Los principales son: auth | authpriv | cron | kern | lpr | syslog | user |
ps |
muestra los procesos del sistema |
ps -ef |
Muestra información sobre todos los procesos y proporciona una salida más detallada que incluye información sobre el propietario del proceso, el terminal en el que se está ejecutando, etc. |
kill -9 |
matar/terminar el proceso. Ej: kill -9 1530 (mato el proceso 1530) |
top |
muestra procesos/recursos |
htop |
muestra procesos mas guay (puede que tengas que instalar algo) :) |
tar comprimir |
$ tar -cvf nuevo.tar uno.txt dos.txt tres.txt |
tar descomprimir |
$ tar -xvf archivo.tar |
tar ver contenido |
$ tar -tf archivo.tar. |
zip comprimir |
$ zip nuevo.zip uno.txt dos.txt tres.txt |
zip descomprimir |
$ unzip nuevo.zip |
zip ver contenido |
$ unzip -v nuevo.zip |
rar comprimir |
$ rar a nuevo.rar uno.txt dos.txt tres.txt |
rar descomprimir |
$ rar x nuevo.rar |
rar ver contenido |
$ rar v nuevo.rar o $ rar | nuevo.rar |
|