lunes, 29 de febrero de 2016

ESCRITORIOS DE TRABAJO

ADMINISTRACION DE SERVIDORES II

INTEGRANTES:

-RIOJAS SUCLUPE JUNIOR EXEQUIEL

-CARLOS AUGUSTO VILLEGAS YANCUL

PROFESOR

 MARCO AURELIO PORRO CHULLI


I.TEMA:ESCRITORIOS DE TRABAJO

 1.CONTENIDO

  DEFINICION

KDE

KDE (KDesktop Environment) se trata de un entorno de escritorio creado en 1996 por Mathias Ettrich para diferentes versiones del sistema UNIX. El objetivo al crear este entorno fue el tener algo que permitiese a los usuarios no solo mirar líneas de ordenes e interactuar de forma gráfica con todos los componentes del sistema. De la misma manera, se pretendía que esta, fuera una herramienta fácil de usar. Se basa en el la biblioteca gráfica Qt y actualmente está traducido en más de 108 idiomas.

Este entorno se basa en la personalización, y de la misma manera que GNOME prácticamente cualquier aspecto puede ser configurado por el usuario de la manera que él quiera. Actualmente la última versión estable es la 4.7 y tiene como elemento central en su diseño a “Plasma“. Esta herramienta se crea con el objetivo de combinar el panel Kicker, KDesktop y el gestor de widgets, en un único elemento.

Este es un escritorio diseñado además para ser bonito y eso conlleva que tenga mayor consumo de recursos que GNOME. También es cierto que el mayor consumo de recursos no es exagerado, aunque si sensiblemente superior siendo más pronunciado en la carga del escritorio. Donde más evidente se nota esta diferencia es en equipos con los recursos más ajustados.

GNOME

Este entorno de escritorio es uno de los más conocidos que no solo está presente en Linux. También se puede encontrar en otros sistemas Unix como BSD y Solaris. Gnome (GNU Network Object Model Environment) tuvo su origen en los mejicanos Miguel de Icaza y Federico Mena en 1999, estando traducido actualmente en más de 166 idiomas.

El objetivo de este entorno es crear un sistema de escritorio para el usuario final que sea completo, libre y fácil de usar. Usa las bibliotecas gráficas GTK y está bajo licencia GPL. Una característica bastante útil aunque común a prácticamente cualquier entorno, es el poder usar varios espacios de trabajo, cada uno con un escritorio independiente de los demás. El hecho de pasar aplicaciones entre escritorios es tan simple como arrastrar con el ratón la ventana de dicha aplicación a otro escritorio.

GNOME es muy configurable ya que se puede personalizar prácticamente cualquier cosa. Menús, iconos, tipos de letra, fondo de escritorio, pantalla, tema para las ventanas, sonido o la interacción con las ventanas entre otras.

En Abril de este mismo año, Gnome se actualizó a su versión 3.0 teniendo numerosos cambios, aunque el cambio que ha destacado sobre el resto, es la inclusión de GNOME Shell, en detrimento del GNOME Panel. Esto ha creado bastante controversia ya que los usuarios no pueden utilizar Compiz mientras GNOME Shell se esté ejecutando.

ICEWM

Es un gestor de ventanas para X Window al igual que lo son KDE, GNOME, AfterStep o WindowMaker. La principal diferencia de ICEWM con los demás gestores de ventanas es que ofrece una gran cantidad de funcionalidades y posibilidades con un consumo de recursos y espacio en disco mínimos.

Usar ICEWM tiene una gran cantidad de beneficios para nosotros y nuestra máquina:


Barra de menú (toolbar) totalmente configurable, incluyendo la posición de la misma, los iconos de acceso directo que queremos que aparezcan en ella, la forma en que aparecen las diferentes ventanas en la barra de tareas, reloj, notificador de nuevos mensajes de correo en el buzón, gráficas de uso de CPU y de la red y el modem en la misma barra, etc.
Soporte de escritorios virtuales.
Posibilidad de definir combinaciones de teclado para lanzar las aplicaciones más habituales.
Posibilidad de indicar que determinadas aplicaciones se abran en determinados escritorios virtuales. Por ejemplo, si queremos que Netscape se abra siempre en el escritorio 2 cuando lo lancemos en cualquier otro escritorio y además cambiemos a él. Esto permite abrir cada aplicación en el lugar que más nos interese sin tener que ir moviéndola a otros escritorios.
Posibilidad de que determinadas aplicaciones no aparezcan en la barra de tareas ni podamos cambiar a ellas con ALT+TAB. Esto es útil si por ejemplo ejecutamos habitualmente algún monitor del sistema como Xosview o GKRellM y no queremos que aparezca en la barra de tareas.
Menúes totalmente configurables vía edición manual de ficheros o vía KIceMenu.
Iconos modificables por cualquier otro set (formato xpm).
Configuración de ICEWM editable desde ficheros de configuración o modificable mediante utilidad de configuración (IcePref o IceConf).
Soporte para Themes (http://icewm.themes.org).
Consumo de memoria mínimo: apenas de 1 a 2 MB de memoria frente a los cerca de 15MB necesitados por KDE. Esto lo convierte en un WM realmente ligero
Consumo de disco mínimo: 700KB de espacio en disco una vez instalado.

  
2.RESUMEN

Una de las grandes ventajas de Linux es la posibilidad de personalizar cualquier parte del sistema, como queramos. En este sentido, el entorno de escritorio es una parte muy importante ya que es la parte con la que convivimos y como tal, es vital que nos encontremos cómodos en su uso para que la experiencia de usuario sea lo más satisfactoria posible. Hoy os vamos a hablar de algunos de los entornos de escritorio más conocidos, para que si no los conocíais o solo habíais oído hablar brevemente de ellos, podáis conocerlos un poco mejor.

3.SUMMARY


One of the great advantages of Linux is the ability to customize any part of the system , as we like. In this sense , the desktop environment is a very important part because it is the party with whom we live and as such it is vital that we are comfortable to wear so that the user experience as pleasant as possible. Today we are going to talk about some of the most popular desktop environments , so if there 's some knowledge or just talk briefly Had you heard of them , you may know them a little better.

4.CONCLUSIONES


Todos estos diferentes entornos de escritorio pueden convivir en un mismo sistema Ubuntu, por lo que podremos usar uno u otro según nos convenga en cada situación. Si necesitamos el procesador libre para alguna tarea pesada, podremos usar XFCE o LXDE para dejar libres la máxima cantidad de recursos, o si simplemente queremos leer nuestro correo, o consultar nuestra red social favorita, podremos hacerlo desde la comodidad de GNOME o la belleza de KDE.

5. RECOMENDACIONES
Hay gente que dice que Openbox (gestor de ventanas de LXDE), es algo más ligero que Xfwm (el de XFCE), pero yo no he notado ninguna diferencia. Visualmente LXDE es más bonito, pero como opinión personal, cada uno tiene la suya y habrá gente que le guste más el aspecto de XFCE.

Los escritorios virtuales son una característica que algunos usuarios suelen obviar por considerar que tener varios espacios de trabajo disponibles es algo innecesario, sin embargo, tras probar las ventajas, después de un tiempo se vuelve algo indispensable.

6.GLOSARIO DE TERMINO


Xfce: Escritorio bastante parecido a Gnome, pero con menos elementos. Está previsto para ordenadores poco potentes.

Repositorios: Lugar de alojamiento web en el que se “estacionan” varios paquetes en formato *.deb o *.rpm (según la distribución). Podemos acceder a ellos mediante herramientas como Synaptic.

Synaptic: Permite instalar programas. Su funcionamiento se basa en repositorios: lo que hace es buscar en los repositorios que el usuario haya activado (y en los que vienen de serie, si no han sido desactivados) los paquetes que necesita el programa, y los descarga e instala automaticamente, lo cual deja la tarea de instalar como un juego de niños. (Exiten más programas de este tipo).

Kernel: Núcleo de linux. (Vease Linux)

Terminal: Es un “programa” que sirve para ejecutar acciones en un modo de texto (es decir, el modo contrario al gráfico). Se utiliza sobre todo para el modo superusuario o para modificar los repositorios (tambien para instalar programas).


7.LINKOGRAFIA

*http://www.ubuntu-es.org/node/7658#.Vr6iH_l97IU
*http://gutl.jovenclub.cu/icewm-un-administrador-de-ventanas-de-gnulinux/
*http://www.sromero.org/wiki/linux/sistema/icewm
*http://blog.uptodown.com/entornos-de-escritorio-para-ubuntu-mas-alla-de-unity/
*http://ubunlog.com/configuracion-de-los-escritorios-virtuales-en-kde/

SERVICIOS DE RED

ADMINISTRACION DE SERVIDORES II

INTEGRANTES:

-RIOJAS SUCLUPE JUNIOR EXEQUIEL

-CARLOS AUGUSTO VILLEGAS YANCUL

PROFESOR:

 MARCO AURELIO PORRO CHULLI


I.TEMA:SERVICIOS DE RED

 1.CONTENIDO

  DEFINICION:


INETD

Inetd es un demonio presente en la mayoría de sistemas tipo Unix, conocido como el "Super Servidor de Internet", ya que gestiona las conexiones de varios demonios. La ejecución de una única instancia de inetd reduce la carga del sistema, en comparación con lo que significaría ejecutar cada uno de los demonios que gestiona, de forma individual.

El archivo /etc/inetd.conf enumera estos servidores y sus puertos usuales. El programa inetd escucha en todos estos puertos y cuando detecta una conexión a uno de ellos ejecuta el programa servidor correspondiente.



INNETDD

El demonio xinetd es un super servicio wrapped TCP que controla el acceso a un subconjunto de servicios de red populares incluyendo FTP, IMAP y Telnet. También proporciona opciones de configuración específicas al servicio para el control de acceso, registro mejorado, redireccionamiento y control de utilización de recursos.


Cuando un host cliente intenta conectarse a un servicio de red controlado por xinetd, el super servicio recibe la petición y verifica por cualquier regla de control de acceso wrappers TCP. Si se permite el acceso, xinetd verifica que la conexión sea permitida bajo sus propias reglas para ese servicio y que el servicio no esté consumiendo más de la cantidad de recursos o si está rompiendo alguna regla definida. Luego comienza una instancia del servicio solicitado y pasa el control de la conexión al mismo. Una vez establecida la conexión,xinetd no interfiere más con la comunicación entre el host cliente y el servidor.



  • TCP Wrappers
Cualquiera que esté familiarizado con inetd(8) probablemente haya oído hablar de TCP Wrappers, pero poca gente parece comprender completamente su utilidad en un entorno de red. Parece que todos quieren instalar un cortafuegos para manejar conexiones de red. Aunque un cortafuegos tiene una amplia variedad de usos hay cosas que un cortafuegos no es capaz de gestionar, como el envío de texto como respuesta al creador de la conexión. El software TCP hace esto y más. En las siguientes secciones se explicarán unas cuantas opciones de TCP Wrappers y, cuando sea necesario, se mostrarán ejemplos de configuraciones.

El software TCP Wrappers extiende las habilidades de inetd para ofrecer soporte para cada servidor dæmon bajo su control. Utilizando este método es posible proveer soporte de logs, devolver mensajes a conexiones, permitir a un dæmon aceptar solamente conexiones internas, etc. Aunque algunas de estas opciones pueden conseguirse gracias a un cortafuegos, no sólo añadirá una capa extra de seguridad, sino que irá más allá del nivel de control ue un cortafuegos puede ofrecerle.

Las brillantes capacidades de TCP Wrappers no deben considerarse una alternativa a un buen cortafuegos. TCP Wrappers puede usarse conjuntamente con un cortafuegos u otro sistema de de seguridad, pues ofrece una capa extra de protección para el sistema.



    • EL SERVIO NFS
NFS (sistema de archivos de red: «Network File System») es un protocolo que permite acceso remoto a un sistema de archivos a través de la red. Todos los sistemas Unix pueden trabajar con este protocolo; cuando se involucran sistemas Windows, debe utilizar Samba en su lugar.

NFS es una herramienta muy útil. Si bien anteriormente ha tenido muchas limitaciones, la mayoría ha desaparecido con la versión 4 del protocolo. El inconveniente es qu ela última versión de NFS e más díficil de configurar cuando se quieren utilizar funciones básicas de seguridad como la autenticación y el cifrado, puesto que se basa en Kerberos para estas funcionalidades. Sin éstas, el protocolo NFS tiene que restringirse a la utilización en una red local de confianza puesto que los datos que circulan por la red no están cifrados (un sniffer los puede interceptar) y los permisos de acceso se conceden en función de la dirección IP del cliente (que puede ser suplantada).

EL SERVIDOR SAMBA

Samba es un "software servidor" para Linux (y otros sistemas basados en Unix) que permite administrar y compartir recursos en redes de computadoras con Windows.

De esta forma, es posible usar el Linux como servidor de archivos, servidor de impresión, entre otros, como si la red utilizara servidores Windows (NT, 2000 , XP, Server 2003). Este artículo hace una introducción a Samba mostrando sus principales características y algo de su historia.
Con el servidor Samba, es posible compartir archivos, compartir impresoras y controlar el acceso a determinados recursos de red con igual o mayor eficiencia que los servidores basados en sistemas operativos de Microsoft. Pero, en este caso, el sistema operativo utilizado es el Linux.

El Samba es compatible con prácticamente cualquier versión del Windows, como NT 4.0, 9x, Me, 2000, XP y Server 2003, además de máquinas con Linux, claro.

Todo trabajo hecho por Samba es de alta seguridad, existe un gran rigor en los controles de los recursos ofrecidos. Tanto así, que existen empresas que usan Samba como solución para conflictos existentes entre diferentes versiones del Windows

SERVIDOR DNS CON BIND

Instalación del servidor DNS bind

Si con las posibilidades que nos ofrece dnsmasq no son suficientes para nuestra red y necesitamos un servidor DNS más completo, podemos utilizar el paquete bind9. Para instalarle, podemos hacerlo con apt-get desde una consola de root:
// Instalación del servidor DNS bind
# apt-get install bind9.De esta forma instalaríamos los programas necesarios para disponer de un completo servidor DNS con bind. Tan solo será necesario configurarlo y ponerlo en marcha.

Configuración del servidor DNS

El servidor DNS bind admite tres modos de funcionamiento:

Servidor DNS maestro
Servidor DNS esclavo
Servidor caché DNS

SERVIDOR DNS MAESTRO
En este modo de funcionamiento, nuestro servidor se comporta como un auténtico servidor DNS para nuestra red local. Atenderá directamente a las peticiones de resolución de direcciones pertenecientes a la red local y reenviará a servidores DNS externos las peticiones del resto de direcciones de Internet.

Servidor DNS esclavo
Un servidor esclavo actuará como un servidor espejo de un servidor DNS maestro. Permanecerá sincronizado con el maestro. Se utilizan para repartir las peticiones entre varios servidores aunque las modificaciones solo se realicen en el maestro. En redes locales salvo por razones de disponibilidad, es raro que exista la necesidad de tener dos servidores DNS ya que con uno será suficiente.

  • SERVICIO DE CORREO CON SENDMAIL
sendmail(8) es el agente de transporte de correo (MTA) por defecto de FreeBSD. La responsabilidad de sendmail consiste en aceptar correo de agentes de correo de usuario (MUA) y en entregar dichos correos al agente de transporte de correo apropiado, según se especifique en su archivo de configuración. Sendmail también acepta conexiones de red provinientes de otros agentes de transporte y puede depositar el correo recibido en carpetas locales o o entregarlo a otros programas.

sendmail utiliza los siguientes ficheros de configuración:

SERVIDOR WEB CON APACHE
servidor lamp
El servidor apache es el servidor web más usado en el mundo por su seguridad, utilidad, versatilidad y también por ser software libre ademas de ser un software gratuito, por esa razón he creado este tutorial para su instalación y configuración básica en Ubuntu Linux en donde funciona muy bien ya que es precisamente GNU/Linux el sistema operativo en donde se monta este servidor para aplicaciones reales.

Instalación

La instalación del servidor apache en Ubuntu se puede hacer por medio de la terminal o por medio del centro de software de Ubuntu. 

Instalación por terminal.

Tan solo tienes que oprimir esta combinación de teclas: CTRL + ALT + T y escribir la siguiente orden:

luego de esto ingresa la clave de root o administrador, es decir la misma que creaste al momento de instalar el sistema.

La orden se muestra en la imagen tiene la siguiente explicación:

la primera palabra (sudo) es un comando usado para ejecutar procesos como root sin importar si el usuario en donde iniciados tiene o no permiso para ejecutar dicho proceso.

El comando apt-get hace referencia al sistema de paquetes usado en Ubuntu (apt) que se encarga de todas las tareas relacionadas con el software instalado en el sistema

El parámetro install nos indica que lo que queremos cambiar en el software del sistema es la instalación de un paquete, si quisiéras desinstalar algo puedes usar el comando remove
Por ultimo tenemos el nombre del paquete o los paquetes que queremos instalar.

Instalación por el centro de software de Ubuntu.
Este método es el mas sencillo aunque no siempre se puede instalar de esta manera especialmente en entornos donde no hay siquiera un entorno gráfico, pero para las personas que están aprendiendo este sistema es perfecto para comenzar.
2.RESUMEN


Cualquiera que esté familiarizado con inetd(8) probablemente haya oído hablar de TCP Wrappers, pero poca gente parece comprender completamente su utilidad en un entorno de red. Parece que todos quieren instalar un cortafuegos para manejar conexiones de red.

El servidor apache es el servidor web más usado en el mundo por su seguridad, utilidad, versatilidad y también por ser software libre ademas de ser un software gratuito, por esa razón he creado este tutorial para su instalación y configuración básica en Ubuntu Linux en donde funciona muy bien ya que es precisamente GNU/Linux el sistema operativo en donde se monta este servidor para aplicaciones reales.

3.SUMMARY

Anyone familiar with inetd (8) has probably heard of TCP Wrappers, but few people seem to fully comprehend its usefulness in a network environment. It seems that everyone wants to install a firewall to handle network connections.

Apache is the most widely used web server in the world for their safety, utility, versatility and also to be free software besides being free software, which is why I created this tutorial for installation and basic configuration where Ubuntu Linux it works very well because it is precisely GNU / Linux operating system where the server is mounted for real applications.
4.CONCLUSIONES

 *Ubuntu nos ofrece estas características muy importantes que son muy recomendables.
5.RECOMENDACIONES
*Ubuntu es un software libre pero es poco usado por personas naturales, mayormente son usados por empresas.

5.GLOSARIO DE TERMINOS

Distribución: Linux, al ser de código abierto, deja cabida a modificaciones. Algunos especialistas informaticos crean distribuciones. Estas son variantes de “Linux” que crean diferentes aspectos de él. Es decir, que en la base son todas iguales, pero desde un punto de vista más o menso superficial, son diferentes, y cada una está dedicada a una especialidad. Entre ellas encontramos Debian, Ubuntu, Fedora, RedHat, Mandriva (o Mandrake), SuSe, etc

KDE: Es el tipo de escritorio que se dice más parecidoa Windows. Tiene una barra inferior con un menú tipo Inicio.

Synaptic: Permite instalar programas. Su funcionamiento se basa en repositorios: lo que hace es buscar en los repositorios que el usuario haya activado (y en los que vienen de serie, si no han sido desactivados) los paquetes que necesita el programa, y los descarga e instala automaticamente, lo cual deja la tarea de instalar como un juego de niños. (Exiten más programas de este tipo).

Gnome: Es un tipo de escritorio. Se basa en paneles y lanzadores. Tiene dos paneles basicos a los que podemos añadir gran cantidad de utilidades más o menos útiles. tambien podemos crear otros paneles.

8.LINKOGRAFIA

*http://www.ubuntu-es.org/node/7658#.Vr6iH_l97IU
*http://gutl.jovenclub.cu/icewm-un-administrador-de-ventanas-de-gnulinux/
*http://www.sromero.org/wiki/linux/sistema/icewm
*http://blog.uptodown.com/entornos-de-escritorio-para-ubuntu-mas-alla-de-unity/

miércoles, 3 de febrero de 2016

COMANDO LS

 ADMINISTRACION DE SERVIDORES II

INTEGRANTES:

-RIOJAS SUCLUPE JUNIOR EXEQUIEL

    -CARLOS AUGUSTO VILLEGAS YANCUL

PROFESOR

          MARCO AURELIO PORRO CHULLI


I.TEMA:COMANDO LS

 1.CONTENIDO

  DEFINICION
es un comando del sistema operativo Unix y derivados que muestra un listado con los archivos y directorios de un determinado directorio. Los resultados se muestran ordenados alfabéticamente.
Los archivos y directorios cuyo nombre comienza con . (punto) no se muestran con la instrucción ls, por lo que se suelen denominar «archivos ocultos». La opción -a de ls inhibe este comportamiento, y mostra todos los archivos y subdirectorios, incluso los que comienzan con punto.
ls es una de las herramientas más básicas de los sistemas operativos Unix, por lo que forma parte del paquete GNU Coreutils.


Sintaxis:


Su sintaxis es de la forma:

ls [opciones] [fichero...]


  EJEMPLOS



  1. Muestra los contenidos del directorio root:
    ls /

    lista los contenidos del directorio root.
  2. Muestra archivos y directorios ocultos:

    ls -a

    Lista todas las entradas incluyendo archivos ocultos.
  3. Muestra información de inodo:

    ls -i
    Comandos Linux ls

    El comando anterior muestra el nombre de archivo y el valor del inodo.


2.RESUMEN
Es un comando del sistema operativo Unix y derivados que muestra un listado con los archivos y directorios de un determinado directorio. Los resultados se muestran ordenados alfabéticamente.

Los archivos y directorios cuyo nombre comienza con . (punto) no se muestran con la instrucción ls, por lo que se suelen denominar «archivos ocultos». La opción -a de ls inhibe este comportamiento, y mostra todos los archivos y subdirectorios, incluso los que comienzan con punto.


ls es una de las herramientas más básicas de los sistemas operativos Unix, por lo que forma parte del paquete GNU Coreutils.

3.SUMMARY

It is a command of the Unix operating system and derivatives that shows a list of files and directories in a particular directory . The results are shown in alphabetical order.
Files and directories whose name begins with . (dot) are not shown with the ls command , which are often called " hidden files ". Ls the -a option inhibits this behavior, and demonstrate all files and subdirectories , even beginning with point .
ls is one of the most basic tools of the Unix operating system , which is part of the GNU Coreutils package 

4.CONCLUSIONES
  • Lista el contenido de los directorios (por defecto ordena la salida alfabéticamente).
  • a todos los archivos, incluso los que comienzan con punto (.).
  • -A Lista todos los ficheros en los directorios, excepto los que comienzan con punto . (.) y los que comienzan con doble punto (..).
  • -F indica tipo: / directorio, * ejecutable, @ enlace simbólico.
  • -h indicará el tamaño en KB, MB, etc.
  • -l listado en formato largo (o detallado)
5.RECOMENDACIONES

color[=cuándo] Especifica si emplear color para distinguir los diferentes tipos de archivos. El argumento cuándo puede tener varios valores:
  • none: No usar colores. Esta opción es la predeterminada.
  • auto: Usar colores solamente cuando la salida estándar es una terminal.
  • always: Usar siempre colores. Si ls se usa con la opción --color sin especificar la opción de color, el resultado es el mismo que cuando se usa --color=always.
6.GLOSARIO DE TERMINOS
  • cp: Realiza una copia del archivo fuente como archivo destino.
  • grep: Busca en uno o más archivos, línea por línea, un patrón determinado. Este patrón puede ser un conjunto de caracteres consecutivos o una expresión regular.
  • ls: Ver contenido del directorio. Si no se escribe nombre alguno, ls muestra los nombres de los archivos visibles en el directorio corriente. 
  • La opción -l muestra los permisos de los archivo en formato drwxrwxrwx (usuario-grupo-otros). Ver comando chmod para cambiar los permisos de un archivo.
  • man: Provee documentación de un comando linux específico.
  • mkdir: crear uno o más directorios.
  • mv: mover o renombrar archivos y directorios
  • pwd: Muestra el directorio donde estamos ubicados como camino absoluto.

7.LINKOGRAFIA

  • https://www.hscripts.com/es/tutoriales/linux-commands/ls.html
  • https://es.wikipedia.org/wiki/Ls
  • http://hipertextual.com/archivo/2014/04/comandos-basicos-terminal/
  • https://sololinex.wordpress.com/2008/09/06/recomendaciones-para   empezar-con-linux-y-no-morir-en-el-intento/

miércoles, 6 de enero de 2016

COMANDO DE BUSQUEDA-GREP

 ADMINISTRACION DE SERVIDORES II

INTEGRANTES:

-RIOJAS SUCLUPE JUNIOR EXEQUIEL

    -CARLOS AUGUSTO VILLEGAS YANCUL

PROFESOR

          MARCO AURELIO PORRO CHULLI

I.TEMA:COMANDO DE BUSQUEDA-GREP
 1.CONTENIDO
  DEFINICION
grep es una utilidad de la línea de comandos escrita originalmente para ser usada con el sistema operativo Unix.
Usualmente, grep toma una expresión regular de la línea de comandos, lee la entrada estándar o una lista de archivos, e imprime las líneas que contengan coincidencias para la expresión regular.
Su nombre deriva de un comando en el editor de texto ed que tiene la siguiente forma: g/re/p y significa «hacer una búsqueda global para las líneas que encajen con la expresión regular (regular expression en inglés), e imprimirlas». Hay varios argumentos que se pueden usar con grep para modificar el comportamiento por defecto.
Existen otros retroacrónimos (incorrectos) para el nombre, entre ellos: General Regular Expression Parser (analizador general de expresiones regulares), General Regular Expression Print (imprimir expresión regular general), y Global Regular Expression Print (imprimir expresión regular global), éste último no tan lejano de la realidad.
Una de las cosas que me encanta de los Sistemas Operativos basados en Linux es que podemos de hacer miles de cosas desde una terminal, yo uso actualmente Ubuntu 12.04 y simplemente presiono Ctrl+Alt+T y ya tenemos nuestra ventana del Terminal para ejecutar comandos y todo lo que queramos.

Hoy vamos a ver como usar el comando grep para buscar una palabra o un texto dentro de los archivos de un directorio o incluso dentro de los subdirectorios de este.

La sintaxis del comando grep es:

grep “texto a buscar” directorio-ruta

Ejemplos:

grep "prueba" /home/usuario/prueba/*.*
grep -r "prueba" /home/usuario/prueba/
grep -l "prueba" /home/usuario/prueba/*.* 

En el primer ejemplo buscaremos la palabra "prueba" en el directorio prueba dentro de todos los archivos del directorio, podríamos delimitar la búsqueda por ejemplo buscando solo dentro de los archivos de texto poniendo *.txt en vez de *.* o buscando en los archivos de "Word" poniendo *.doc, etc...

En el segundo ejemplo al añadirle -r le estamos diciendo que queremos buscar la palabra "prueba" en todos los archivos y subdirectorios del directorio prueba.

En el tercer ejemplo al añadirle el -l el resultado nos mostrará solo el nombre del fichero que contiene la palabra prueba.

Otro posibilidad es usar -e para añadir varias palabras o cadenas de texto:

grep -r -e “prueba” -e “grep” /home/usuario/prueba/ 

Una opción más y para mi imprescindible, sobretodo cuando encontramos muchos resultados es hacer que nos cree un archivo con los resultados. Simplemente tenemos que añadir ">> nombrefichero.txt y nos generará un archivo de texto con los resultados. Ejemplo:

grep -r "prueba" /home/usuario/prueba/ >> prueba.txt

  EJEMPLOS

Ejemplos Básicos del comando linux grep

1 Encontrar una palabra en un archivo
Si tenemos un archivo de texto llamado INSTALL y deseamos buscar la palabra Web podemos ejecutar el comando grep de la siguiente forma:
$ grep Web INSTALL
La salida de grep te mostrará todas las lineas que contenga la cadena de texto “Web” y en mi caso muestra esta salida:
Web browser support:
2 encontrar todas las palabras sin importar mayúsculas o minúsculas
$ grep -i web INSTALL
en mi caso muestra una lista extensa de lineas donde está Web, web o WEB y muestro solo un fragmento de esta salida
- A web server running PHP 5.2.0 or higher, with PCRE....
 Web browser support:
 content of the "web" directory in your webserver's document root. If you
 ...
3 Mostrar cuantas coincidencias se han encontrado
En ocasiones no es necesario leer el texto donde se encuentra la cadena de texto o palabra que buscamos, pero, podemos necesitar saber cuantas veces está aparece en el archivo aquí te muestro un ejemplo de cuantas veces aparece la “web” con las opciones anteriores.
$ grep -c Web INSTALL
 1
 $ grep -c web INSTALL
 5
 $ grep -c -i "web" INSTALL
 6
Este ejemplo muestra claramente que al utilizar la opción -i se consideras las coincidencias sin importar mayúsculas o minúsculas.
4 cuando necesitas saber en cual línea está lo que buscas
Para saber en cual línea está el texto o la palabra que buscas utilizas la opción -n asi:
$ grep -n Web INSTALL
 8:Web browser support:
En esta salida te muestra al inicio del texto “8:” que es el número de la línea en donde está la la palabra “Web” dentro del archivo INSTALL.
5 Encontrar un texto en un listado de archivos
El comando linux grep también te puede ayudar a encontrar un texto que se encuentre en una lista de archivos y te puede indicar en que archivo se ha encontrado, aquí te muestro un ejemplo simple de esta opcion:
$ grep -l you ./*
 ./INSTALL
 ./LICENSE
 ./README
Esto te indica que la palabra “you” se encuentra en los archvios INSTALL, LICENCE y README y si estuvieran dentro de otros directorios te mostraría la ruta usando la opción -r para hacer la búsqueda de forma recursiba en los directorios que se encuentran en la ruta de búsqueda.
Espero que grep te sea de gran utilidad, para mí es uno de los comandos que uso casi a diario por que me permite tener información rápida y sencilla cuando administro un servidor linux. Te recomiendo que también veas el siguiente post para que veas como usar grep con tuberias o pipes.
A continuación, en cada ejemplo, intentaremos trabajar con dos archivos de demostración iguales a los siguientes:
[CODE]
$ cat archivo_demo1
ESTA ES LA PRIMER LINEA EN MAYUSCULAS DE ESTE ARCHIVO
esta es la primer linea en minusculas de este archivo
Esta Es La Primer Linea Con El Primer Caracter De Cada Palabra Con Mayuscula
Hay dos lineas vacias sobre esta
Y esta es la ultima linea
$ cp /tmp/archivo_demo1 /tmp/archivo_demo2
[/CODE]
  • Uso básico, buscar una cadena en un archivo
[CODE]
$ grep “esta” archivo_demo1
esta es la primer linea en minusculas de este archivo
Hay dos lineas vacias sobre esta
Y esta es la ultima linea
[/CODE]
  • Buscar una cadena en varios archivos
[CODE]
$ grep “esta” archivo_demo*
archivo_demo1:esta es la primer linea en minusculas de este archivo
archivo_demo1:Hay dos lineas vacias sobre esta
archivo_demo1:Y esta es la ultima linea
archivo_demo2:esta es la primer linea en minusculas de este archivo
archivo_demo2:Hay dos lineas vacias sobre esta
archivo_demo2:Y esta es la ultima linea
[/CODE]
  • Buscar sin coincidencia entre mayúsculas y minúsculas (uso del argumento -i)
[CODE]
$ grep -i “esta” archivo_demo1
ESTA ES LA PRIMER LINEA EN MAYUSCULAS DE ESTE ARCHIVO
esta es la primer linea en minusculas de este archivo
Esta Es La Primer Linea Con El Primer Caracter De Cada Palabra Con Mayuscula
Hay dos lineas vacias sobre esta
Y esta es la ultima linea
[/CODE]
  • Buscar expresiones regulares
[CODE]
$ grep “esta.*linea” archivo_demo1
esta es la primer linea en minusculas de este archivo
Y esta es la ultima linea
[/CODE]
En este ejemplo buscamos aquellas líneas que contienen la palabra “esta” y luego de cualquier texto (*) continúan con “linea”. Para más operadores de expresiones regulares se recomienda leer la documentación del grep.
  • Buscar palabras completas (excluir subcadenas) (uso del argumento -w)
[CODE]
$ grep -iw “de” archivo_demo1
[/CODE]
  • Buscar N líneas luego de la coincidencia
[CODE]
$ grep -A2 “ESTA” archivo_demo1
ESTA ES LA PRIMER LINEA EN MAYUSCULAS DE ESTE ARCHIVO
esta es la primer linea en minusculas de este archivo
Esta Es La Primer Linea Con El Primer Caracter De Cada Palabra Con Mayuscula
$grep -A1 “ESTA” archivo_demo1
ESTA ES LA PRIMER LINEA EN MAYUSCULAS DE ESTE ARCHIVO
esta es la primer linea en minusculas de este archivo
[/CODE]
  • Buscar N líneas antes de la coincidencia
[CODE]
$ grep -B1 “ultima” archivo_demo1
Hay dos lineas vacias sobre esta
Y esta es la ultima linea
[/CODE]
  • Buscar N líneas alrededor de la coincidencia
[CODE]
$ grep -C1 “minusculas” archivo_demo1
ESTA ES LA PRIMER LINEA EN MAYUSCULAS DE ESTE ARCHIVO
esta es la primer linea en minusculas de este archivo
Esta Es La Primer Linea Con El Primer Caracter De Cada Palabra Con Mayuscula
[/CODE]
  • Resaltar los resultados
Es necesario setear las variables de entorno GREP_OPTIONS y GREP_COLOR
[CODE]
$ export GREP_OPTIONS=’–color=auto’ GREP_COLOR=’100;8′
[/CODE]
  • Buscar en archivos recursivamente (uso del argumento -r)
Cuando necesitas buscar una cadena en los archivos del directorio actual y sus subdirectorios. El siguiente ejemplo buscaría la palabra “auto” en todos los archivos del directorio actual y sus subdirectorios.
[CODE]
$ grep -r “auto” *
[/CODE]
  • Buscar no coincidencias (uso del argumento -v)
[CODE]
$ grep -iv “primer” archivo_demo1
Hay dos lineas vacias sobre esta
Y esta es la ultima linea
[/CODE]
  • Mostrar las lineas de varias no coincidencias (uso del argumento -v y los argumentos -e)
[CODE]
$ cat archivo_demo3
a
b
c
d
$ grep -v -e “a” -e “b” -e “c” archivo_demo3
d
[/CODE]
  • Contar el número de ocurrencias (uso del argumento -c)
[CODE]
$ grep -c “esta” archivo_demo1
3
$ grep -ic “esta” archivo_demo1
5
[/CODE]
  • Mostrar solo los nombres de los archivos los cuales contienen coincidencias (uso del argumento -l)
[CODE]
$ grep -l “esta” archivo_demo*
archivo_demo1
archivo_demo2
[/CODE]
  • Mostrar solo la cadena buscada (uso del argumento -o)
Por defecto el comando grep muesrta la línea completa de la cadena o patrón dado, pero si solo quieres mostrar dicha cadena o patrón puedes utilizar el argumento -o.
Nota la diferencia en el ejemplo:
[CODE]
$ grep “es.*linea” archivo_demo1
esta es la primer linea en minusculas de este archivo
Y esta es la ultima linea
$
$ grep -o “es.*linea” archivo_demo1
esta es la primer linea
esta es la ultima linea
[/CODE]
  • Mostrar la posición en el archivo de la conicidencia (uso de argumento -b)
[CODE]
$ grep -bo “es.*linea” archivo_demo1
54:esta es la primer linea
222:esta es la ultima linea
$
$ grep -bo “es.*linea” archivo_demo*
archivo_demo1:54:esta es la primer linea
archivo_demo1:222:esta es la ultima linea
archivo_demo2:54:esta es la primer linea
archivo_demo2:222:esta es la ultima linea
[/CODE]
  • Mostrar la fila en el archivo de la conicidencia (uso de argumento -n)
[CODE]
$ grep -no “es.*linea” archivo_demo*
archivo_demo1:2:esta es la primer linea
archivo_demo1:7:esta es la ultima linea
archivo_demo2:2:esta es la primer linea
archivo_demo2:7:esta es la ultima linea
[/CODE]
2.RESUMEN
El comando grep es uno de los más útiles en Linux. Bien utilizado nos ahorra mucho tiempo a la hora de buscar en archivos y documentos. Puede que al principio no le des mucha importancia, pero cuando lo usas con soltura se vuelve imprescindible.
¿Qué hace el comando grep? Algo muy simple, busca determinada palabra o frase entre los archivos de texto. Si el termino buscado aparece varias veces en un mismo archivo, nos muestra varias lineas de resultado, una por cada coincidencia.
Para entender su funcionamiento, nada mejor que un ejemplo:
grep -r curso /home/steven/Documentos/*
Con ese comando, buscamos la palabra curso en cualquier fichero del directorio Documentos. Esto incluye las carpetas que existan dentro de Documentos (hemos indicado esto al escribir -r). Si deseamos buscar en un fichero concreto, sustituimos * por el nombre del fichero.
Hay un detalle importante, el comando anterior diferencia entre mayúsculas y minúsculas. Está buscando la palabra curso, que no es igual que Curso. Por norma general, nos resulta más interesante que no haga esta distinción. Para que busque el término, independientemente de mayúsculas/minúsculas:
grep -ir curso /home/steven/Documentos/*
Si el termino a buscar contiene más de una palabra, se debe indicar entre comillas. En el siguiente ejemplo buscamos Curso Linux dentro del fichero notas.txt:
grep -i “curso linux” /home/steven/Documentos/notas.txt
3.SUMMARY

The grep command is one of the most useful in Linux. Well used saves us a lot of time when searching for files and documents. It may at first not give it much thought, but when you use it with ease becomes imperative.
What does the grep command? Something very simple, looks certain word or phrase in the text files. If the search term appears several times in a single file, it shows several lines of outcome, one for each match.
To understand how it works, nothing better than an example:
course grep -r / home / Steven / Documents / *
With this command, we look up the word in any file during Documents directory. This includes folders that exist within Documents (we indicated this by writing -r). If we want to find a particular file, we substitute * for the filename
There is an important detail, the above command is case-sensitive. You are looking for the word course, that is not the same course. In general, we find it interesting that we make this distinction. To search for the term, regardless of upper / lower case:

grep -ir course / home / Steven / Documents / *

If your search term has more than one word, you must specify quotes. In the following example we seek within the notas.txt Course Linux file:

grep -i "course linux" /home/steven/Documentos/notas.txt

4.CONCLUSIONES
*El comando grep nos permite buscar, dentro de los archivos, las líneas que concuerdan con un patrón. Bueno, si no especificamos ningún nombre de archivo, tomará la entrada estándar, con lo que podemos encadenarlo con otros filtros.
*Por defecto, grep imprime las líneas encontradas en la salida estándar. Es decir, que podemos verlo directamente la pantalla, o redireccionar la salida estándar a un archivo
5.RECOMENDACIONES
el comando grep sirve para poder filtrar el contenido de un archivo para realizar determinadas busquedas. 
checate esta pagina, hay ejemplos entre los cuales se encuentra el relacionado a tu pregunta.
6.APRECIACION DEL EQUIPO

7.GLOSARIO DE TERMINOS

8.LINKOGRAFIA
*http://www.comoinstalarlinux.com/linux-grep/
*http://siemprelinuxeando.blogspot.pe/2012/06/como-usar-grep-para-encontrar-una.html
*https://es.wikipedia.org/wiki/Grep