● Variables, condicionales, bucles,
funciones, etc. en shell scripting.
● Shell scripting gráfico (dialog, etc.).
Comandos básicos
● ls: listar.
● man: manual.
● touch: crea fichero.
● rm: borra fichero.
● pwd: directorio actual.
● mkdir: crea directorio.
● cd: cambia de directorio.
● rmdir: borra directorio.
● echo: escribe texto.
● cp: copia ficheros.
● cat: muestra fichero.
● mv: mueve ficheros.
● more: paginador.
● ln: crea enlaces.
● file: muestra tipo de
fichero.
● head: primeras líneas.
● tail: últimas líneas.
● wc: cuenta líneas.
VI para náufragos
● Dos modos, comando y edición:
Comando
Edición
i
x
J
insertar
borrar
juntar líneas
dd corta línea
p
pegar
:w escribir cambios
:q
salir
[ESC]
volver a modo
comando
El resto de teclas, escriben
texto en el fichero.
Búsquedas y regexps
● Comandos de búsqueda:
– find: busca ficheros.
– grep: busca patrones en ficheros.
– sed: modifica patrones.
– awk: busca y modifica campos en ficheros.
● Todos usan patrones, expresiones
regulares.
Búsquedas y regexps
● find: búsquedas de ficheros.
– Sintaxis:
● find [path] opciones
– Opciones típicas:
● -name “nombre”
● -type (d|f|l|s|...)
● -maxdepth n
● -mindepth n
● -mtime n
● -exec comando \;
({} indica el fichero)
Búsquedas y regexps
● grep: busca una cadena o patrón en
ficheros y muestra las líneas que la
contienen.
– Sintaxis:
● grep [opciones] patron fichero
– Opciones:
● -c: escribe sólo el número de ocurrencias
encontradas.
● -i: ignora mayúsculas y minúsculas.
● -v: escribe líneas que NO contienen el patrón.
● -3: muestra 3 líneas antes y 3 después del patrón.
Búsquedas y regexps
● Patrones (regexp):
– . (un carácter cualquiera)
– * (cero o más ocurrencias del carácter anterior)
– ^ (principio de línea)
– $ (fin de línea)
– [a-f] (cualquier carácter del rango)
– [-AD] (caracteres '-', 'A', 'D')
– [^56] (todos los caracteres excepto '5' y '6')
– [5^6] (caracteres '5', '^', '6')
– [[:alnum:]] (todos los caracteres alfanuméricos)
Búsquedas y regexps
● sed: editor de streams (flujos de datos).
– Sintaxis:
● sed -e “s/patron/reemplazo/g” fichero
– Se emplea normalmente para sustituir
palabras y frases, o para eliminarlas.
Búsquedas y regexps
● awk:
– Awk es un lenguaje de programación
utilizado para manipular texto.
– Los datos se manipulan como palabras
(campos) dentro de una línea (registro).
– Un comando awk consiste en un patrón y una
acción que comprende una o más sentencias.
– Sintaxis:
● awk 'patron { accion }' fichero
Administración del sistema
● Usuarios y grupos:
– useradd: añade un usuario en el sistema.
– userdel: elimina un usuario del sistema.
– usermod: modifica las propiedades de un usuario.
– groupadd: añade un grupo de usuarios en el sistema.
– groupdel: elimina un grupo del sistema.
– groupmod: modifica las propiedades de un grupo.
– passwd: modifica la contraseña de un usuario.
– gpasswd: añade un usuario a un grupo.
Administración del sistema
● Propietarios y permisos:
– chmod: modifica el modo de acceso de un fichero.
– chown: modifica el propietario de un fichero.
– chgrp: modifica el grupo propietario de un fichero.
– who: muestra usuarios conectados al sistema.
– whoami: muestra el nombre de usuario del usuario
actual.
– id: muestra las propiedades del usuario y grupo
actuales.
– su: cambio de usuario actual.
Administración del sistema
● Gestión de procesos:
– top: muestra información de procesador, procesos y
memoria.
– ps: muestra la lista de procesos que se están
ejecutando.
– pstree: ps en forma de árbol.
– pgrep: ps + grep.
– pidof: muestra el PID del proceso que solicitemos.
– kill: envía una señal a un proceso (PID).
– killall: envía una señal a un proceso (nombre).
Administración del sistema
● Gestión de procesos:
– &: al lanzar un proceso lo lanza en segundo plano.
– bg: manda un proceso a ejecutarse en segundo plano.
– fg: lleva un proceso a ejecutarse en primer plano.
– ctrl+z: interrumpe un proceso y lo suspende.
– ctrl+c: interrumpe un proceso y lo para (señal KILL).
– jobs: muestra las tareas de la sesión actual en
segundo plano.
– nohup: hace que un proceso cuelgue de init y redirige
su salida a nohup.out.
Ejemplos
● Ejercicios de ejemplo:
– Matar todos los procesos que haya lanzado el usuario
“ubuntu”.
– Añadir todos los usuarios que tengan como shell
“/bin/false” al grupo “falsos”.
– Contar cuántas visitas a “index.php” se han hecho en
Comentarios de: GNU/Linux desde la línea de comandos (0)
No hay comentarios