Febrero 9th, 2017

Comprimir y descomprimir en Linux

Archivos .tar.gz – .tar.z – .tgz (tar con gzip):

Comprimir: tar -czvf paquete.tar.gz /directorio/empaquetar/
Descomprimir: tar -xzvf paquete.tar.gz

Archivos .tar:

Empaquetar: tar -cvf paquete.tar /directorio/comprimir/
Desempaquetar: tar -xvf paquete.tar

Archivos .gz:

Comprimir: gzip -9 archivo.php
Descomprimir: gzip -d archivo.php.gz

Archivos .zip:

Comprimir: zip archivo.zip carpeta
Descomprimir: unzip archivo.zip

Archivos .rar:

Comprimir: rar a paquete.rar /directorio/empaquetar
Descomprimir: rar x paquete.rar

Arcihvos .bz2 (bzip2)

Comprimir   bzip2 archivo
            bunzip2 archivo
(El archivo lo comprime y lo renombra como “archivo.bz2”)

Descomprimir    bzip2 -d archivo.bz2
                bunzip2 archivo.bz2
(El archivo lo descomprime y lo deja como “archivo”)

Arcihvos .zoo

Comprimir   zoo -a paquete.zoo /directorio/empaquetar
Descomprimir    zoo -x paquete.zoo

Arcihvos .lha

Comprimir   lha paquete.lha /directorio/empaquetar
Descomprimir    lha -x paquete.lha

Enero 12th, 2015

Actualizar Fedora 20 a Fedora 21

Si quieres actualizar a fedora 21 sin morir en el intento con un yum upgrade sigue estos pasos.
Antes que nada, realiza una copia de seguridad de todos los elementos importantes de tu equipo.

Actualiza los repositorios de yum:

[root@bash]$ yum update

Reinicia tu equipo:

[root@bash]$ reboot

Instala FedUp, el hará todo el trabajo por nosotros:

[root@bash]$ yum install fedup

Empieza el proceso de actualización a Fedora 21:

[root@bash]fedup-cli --network 21 --debuglog /root/fedup-20to21.log

Revisa errores en /root/fedup-20to21.log, existe una opción por si actualizas desde una distro con un entorno como mate o alternativo. Funciona también sin problemas.

Puedes habilitar diferentes repos con la siguiente opción:

--enablerepo REPO

Reinicia de nuevo tu equipo:

[root@bash]$ reboot

En el grub del menú, entra con FedUp:
Grup FedUp

Esto tardará bastante y realizará toda la actualización de nuestro equipo a Fedora 21, después podremos iniciar sesión en Fedora 21 y continuar como siempre.

Octubre 13th, 2014

Comandos de Vi o Vim

Cuando estamos por consola en un servidor y no podemos usar nuestra interfaz gráfica favorita, Vi o Vim (Vi Mejorado) se convierten en una herramienta indispensable.
Vim, hace un consumo de memoría excelente, y si conocemos todos los comandos para navegar con él, pronto nos resultará bastante atractivo.

Lo que más nos choca cuando nos iniciamos en vim, es que tengas que cambiar entre diferentes modos. El hecho de que exista un modo para escibir, es lo que hace que puedan existir confusiones al usarlo.

Sin embargo, cuando los dominas, son una de las grandes bondades del programa.
Aunque una vez los dominamos, nos encontramos con que es uno de los mejores beneficios del programa.

Modo comandos: aparece por defecto. En este modo podremos efectuar acciones como copiar/pegar y formatear el texto. Desde cualquier modo se puede acceder a él pulsando dos veces la tecla ESC.
Modo inserción: todo lo que teclee aparecerá en pantalla y se convertirá en parte integrante de su buffer de archivo.
Modo ex: para grabar un archivo o abrir otro y operaciones relacionadas.
Modo visual: permite cortar, copiar y pegar expeditivamente grandes porciones de texto mediante teclado o ratón.
Como la interfaz se basa en consola, la interacción con el teclado es vital. Veamos para qué sirve cada tecla, dividiendo su funcionalidad en grupos.

Movimiento del cursor

h: mover izquierda
j: mover abajo
k: mover arriba
l: mover derecha
w: salta de palabra en palabra al comienzo de las mismas
    (la puntuación es considerada palabra)
W: salta de palabra en palabra (al espacio entre ellas)
e: salta de palabra en palabra al final de las mismas
    (la puntuación es considerada palabra)
E: salta al final de las palabra (sin considerar puntuación)
b: salta hacia atrás entre palabras (considerando la puntuación)
B: salta hacia atrás entre palabras (sin considerar puntuación)
0: al comienzo de la línea
^: primer carácter no blanco de la línea
$: final de la línea
G: comando ir a

Modo inserción (insertando/añadiendo texto)

i: empieza modo inserción donde está el cursor
I: empieza modo inserción al comienzo de la línea
a: añade donde está el cursor
A: añade al final de línea
o: añade nueva línea en blanco, bajo la línea actual
O: añade nueva línea en blanco, sobre la línea actual
ea: añade al final de la palabra
Esc: sale del modo

Edición

r: reemplaza un único carácter
J: une la línea de abajo con la actual
cc: reemplaza una línea entera
cw: reemplaza hasta el final de la palabra
c$: reemplaza hasta el final de la línea
s: borra el carácter que indica el cursor y substituye el texto
S: borra la línea y substituye el texto (lo mismo que cc)
xp: transpone dos letras (primero corta, luego pega)
u: deshace (undo)
.: repite el último comando

Marcando texto (modo visual)

v: comenzar modo visual
V: comenzar modo visual lineal
o: moverse a otra área marcada
Control+v: comenzar bloque de modo visual
O: moverse a la esquina de otro bloque marcado
aw: marcar una palabra
ab: marca un bloque delimitado por paréntesis (del inglés braces)
aB: marca un bloque delimitado por llaves (del inglés brackets)
ib: marca dentro de un bloque delimitado por paréntesis
iB: marca dentro de un bloque delimitado por llaves
Esc: salir del modo visual

Comandos visuales

>: corre el texto hacia la derecha
<: corre el texto hacia la izquierda
y: copia el texto marcado
d: borra el texto marcado

Cortar y pegar

yy: copia una línea
2yy: copia dos líneas
yw: copia una palabra
y$: copia hasta el final de la línea
p: copia el contenido del portapapeles, tras el cursor
P: ídem pero antes del cursor
dd: borra una línea
dw: borra una palabra
x: corta el carácter actual

Salir
Todas llevan dos puntos al comienzo, los del final son de separación pero no del comando en sí. Esto mismo pasará en los siguientes apartados.

:w: guarda el fichero pero no sale
:wq: guarda el fichero y sale
:q: intenta salir. Si hay cambios da error, en caso contrario, sale
:q!: sale sin guardas y aunque haya habido cambios

Buscar y reemplazar

/pattern: busca un patrón
?pattern: busca un patrón hacia atrás
n: repite la búsqueda en la misma dirección
N: repite la búsqueda en la dirección opuesta
:%s/viejo/nuevo/g: reemplaza todo lo que encuentra definido
    por “viejo” por “nuevo”
:%s/viejo/nuevo/gc: lo mismo, pero con confirmaciones

Trabajar con múltiples ficheros

:e nombreFichero: edita un fichero en un nuevo buffer
:bnext (o :bn): se dirige al siguiente buffer
:bprev (o :bp): se dirige al bufer anterior
:bd: borra un buffer
:sp nombreFichero: abre un fichero en un nuevo buffer y lo divide
Control+ws: divide la ventana
Control+ww: intercambia la ventana
Control+wq: cierra una ventana
Control+wv: divide la ventana horizontalmente

Agosto 23rd, 2013

Simplificar expresiones regulares

Tanto si usamos POSIX (está obsoleto, si usas sus métodos, ereg, eregi, etc aconsejamos cambiarlos) como si usas PCRE, quizá ya sepas que tienes a tu alcance mecanismos de conversión para alfabéticos [a-zAZ09_], numéricos [0-9] o alfanuméricos [a-zAZ09_0-9].
Por ejemplo, si queremos representar caracteres alfabéticos nos basta con poner \D (palabra), para numéricos \d (dígito) y o alfanuméricos \w
Por cierto, si quieres probar el resultado de tus expresiones regulares, está web te será de utilidad.

Otras conversiones:
\t — Representa un tabulador.
\r — Representa el “retorno de carro” o “regreso al inicio” o sea el lugar en que la línea vuelve a iniciar.
\n — Representa la “nueva línea” el carácter por medio del cual una línea da inicio. Es necesario recordar que en Windows es necesaria una combinación de \r\n para comenzar una nueva línea, mientras que en Unix solamente se usa \n y en Mac_OS clásico se usa solamente \r.
\a — Representa una “campana” o “beep” que se produce al imprimir este carácter.
\e — Representa la tecla “Esc” o “Escape”
\f — Representa un salto de página
\v — Representa un tabulador vertical
\x — Se utiliza para representar caracteres ASCII o ANSI si conoce su código. De esta forma, si se busca el símbolo de derechos de autor y la fuente en la que se busca utiliza el conjunto de caracteres Latin-1 es posible encontrarlo utilizando “\xA9″.
\u — Se utiliza para representar caracteres Unicode si se conoce su código. “\u00A2″ representa el símbolo de centavos. No todos los motores de Expresiones Regulares soportan Unicode. El .Net Framework lo hace, pero el EditPad Pro no, por ejemplo.
\d — Representa un dígito del 0 al 9.
\w — Representa cualquier carácter alfanumérico.
\s — Representa un espacio en blanco.
\D — Representa cualquier carácter que no sea un dígito del 0 al 9.
\W — Representa cualquier carácter no alfanumérico.
\S — Representa cualquier carácter que no sea un espacio en blanco.
\A — Representa el inicio de la cadena. No un carácter sino una posición.
\Z — Representa el final de la cadena. No un carácter sino una posición.
\b — Marca el inicio y el final de una palabra.
\B — Marca la posición entre dos caracteres alfanuméricos o dos no-alfanuméricos.

Link | Regexpert

Mayo 2nd, 2011

Buscar diferencias entre dos ficheros

A la hora de comparar dos ficheros que en un principio eran iguales y en los cuales se han hecho algunas modificaciones, estos comandos nos serán de total utilidad:

diff encuentra las diferencias entre los dos ficheros y las muestra por pantalla, no importa que las frases que se repitan estén en distintas lineas.

diff fichero1 fichero2

join hace lo contrario, muestra lo que tienen en común los dos ficheros.

join fichero1 fichero2

Diciembre 30th, 2009

Como matar un proceso si conocemos el nombre

¿Como podríamos matar un proceso, si conocemos el nombre de este?, si suponemos que nuestro proceso es bash.

kill $(pgrep bash)
killall -v bash
pkill bash
kill 'ps -ef | grep bash | grep -v grep | awk '{print $2}''
ps -ef | grep bash | grep -v grep | xargs kill
killall bash

Esto es útil cuando no se conoce el nombre del proceso

Diciembre 30th, 2009

Reproducir un video sin descomprimir

Con este simple codigo ejecutado desde nuestra consola, podremos reproducir en linux un video que se encuentra dentro de un archivo comprimido:
unrar p -inul /path/to/movie_folder/movie.name.r00 | vlc -

Junio 9th, 2009

Sincronizar directorios y copiar solo archivos modificados

Con esto sincronizamos todo el directorio remoto de un equipo en el directorio local que queramos.
Util para que compare los dos directorio y solo compie lo que ha sufrido cambios, respetando los permisos del archivo:

rsync -rvlpz root@<host remoto>:/<directorio remoto>/ /<directorio local>/
los parametros rvlpz son para:

-r = recursivo – procesa sub-directorios y archivos encontrado el la ubicación del fuente o SRC.
-v es utilizado para aumentar la verbosidad desplegado. Después, cuando estamos seguro que esta respaldando lo que deseamos, puede quitar el ‘v’. Sigue incluido en este ejemplo porque el proceso esta ejecutado desde una tarea ‘cron’, y prefiero ‘ver’ lo que hizo. Es por cada individuo a decidir.
-l = links (acoplamientos) – cuando los acoplamientos simbólicas (symlinks) se encuentro, recrearlo en el sistema destinaría.
-p = permisos – dice a rsync a fijar los permisos en el destinaría igual que el fuente (SRC).
-z se utiliza para comprimir los datos que serán transferido o copiado, con el resulto que el proceso de copiado se realizo más rápido, porque los datos siendo transferido es más pequeño que el tamaño verdadero.

Enero 29th, 2009

Buscar y Reemplazar en Linux

Esta es una instrucción sencilla que quería compartir, y es que muchas veces me ha salvado incluso la vida, o por lo menos me ha quitado un dolor de cabeza, puesto que cambiar una palabra en un fichero es fácil, pero cuando se tratan de 100 ficheros…

grep -rlZ 'textoareemplazar' /ruta/ | xargs -r0 perl -pi
-e 's/textoareemplazar/textonuevo/g'

Sirve sobre todo en servidores con mucha “morralla histórica” en la que queramos cambiar una frase/instrucción que se repite. Eso si, cuidado con su uso, si reemplazamos algo que no debemos podemos tener un caos!

Abril 30th, 2008

Firefox en español en ubuntu 8.04

 

Firefox

Si actualmente habéis instalado/actualizado a Hardy desde alguna versión anterior a esta. Quizás puede que tengáis Firefox 3 beta 5 en inglés o un español distinto al vuestro, como en mi caso. Si queréis, podéis solucionarlo con un simple click.

Lo más sensato sería descargar el paquete al español en este caso el mozilla-firefox-locale-es-es, pero este es solo para Firefox 2.

La solución es la siguiente: ojeando por los ficheros que tiene Firefox colgados, encontré los que tienen los paquetes de idioma. Aquí va el enlace al español.

Link | Español de España

Descargarlo, instalarlo y reiniciar firefox, así de sencillo