Sunteți pe pagina 1din 70

Comando grep

Es un programa de utilidad que permite seleccionar las lneas de


un texto que cumplen con un patrn determinado. La orden para
invocarla es:
grep patrn ficheros...
El patrn se escribe como una expresin regular. Los nombres de
los ficheros de entrada pueden incluir comodines. El programa lee
los ficheros y copia a la salida cada lnea que se ajuste al patrn.

Comando grep
Ejemplos:
grep -rin eth0 messages | grep "00:37:"
ps aux | grep tty1
netstat -ano | grep 22 | grep -i LISTEN | grep -w tcp
grep user /var/log/auth.log | grep -v root | grep failure

Comando awk
AWK es un lenguaje para procesar ficheros de texto, lnea a lnea.
La potencia del lenguaje reside en el uso extensivo de
expresiones regulares para seleccionar los fragmentos de
informacin apropiados, y la posibilidad de combinar los estilos de
programacin declarativo e imperativo.
Se invoca de la siguiente manera:
awk patrn { accin } fichero

Comando awk
Ejemplos:
awk '{print $7}' FS=":" /etc/passwd
awk 'BEGIN { print "Usuario UID Shell\n------- --- -----" } $3 >= 500 { print
$1, $3, $7 | "sort -r"}' FS=":" /etc/passwd
uptime | awk '{print NF}'; uptime | awk '{print $NF}'; uptime | awk '{print $
(NF - 2), $(NF - 1), $NF}'
uptime | awk '{print "1min:"$(NF - 2), "5min:"$(NF - 1),"15min:"$NF}'

Comando sed
Sed es usado tpicamente para extraer parte de un archivo
usando un patron o sustituyendo mltiples ocurrencias de una
cadena de texto dentro de un archivo para luego imprimir el
resultado.
Se invoca de la siguiente manera:
sed opcin(es) patrn fichero

Comando sed
Ejemplos:
sed -e '1d' notas_examen.txt
sed -e '/^$/d' area_circulo.c
uptime | awk '{print NF}'; uptime | awk '{print $NF}'; uptime | awk '{print $
(NF - 2), $(NF - 1), $NF}'
uptime | awk '{print "1min:"$(NF - 2), "5min:"$(NF - 1),"15min:"$NF}'

Expresiones Regulares
Las expresiones regulares son patrones
que permiten reconocer secuencias de
smbolos con una estructura sintctica
determinada.
La fcil: Permite realizar un anlisis de
una cadena y buscar dentro de ella un
patrn especfico.

Expresin

Significado

carcter x, si es carcter
normal

cualquier carcter

[aeiou]

un carcter del conjunto

[a-z]

un carcter del rango

[^aeiou0-9]

complementa el conjunto

\x

carcter x, si x es un
carcter especial

principio del texto, si va al


comienzo

fin del texto, si va al final

\<

principio de palabra (*)

\>

fin de palabra (*)

xy

expresin x seguida de y

x+

una o ms repeticiones de
x

x*

cero o ms repeticiones
de x

x?

cero o una aparicin de x

una|otra

una u otra expresin

(x)

expresin x

Ejemplos de Expresiones Regulares


Un dgito numrico, decimal: [0-9]
Una vocal: [AEIOUaeiou]
Una letra, mayscula o minscula: [A-Za-z]
Una palabra que empieza por letra y puede contener
nmeros: [A-Za-z][A-Za- z0-9]*
Un nmero, con punto decimal, al comienzo del texto:
^[+\-0-9][0-9]*\. [0-9]*
Abreviatura del nombre de un mes: (Ene|Feb|Mar|Abr|
May|Jun|Jul|Ago| Sep|Oct|Nov|Dic)

Ejemplos de uso de expresiones


regulaes
Un dgito numrico, decimal: [0-9]
Una vocal: [AEIOUaeiou]
Una letra, mayscula o minscula: [A-Za-z]
Una palabra que empieza por letra y puede contener
nmeros: [A-Za-z][A-Za- z0-9]*
Un nmero, con punto decimal, al comienzo del texto:
^[+\-0-9][0-9]*\. [0-9]*
Abreviatura del nombre de un mes: (Ene|Feb|Mar|Abr|
May|Jun|Jul|Ago| Sep|Oct|Nov|Dic)

SHELL SCRIPTING
Sed es usado tpicamente para extraer parte de un archivo
usando un patron o sustituyendo mltiples ocurrencias de una
cadena de texto dentro de un archivo para luego imprimir el
resultado.
Se invoca de la siguiente manera:
sed opcin(es) patrn fichero

Las distribuciones ms comunes son:

http://www.slackware.com/
http://www.debian.org/

http://www.redhat.com/

http://fedoraproject.org/es/
http://www.freebsd.org/

http://www.suse.com/

Componentes del Sistema Operativo LINUX

LINUX esta compuesto bsicamente de cuatro capas, la


capa ms interna esta conformada por el hardware,
que es el conjunto de piezas fsicas del
equipo de cmputo.

La segunda capa es el Kernel o ncleo del sistema, su


funcin principal es interpretar las instrucciones
proporcionadas por el usuario y convertirlas en
lenguaje de mquina e indicarle al hardware lo que
tiene que realizar con dicha informacin.

Cmo interpretar los nmeros de las versiones de


Kernel:

Las versiones del kernel se numeran con 3 nmeros, de


la siguiente forma: XX.YY.ZZ

XX: Indica la serie principal del kernel. Hasta el


momento slo existen la 1 y 2. Este nmero cambia
cuando la manera de funcionamiento del kernel ha
sufrido un cambio muy importante.

Y: Indica si la versin es de desarrollo o de


produccin. Un nmero impar, significa que es de
desarrollo, uno par, que es de produccin.

La tercer capa esta conformada por el grupo de los


Shells o intrpretes de comandos, los cuales funcionan
como la interfaz entre el usuario y el kernel,
proporcionan las herramientas para que el usuario se
pueda comunicar con el ncleo del sistema de LINUX.

La cuarta y ltima capa es donde se encuentra el


usuario junto con los programas y aplicaciones que se
le han agregado al sistema como hojas de
clculo, lenguajes de programacin, manejadores de
bases de datos, procesadores de texto, etc.

Sistema de archivos

LINUX esta compuesto de un sistema de archivos


jerrquico en el cual no existen unidades de disco, en
su lugar cada unidad de almacenamiento as
como cada dispositivo de hardware, son reconocidos
como un archivo o directorio dentro del sistema.

Existe slo una raz en el sistema, la cual representa la


parte ms alta de la estructura de directorios y es
conocida como root o raz, es representada por el
smbolo de / a partir de este punto se desprenden
diferentes ramas de directorios como las siguientes:

Directorios principales:

Raz del sistema.

/boot Archivos de inicio del sistema.

/sbin Comandos del sistema.

/bin

Comandos del sistema.

/home

Directorios de los usuarios.

/etc

Archivos de configuracin del sistema.

/dev

Dispositivos de hardware.

/var

Variables del sistema.

/var/log

Bitcoras del sistema.

/var/spool/mail Archivos de correo electrnico.

/mnt

Equipos montados.

Elementos bsicos de una cuenta de usuario

Una cuenta de correo esta basada en un login y un


password, sta se complementa con el nombre del
servidor y el dominio del mismo en el cual se encuentra
alojada dicha cuenta.

El login es el identificador del usuario dentro del


servidor, dicho login es nico, es decir, no puede haber
dos cuentas en el servidor con el mismo login ya que
ste es el nombre con que se conoce al usuario dentro
del servidor.

usuario@xx.xx.xx.xx
usuario@dominio.com

El password es la clave de acceso al sistema, slo debe


conocerla el dueo de la cuenta ya que permite el
acceso al servidor, a todos sus
servicios disponibles y a la informacin del usuario.

Cuando el sistema nos pide la contrasea y nosotros la


tecleamos, sta no es impresa en el monitor por
seguridad para evitar que sea vista por otra persona.

Cambio de contrasea

passwd

ste comando nos permite realizar el cambio de


contrasea de una cuenta, para poder realizar el
cambio necesitamos saber la contrasea actual de la
cuenta ya que por seguridad el sistema nos pedir que
insertemos dicha contrasea para a continuacin
teclear la nueva contrasea dos veces para verificar
que haya sido escrita correctamente.

Cierre de Sesion

Es necesario indicarle al sistema que queremos


terminar la sesin de trabajo en el servidor, para ello
existen varios comandos, entre ellos se encuentran los
comandos exit y logout o la combinacin de teclas
Ctrl+d.

Ambos comandos nos permiten terminar la sesin en el


servidor, al momento que lo tecleamos y presionamos
enter se cierra la conexin en el servidor.

Comandos Bsicos

Estructura

comando -opciones argumento1 argumento2 ...

La estructura de los comandos es muy rgida y


generalmente siguen la misma sintaxis, es decir,
siempre se escribe primero el comando, en seguida las
opciones si se requieren y al final los argumentos
necesarios.

Las opciones modifican el funcionamiento de un


comando, generalmente se utilizan para agregar
informacin a la salida de un comando o aumentar
el potencial del comando a ejecutar, las opciones no
son necesarias para la ejecucin del comando, siempre
son antecedidas de un guion y se puede
utilizar ms de una pocin.

Los argumentos son requisito para la ejecucin del


comando, si no damos el argumento apropiado para la
ejecucin del comando, ste no se ejecutar
y mandar un mensaje de error el sistema.

Caracteres Especiales

UNIX maneja varios caracteres especiales, cada uno de


ellos realiza una funcin en especfico, en ocasiones
pueden ser combinados para aumentar
el potencial del comando en ejecucin o para
redireccionamiento, se recomienda que estos
caracteres no se utilicen al nombrar archivos o
directorios.

Estos caracteres son:

; , < > | >> ^ $ & / ~ \ [ ] ( ) . * ?

Reconocimiento del servidor y del Sistema

hostname
nos muestra el nombre del servidor, se
pueden utilizar las siguientes opciones:

-i Esta opcin nos muestra la direccin ip que tiene


asignada el servidor.
-d Nos muestra el dominio del servidor si fue
configurado.
-f Muestra un listado completo incluyendo el nombre
del servidor y su dominio.

uname

uname Nos indica el tipo de LINUX que se esta


utilizando.

-n Indica el nombre del servidor.

-r Muestra la versin del Kernel.

-a Muestra todos los datos antes mencionados.

pwd (Print Working Directory)

pwd

Este comando imprime en pantalla el directorio actual


de trabajo, es decir, donde nos encontramos
posicionados dentro del sistema de directorios
indicndonos la ruta absoluta.

/nivel1/nivel2/nivel3

Rutas Absolutas y Relativas


Las rutas absolutas siempre inician con el smbolo de /
que indica el punto ms alto de la estructura de
directorios, a partir de aqu se debe de poner la ruta
completa para llegar al punto que se quiera afectar.

cd /home

cd /var/spool/mail

Las rutas relativas nunca inician con el smbolo de


raz / en lugar de ello inician la ruta a partir del
directorio actual de trabajo.

Supongamos que se encuentra dos niveles bajo su


directorio home y quiere regresar al nivel superior:

mkdir (Make Directory)


ste comando nos permite crear directorios, es posible
crear varios directorios en la misma lnea de comando
escribiendo uno a continuacin de otro separados por
un espacio.

mkdir tareas

mkdir examen ejercicios msica imgenes

Opciones

-p Crea todos los directorios padres inexistentes, es


decir, primero busca la rama de directorios y si no la
encuentra la crea.

rmdir (Remove Directory)

ste comando borra directorios, la nica condicin que


debe cumplir es que se encuentre vaco el directorio a
ser borrado.

rmdir tareas

ls (list)
Muestra un listado del contenido del directorio actual
de trabajo, este comando tiene varias opciones, entre
las ms importantes se encuentran las
siguientes:

-l Muestra un listado con formato largo indicando


todas las propiedades de los archivos y directorios
del directorio actual de trabajo.
-a Muestra todo el contenido del directorio,
incluyendo los archivos y directorios ocultos.
-r Muestra el listado en orden inverso alfabtico.
-R Muestra un listado en forma recursiva, es decir
lista el contenido de directorios y subdirectorios a
partir de la ruta donde le indiquemos.

Comodines * ?

Existen dos caracteres llamados comodines los cuales


pueden sustituir un carcter o conjunto de caracteres
durante la ejecucin de comandos, Ej.

ls ??a Muestra aquellos archivos y directorios los


cuales tengan el nombre de tres letras y la tercera
sea la letra a

ls *u*t* Muestra aquellos archivos y directorios los


cuales tengan en el nombre una u y una t en
cualquier posicin pero en el orden que se le indica.

cd (Change Directory)

ste comando nos permite movernos entre


directorios, es necesario que le indiquemos la
ruta del directorio al que nos queremos
cambiar.

cd dir1/dir2/dir3

Es posible utilizar rutas absolutas o rutas


relativas segn sea nuestra conveniencia.

cp (copy)

El comando cp nos permite hacer copias de


archivos uno por uno, mltiples archivos o
incluso hacer copias de estructuras de
directorios.

cp origen destino

cp prueba prueba.res

Aqu se esta haciendo una copia del archivo


llamado prueba a otro archivo el cual se
llamar prueba.res

cp arch1 arch2 arch3 arch4 /ruta_destino

Aqu se esta haciendo una copia de mltiples


archivos del directorio actual a una ruta
destino enumerando uno a uno.

cp /dev/*.res .

Aqu se esta haciendo una copia de todos los


archivos que terminen en .res dentro del
directorio actual de trabajo.

cp -r informe respaldo

Aqu se esta haciendo una copia recursiva del


directorio informe dentro del directorio
respaldo.

cp i * respaldo/

La opcin i indica al sistema que realice una


copia interactiva de tal forma que si se esta
copiando un archivo con un nombre de un
archivo que ya existe, el sistema pedir
confirmacin para sobrescribir el archivo
existente.

cp v * respaldo .

La opcin v nos va informando del nombre de


los archivos a los cuales se les esta haciendo
la copia.

rm (remove)
El comando rm borra archivos, puede ser
borrado un solo archivo o varios haciendo uso
de los comodines * ?

rm saludo

rm lo*

rm pr??ba

rm r directorio

La opcin r hace un borrado en forma


recursiva, esta opcin es de mucho cuidado

rm f *

La opcin f forza a que los elementos sean


borrados sin realizar una confirmacin para
ello.

mv (move)
El comando mv tiene dos funciones bsicas, la
primera es mover archivos o estructuras de
directorios de un lugar a otro, la segunda es
renombrar archivos o directorios.
mv saludo carta/

Aqu se esta moviendo el archivo saludo


dentro del directorio carta.

mv saludo hola

Aqu se est cambiando el nombre del archivo


saludo, ahora se llamar hola.

Trabajo con Archivos

cat nos permite ver el contenido de uno o ms


archivos, su funcin original es concatenar
archivos.

cat archivo1 archivo2 ...

n Utilizando la opcin el comando imprime el


contenido del o los archivos numerando las
lneas en forma ascendente.

cat -n archivo1 archivo2 ...

more

Este comando nos permite ver el contenido de


uno o ms archivos imprimindolos en
pantalla, para avanzar una pantalla se
presiona la barra espaciadora, para avanzar
una lnea se presiona la tecla de enter.

more archivo1 archivo2 ...

head

nos muestra las primeras 10 lneas contenidas


en un archivo

head nom_archivo

-n esta opcin le indica al comando que


despliegue las primeras n nmero de lneas
en lugar de 10.

head 20 nom_archivo

tail

nos muestra las ltimas 10 lneas contenidas


en un archivo

tail nom_archivo

-n Esta opcin le indica al comando que


despliegue las ltimas n nmero de lneas en
lugar de 10.

tail n20 nom_archivo

Redireccionamiento

En LINUX existe una salida estndar que es el


monitor, de igual manera hay una entrada
estndar que es el teclado, de tal modo que
todo lo que queramos hacer en forma
convencional se lo debemos indicar al sistema
operativo insertando las instrucciones desde
el teclado, de la misma forma todo resultado
de los comandos ser impreso por default en
la pantalla a no ser que se le indique otra
cosa al sistema.

Redireccionamiento de Salida

El carcter mayor que (>) nos permite


redireccionar la salida de un programa hacia
un archivo, ej.

ls > milista

Manda la salida del comando ls a un archivo


llamado milista, el resultado del comando ls
no se imprime en pantalla, sino en el archivo
indicado.
Si el archivo milista no existe ser creado
automticamente, si el archivo existe ser

Redireccionamiento de Entrada

El carcter menor que (<) nos permite


redireccionar un archivo hacia un programa,
ej.

cat < milista

Este comando manda el archivo milista hacia


el programa cat mostrando en pantalla el
contenido del archivo milista.

mail usuario < milista

Manda el contenido del archivo milista por


correo al usuario con login usuario.

Redireccionamiento de un programa a otro


programa
El carcter pipe (|) funciona como un filtro
mandando la salida de un programa hacia la
entrada de otro programa, enlazando la salida
de un programa con la entrada de otro
programa, ej.

ls l | more

Aqu se est enlazando la salida del comando


ls con el programa more, el cual nos mostrar
el resultado del comando ls por pantalla cada
vez que presionemos la tecla espaciadora.

Redireccionamiento no destructivo o de
adicin.
Doble mayor que (>>) nos permite
redireccionar la salida de un programa hacia
un archivo, si el archivo no existe lo crea,
pero si el archivo existe el resultado del
comando lo aade al final del archivo
existente sin eliminar el contenido del
archivo, ej.

ls >> milista

Redireccionamiento condicionado

Existe una salida estndar de verdadero y


una de falso, a la salida de verdadero le
corresponde el nmero 1 y a la salida de
falso le corresponde el nmero 2, de tal
forma que si en algn comando no se
cumple una condicin en lugar de que el
error se imprima en pantalla puede ser
redireccionado hacia un archivo, ej.

ls R /etc 1>milistado 2>error

Aqu, la salida de verdad esta direccionada


al archivo milistado mientras que la salida

Redireccionamiento condicionado

Existe una salida estndar de verdadero y


una de falso, a la salida de verdadero le
corresponde el nmero 1 y a la salida de
falso le corresponde el nmero 2, de tal
forma que si en algn comando no se
cumple una condicin en lugar de que el
error se imprima en pantalla puede ser
redireccionado hacia un archivo, ej.

ls R /etc 1>milistado 2>error

Aqu, la salida de verdad esta direccionada


al archivo milistado mientras que la salida

Filtros

grep
Este comando busca patrones en archivos.
Por defecto devuelve todas las lneas que
contienen un patrn determinado en uno o
varios archivos.
Utilizando las opciones se puede variar
mucho este comportamiento. Si no se le
pasa ningn archivo como argumento hace
la bsqueda en la entrada estndar.
Sintaxis:

grep [opciones] <patrn> [ficheros]

Ejemplos:

$ grep -H -r linux /usr/share/doc

# grep -n error /var/log/messages

$ grep -i ftp /etc/passwd

$ grep -c root /etc/group

$ grep -l -r -i img /var/www/icons/*

Atributos de los archivos

Tipos de archivos:
Dentro del sistema operativo vamos a
encontrar archivos de diferentes tipos, los
cuales se distinguen por el primer bit de
sus propiedades.
El atributo del primer bit nos indica si el
elemento listado es directorio o archivo,
as mismo nos indica de qu tipo de
archivo se trata.

Archivos ms comunes

d Nos indica que el elemento es un


directorio.

_ Archivo ordinario.

l El elemento listado es una liga suave.

c Archivo de tipo carcter (archivos de


acceso de hardware mediante un bit
como el mouse).

Permisos
Existen tres tipos de permisos que se
aplican tanto a los archivos como a los
directorios, ellos son:

r lectura

w escritura

x ejecucin

Debemos asignar los permisos a los


archivos de acuerdo a la funcin que van a
realizar dependiendo para lo que fueron
creados.
r El permiso de lectura permite que el
archivo pueda ser ledo o copiado.
w Permite escribir en el archivo, hacer
modificaciones o borrarlo si as lo desea.
x Los archivos ejecutables son aquellos
que pueden realizar un proceso.

Estos permisos se encuentran asignados


en tres bloques, los cuales representan al
usuario o dueo del elemento listado, al
grupo al que pertenece el usuario y a los
otros usuarios del sistema, de ello que los
atributos se componen de 10 bits, el
primer bit indica el tipo de elemento que
esta listado (archivo o directorio), los
siguientes 9 bits representan los tipos de
permisos asignados a cada elemento
listado.

chmod (Permisos)
Este comando nos permite modificar los
permisos a los archivos y directorios, la
asignacin de permisos puede hacerse de
dos formas, mediante el mtodo simblico
o mediante el mtodo octal.
chmod indica al sistema el cambio de
permisos.
u Indica que se modificarn los permisos
del usuario dueo del elemento.
g Indica que se modificarn los permisos

chmod u+r,g-rx,o+r hola

Para modificar los permisos se pone el


indicador de los permisos a afectar ya sea
para el usuario, el grupo o los otros, seguido
del signo + si se quiere agregar el permiso o
de si se quiere quitar el permiso separando
con una coma los bloques de permisos, al final
se indica el nombre del elemento a afectar.

Mtodo Octal
Con el mtodo octal se asignan directamente
los permisos en base a una tabla de
validacin que va numerada de 0 a 7
dependiendo de los permisos que se deseen
asignar, cada permiso adquiere un valor
numrico:

X vale 1
W vale 2

R vale 4

quedando nuestra tabla de la siguiente forma:

Mtodo Octal
Asignacin Permisos
0 ___

Ninguno

1 _ _ x Ejecucin
2 _ w _ Escritura
3 _wx

Escritura y ejecucin

4 r _ _ Lectura
5 r _ x Lectura y ejecucin
6 rw_

Lectura y escritura

7 rwx

Lectura, escritura y ejecucin

De tal forma que si deseamos poner todos los


permisos para el usuario, permisos de lectura
y ejecucin para el grupo y ninguno para los
otros el comando quedara de la siguiente
forma:

chmod 750 hola

Sustituyendo el nmero correspondiente para


cada bloque de permisos al usuario, al grupo
y a los otros.

Procesos
Un proceso es un programa que se encuentra
corriendo dentro del servidor, cada proceso
tiene un tiempo de vida que va desde el
momento en que presionamos la tecla de
enter hasta que termina la ejecucin del
proceso.
Todos los procesos tienen un dueo, este
dueo es el usuario quien invoco el proceso
desde el intrprete de comandos, de tal forma
que ningn otro usuario puede afectar las
tareas que ese usuario esta realizando,
debido a que no son dueos del proceso que
se esta realizando.

Cuando nosotros iniciamos una sesin dentro


del servidor en realidad estamos ejecutando
una copia del intrprete de comandos que
tenemos por default, a esta copia del
intrprete se le asigna un nmero el cual esta
asociado al proceso en ejecucin, por cada
sesin que nosotros iniciemos se va a ejecutar
una nueva copia del Shell asignndole un
nuevo nmero de identificacin para este
proceso.
Es importante recalcar que todo proceso tiene
una dependencia del shell principal del
sistema, en nuestro caso como usuarios todos
los procesos que generemos van a depender
de la copia del Shell que nosotros estamos

ps
Este comando permite ver los procesos que se
estn ejecutando desde nuestra sesin
abierta, y que se encuentra en uso en este
momento, muestra un listado de los procesos
en formato corto.
ps u login muestra un listado de todos los
procesos que esta ejecutando un usuario,
aunque se encuentre trabajando en varias
sesiones el sistema listar todos los procesos
que le pertenecen a dicho usuario.

ps f entrega un listado de los procesos que


se estn ejecutando en nuestra sesin,
muestra los procesos en formato largo, donde
podemos ver la dependencia de los procesos
por el UID, PID y el PPID
El UID es el identificador del Usuario dueo
del proceso
El PID es el nmero del identificador del
Proceso en ejecucin.
El PPID es el identificador del Proceso Padre
del Proceso en ejecucin.

ps e Muestra un listado en formato sencillo


de todos los procesos ejecutndose en el
servidor.
ps fea Muestra todos los procesos
ejecutndose en el servidor en formato largo.
Los procesos pueden encontrarse en diferente
estado dependiendo de la atencin que estn
teniendo en un momento en especfico.
ps h nos indica el estado en que se esta
ejecutando los procesos.

Estado de los Procesos


Z Zombie, cuando un proceso corre en forma
independiente, incluso del shell o del proceso
que lo invoc.
R En ejecucin, se encuentra en la CPU.
T Stopped o detenido.
S Sleeping Durmiendo en espera de recibir
una solicitud para iniciar su trabajo.

kill Este comando nos permite entre otras


opciones matar procesos, nosotros como
usuarios nicamente podemos matar nuestros
propios procesos.
kill 9 PID mata el proceso indicado
kill 15 PID mata el proceso pero al mismo
tiempo lo reinicia asignndole el mismo PID,
generalmente se utiliza esta opcin para
procesos que necesitan estar siempre en
ejecucin.

S-ar putea să vă placă și