ERICLINUX: Comandos Linux
Mostrando entradas con la etiqueta Comandos Linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta Comandos Linux. Mostrar todas las entradas

30/11/09

Nuevos comandos de linux!!


ERICLINUX
Así es amigos, se han agregado más de 100 comandos a la pagina linux comandos ;)
Si quieren checar alguno están invitados... !!

Enlaces de interés:
Suscríbete vía feed ERICLINUX.


ERICLINUX
Así es amigos, se han agregado más de 100 comandos a la pagina linux comandos ;)
Si quieren checar alguno están invitados... !!

Enlaces de interés:
Suscríbete vía feed ERICLINUX.

7/9/08

Comando del dia... Tar..

ERICLINUX

  Ficheros tar                                                                
|Empaquetar: --------------------- tar -vcf archivo.tar fichero1 fichero2...
|Desempaquetar: ------------------ tar -vxf archivo.tar
|Ver contenido ------------------- tar -vtf archivo.tar

Enlaces de interés:
Suscríbete vía feed ERICLINUX.

ERICLINUX

  Ficheros tar                                                                
|Empaquetar: --------------------- tar -vcf archivo.tar fichero1 fichero2...
|Desempaquetar: ------------------ tar -vxf archivo.tar
|Ver contenido ------------------- tar -vtf archivo.tar

Enlaces de interés:
Suscríbete vía feed ERICLINUX.

22/7/08

Comandos equivalentes del MS-DOS a Gnu/Linux

ERICLINUX

Para los que han usado MS-DOS por muchos años y pretenden pasar a sistemas Linux, es muy útil tener una tabla con comandos equivalentes de ambos sistemas operativos.

A continuación, un listado con los comando más comunes:

Comando DOS Comando Linux
cd directorio cd directorio
dir, dir/w ls, ls -l
chdir (directorio actual) pwd
del (borra un archivo) rm
deltree (borra un directorio y todo su contenido) rm -r
copy cp
xcopy (copia todo el contenido de un directorio) cp -R
rename, move mv
type (imprime el contenido de un archivo a la pantalla) cat
help, [comando] /? man
cls (limpia la pantalla) clear
find (busca por una palabra(s) en un determinado archivo) grep
fc (compara 2 archivos y encuentra diferencias entre ellos) diff
set (muestra variable de entorno) env
set variable (fija una variable de entorno) export
edit nombre-de-archivo vi archivo, pico archivo, nano -w archivo (varios basados en el editor de tu preferencia)
attrib +h archivo (fija un archivo como oculto) mv file .file
mem (muestra la memoria disponible) free, top
scandisk fsck
defrag c:\ debugfs
format mke2fs, mk32fs -j, mkreiserfs, mkswap, etc. (varios basados en el sistema de archivos de tu preferencia)
pkzip (crea un paquete de archivos) tar, utilizado en conjunto con gzip para compresión)
tracert traceroute
ipconfig (visualiza dirección IP y configuración de red) ifconfig
nbtstat -a nombrehost (toma la información DNS de un determinado host) nslookup nombrehost
route print (muestra tablas de ruteo) route -n
net send host/ip message (envia un mensaje a otro computador) smbclient -M Windows Host, talk (Linux hosts)


Fuente: archivogeek.com
Enlaces de interés:
Suscríbete vía feed ERICLINUX.

ERICLINUX

Para los que han usado MS-DOS por muchos años y pretenden pasar a sistemas Linux, es muy útil tener una tabla con comandos equivalentes de ambos sistemas operativos.

A continuación, un listado con los comando más comunes:

Comando DOS Comando Linux
cd directorio cd directorio
dir, dir/w ls, ls -l
chdir (directorio actual) pwd
del (borra un archivo) rm
deltree (borra un directorio y todo su contenido) rm -r
copy cp
xcopy (copia todo el contenido de un directorio) cp -R
rename, move mv
type (imprime el contenido de un archivo a la pantalla) cat
help, [comando] /? man
cls (limpia la pantalla) clear
find (busca por una palabra(s) en un determinado archivo) grep
fc (compara 2 archivos y encuentra diferencias entre ellos) diff
set (muestra variable de entorno) env
set variable (fija una variable de entorno) export
edit nombre-de-archivo vi archivo, pico archivo, nano -w archivo (varios basados en el editor de tu preferencia)
attrib +h archivo (fija un archivo como oculto) mv file .file
mem (muestra la memoria disponible) free, top
scandisk fsck
defrag c:\ debugfs
format mke2fs, mk32fs -j, mkreiserfs, mkswap, etc. (varios basados en el sistema de archivos de tu preferencia)
pkzip (crea un paquete de archivos) tar, utilizado en conjunto con gzip para compresión)
tracert traceroute
ipconfig (visualiza dirección IP y configuración de red) ifconfig
nbtstat -a nombrehost (toma la información DNS de un determinado host) nslookup nombrehost
route print (muestra tablas de ruteo) route -n
net send host/ip message (envia un mensaje a otro computador) smbclient -M Windows Host, talk (Linux hosts)


Fuente: archivogeek.com
Enlaces de interés:
Suscríbete vía feed ERICLINUX.

20/7/08

Linux Comandos Parte 2.

ERICLINUX
Los mejores comandos de Julio hasta el momento...



Enlaces de interés:


Suscríbete vía feed ERICLINUX.

ERICLINUX
Los mejores comandos de Julio hasta el momento...



Enlaces de interés:


Suscríbete vía feed ERICLINUX.

14/7/08

Una Guia Linuxera, Para un Windolero.

ERICLINUX
Navegando por mi blogroll, me encuentro con éste articulo titulado..Una Guia Linuxera, Para un Windolero.
Muy buena la guía.

Enlaces de interés:



Suscríbete vía feed ERICLINUX.

ERICLINUX
Navegando por mi blogroll, me encuentro con éste articulo titulado..Una Guia Linuxera, Para un Windolero.
Muy buena la guía.

Enlaces de interés:


Suscríbete vía feed ERICLINUX.

3/7/08

Comandos Linux Parte I.

ERICLINUX
Aquí tienen útiles comandos para nuestro sistema Unix.

Enlaces de interés:


Suscríbete vía feed ERICLINUX.

ERICLINUX
Aquí tienen útiles comandos para nuestro sistema Unix.
Enlaces de interés:


Suscríbete vía feed ERICLINUX.

4/6/08

acceder a Google por comandos desde Firefox

Utilizar una secuencia de comandos para realizar busquedas de webs, hacer traducciones , buscar fotos,videos, callejeros, etc... y mucho mas es lo que nos ofrece goosh .Una página web en ajax que utiliza los servicios de búsqueda de Google pero ofreciéndolos con una interface similar a una shell de Unix.Lo interesante es que se puede integrar en los motores de busqueda de Firefox(Una vez dentro de la web de goosh, escribimos el comando "addengine" y ya tendremos el nuevo motor de busqueda en firefox).




Ahora accederemos a Google por comandos,por ejemplo :

translate es en "estoy leyendo el blog de ericlinux" Y nos devolvera el texto traducido de español a ingles

images "pinguinos" y nos devolvera fotos de pinguinos

video "futbol" nos devuelve videos de futbol

Las busquedas son mas rapidas al escribir el comando y lo que queremos directamente en firefox y comandos hay unos cuantos






Utilizar una secuencia de comandos para realizar busquedas de webs, hacer traducciones , buscar fotos,videos, callejeros, etc... y mucho mas es lo que nos ofrece goosh .Una página web en ajax que utiliza los servicios de búsqueda de Google pero ofreciéndolos con una interface similar a una shell de Unix.Lo interesante es que se puede integrar en los motores de busqueda de Firefox(Una vez dentro de la web de goosh, escribimos el comando "addengine" y ya tendremos el nuevo motor de busqueda en firefox).




Ahora accederemos a Google por comandos,por ejemplo :

translate es en "estoy leyendo el blog de ericlinux" Y nos devolvera el texto traducido de español a ingles

images "pinguinos" y nos devolvera fotos de pinguinos

video "futbol" nos devuelve videos de futbol

Las busquedas son mas rapidas al escribir el comando y lo que queremos directamente en firefox y comandos hay unos cuantos






27/5/08

controlar el audio desde la consola


alsamixer es un programa de mezclado de audio para la arquitectura de sonido de Linux ALSA.Se utiliza para configurar el sonido y ajustar los volumenes . Tiene una interface para usuarios basada en ncourses (modo texto) y no necesita del sistema X Window y soporta gran variedad de placas con dispositivos múltiples.Nos desplazamos a traves del tabulador y las flechas de direccion

Tecleamos en consola: alsamixer

Opción Descripción
-h, -help Ayuda: muestra las opciones disponibles.
-c Selecciona la placa de sonido a utilizar, si en el sistema existen más de una placa. Las placas se numeran desde 0 (por defecto).
-D Selecciona el mezclador para el control.
-g Cambia el uso de colores.
-s Minimiza la ventana del mezclador
-V Selecciona el modo de vista inicial, reproducción, captura o todos.


via wikipedia





alsamixer es un programa de mezclado de audio para la arquitectura de sonido de Linux ALSA.Se utiliza para configurar el sonido y ajustar los volumenes . Tiene una interface para usuarios basada en ncourses (modo texto) y no necesita del sistema X Window y soporta gran variedad de placas con dispositivos múltiples.Nos desplazamos a traves del tabulador y las flechas de direccion

Tecleamos en consola: alsamixer

Opción Descripción
-h, -help Ayuda: muestra las opciones disponibles.
-c Selecciona la placa de sonido a utilizar, si en el sistema existen más de una placa. Las placas se numeran desde 0 (por defecto).
-D Selecciona el mezclador para el control.
-g Cambia el uso de colores.
-s Minimiza la ventana del mezclador
-V Selecciona el modo de vista inicial, reproducción, captura o todos.


via wikipedia




6/5/08

yes > config &

ERICLINUX

Vía Braianet llega éste post "yes > config &", gracias Braian, como siempre colaborando y mostrando tu conocimiento con el publico.

Este sera un post muy breve orientado a los principiantes en los sistemas GNU/Linux.
¿Alguna vez en un IRC alguien les dijo que tipeen yes > config &?, ¿qué es esto?.

Bien paso a explicar, este es un parecido a una fork bomb (aunque no tiene nada que ver con la funcion fork), se basa de tres partes, el comando en si (yes), la redireccion (>) y la ejecución en el background (&).

  • yes: produce una secuencia infinita de yes (si)
  • >: redirecciona la salida estándar (la terminal, en este caso)
  • config: la redirección va a parar a un archivo llamado config
  • &: ejecuta el proceso en el background (segundo plano, invisible a nuestros ojos).

Bien, como hemos visto yes, al producir una secuencia inifita de si mismo, sera redireccionado a un archivo llamado config, el cual sera ejecutado en el background invisible a los ojos del usuario. Este archivo, comenzara a crecer inmediatamente hasta colapsar la capacidad de almacenamiento quoteada para el usuario, y peor aun (si no estuviera quoteada), de la partición, en la cual fue ejecutada. No quedandole otro remedio, al usuario inexperto que reiniciar.

Veamos:

$: yes > config &
[1] 20711

Vemos que la consola nos devuelve la siguiente información, [ 1 ], este es el numero de job del proceso, osea, es un número natural, que identifica a el proceso que se esta ejecutando en el background, y el siguiente número 20711 es el PID, (Identificador del proceso), esta información es muy util, ya que al no poder enviarle una señal de interrupción desde el teclado, deberemos interrumpilo desde la línea de comandos. Para esto, en otra terminal escribimos:

$: pgrep yes
20711

Lo que hemos hecho es buscar el proceso yes, y este nos devuelve el numero de PID<, necesario para poder matarlo, y asi evitar que siga ejecutandose, asi que rapídamente en la shell escribimos:

$: kill 20711

Y listo!, ya hemos matado al proceso yes y detenido la ejecución de esta forkbomb.
Ahora, un dato extra para saber la cantidad que ocupo el archivo generado (config) y conocer realmente lo rapido que se propaga esta secuencia infinita de yes escribimos:

$: du -h /home/usuario/config
157M /home/usuario/config

Por supuesto, que debemos cambiar por la ruta (path) donde nosotros hemos ejecutado el comando, y donde se encuentra el archivo config, viendo esto, podemos decir que en mi caso (una ejecucion de 25 segundos aproximadamente), el archivo crecio de 0 a 157 Mb., osea a una velocidad increible.

Espero que esto le sirva a todos los novatos, y a los que estan un poco mas avanzados, que no sean tan estúpidos de hacerles ejecutar esto, ya que asi, los alejan cada vez mas del software libre.

Un Saludo, Eric.

Enlaces de interés:

ERICLINUX

Vía Braianet llega éste post "yes > config &", gracias Braian, como siempre colaborando y mostrando tu conocimiento con el publico.

Este sera un post muy breve orientado a los principiantes en los sistemas GNU/Linux.
¿Alguna vez en un IRC alguien les dijo que tipeen yes > config &?, ¿qué es esto?.

Bien paso a explicar, este es un parecido a una fork bomb (aunque no tiene nada que ver con la funcion fork), se basa de tres partes, el comando en si (yes), la redireccion (>) y la ejecución en el background (&).

  • yes: produce una secuencia infinita de yes (si)
  • >: redirecciona la salida estándar (la terminal, en este caso)
  • config: la redirección va a parar a un archivo llamado config
  • &: ejecuta el proceso en el background (segundo plano, invisible a nuestros ojos).

Bien, como hemos visto yes, al producir una secuencia inifita de si mismo, sera redireccionado a un archivo llamado config, el cual sera ejecutado en el background invisible a los ojos del usuario. Este archivo, comenzara a crecer inmediatamente hasta colapsar la capacidad de almacenamiento quoteada para el usuario, y peor aun (si no estuviera quoteada), de la partición, en la cual fue ejecutada. No quedandole otro remedio, al usuario inexperto que reiniciar.

Veamos:

$: yes > config &
[1] 20711

Vemos que la consola nos devuelve la siguiente información, [ 1 ], este es el numero de job del proceso, osea, es un número natural, que identifica a el proceso que se esta ejecutando en el background, y el siguiente número 20711 es el PID, (Identificador del proceso), esta información es muy util, ya que al no poder enviarle una señal de interrupción desde el teclado, deberemos interrumpilo desde la línea de comandos. Para esto, en otra terminal escribimos:

$: pgrep yes
20711

Lo que hemos hecho es buscar el proceso yes, y este nos devuelve el numero de PID<, necesario para poder matarlo, y asi evitar que siga ejecutandose, asi que rapídamente en la shell escribimos:

$: kill 20711

Y listo!, ya hemos matado al proceso yes y detenido la ejecución de esta forkbomb.
Ahora, un dato extra para saber la cantidad que ocupo el archivo generado (config) y conocer realmente lo rapido que se propaga esta secuencia infinita de yes escribimos:

$: du -h /home/usuario/config
157M /home/usuario/config

Por supuesto, que debemos cambiar por la ruta (path) donde nosotros hemos ejecutado el comando, y donde se encuentra el archivo config, viendo esto, podemos decir que en mi caso (una ejecucion de 25 segundos aproximadamente), el archivo crecio de 0 a 157 Mb., osea a una velocidad increible.

Espero que esto le sirva a todos los novatos, y a los que estan un poco mas avanzados, que no sean tan estúpidos de hacerles ejecutar esto, ya que asi, los alejan cada vez mas del software libre.

Un Saludo, Eric.

Enlaces de interés:

24/4/08

Linux Comandos Vuelve...


ERICLINUX
Así es, vuelve LINUX COMANDOS.
Ya se encuentra con la nueva estética y con más contenido.
Todos los días se postearán comandos para nuestro sistema Unix.


Suscribete vía FEED a LINUX COMANDOS.

Linux Comandos

Un Saludo, Eric.
Suscríbete vía feed.


ERICLINUX
Así es, vuelve LINUX COMANDOS.
Ya se encuentra con la nueva estética y con más contenido.
Todos los días se postearán comandos para nuestro sistema Unix.


Suscribete vía FEED a LINUX COMANDOS.

Linux Comandos

Un Saludo, Eric.
Suscríbete vía feed.

24/3/08

Expresiones Regulares en la shell. Ejemplos de uso con grep, awk y sed.

ERICLINUX
Navegando por mi blogroll me encuentro con Braian que realiza un articulo muy interesante titulado "Expresiones Regulares en la shell. Ejemplos de uso con grep, awk y sed.".

Estaba intentando hacer un CGI muy sencillo usando bash (como lo que quería hacer era algo muy específico de bash, no he querido usar ni Perl, ni PHP). La única dificultad que he encontrado ha sido obtener las distintas variables que el método GET pasa al CGI a través de la variable $QUERY_STRING, que normalmente tiene este aspecto:

QUERY_STRING='parametro1=valor1&parametro2=valor2&parametro3=valor3'

Estaba yo ya comenzando a darle vueltas a una Expresión Regular para interpretar dicha salida cuando he decidido buscar en Google para ver si alguien tenía una solución más completa que la que yo ya tenía a medias. He llegado al artículo CGI Scripting Tips for Bash or SH que propone lo siguiente para extraer del QUERY_STRING la variable que nos interese:

PARAMETROX=`echo "$QUERY_STRING" | grep -oE "(^|[?&])parametrox=[^&]+" | sed "s/%20/ /g" | cut -f 2 -d "="`

Y es que con bash y sus compañeros sed, awk, cat, grep, etc. aún se puede hacer casi de todo, incluso un weblog o un servidor web. Como las Expresiones Regulares son tan excepcionalmente útiles como complicadas a la hora de usarlas, me he decidido a comentar algunos ejemplos, comenzando por el que me ha llevado a este artículo.

Y antes de seguir conviene comentar que la opción -o del grep del comando anterior indica que la salida del comando ha de contener únicamente la parte de texto que coincide con el patrón, no toda la línea. La opción -E indica que se va a usar una Expresión Regular Extendida (egrep es lo mismo que grep -E).

Pasemos a analizar la expresión regular… (^|[?&])parametrox=[^&]+ significa que buscamos algo que:

^|[?&] está a principio de línea ^ o | que comienza por un caracter ? o un &
parametrox= seguido por la secuencia de caracteres parametrox=
[^&]+ y que acaba con uno o más caracteres + que no sean &

Ejemplos de Expresiones Regulares

La página http://www.regular-expressions.info es un excelente sitio para aprender sobre expresiones regulares. Allí he encontrado algunos ejemplos que me han gustado Éstos son tres de ellos especialmente útiles:

Buscar una dirección de e-mail

\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b

\b[A-Z0-9._%-]+ Buscamos un comienzo de palabra \b que contenga uno o más caracteres + dentro del conjunto A a Z, 0 a 9,., _, % y -, que son los caracteres admitidos para un nombre de usuario
@ seguido del símbolo @
[A-Z0-9.-]+ seguido por uno o más + caracteres A a Z, 0 a 9,. y -, que son los caracteres admitidos para un dominio
\. seguido por un punto escapado con \, ya que el punto solo significa cualquier caracter
[A-Z]{2,4}\b seguido por entre 2 y 4 caracteres {2,4} entre el conjunto A-Z y además éste tiene que ser el final de una palabra \b

Por tanto, si usáramos esa expresión regular con egrep sobre un texto como este:

En un lugar de la Mancha, de cuyo nombre no quiero acordarme, pero a cuyo ayuntamiento podíamos enviar e-mails a la dirección ayuntamiento@lugardelamancha.es, no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor cuyo e-mail era don.quijote@del.toboso.edu.

obtendríamos:

$ egrep -oi '\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}' donqui.txt
ayuntamiento@lugardelamancha.es
don.quijote@del.toboso.edu

Buscar dos palabras cercanas en un párrafo

Si consideramos que dos palabras cercanas son aquellas que están separadas entre 1 y 8 palabras, esta expresión regular es perfecta:

\bpalabra1\W+(w+\W+){1,8}palabra2\b

\bpalabra1 Buscamos un comienzo de palabra con la sucesión de caracteres palabra1
\W+ seguido por uno o varios caracteres no alfanuméricos \W
(\w+\W+){1,8} seguido de entre 1 y 8 grupos {1,8} de uno o más caracteres alfanuméricos \w y uno o más caracteres no alfanuméricos \W
palabra2\b acabado un la sucesión de caracteres palabra2

Y podemos probar la expresión sobre el texto anterior:

$ egrep -o '\bhidalgo\W+(\w+\W+){1,8}lanza\b' donqui.txt
hidalgo de los de lanza

Por supuesto, puede ser que no sepamos si palabra1 va antes que palabra2, así que podemos especificar que una cosa o | la otra:

\b(palabra1\W+(\w+\W+){1,8}palabra2|palabra2\W+(\w+\W+){1,8}palabra1)\b

Buscar una dirección IP

\b[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\b

Creo que este ejemplo ya no necesita explicación, aunque tiene un defecto: la expresión encajaría también con 999.999.999.999. Para corregirlo, podríamos sustituir cada bloque [0-9]{1,3} por (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) que significa que cada número puede ser del 250 al 255 25[0-5] o del 200 al 249 2[0-4][0-9] o del 0 al 199, contemplando la posibilidad de que por ejemplo un 7 se escriba 7, 07 o 007 [01]?[0-9][0-9]?. El símbolo ? indica uno o ninguno.

Podemos obtener fácilmente una lista de IPs que han visitado nuestro servidor web con el siguiente comando:

$ egrep -o '\b[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\b' access.log | sort -u

Ejemplos de uso de las Expresiones Regulares en la shell

En el uso diario de la shell, las expresiones regulares son nuestra navaja suiza. Ya hemos visto algunos ejemplos con grep, pero sigamos con algunos más de cosecha propia que usan grep, awk y sed.

Lista de usuarios con password a partir del /etc/shadow

Resulta que queremos saber los usuarios del fichero /etc/shadow que pueden logearse al sistema (que no tienen un caracter ! o * en el campo del password). La expresión regular a usar sería:

# egrep '^[^:]+:[^*!]+:' /etc/shadow
fulano:$1$PFC1F2pj$0KEflTjNmDQg9.rtFT/DK0:12793:0:99999:7:::
mengano:$1$aAUa4js/$c2LEh.HeT0JvCG3B.34O.:12793:0:99999:7:::

^[^:]+ Buscamos uno o más caracteres + que no sean : [^:] a principio de línea ^
: seguido de un caracter :
[^*!]+ seguido por una secuencia de uno o más caracteres que no sean ! o *
: seguido de otro caracter :

Podemos hacerlo un poco mejor, porque sólo nos interesa ver el nombre del usuario. Para ello podríamos hacer un cut -f 1 -d : sobre la salida anterior, pero usando el awk somos capaces de hacer lo anterior en un sólo comando:

# awk -F":" '$2~/[^!*]+/ { print $1 }' /etc/shadow
fulano
mengano

En el comando anterior le decimos a awk que, usando como separador de campos el caracter : (-F”:”) queremos que nos saque el primer campo { print $1 } siempre que el segundo campo cumpla la regla de que contenga uno o más caracteres que no sean ! o * $2~/[^!*]+/.

Extraer los referer del access.log

Si tenemos líneas como la siguiente (LogFormat combined) en el access.log de nuestro apache:

192.168.1.3 - - [12/Apr/2007:22:15:14 +0200] "GET /blog/ HTTP/1.1" 200 46503 "http://www.google.es/search?hl=es&q=vicente+navarro" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.3) Gecko/20070310 Iceweasel/2.0.0.3 (Debian-2.0.0.3-1)"
192.168.1.3 - - [12/Apr/2007:22:24:07 +0200] "GET /blog/ HTTP/1.1" 200 46503 "http://www.google.es/search?q=super+coco&hl=es&start=10&sa=N" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.3) Gecko/20070310 Iceweasel/2.0.0.3 (Debian-2.0.0.3-1)"

podemos obtener un listado de los referers que han traído a los visitantes a la página con el siguiente comando:

$ egrep -o '^[0-9.]+ - - \[.+\] \"[^"]+\" [0-9-]+ [0-9-]+ \"[^"]+\"' access.log | egrep -o '\"[^"-]+\"$' | egrep -o '[^"]+' | sort -u
...
http://www.google.es/search?hl=es&q=vicente+navarro
http://www.google.es/search?q=super+coco&hl=es&start=10&sa=N
...

Hay dos grep’s, porque estamos identificando y extrayendo todo el texto hasta llegar al referer para dejarlo al final y después extraerlo con el segundo grep. Pero aunque sirva para ilustrar la entrada, resulta que nos hemos complicado muchísimo la vida, porque el trozo del referer es el único que comienza con http://. Teniendo en cuenta esto, el comando, con una Expresión Regular mucho más simple, queda:

$ egrep -o 'http://[^"]+' access.log | sort -u

Y usando sólo awk:

awk '$0~/http/ { print $11 }' access.log | awk -F'"' '{ print $2 }' | sort -u

Pero ahora queremos saber a partir de los referers que hemos obtenido anteriormente, con qué parámetros de búsqueda y en qué posición aparece nuestra página en Google. Para ello, podríamos usar la Expresión Regular del principio para obtener los parámetros q= y start= de la URL de Google, pero hagámoslo con awk:

$ egrep -o 'http://[^"]+' big | sort -u | awk -F "[?&=]" '$1~/google.+search/ { TERMINOBUSQUEDA=""; POSICION="0"; for (i=2; i<=NF; i++) { if ($(i-1)~"(^|^as_)q$") { TERMINOBUSQUEDA=$i; } if ($(i-1)~"^start$") { POSICION=$i; } } print TERMINOBUSQUEDA " " POSICION; }' super+coco 10 vicente+navarro 0

Es decir, si la línea es una búsqueda de Google, el awk ha de hacer:

TERMINOBUSQUEDA="";
POSICION="0";
for (i=2; i<=NF; i++) { if ($(i-1)~"(^|^as_)q$") { TERMINOBUSQUEDA=$i;} if ($(i-1)~"^start$") { POSICION=$i; } } print TERMINOBUSQUEDA " " POSICION;

Expresiones Regulares de Perl (PCRE)

Las Expresiones Regulares de Perl (PCRE) son más potentes que las Expresiones Regulares POSIX. En algunas distribuciones, el grep -P nos permite usarlas, pero en Debian no es posible usar la opción -P de grep. En cambio, tenemos el pcregrep que sí que nos lo permite. Y una de las cosas más interesantes que se puede hacer con estas reglas es Lookahead y Lookbehind. Supongamos que queremos sacar de las URL de Google el valor del parámetro q= con un sólo comando, a diferencia de la expresión del principio que requería un cut adicional:

$ echo "http://www.google.es/search?q=super+coco&hl=es&start=10&sa=N" | pcregrep -o '(?<=[&?]q=)[^&?]+' super+coco

Usando PCRE, algo como (?<=delante)detras significa que para coincidir, la cadena tiene que ser delantedetras, pero delante no aparecerá en la cadena coincidente. ¡Muy útil! La pena es que este tipo de expresiones no se puede usar con cadenas de longitud variable:

$ pcregrep -o '(?<=\w+)prueba' fichero.txt pcregrep: Error in command-line regex at offset 7: lookbehind assertion is not fixed length

Ejemplos con sed y el /etc/passwd

sed es otra utilidad muy versátil. Su función más típica es la de sustitución, aunque también puede hacer cosas sencillas pero útiles como mostrar sólo un conjunto de líneas de un fichero o eliminarlas, insertar texto al final de una línea determinada o reemplazar el texto de esa línea..

La sintaxis típica de sed para reemplazos es:

sed -r 's/reemplazada/reemplazo/g'

El -r es paraque el sed use Expresiones Regulares Extendidas o POSIX y el g significa que la sustitución se hará todas las veces que se encuentre la Expresión Regular en la línea, no sólo la primera vez. Si nos viene mal usar el carácter / para no tener que escapar, por ejemplo, muchas barras de path, podríamos usar cualquier otro carácter: s_reemplazada_reemplazo_g.

Por ejemplo, si quisiéramos cambiar la shell por defecto a todos los usuarios que aparecen en /etc/passwd, podríamos hacer:

$ sed -r 's/[^:]+$/:\/bin\/bash/g' /etc/passwd
...
mail:x:8:8:mail:/var/mail::/bin/bash
news:x:9:9:news:/var/spool/news::/bin/bash
uucp:x:10:10:uucp:/var/spool/uucp::/bin/bash
...

Y si queremos añadir una cabecera de “usuario_” a todos los nombres de usuario del sistema, podemos usar el carácter & para usar la parte coincidente en la cadena de reemplazo:

$ sed -r 's/^[^:]+/usuario_&/g' /etc/passwd
...
usuario_mail:x:8:8:mail:/var/mail:/bin/sh
usuario_news:x:9:9:news:/var/spool/news:/bin/sh
usuario_uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
...

Y como lo que pongamos entre paréntesis () en la cadena reemplazada, el sed nos lo guarda para usar en la cadena de reemplazo en \1, \2,… \9, supongamos que queremos mover todo a un nuevo sistema de ficheros y queremos cambiar tanto el home del usuario como su shell:

$ sed -r 's/([^:]+):([^:]+)$/:\/newfs\1:\/newfs\2/g' /etc/passwd
...
mail:x:8:8:mail::/newfs/var/mail:/newfs/bin/sh
news:x:9:9:news::/newfs/var/spool/news:/newfs/bin/sh
uucp:x:10:10:uucp::/newfs/var/spool/uucp:/newfs/bin/sh
...

Gracias Braian por el dato.

Un Saludo, Eric.

Enlaces de interés:

ERICLINUX
Navegando por mi blogroll me encuentro con Braian que realiza un articulo muy interesante titulado "Expresiones Regulares en la shell. Ejemplos de uso con grep, awk y sed.".

Estaba intentando hacer un CGI muy sencillo usando bash (como lo que quería hacer era algo muy específico de bash, no he querido usar ni Perl, ni PHP). La única dificultad que he encontrado ha sido obtener las distintas variables que el método GET pasa al CGI a través de la variable $QUERY_STRING, que normalmente tiene este aspecto:

QUERY_STRING='parametro1=valor1&parametro2=valor2&parametro3=valor3'

Estaba yo ya comenzando a darle vueltas a una Expresión Regular para interpretar dicha salida cuando he decidido buscar en Google para ver si alguien tenía una solución más completa que la que yo ya tenía a medias. He llegado al artículo CGI Scripting Tips for Bash or SH que propone lo siguiente para extraer del QUERY_STRING la variable que nos interese:

PARAMETROX=`echo "$QUERY_STRING" | grep -oE "(^|[?&])parametrox=[^&]+" | sed "s/%20/ /g" | cut -f 2 -d "="`

Y es que con bash y sus compañeros sed, awk, cat, grep, etc. aún se puede hacer casi de todo, incluso un weblog o un servidor web. Como las Expresiones Regulares son tan excepcionalmente útiles como complicadas a la hora de usarlas, me he decidido a comentar algunos ejemplos, comenzando por el que me ha llevado a este artículo.

Y antes de seguir conviene comentar que la opción -o del grep del comando anterior indica que la salida del comando ha de contener únicamente la parte de texto que coincide con el patrón, no toda la línea. La opción -E indica que se va a usar una Expresión Regular Extendida (egrep es lo mismo que grep -E).

Pasemos a analizar la expresión regular… (^|[?&])parametrox=[^&]+ significa que buscamos algo que:

^|[?&] está a principio de línea ^ o | que comienza por un caracter ? o un &
parametrox= seguido por la secuencia de caracteres parametrox=
[^&]+ y que acaba con uno o más caracteres + que no sean &

Ejemplos de Expresiones Regulares

La página http://www.regular-expressions.info es un excelente sitio para aprender sobre expresiones regulares. Allí he encontrado algunos ejemplos que me han gustado Éstos son tres de ellos especialmente útiles:

Buscar una dirección de e-mail

\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b

\b[A-Z0-9._%-]+ Buscamos un comienzo de palabra \b que contenga uno o más caracteres + dentro del conjunto A a Z, 0 a 9,., _, % y -, que son los caracteres admitidos para un nombre de usuario
@ seguido del símbolo @
[A-Z0-9.-]+ seguido por uno o más + caracteres A a Z, 0 a 9,. y -, que son los caracteres admitidos para un dominio
\. seguido por un punto escapado con \, ya que el punto solo significa cualquier caracter
[A-Z]{2,4}\b seguido por entre 2 y 4 caracteres {2,4} entre el conjunto A-Z y además éste tiene que ser el final de una palabra \b

Por tanto, si usáramos esa expresión regular con egrep sobre un texto como este:

En un lugar de la Mancha, de cuyo nombre no quiero acordarme, pero a cuyo ayuntamiento podíamos enviar e-mails a la dirección ayuntamiento@lugardelamancha.es, no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor cuyo e-mail era don.quijote@del.toboso.edu.

obtendríamos:

$ egrep -oi '\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}' donqui.txt
ayuntamiento@lugardelamancha.es
don.quijote@del.toboso.edu

Buscar dos palabras cercanas en un párrafo

Si consideramos que dos palabras cercanas son aquellas que están separadas entre 1 y 8 palabras, esta expresión regular es perfecta:

\bpalabra1\W+(w+\W+){1,8}palabra2\b

\bpalabra1 Buscamos un comienzo de palabra con la sucesión de caracteres palabra1
\W+ seguido por uno o varios caracteres no alfanuméricos \W
(\w+\W+){1,8} seguido de entre 1 y 8 grupos {1,8} de uno o más caracteres alfanuméricos \w y uno o más caracteres no alfanuméricos \W
palabra2\b acabado un la sucesión de caracteres palabra2

Y podemos probar la expresión sobre el texto anterior:

$ egrep -o '\bhidalgo\W+(\w+\W+){1,8}lanza\b' donqui.txt
hidalgo de los de lanza

Por supuesto, puede ser que no sepamos si palabra1 va antes que palabra2, así que podemos especificar que una cosa o | la otra:

\b(palabra1\W+(\w+\W+){1,8}palabra2|palabra2\W+(\w+\W+){1,8}palabra1)\b

Buscar una dirección IP

\b[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\b

Creo que este ejemplo ya no necesita explicación, aunque tiene un defecto: la expresión encajaría también con 999.999.999.999. Para corregirlo, podríamos sustituir cada bloque [0-9]{1,3} por (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) que significa que cada número puede ser del 250 al 255 25[0-5] o del 200 al 249 2[0-4][0-9] o del 0 al 199, contemplando la posibilidad de que por ejemplo un 7 se escriba 7, 07 o 007 [01]?[0-9][0-9]?. El símbolo ? indica uno o ninguno.

Podemos obtener fácilmente una lista de IPs que han visitado nuestro servidor web con el siguiente comando:

$ egrep -o '\b[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\b' access.log | sort -u

Ejemplos de uso de las Expresiones Regulares en la shell

En el uso diario de la shell, las expresiones regulares son nuestra navaja suiza. Ya hemos visto algunos ejemplos con grep, pero sigamos con algunos más de cosecha propia que usan grep, awk y sed.

Lista de usuarios con password a partir del /etc/shadow

Resulta que queremos saber los usuarios del fichero /etc/shadow que pueden logearse al sistema (que no tienen un caracter ! o * en el campo del password). La expresión regular a usar sería:

# egrep '^[^:]+:[^*!]+:' /etc/shadow
fulano:$1$PFC1F2pj$0KEflTjNmDQg9.rtFT/DK0:12793:0:99999:7:::
mengano:$1$aAUa4js/$c2LEh.HeT0JvCG3B.34O.:12793:0:99999:7:::

^[^:]+ Buscamos uno o más caracteres + que no sean : [^:] a principio de línea ^
: seguido de un caracter :
[^*!]+ seguido por una secuencia de uno o más caracteres que no sean ! o *
: seguido de otro caracter :

Podemos hacerlo un poco mejor, porque sólo nos interesa ver el nombre del usuario. Para ello podríamos hacer un cut -f 1 -d : sobre la salida anterior, pero usando el awk somos capaces de hacer lo anterior en un sólo comando:

# awk -F":" '$2~/[^!*]+/ { print $1 }' /etc/shadow
fulano
mengano

En el comando anterior le decimos a awk que, usando como separador de campos el caracter : (-F”:”) queremos que nos saque el primer campo { print $1 } siempre que el segundo campo cumpla la regla de que contenga uno o más caracteres que no sean ! o * $2~/[^!*]+/.

Extraer los referer del access.log

Si tenemos líneas como la siguiente (LogFormat combined) en el access.log de nuestro apache:

192.168.1.3 - - [12/Apr/2007:22:15:14 +0200] "GET /blog/ HTTP/1.1" 200 46503 "http://www.google.es/search?hl=es&q=vicente+navarro" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.3) Gecko/20070310 Iceweasel/2.0.0.3 (Debian-2.0.0.3-1)"
192.168.1.3 - - [12/Apr/2007:22:24:07 +0200] "GET /blog/ HTTP/1.1" 200 46503 "http://www.google.es/search?q=super+coco&hl=es&start=10&sa=N" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.3) Gecko/20070310 Iceweasel/2.0.0.3 (Debian-2.0.0.3-1)"

podemos obtener un listado de los referers que han traído a los visitantes a la página con el siguiente comando:

$ egrep -o '^[0-9.]+ - - \[.+\] \"[^"]+\" [0-9-]+ [0-9-]+ \"[^"]+\"' access.log | egrep -o '\"[^"-]+\"$' | egrep -o '[^"]+' | sort -u
...
http://www.google.es/search?hl=es&q=vicente+navarro
http://www.google.es/search?q=super+coco&hl=es&start=10&sa=N
...

Hay dos grep’s, porque estamos identificando y extrayendo todo el texto hasta llegar al referer para dejarlo al final y después extraerlo con el segundo grep. Pero aunque sirva para ilustrar la entrada, resulta que nos hemos complicado muchísimo la vida, porque el trozo del referer es el único que comienza con http://. Teniendo en cuenta esto, el comando, con una Expresión Regular mucho más simple, queda:

$ egrep -o 'http://[^"]+' access.log | sort -u

Y usando sólo awk:

awk '$0~/http/ { print $11 }' access.log | awk -F'"' '{ print $2 }' | sort -u

Pero ahora queremos saber a partir de los referers que hemos obtenido anteriormente, con qué parámetros de búsqueda y en qué posición aparece nuestra página en Google. Para ello, podríamos usar la Expresión Regular del principio para obtener los parámetros q= y start= de la URL de Google, pero hagámoslo con awk:

$ egrep -o 'http://[^"]+' big | sort -u | awk -F "[?&=]" '$1~/google.+search/ { TERMINOBUSQUEDA=""; POSICION="0"; for (i=2; i<=NF; i++) { if ($(i-1)~"(^|^as_)q$") { TERMINOBUSQUEDA=$i; } if ($(i-1)~"^start$") { POSICION=$i; } } print TERMINOBUSQUEDA " " POSICION; }' super+coco 10 vicente+navarro 0

Es decir, si la línea es una búsqueda de Google, el awk ha de hacer:

TERMINOBUSQUEDA="";
POSICION="0";
for (i=2; i<=NF; i++) { if ($(i-1)~"(^|^as_)q$") { TERMINOBUSQUEDA=$i;} if ($(i-1)~"^start$") { POSICION=$i; } } print TERMINOBUSQUEDA " " POSICION;

Expresiones Regulares de Perl (PCRE)

Las Expresiones Regulares de Perl (PCRE) son más potentes que las Expresiones Regulares POSIX. En algunas distribuciones, el grep -P nos permite usarlas, pero en Debian no es posible usar la opción -P de grep. En cambio, tenemos el pcregrep que sí que nos lo permite. Y una de las cosas más interesantes que se puede hacer con estas reglas es Lookahead y Lookbehind. Supongamos que queremos sacar de las URL de Google el valor del parámetro q= con un sólo comando, a diferencia de la expresión del principio que requería un cut adicional:

$ echo "http://www.google.es/search?q=super+coco&hl=es&start=10&sa=N" | pcregrep -o '(?<=[&?]q=)[^&?]+' super+coco

Usando PCRE, algo como (?<=delante)detras significa que para coincidir, la cadena tiene que ser delantedetras, pero delante no aparecerá en la cadena coincidente. ¡Muy útil! La pena es que este tipo de expresiones no se puede usar con cadenas de longitud variable:

$ pcregrep -o '(?<=\w+)prueba' fichero.txt pcregrep: Error in command-line regex at offset 7: lookbehind assertion is not fixed length

Ejemplos con sed y el /etc/passwd

sed es otra utilidad muy versátil. Su función más típica es la de sustitución, aunque también puede hacer cosas sencillas pero útiles como mostrar sólo un conjunto de líneas de un fichero o eliminarlas, insertar texto al final de una línea determinada o reemplazar el texto de esa línea..

La sintaxis típica de sed para reemplazos es:

sed -r 's/reemplazada/reemplazo/g'

El -r es paraque el sed use Expresiones Regulares Extendidas o POSIX y el g significa que la sustitución se hará todas las veces que se encuentre la Expresión Regular en la línea, no sólo la primera vez. Si nos viene mal usar el carácter / para no tener que escapar, por ejemplo, muchas barras de path, podríamos usar cualquier otro carácter: s_reemplazada_reemplazo_g.

Por ejemplo, si quisiéramos cambiar la shell por defecto a todos los usuarios que aparecen en /etc/passwd, podríamos hacer:

$ sed -r 's/[^:]+$/:\/bin\/bash/g' /etc/passwd
...
mail:x:8:8:mail:/var/mail::/bin/bash
news:x:9:9:news:/var/spool/news::/bin/bash
uucp:x:10:10:uucp:/var/spool/uucp::/bin/bash
...

Y si queremos añadir una cabecera de “usuario_” a todos los nombres de usuario del sistema, podemos usar el carácter & para usar la parte coincidente en la cadena de reemplazo:

$ sed -r 's/^[^:]+/usuario_&/g' /etc/passwd
...
usuario_mail:x:8:8:mail:/var/mail:/bin/sh
usuario_news:x:9:9:news:/var/spool/news:/bin/sh
usuario_uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
...

Y como lo que pongamos entre paréntesis () en la cadena reemplazada, el sed nos lo guarda para usar en la cadena de reemplazo en \1, \2,… \9, supongamos que queremos mover todo a un nuevo sistema de ficheros y queremos cambiar tanto el home del usuario como su shell:

$ sed -r 's/([^:]+):([^:]+)$/:\/newfs\1:\/newfs\2/g' /etc/passwd
...
mail:x:8:8:mail::/newfs/var/mail:/newfs/bin/sh
news:x:9:9:news::/newfs/var/spool/news:/newfs/bin/sh
uucp:x:10:10:uucp::/newfs/var/spool/uucp:/newfs/bin/sh
...

Gracias Braian por el dato.

Un Saludo, Eric.

Enlaces de interés:

18/3/08

Restaurando Grub desde Windows

Uno de los problemas más frecuentes con los que se encuentran los usuarios de Linux es cuando instalan Windows en una partición aparte ya que el sistema operativo de Microsoft sobrescribe el grub (el gestor de arranque de GNU/Linux) sin ni siquiera dar opción a ejecutar GNU/Linux para arrancar.


Hasta ahora la solución era usar un LiveCD y restaurar el grub desde la consola de comandos, pero ahora con WinGrub podemos hacerlo fácil y rápidamente desde Windows ahorrandonos el engorro de usar un LiveCD.

FUENTE


Uno de los problemas más frecuentes con los que se encuentran los usuarios de Linux es cuando instalan Windows en una partición aparte ya que el sistema operativo de Microsoft sobrescribe el grub (el gestor de arranque de GNU/Linux) sin ni siquiera dar opción a ejecutar GNU/Linux para arrancar.


Hasta ahora la solución era usar un LiveCD y restaurar el grub desde la consola de comandos, pero ahora con WinGrub podemos hacerlo fácil y rápidamente desde Windows ahorrandonos el engorro de usar un LiveCD.

FUENTE


4/3/08

Comandos Linux ya está AQUÍ.

ERICLINUXComandos Linux ya está aquí.
Todos los datos ya han sido trasladados al blog.
Recuerden que los nuevos comandos serán posteados aquí en ERICLINUX.
Disfruten del contenido.

Ingresar a la sección COMANDOS LINUX.

Un Saludo, Eric.

Enlaces de interés:

ERICLINUXComandos Linux ya está aquí.
Todos los datos ya han sido trasladados al blog.
Recuerden que los nuevos comandos serán posteados aquí en ERICLINUX.
Disfruten del contenido.

Ingresar a la sección COMANDOS LINUX.

Un Saludo, Eric.

Enlaces de interés:

Linux Comandos integrado a ERICLINUX.


ERICLINUX
Para aquellos que conocían mi otro blog (Linux Comandos), todo el contenido fue trasladado a éste BLOG ( ERICLINUX).
Los nuevos comandos serán directamente colocados en ERICLINUX.

Un Saludo, Eric.

Enlaces de interés:


ERICLINUX
Para aquellos que conocían mi otro blog (Linux Comandos), todo el contenido fue trasladado a éste BLOG ( ERICLINUX).
Los nuevos comandos serán directamente colocados en ERICLINUX.

Un Saludo, Eric.

Enlaces de interés:

4/2/08

Comando Sync - Forzar grabación de datos.

ERICLINUX
El comando sync sirve para forzar la grabación de los datos de la cache.
También es recomendado para hacer antes de desmontar un dispositivo más storage, como una cámara fotográfica digital, un pendrive, o una pda. O bien si hubo modificaciones y movimiento de información ( cp y mv por ejemplo ) entre particiones, antes de desmontar.

# sync
Atentamente Eric.

ERICLINUX
El comando sync sirve para forzar la grabación de los datos de la cache.
También es recomendado para hacer antes de desmontar un dispositivo más storage, como una cámara fotográfica digital, un pendrive, o una pda. O bien si hubo modificaciones y movimiento de información ( cp y mv por ejemplo ) entre particiones, antes de desmontar.
# sync
Atentamente Eric.

Comando vmstat - Estadísticas.

ERICLINUX

vmstat Muestra estadísticas de uso de la memoria, cpu, lectuas/escrituras en disco, etc.

$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
2 0 20112 38928 15604 292048 0 0 17 28 274 781 30 2 68 0
Atentamente Eric.

ERICLINUX

vmstat Muestra estadísticas de uso de la memoria, cpu, lectuas/escrituras en disco, etc.

$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
2 0 20112 38928 15604 292048 0 0 17 28 274 781 30 2 68 0
Atentamente Eric.

Top - Procesos.

ERICLINUX

Hoy les mostraremos como matar procesos con Top.
Abrimos un terminal y tipeamos:

# top
Y nos mostrará una lista de procesos:

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8751 eric 15 0 115m 30m 8724 S 12 3.4 0:12.27 npviewer.bin
8719 eric 15 0 585m 111m 26m S 10 12.7 0:27.04 firefox-bin
8434 root 15 0 133m 49m 9m R 2 5.7 0:19.55 Xorg
1 root 18 0 5112 1972 572 S 0 0.2 0:01.29 init
2 root 11 -5 0 0 0 S 0 0.0 0:00.00 kthreadd
3 root RT -5 0 0 0 S 0 0.0 0:00.00 migration/0
4 root 34 19 0 0 0 S 0 0.0 0:00.00 ksoftirqd/0
5 root RT -5 0 0 0 S 0 0.0 0:00.00 watchdog/0
6 root RT -5 0 0 0 S 0 0.0 0:00.00 migration/1
7 root 34 19 0 0 0 S 0 0.0 0:00.00 ksoftirqd/1
8 root RT -5 0 0 0 S 0 0.0 0:00.00 watchdog/1
con PID podremos matar el proceso.
Para ésto presionamos la letra "K" y a continuación el número pid del proceso que deseamos matar.

Cómo pueden observar top también nos muestra estadísticas sobre nuestro equipo en la parte superior.
top - 18:50:21 up 11:33, 1 user, load average: 0.57, 0.58, 0.72
Tasks: 118 total, 2 running, 116 sleeping, 0 stopped, 0 zombie
Cpu(s): 21.6%us, 0.5%sy, 0.0%ni, 77.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 899948k total, 804664k used, 95284k free, 48640k buffers
Swap: 2626588k total, 20740k used, 2605848k free, 301392k cached
Es una herramienta bastante útil para el manejo de procesos.
Sobre todo cuando alguno no funciona bien o está completamente tildado, podremos matarlo con top.

Atentamente Eric.

ERICLINUX

Hoy les mostraremos como matar procesos con Top.
Abrimos un terminal y tipeamos:

# top
Y nos mostrará una lista de procesos:

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8751 eric 15 0 115m 30m 8724 S 12 3.4 0:12.27 npviewer.bin
8719 eric 15 0 585m 111m 26m S 10 12.7 0:27.04 firefox-bin
8434 root 15 0 133m 49m 9m R 2 5.7 0:19.55 Xorg
1 root 18 0 5112 1972 572 S 0 0.2 0:01.29 init
2 root 11 -5 0 0 0 S 0 0.0 0:00.00 kthreadd
3 root RT -5 0 0 0 S 0 0.0 0:00.00 migration/0
4 root 34 19 0 0 0 S 0 0.0 0:00.00 ksoftirqd/0
5 root RT -5 0 0 0 S 0 0.0 0:00.00 watchdog/0
6 root RT -5 0 0 0 S 0 0.0 0:00.00 migration/1
7 root 34 19 0 0 0 S 0 0.0 0:00.00 ksoftirqd/1
8 root RT -5 0 0 0 S 0 0.0 0:00.00 watchdog/1
con PID podremos matar el proceso.
Para ésto presionamos la letra "K" y a continuación el número pid del proceso que deseamos matar.

Cómo pueden observar top también nos muestra estadísticas sobre nuestro equipo en la parte superior.
top - 18:50:21 up 11:33, 1 user, load average: 0.57, 0.58, 0.72
Tasks: 118 total, 2 running, 116 sleeping, 0 stopped, 0 zombie
Cpu(s): 21.6%us, 0.5%sy, 0.0%ni, 77.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 899948k total, 804664k used, 95284k free, 48640k buffers
Swap: 2626588k total, 20740k used, 2605848k free, 301392k cached
Es una herramienta bastante útil para el manejo de procesos.
Sobre todo cuando alguno no funciona bien o está completamente tildado, podremos matarlo con top.

Atentamente Eric.

Matar procesos en GNU/Linux.

ERICLINUX

Muchas veces precisamos matar (cerrar) un proceso en GNU/Linux.
Como ejemplo utilizaremos el firefox.
Supongamos que quiero matar al firefox.
Para ello tipeo:

ps aux | grep firefox
eric 18689 0.0 0.3 3212 1628 ? Ss 19:26 0:00 /bin/sh /usr/bin/firefox
eric 18700 0.0 0.3 3256 1660 ? S 19:26 0:00 /bin/sh /usr/lib/firefox-2.0.0.6/run-mozilla.sh /usr/lib/firefox-2.0.0.6/firefox-bin
eric 18705 8.2 8.5 144736 43632 ? Sl 19:26 2:33 /usr/lib/firefox-2.0.0.6/firefox-bin
root 18921 0.0 0.1 2000 636 pts/1 R+ 19:57 0:00 grep firefox
Para matarlo debemos hacer uso del comando PID o Process Id.
En nuestro caso debemos tipear:
# kill -9 18705
Otra opción para matar procesos es utilizar el comando:
# killall firefox
También existe una herramienta llamada xkill que nos permite matar una aplicación haciendo click a la ventana.
Para ello simplemente tipeamos en una consola:
# xkill
Y hacemos click sobre la ventana que queremos eliminar.

Vía | ERICLINUX.
Entrada | Matar Procesos.

Atentamente Eric.

ERICLINUX

Muchas veces precisamos matar (cerrar) un proceso en GNU/Linux.
Como ejemplo utilizaremos el firefox.
Supongamos que quiero matar al firefox.
Para ello tipeo:

ps aux | grep firefox
eric 18689 0.0 0.3 3212 1628 ? Ss 19:26 0:00 /bin/sh /usr/bin/firefox
eric 18700 0.0 0.3 3256 1660 ? S 19:26 0:00 /bin/sh /usr/lib/firefox-2.0.0.6/run-mozilla.sh /usr/lib/firefox-2.0.0.6/firefox-bin
eric 18705 8.2 8.5 144736 43632 ? Sl 19:26 2:33 /usr/lib/firefox-2.0.0.6/firefox-bin
root 18921 0.0 0.1 2000 636 pts/1 R+ 19:57 0:00 grep firefox
Para matarlo debemos hacer uso del comando PID o Process Id.
En nuestro caso debemos tipear:
# kill -9 18705
Otra opción para matar procesos es utilizar el comando:
# killall firefox
También existe una herramienta llamada xkill que nos permite matar una aplicación haciendo click a la ventana.
Para ello simplemente tipeamos en una consola:
# xkill
Y hacemos click sobre la ventana que queremos eliminar.

Vía | ERICLINUX.
Entrada | Matar Procesos.

Atentamente Eric.

Comando Figlet.

ERICLINUX
Escribe tu nombre con Figlet.

$ figlet -f small Comandos Linux

_ _ ___ _
| | (_)_ _ _ ___ __/ __|___ _ __ __ _ _ _ __| |___ ___
| |__| | ' \ || \ \ / (__/ _ \ ' \/ _` | ' \/ _` / _ (_-<
|____|_|_||_\_,_/_\_\\___\___/_|_|_\__,_|_||_\__,_\___/__/


Atentamente Eric.

ERICLINUX
Escribe tu nombre con Figlet.

$ figlet -f small Comandos Linux

_ _ ___ _
| | (_)_ _ _ ___ __/ __|___ _ __ __ _ _ _ __| |___ ___
| |__| | ' \ || \ \ / (__/ _ \ ' \/ _` | ' \/ _` / _ (_-<
|____|_|_||_\_,_/_\_\\___\___/_|_|_\__,_|_||_\__,_\___/__/


Atentamente Eric.

Capturar pantalla.

ERICLINUX
Para capturar una pantalla desde la terminal debemos tipear:

$ import -window root pantalla.jpg
Pueden cambiar la extensión .jpg por gif, png etc.

Atentamente Eric.

ERICLINUX
Para capturar una pantalla desde la terminal debemos tipear:
$ import -window root pantalla.jpg
Pueden cambiar la extensión .jpg por gif, png etc.

Atentamente Eric.