Linux
Apuntes de Linux
Básicos
Comandos básicos de Linux
Usuarios
Crear un usuario
Para crear un usuario, el comando es useradd [OPCIONES] usuario
. Por ejemplo, si lo hacemos desde root
:
useradd lynze
Si lo hacemos desde un usuario con privilegios, añadimos sudo
:
sudo useradd lynze
Por defecto se crea el home
del usuario en la ruta /home/usuario
.
Si queremos ver todas las opciones, ejecutamos el comando sin más:
[root@pclynze ~]# useradd
Usage: useradd [options] LOGIN
useradd -D
useradd -D [options]
Options:
--badname do not check for bad names
-b, --base-dir BASE_DIR base directory for the home directory of the new account
--btrfs-subvolume-home use BTRFS subvolume for home directory
-c, --comment COMMENT GECOS field of the new account
-d, --home-dir HOME_DIR home directory of the new account
-D, --defaults print or change default useradd configuration
-e, --expiredate EXPIRE_DATE expiration date of the new account
-f, --inactive INACTIVE password inactivity period of the new account
-F, --add-subids-for-system add entries to sub[ud]id even when adding a system user
-g, --gid GROUP name or ID of the primary group of the new account
-G, --groups GROUPS list of supplementary groups of the new account
-h, --help display this help message and exit
-k, --skel SKEL_DIR use this alternative skeleton directory
-K, --key KEY=VALUE override /etc/login.defs defaults
-l, --no-log-init do not add the user to the lastlog and faillog databases
-m, --create-home create the user's home directory
-M, --no-create-home do not create the user's home directory
-N, --no-user-group do not create a group with the same name as the user
-o, --non-unique allow to create users with duplicate (non-unique) UID
-p, --password PASSWORD encrypted password of the new account
-r, --system create a system account
-R, --root CHROOT_DIR directory to chroot into
-P, --prefix PREFIX_DIR prefix directory where are located the /etc/* files
-s, --shell SHELL login shell of the new account
-u, --uid UID user ID of the new account
-U, --user-group create a group with the same name as the user
-Z, --selinux-user SEUSER use a specific SEUSER for the SELinux user mapping
--selinux-range SERANGE use a specific MLS range for the SELinux user mapping
Hay que tener en cuenta que no se crea la contraseña automáticamente.
Creación/modificación de la contraseña
Podemos crear/modificar la contraseña de un usuario desde el propio usuario o desde root
con el comando passwd
.
passwd lynze
Por ejemplo, desde root
:
[root@pclynze ~]# passwd lynze
Changing password for user lynze.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
cron
Para editar el cron
, utilizaremos crontab
.
Formato
Min Hour Day Mon Weekday
┬ ┬ ┬ ┬ ┬
│ │ │ │ └─ Día de la semana (0=Dom .. 6=Sáb)
│ │ │ └────── Mes (1..12)
│ │ └─────────── Día del mes (1..31)
│ └──────────────── Hora (0..23)
└───────────────────── Minuto (0..59)
Campo | Rango | Caracteres especiales |
Minuto | 0-59 | , - * / |
Hora | 0-23 | , - * / |
Día del mes | 1-31 | , - * ? / L W |
Mes | 1-12 | , - * / |
Día de la semana | 0-6 | , - * ? / L # |
Ejemplos
Formato | Resultado |
*/15 * * * * |
Cada 15 minutos |
0 * * * * |
Cada hora |
0 */2 * * * |
Cada 2 horas |
15 2 * * * |
A las 2:15AM de cada día |
15 2 * * ? |
A las 2:15AM de cada día |
10 9 * * 5 |
A las 9:10AM de cada viernes |
0 0 * * 0 |
A media noche de cada domingo |
15 2 * * 1L |
A las 2:15am del último lunes de cada mes |
15 0 * * 4#2 |
A las 00:15am del segundo martes de cada mes |
0 0 1 * * |
Cada primero de mes (mensualmente) |
0 0 1 1 * |
Cada primero de enero (anualmente) |
@reboot |
Cada reinicio (no estándar) |
Cadenas especiales
Formato | Resultado |
---|---|
@reboot |
Se ejecuta una vez, al arranque del sistema (no estándar) |
@yearly |
Se ejecuta una vez cada año, "0 0 1 1 * " (no estándar) |
@annually |
(lo mismo que @yearly ) (no estándar) |
@monthly |
Se ejecuta una vez cada mes, "0 0 1 * * " (no estándar) |
@weekly |
Se ejecuta una vez cada semana, "0 0 * * 0 " (no estándar) |
@daily |
Se ejecuta una vez cada día "0 0 * * * " (no estándar) |
@midnight |
(lo mismo que @daily ) (no estándar) |
@hourly |
Se ejecuta una vez cada hora, "0 * * * * " (no estándar) |
Comando crontab
Comando | Resultado |
---|---|
crontab -e |
Edita o crea un fichero crontab file si no existe. |
crontab -l |
Muestra el fichero crontab. |
crontab -r |
Elimina el fichero crontab. |
crontab -v |
Muestra la última vez que editaste tu fichero crontab. (no estándar) |
Caracteres especiales
Carácter | Observaciones |
---|---|
Asterico (*) |
Coincide con todos los valores del campo o cualquier valor posible. |
Guión (-) |
Se usa para definir un rango. P.ej.: 1-5 en el 5º campo (día de la semana) cada semana de lunes a viernes. |
Barra (/) |
1er campo (minuto) /15 significa cada quince minutos o incrementos del rango. |
Coma (,) |
Se usa para separar elementos. P.ej: 2,6,8 en el 2º campo (hora) se ejecuta a las 2am, 6am y 8am. |
L |
Sólo se puede utilizar para el campo día del mes o día de la semana, 2L en día de la semana indica el último martes de cada mes. |
Almohadilla (#) |
Sólo se puede utilizar para el campo día de la semana que puede seguir por un rango de 1 a 5. P.ej: 4#1 significa "el primer martes" de un mes determinado. |
Interrogación (?) |
Se puede utilizar en lugar de '*' y se usa para dia del mes y día de la semana. El uso está restringido al día del mes o día de la semana en una expresión cron. |
Para más información
- Devhints (devhints.io)
- Crontab Generator (crontab-generator.org)
- Crontab guru (crontab.guru)
Gnome
Exportar e importar perfiles de Gnome Terminal
La herramienta idónea para exportar e importar todos los perfiles de Gnome Terminal es dconf
. Con ello conseguimos guardar toda la configuración que hayamos realizado en Gnome Terminal.
Con este ejemplo realizamos un volcado al archivo gnome-terminal-profiles.dconf
:
dconf dump /org/gnome/terminal/legacy/profiles:/ > gnome-terminal-profiles.dconf
Con este ejemplo restauramos un volcado del archivo gnome-terminal-profiles.dconf
:
dconf load /org/gnome/terminal/legacy/profiles:/ < gnome-terminal-profiles.dconf
Trucos
"Trucos" de Linux
Vim
Algunas veces, sobretodo en las distribuciones modernas y entorno gráfico, cuando instalamos o está instalado vim
y estamos editando en una pantalla de terminal, pasa que cuando seleccionamos un texto, vim
se pone en modo --VISUAL--
. Para evitarlo podemos deshabilitarlo de la siguiente manera:
echo "set mouse-=a" >> ~/.vimrc
De esta forma ya no se activará más este modo.