You are on page 1of 97

GNU & Unix Commands

Worldwide Support for Linux


Objetivos

• Redireccionar la entrada y salida de un comando


• Identificar y manipular variables comunes del entorno shell
• Crear y exportar nuevas variables del shell
• Editar archivos del entorno para crear variables sobre el arranque
del shell
• Describir el propósito y naturaleza de los scripts shell
• Crear y ejecutar scripts shell básicos
• Usar efectivamente construcciones comunes en scripts shell
Objetivo LPI 1.103.1 (Examen 101)

1.103.1 Trabajar en la linea de comandos


Peso: 5

Descripción: El Candidato debe ser capaz de Interactuar con shells y comandos


usando la línea de comandos. Esto incluye tipear comandos y secuencias de comandos
válidos, definir, referenciar y exportar variables de entorno, usar el historial de
comandos y facilidades de edición, invocar comandos en la ruta y fuera de ella, usar
substitución de comandos, aplicar comandos recursivamente a través de un directorio
árbol y usar man para averiguar acerca de los comandos.

Comandos y términos clave:

. man
bash pwd
echo set
env unset
exec ~/.bash_history
export ~/.profile
Personalizar el Shell

Se puede personalizar el entorno de Linux con los


siguientes métodos:
• Uso de alias
• Uso de enlaces simbólicos
• Uso de variables de entorno
Usando Alias

Alias: Cadena de caracteres que es sustituída por otra cadena de


caracteres en el prompt del shell.

El comando alias permite definir un alias para el texto ingresado


en el prompt del shell.

Formato General del comando alias:

alias <cadena ingresada>=<cadena sustituída por el shell>


Variables del Shell

Un shell BASH tiene varias variables en memoria al mismo tiempo


• Una variable es simplemente una porción reservada de
memoria conteniendo información que puede ser accesada
La mayoria de variables en el shell están referidas como variables
de entorno debido a que típicamente son determinados por el
sistema y contienen información que el sistema y los programas
accesan frecuentemente
Variables del Shell

Se pueden crear variables personalizadas propias


• Estas variables son llamadas variables user-defined
(definidas por el usuario)
Además del entorno y de las variables definidas por el
usuario, hay unas variables especiales que son útiles
cuando se ejecutan comandos y en la creación de
nuevos archivos y directorios
Variables del Entorno

Existen muchas variables de entonrno


Las variables de entorno son determinadas por default en
el shell BASH
Para ver una lista de estas variables y sus valores actuales
se puede usar el comando set
• También se puede usar el comando env
• El comando env no muestra las funciones bash definidas
por el entorno (el comando set si lo hace)
Variables del Entorno

Tabla 8-3: Variables de entorno BASH comunes


Variable Descripción
BASH Ruta completa al shell BASH
BASH_VERSION La versión del shell BASH actual

DISPLAY Usado para redireccionar la salida de X Windows a otra computadora o dispositivo

ENV Localización del archivo de configuración de tiempo de activamiento (usualmente -/.bashrc)

EUID UID Efectivo (User ID) del usuario actual


El nombre de archivo usado para almacenar comandos previmante ingresados en el shell
HISTFILE
BASH (usualmente -/.bash_history)

El número de comandos prviamente ingresados que peuden almacenarse en HISTFILE tras


HISTFILESIZE la salida de un usuario a ser usado durante el siguiente ingreso -es típicamente de 1000
comandos.
Variables del Entorno

Tabla 8-3 (continuación): Variables de entorno BASH comunes

Variable Descripción
El número de comandos previamente ingresados que serán almacenados en memoria durante la
HISTSIZE
actual sesión de login – típicamente 1000 comandos
HOME La ruta absoluta del directorio principal del usuario actual
HOSTNAMEEl nombre de host del sistema Linux
LOGNAME El nombre de usuario del usuario actual cuando se loguea en el shell
MAIL Localización del archivo de casilla de correo (cuando se almacena un e-mail)
OLDPWD El directorio de trabajoprevio más reciente
OSTYPE Identifica el sistema operativo actual
Variables del Entorno

Tabla 8-3 (continuación): Variables de entorno BASH comunes

Variable Descripción
Los directorios donde buscar los archivos de programa ejecutables en ausencia de una
PATH ruta absoluta o relativa conteniendo un caracter /
PS1 El aviso del shell actual

PWD El directorio de trabajo actual

RANDOM Crea un número aleatorio cuando es accesado


SHELL La ruta absoluta del shell actual

Usada para determinar los ajustes de terminal- típicamente puesto como “linux” en los
más nuevos sistemas Linux y “consola” en los más antiguos sistemas Linux
TERM
Objetivo LPI 1.103.2 (Exámen 101)

1.103.2 Procesar Corrientes de Texto Usando Filtros


Peso: 6

Descrición: El postulante deberá ser capaz de aplicar filtros a corrientes de


texto. Las tareas incluyen el enviar archivos de texto y corrientes de salida a
travéz de filtros de utilidad de texto para modificar la salida, y usando
comandos de UNIX estándar encontradas en el paquete GNU textutils.
Los archivos claves, términos y utilidades incluyen:

cat od tac
cut paste tail
expand pr tr
fmt sed unexpand
head sort uniq
join split wc
nl tac
Mostrando Contenido de Archivos de
Texto

Concatenación
• Ensamblando el texto junto para hacer un todo mas
grande
• En Linux, palabras y cadenas de texto son unidas para
formar un archivo mostrado
comando cat
• Comando Linux usado para mostrar (o concatenar) todo
el contenido de un archivo de texto en la pantalla
Mostrando Contenido de Archivos de
Texto

Archivos de Bitácora (logs)


• Archivo que contiene acontecimientos pasados del
sistema
Comando tac
• Comando Linux que muestra un archivo en la pantalla
comenzando por la última línea del archivo y terminando
con la primera línea del archivo (es decir, en orden
inverso)
Mostrando Contenido de Archivos de
Texto

Comando head
• Por defecto, muestra las 10 primeras líneas (incluyendo líneas
en blanco) de un archivo de texto en la pantalla de la terminal
• También puede tomar una opción numérica especificando un
número diferente de líneas a mostrar
Comando tail
• Por defecto, muestra las 10 últimas líneas (incluyendo líneas
en blanco) de un archivo de texto a la pantalla de la terminal
• También puede tomar una opción numérica que especifica un
diferente número de líneas a mostrar
• Repase la opción -f durante el laboratorio
Mostrando Contenido de Archivos de
Texto

Comando more
• Comando Linux usado para mostrar el archivo de texto
página por página y línea por línea en la pantalla de la
terminal
• Consigue su nombre del comando pg una vez usado sobre
el sistema de UNIX
• El comando more hace más de lo que hizo pg
Mostrando Contenido de Archivos de
Texto

Comando less
• Comando Linux usado para mostrar un archivo de texto
página por página en la pantalla de la terminal
• Los usuarios pueden usar entonces las teclas de cursor
para navegar en el archivo
Los comandos more y less también pueden ser usados en
la conjunto con la salida de otras comandos si aquella
salida es demasiado grande para caber sobre la
pantalla de la terminal
Mostrando el Contenido de Archivos
Binarios

Es importante emplear comandos de archivo de texto


como cat, tac, head, tail, more, and less sólo en
archivos que contienen texto
• De otra manera podria encontrarse con salidas
aleatorias en la pantalla de la terminal o puede que
la terminal deje de funcionar
Comandos strings (cadenas)
• Comando Linux usado para buscar las cadenas de
textos contenidas en archivo binario
Mostrando el Contenido de Archivos
Binarios

Comando od
• Comando Linux que es usado para mostrar el contenido
de un archivo en formato octal (formato numérico de
base 8)
• Seguridad para usar sobre archivos binarios y archivos de
texto
Objetivo LPI 1.103.3 (Exámen 101)

1.103.3 Realice una gestion de archivo básico.


Peso: 3

Descripción: El postulante debe ser capaz de usar los comandos básicos de UNIX
para copiar, mover, y borrar archivos y directorios. Las tareas incluyen operaciones de
manejo de archivo avanzadas tales como el copiar múltiples archivos
recurrentemente, el borrar directorios recurrentemente, y el borrado de los archivos
que emparejan con un patrón de comodín. Esto incluye el uso simple y avanzado de las
especificaciones del comodín para referirse a archivos, así como el uso de find para
localizar archivos basados en tipo, tamaño, o tiempo.

Comandos principales y términos:

cp rm
find rmdir
mkdir touch
mv
ls File globbing
Estructura de directorios en Linux

Directorio
• Archivo especial en el sistema de archivos usado para
organizar otros archivos en una estructura lógica de árbol

Figura 4-1: Estructura del sistema de archivos para Windows


Estructura de directorios en Linux

Nombre de dirección absoluta


• Nombre de dirección completa a un cierto archivo o directorio que
comienza del directorio de raíz

Figura 4-2: Estructura del sistema de archivos Linux


Cambiando de directorio

Directorio Home
• Un directorio en el sistema de archivos separado para
almacenamiento de archivos personales e información de
los usuarios
Comando pwd (print working directory)
• Comando de Linux usado para mostrar el directorio
actual en el árbol de directorios
Comando cd (cambiar directorio)
• Comando Linux usado para cambiar el directorio actual
en el árbol de directorios
Cambiando de directorio

~ metacaracter
• Puede ser usado referirse al directorio home del usuario
• Puede ser usado especificar otro directorio home otro
usuario añadiendo el nombre de usuario al final del
metacaracter ~
Nombre de ruta relativa
• Nombre de ruta hacia un directorio de destino en
relación con su directorio actual en el árbol considerada
el punto de origen
Cambiando de directorio

Tab Completion
• Característica del BASH Shell que llena en los carácteres
restantes de un único nombre de archivo o el nombre de
directorio cuando el usuario presiona la tecla Tab
Tipos de Archivos

Tipos de archivos comunes:


• Archivos de texto
• Archivos de datos binarios
• Archivos de programas ejecutables
• Archivos directorio
• Archivos enlazados
• Archivos de dispositivo especiales
• Pipes nombrados y archivos de socket
Nombres de archivos

Nombre de archivo
• Identificador fácil de usar asignado a un archivo
Programas ejecutables
• Archivo que puede ser ejecutado por el Linux OS para
correr en la memoria como un proceso y realizar una
función útil
Extensiones del nombre de archivo
• Serie de identificadores después de un punto (.) al final
de un nombre del archivo usados para denotar el tipo del
archivo
Nombres de Archivo

Tabla 4-1: Extensiones comunes para nombres de archivo


Nombres de Archivo

Tabla 4-1 (continuación): Extensiones comunes para nombres de archivo


Listando Archivos

Comando ls
• Comando Linux usado para listar los archivos en un
directorio dado
• Método más comun para mostrar archivos
• Muestra todos los archivos en el directorio actual en el
formato de columna
– Sin embargo, usted también puede agregar un argumento
al comando ls que indique el directorio a ser listado si es
diferente del listado del directorio actual
• Ejemplos
– ls –l listado largo
– ls –lh listado largo en formato capaz de ser leído (MB,GB)
– ls –F lista todos los tipos de archivos
Listando Archivos

Comando ll
• Alias para el comando ls -l
• Da un listado de archivo largo
Comando file
• Comando Linux que muestra el tipo de archivo de un
nombre de archivo especificado
Listando Archivos

Archivos texto
• Archivos que almacenan información en un formato de
texto legible (Ej. ASCII ó Unicode)
Algunos nombres de archivo dentro de cada directorio
home de usuario representan archivos de configuración
importantes o directorios programa
Archivos ocultos
• Archivos que normalmente no son mostrados al usuario
vía comandos comunes del sistema de archivos
Listando Archivos

Tabla 4-2: Opciones comunes para el comando ls


Listando Archivos

Tabla 4-2 (continuación): Opciones comunes para el comando ls


Metacaracteres comodín

File Globbing –Especificando más de un archivo en la


línea de comandos a traves del uso de caracteres
comodín.

Metacaracter comodín
• Puede simplificar comandos que especifican más que un
nombre de archivo en la línea de comandos
• Interpretados por el shell pueden ser usados con los
comandos mas comunes de los archivos del sistema de
Linux
• Empareja ciertas porciones de los nombres de archivo, o
el nombre del archivo entero en si
Metacaracteres comodín

Tabla 4-3: Metacaracteres de comodín


Objetivo LPI 1.103.4 (Test 101)

1.103.4 Uso de streams, pipes, y redireccionamiento


Peso: 5

Descripción: El candidato debe ser capaz de redireccionar streams y


conectarlos para procesar datos textuales eficientemente. Las tareas
incluyen redireccionar entradas, salidas y errores estándar, redirigir la salida
de un comando a la entrada de otro, usar la salida de un comando como
argumento de otro comando, y mandar la salida a stdout y a archivo.

Archivos, términos y utilidades clave incluyen:

< tee
<< xargs
>
>>
|
``
Entrada y Salida de Comandos

• El shell BASH es responsable de proveer una interfase


de usuario y de interpretar comandos ingresados en la
línea de comandos
• El shell BASH tambien puede manipular la entrada y
salida de comandos, siempre que el usuario especifique
ciertas metacaracterísticas shell en la línea de
comandos a continuación del comando
• Descriptores de archivo
• Etiquetas numéricas usadas para definir entrada y
salida de comandos
Entrada y Salida de Comandos

Existen tres descriptores de archivo disponibles para cada


comando que pueden ser manipulados por el shell BASH
:
• Standard Input (stdin)
• Standard Output (stdout)
• Standard Error (stderror)
Entrada y Salida de Comandos

Standard Input (stdin)


• Representa la información ingresada a un comando
durante la ejecución
Standard Output (stdout)
• Representa la salida deseada de un comando
Standard Error (stderror)
• Representa cualquier mensaje de error generado por un
comando
Entrada y Salida de Comandos

Figura 8-1:
Los tres
descriptores de
archivo
comunes
Redireccionamiento

• El shell BASH puede redireccionar la Salida Estándar


(Standard Output) y los Errores Estándar (Standard
Error) de la pantalla del terminal a un archivo en los
sistemas de archivos usando el “>” metacaracter shell
seguido por la ruta absoluta o relativa del archivo
• Se puede redireccionar la Salida Estándar y los Errores
Estándar a archivos separados simueltaneamente
• Es importante usar nombres de archivo distintos para
guardar los contenidos de la Salida Estándar y los
Errores Estándar
Redireccionamiento

Comando Descripción

1> archivo La salida standard del comando es enviada a un archivo en lugar de la pantalla terminal.
> archivo El error standard del comando es enviado a un archivo en lugar de la pantalla terminal.
1> archivo1 2>archivo2 La salida standard del comando es enviada a archivo1 en lugar de la pantalla terminal, y el error
>archivo1 2>archivo2 standard del comando es enviado a archivo2 en lugar de la pantalla terminal
1>archivo 2>&1
>archivo 2>&1 Tanto la salida standrad como el error standard son enviados al mismo archivo en lugar de la
1>&2 2>archivo pantalla terminal
>&2 2>archivo

Tabla 8-1: Ejemplos de Redireccionamiento Común


Redireccionamiento

Comando Descripción
1>>archivo
La salida standard del comando es anexada a un archivo en lugar de ser enviada a la pantalla terminal.
>>archivo
2>>archivo El error standard del comando es anexado a un archivo en lugar de ser enviado a la pantalla terminal
0<archivo
La entrada standard de un comando es tomada de un archivo.
<archivo

Tabla 8-1 (continuación): Ejemplos de Redireccionamiento Común


Tuberías

El redireccionamiento solo ocurre de un comando a un


archivo y viceversa
También se puede enviar la Salida Estándar de un
comando como la Entrada Estándar (Standard Input) de
otro comando
Pipe
• Una cadena de comandos conectados por metacaracteres
“|”
Pipes

Figura 8-2: Redirigiendo información de un comando a otro


Pipes

Figura 8-3: Redirigiendo varios comandos


Pipes

Comando Descripción
Sort Clasifica las líneas en un archivo alfanuméricamente
Sort -r Clasifica las líneas en un archivo alfanuméricamente de manera inversa
Wc Cuenta el número de líneas, palabras y caracteres en un archivo
Wc -l Cuenta el número de líneas en un archivo
Wc-w Cuenta el número de palabras en un archivo
Wc -c Cuenta el número de caracteres en un archivo
Da formato a un archivo para impresión (tiene muchas opciones); coloca una fecha y
Pr
número de página en la parte superior de cada página.
Pr -d Da formato a un arcvhivo como doble-espaciado
Tr Reemplaza los caracteres en el texto de un archivo
Grep Muestra las líneas en un archivo que concuerdan con una expresión en particular
Nl Número de líneas en un archivo

Tabla 8-2: Comandos de filtro comúnes


El comando Tee
• El comando `tee´ copia la entrada estándar a la salida estándar y también a
cualquier archivo dado como argumento
• Esto es úitl no solo cuando se quiere enviar datos usando pipes, sino también
para guardar una copia
• tee
• |------> al archivo
• ============ |=================
• command--->-----|-operator-->---> result of command(s)
• ===============================
• Ejemplos :
• ls /home/user | tee filelisting.txt (a pantalla y filelisting.txt)
• cat listfile* | sort | tee check.file | uniq > result.file
LPI Objetivo 1.103.5 (Test 101)

1.103.5 Crear, monitorear, y matar processes


Peso: 5

Descripcion: Los Candidatos deberan ser capaces de administrar los procesos.


Esto incluye conocer como ejecutar trabajos en primer y en segundo plano
llevando un trabajo desde el segundo hacia el primer plano y viceversa,
inicializar un proceso que debe ejecutarse sin haber sido conectado a una
terminal y señalizar un programa para continuar ejecutandose despues de salir
del sistema. Las tareas tambien incluyen monitorear procesos activos,
seleccionando y ordenando procesos para mostrar, enviando señales a los
procesos, killing processes e identificando y matando aplicaciones X que no hayan
terminado tras el cierre de la sesion X
Archivos claves, terminos, y utilidades incluyen:
&
bg
fg
jobs
kill
nohup
ps
top
Procesos Linux

Programa
• Conjunto estructurado de mandatos almacemados en un
archivo ejecutable en un sistema de archivos
• Debe ser ejecutado para crear un proceso
Proceso
• Programa ejecutandose en memoria y en la CPU
Procesos Linux

Procesos de usuario
• Procesos iniciados por un usuario que se ejecuta en una
terminal
Procesos Demonio
• Procesos del sistema que no estan asociados con una
terminal
Identificador de proceso (PID)
• Identificador unico asignado a cada proceso al inicio
Procesos Linux

Procesos hijo
• Se refiere a un proceso iniciado por otro proceso
(proceso padre)
Procesos padres
• Proceso que ha iniciado otros procesos (procesos hijo)
Identificacion de procesos padre (PPID)
• Es el PID del proceso padre creador del proceso actual
Procesos Linux

Figura 11-1: Procesos Padres y Procesos Hijos


Procesos Linux

Figura 11-2:
Genealogia
de procesos
Viendo Procesos

Estas son algunos utilitarios de linux que pueden ver


procesos
mandato ps
• El utilitario de linux mas comun y versatil para vigilar
procesos
• Sin argumentos el mandato ps muestra una lista de los
procesos que se encuentran corriendo en el shell actual
Viendo Procesos

Estado del proceso


• Estado actual del proceso en el procesador
• La mayoria de los procesos estan en los estados:
durmiendo y ejecutandose
Procesos Zombie
• Proceso que ha terminado de ejecutarse, pero cuyos
padres aun no han liberado su PID
• Tambien conocidos como procesos defunct
Viendo Procesos

Prioridad del proceso (PRI)


• Numero asignado a un proceso, usado para determinar
cuantas porciones de tiempo del procesador debe recibir
Nice value (NI)
• Valor que representa indirectamente la prioridad de un
proceso
– A mayor valor, menor prioridad
Viendo Procesos

Tabla 11-1: Opciones comunes del mandato ps


Viendo Procesos

Mandato top
• Junto con ps es el mandato mas comun para mostrar los
procesos
• Muestra una pantalla interactiva listando los procesos
por tiempo de procesador
– Los procesos que usa mas tiempo de procesador estan
listadosen la parte superior de la pantalla
Viendo Procesos

Rogue processes
• Cuando un proceso se vuelve defectuoso en algun sentido
y continua consumiendo mas recursos del sistema de los
que deberia
El mandato top puede ser usado para cambiar la prioridad
de los procesos o eliminarlos a todos
Eliminando Procesos

Kill signal
• Tipo de señal enviada a un proceso por el mandato kill
• Diferentes señales kill afectan los procesos en diferentes
formas
Mandato kill
• Mandato que elimina todas las instancias de un proceso
por ID de proceso
Eliminando Procesos

Table 11-2:
Common
administrative
kill signals
Eliminando Procesos

Trapping
• Es el proceso de ignorar una señal de kill
mandato killall
• El mandato elimina todas las instancias de un proceso
por nombre de comando
Ejecucion de Procesos

Las 3 formas principales en que un comando de linux


puede ejecutarse son:
• Programas Binarios
• Guiones de shell
• Funciones de shell
Ejecucion de Procesos

Forking
• El acto de crear un nuevo proceso hijo a partir de un
padre en el shell BASH
• Llevada a cabo por la funcion fork en el shell BASH
Proceso Execution

Figure 11-3:
Process
forking
Corriendo procesos en Segundo Plano

Procesos en Primer Plano


• Procesos para los cuales mientras se esta ejecutando el
shell BASH debe esperar a su terminacion
Procesos en Segundo Plano
• Procesos que no requieren que el BASH espere a su
terminacion
• Una ves en ejecución, el usuario recibe el prompt del
shell BASH inmediatamente.
Corriendo procesos en Segundo Plano

Mandato jobs
• Mandato usado para ver la lista de los procesos en segundo
plano que se encuentrar ejecutandose en el shell actual
• El signo + indica el trabajo mas reciente
Mandato foreground (fg)
• Mandato usado para llevar un proceso de segundo plano
hacia primer plano
Mandato background (bg)
• Mandato usado para llevar un proceso de primer plano
hacia segundo plano
Procesos en Segundo Plano Continuados

Otra forma de conseguir que el proceso se ejecute en


segundo plano es con el caracter ampersand (&):

• # sample.sh &
• #
sample.sh deberia ejecutarse en segundo plano, y el
control ser retornado al prompt de mandatos
Ejecución de procesos via nohup tras salida
del sistema

En algunos casos podría querer que un proceso


continue despues que salió del sistema. Esto
puede ser logrado como sigue:
# nohup backup.sh
# logout
backup.sh continuará en ejecución, incluso si el
usuario (root) esta fuera del sistema
Objectivo LPI 1.103.6 (Test 101)

1.103.6 Modificando las prioridades en la ejecución de procesos


Peso: 3

Descripcion: Los candidatos deben ser capaces de administrar las


prioridades en la ejecucion de procesos. Las tareas incluyen
ejecucion de un programa con alta o baja prioridad, determinando la
prioridad de un proceso y cambiando la prioridad de un proceso en
ejecución.

Archivos claves, términos, y utilidades incluyen:


nice
ps
renice
top
Prioridades de Procesos

Porción de tiempo (Time slice)


• El monto de tiempo de procesador dado a un proceso en
sistemas operativos de multiprocesos
• A mayor porción de tiempo en un proceso, este se
ejecutara durante mas tiempo en el CPU y sera
completado mas rapidamente
• Las porciones de tiempo son medidas usualmente en
milisegundos
Prioridades de Procesos

Figure 11-4: The nice value scale


Prioridades de Procesos

Los Procesos son iniciados con un nice value de 0 por


defecto
• En algunos sistemas , a los procesos en segundo plano se
les da un nice value de 4 por defecto para reducir la
oportunidad de que reciban porciones de tiempo del
procesador
mandato nice
• El mandato usado para cambiar la prioridad de un
proceso cuando ya ha sido iniciado
• Ajuste de argumentos del mandato nice
Prioridades de Procesos

mandato renice
• Usado para alterar el nice value de un proceso
ejecutandose actualmente en el sistema
As with the nice command, unicamente el usuario root
puede cambiar el nice value a un negativo usando el
mandato renice
Objetivo LPI 1.103.7 (Exámen 101)

1.103.7 Buscar archivos de texto usando expresiones regulares


Peso: 3

Descripción: El postulante deberá ser capaz de manipular archivos y datos


de texto usando expresiones regulares. Este objetivo incluye la creación
expresiones regulares simples contiendo varios elementos de escritura. Esto
también incluyeel uso de herramientas de expresiones regulares para hacer
funcionar buscadores a través del contenido de archivo o en un sistema de
archivos.

Archivos clave , términos, y utilidades incluyen:


grep
regexp
sed
Buscando texto en los archivos

Herramientas de texto (Text tools)


• Archivo que guarda información en un formato de texto
legible
Expresiones regulares (regexp)
• Metacaracteres especiales usados para emparejar partes
de texto con archivos de texto
• Comunmente usado por muchos comandos de
herramientas tales como grep
Buscando texto en los archivos

Las herramientas de texto y lenguajes de programación


que usan espresiones regulares incluyen :
• grep
• awk
• sed (Ej. sed 's/lady/Lady' editorial)
• vi
• Emacs
• C++
• Perl
Expresiones Regulares

Las diferencias entre expresiones regulares y metacaracteres


comodín incluyen:
• los metacaracteres comodínes son interpretados por el
shell
– Expresiones regulares son interpretadas por programas de
herramientas de texto
• Los metacaracteres comodín emparejan carácteres en
nombres del archivo (o nombres de directorio) sobre un
sistema de archivos Linux
– Las expresiones regulares emparejan caracteres con el
contenido de los archivos de texto en un sistema de
archivos Linux
Expresiones Regulares

Las diferencias entre expresiones regulares y metacaracteres


comodín incluyen (continuación):
• Los metacaracteres comodín típicamente tienen
definiciones diferentes que expresiones regulares
• Hay más expresiones regulares que metacaracteres
comodín
• Las expresiones regulares son divididas en dos categorías
diferentes:
– Comunes
– Extendidas (Add ss + ? | () {} )
– GNU no hace ninguna diferencia
Expresiones Regulares

Tabla 4-4: Expresiones Regulares


Expresiones Regulares

Tabla 4-4 (continuación): Expresiones regulares


El Comando grep
grep
• Soporta Expresiones Regulares Globales de Impresión
• Usado para mostrar líneas en un archivo de texto que
emparejan una cierta expresión regular común
Uso del comando egrep para mostrar líneas de texto que emparejan
expresiones extendidas regulares
El comando fgrep no interpreta ninguna expreción regular y
consecuentemente retorna resultados mucho más rapido que el
comando egrep
Ejemplo:
grep “Error -601” /var/log/messages
grep -v ^$ foo
grep \* /home/root/*
Objetivo LPI 1.103.8 (Exámen 101)

1.103.8 Realizar el archivo básico de operaciones de edición


usando vi
Peso: 1

Descripción: El postulante debe ser capaz de editar archivos texto


usando vi. Este objetivo incluye la navegación con vi, nodos básicos
vi, insertando, editando, depurando, copiando, y encontrando texto.
Archivos claves, terminos y utilidades incluidas:

vi
/, ?
h,j,k,l
G, H, L
i, c, d, dd, p, o, a
ZZ, :w!, :q!, :e!
:!
El Editor vi

Uno de los editores de textos visuales más viejos y más


populares disponibles para sistemas operativos UNIX
• Su equivalente Linux (conocido como vim-vi mejorada) es
estándar sobre casi toda distribución Linux como un
resultado
Aunque no el más fácil de los editores para usar editando
archivos de texto, este tiene la ventaja de su
portabilidad por lo que está disponible casi en
cualquier sistema
El Editor vi

El editor vi es llamado un editor bi-modal pues funciona


en uno de dos modos:
• Modo comando
– Permite al usuario realizar cualquier tarea de edición de
texto disponible que no esta relacionada a insertar texto
dentro del documento
• Modo insertar
– Permite al usuario insertar texto dentro de un documento
pero no permite cualquier otra funcionalidad
El Editor vi

Tabla 4-5:teclas de keyboard comunes para cambiar, del modo insertar


PRECAUCIÓN : Estas teclas DEBEN ser tipeadas en minúscula
El Editor vi

Tabla 4-6: Combinaciones de teclas mas comunmente usadas en el


comando mode
El Editor vi

Tabla 4-6 (continuado): Combinaciones de teclas mas


comunmente usadas en el comando mode
El Editor vi

Tabla 4-6 (continuado): Combinaciones de teclas mas


comunmente usadas en el comando mode
El Editor vi

Tabla 4-7:
Combinaciones de teclas comunmente usadas en el comando mode : prompt
Otros Editores de Texto Comunes

Editor pico (PIne COmposer)


• De lejos, la alternativa más facil a el editor vi
• Comunmente usado para crear y editar e-mails
Editor mcedit (Midnight Commander Editor)
• Nos recuerda a pico y aún tiene más funcionalidad,
soporte a expresiones regulares, y la capacidad de usar
el ratón para resaltar el texto
Otros Editores de Texto Comunes

Editor emacs (Editor MAcroS)


• Alternativa al editor vi que ofrece un juego
funcionalidades iguales
• Tal como pico, usa la tecla Ctrl en la combinación con
ciertas letras para realizar funciones especiales
– Aún puede ser usado con el LISP (LISt Processing) el
lenguaje de programación de inteligencia artificial y apoya
cientos tablas clave de funciones tal como el redactor vi
Otros Editores de Texto Comunes

Tabla 4-8: Funciones de keyboard comunmente usadas en el editor emacs


de GNU
Otros editores de texto Comunes

Editor Gedit
• Editor de textos para el escritorio de GNOME
Kedit editor
• Editor de texto para el escritorio KDE
Los editores gedit y kedit son editores de texto simples
similares a Wordpad

You might also like