10 buenos hábitos para manejar la consola (1/2)

Esta serie de buenos hábitos al manejar la consola son una traducción adaptada aoriginal titulado: UNIX tips: Learn 10 good UNIX usage habits, aparecido en la parte de desarrolladores del portal de IBM.

1. Crea árboles de directorios de un sólo golpe

En vez de hacer:

~ $ mkdir tmp
~ $ cd tmp
~/tmp $ mkdir a
~/tmp $ cd a
~/tmp/a $ mkdir b
~/tmp/a $ cd b
~/tmp/a/b/ $ mkdir c
~/tmp/a/b/ $ cd c
~/tmp/a/b/c $

Podemos hacer directamente:

~ $ mkdir -p tmp/a/b/c

E incluso podemos hacer árboles definiendo más de una rama por nivel, con las llaves definimos más de un hijo por nivel:

~ $ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a}

2. Descomprime indicando la ruta, no muevas primero el fichero y luego lo descomprimas
Imaginad que queremos descomprimir el fichero newarc.tar.gz en el directorio tmp/a/b/c pero tenemos dicho fichero en un directorio que no es ése. La solución más típica es mover el fichero y luego descomprimirlo. Esto supone una carga extra que en el caso de ficheros muy grandes supone un problema. Con el parámetro “-C” de tar le podemos indicar la ruta de descompresión:

~ $ tar xvf -C tmp/a/b/c newarc.tar.gz

3. Combina tus comandos con operadores de control
En una misma línea podemos utilizar más de un comando. La forma más simple de hacerlo es con el punto y coma “;”. El problema deriva cuando los comandos que ejecutas dependen el uno del otro, si el primero falla, afecta a los siguientes.

Veamos cómo solucionarlo.

Ejecuta el comando sólo si el anterior ha devuelto un cero (se ha ejecutado de forma exitosa)
Para este caso tenemos el operador &&:

~ $ cd tmp/a/b/c && tar xvf ~/archive.tar

Caso contrario
Si queremos controlar el caso en que el primer comando falle tenemos el operador :

~ $ cd tmp/a/b/c || mkdir -p tmp/a/b/c

Tenemos la opción de controlar ambos casos de una vez:

~ $ cd tmp/a/b/c || mkdir -p tmp/a/b/c && tar xvf -C tmp/a/b/c ~/archive.tar

4. Utiliza las comillas cuando trabajes con variables
Si utilizas variables, al asignarles valores alfanuméricos, texto; deberías utilizar siempre comillas dobles (a no ser que tengas razones para no hacerlo). También puedes poner el nombre de la variable entre llaves para asegurarte que se ejecutan bien las llamadas.

Veamos una serie de ejemplos y casos diferentes, con sus respectivas salidas:

~ $ ls tmp/ a b ~ $ VAR="tmp/*" ~ $ echo $VAR tmp/a tmp/b ~ $ echo "$VAR" tmp/* ~ $ echo $VARa ~ $ echo "$VARa" ~ $ echo "${VAR}a" tmp/*a ~ $ echo ${VAR}a tmp/a read more

Leer más » 8 Comentarios

Modificar la asignación de memoria de intercambio (Swap). 2/2

… continuación de la entrada:

En la anterior entrada adelantamos que veríamos cómo crear una memoria de intercambio para usar un fichero en lugar de una partición, una opción muy útil cuando deseamos tener más memoria Swap en un momento determinado o cuando no disponemos de particiones extra.

A través del siguiente ejemplo y usando el comando dd crearemos una memoria de intercambio, ubicaremos el archivo en la raíz (/) y lo haremos con un tamaño de dos gigabytes (2048MB):

root@asus:~$ dd if=/dev/zero of=/swap_file bs=1M count=2048
2048+0 records in
2048+0 records out read more

Leer más » 3 Comentarios

Lo mejor de mi RSS del 20 al 26 de septiembre

Leer más » 2 Comentarios

Evitar que WordPress haga miniaturas de las imágenes al subirlas

Cuando utilizamos WordPress en un servidor compartido tenemos que tener cuidado con distintos tipos de consumos. Dos de ellos: consumo de CPU y espacio disponible son de vital importancia y es posible que estéis malgastándolos sin saberlo.

Cada vez que subís una imagen con el cómodo sistema para subir ficheros multimedia basado en Flash, WordPress además de almacenar el fichero, hace una serie de miniaturas de la imagen (necesarias para algunos temas o complementos) en diferentes tamaños que: read more

Leer más » 4 Comentarios

Modificar la asignación de memoria de intercambio (Swap). 1/2

Lo primero que hemos de preguntarnos, antes de añadir más memoria de intercambio a nuestro sistema, es de cuanta memoria disponimos. Para esto podemos utilizar el comando free o swapon como se muestra a continuación:

1. Usando el comando free con el parámetro -m (-m para mostrarlo en MB, podemos usar -b,-k o -g para bytes, KB o GB respectivamente), vemos que en este caso no iba a ser necesario disponer de más memoria de intercambio (Swap) ya que la tenemos prácticamente libre.

ahornero@asus:~$ free -m
total used free shared buffers cached
Mem: 3955 3687 267 0 1258 1268
-/+ buffers/cache: 1160 2794
Swap: 3916 1 3915 read more

Leer más » 7 Comentarios

Conectar a Eduroam con Android

Eduroam (education Roaming), es una red inalámbrica presente en multitud de universidades y otros centros de investigación, a lo largo de decenas de países.

¿Para qué sirve?

Te permite autenticarte en la Eduroam de tu centro de destino, con tus credenciales de tu centro de origen. Es decir, despreocuparte de tener que pedir datos de conexión cada vez que vas a otro centro de este tipo. Yo por ejemplo la uso tanto en mi centro de trabajo, como cuando voy a clase en la universidad y es verdaderamente práctico. read more

Leer más » 4 Comentarios

rsync. Ejemplos de uso 3/3

… continuación de las entradas:

11. No crear nuevos archivos en el destino
Si quieres, puedes actualizar (sincronizar) sólo los archivos existentes en el destino. En el caso de que el origen tenga nuevos archivos, estos no se copiarán al destino. Si quieres usar esta opción usa el parámetro –existing, aquí un ejemplo:

$ rsync -avz –existing /home/ahornero/Music/ /media/disk/Music/

12. Visualizar los cambios entre el origen y el destino
Esta opción es muy útil para ver la diferencia en los archivos o directorios entre origen y destino. Para ello usaremos la opción -i:
read more

Leer más » 4 Comentarios

Volvemos a estar en activo

Después de unos días que Linux Hispano ha estado inoperativo volvemos a estar activos las 24 horas del día.

Sentimos las molestias que hayamos podido ocasionar.

Gracias por seguir con nosotros.

El equipo de Linux Hispano.

Leer más » 1 Comentario

Comentario

Siempre es buena idea comentar el código…


comentario
Leer más » 9 Comentarios

rsync. Ejemplos de uso 2/3

rsync

… continuación de la entrada rsync. Ejemplos de uso 1/3.

6. Shell remota en la sincronización
rsync nos permite especificar un shell remoto a la hora de sincronizar archivos de este, de esta forma rsync nos permite realizar conexiones remotas segura. Usaremos rsync con el argumento -e ssh para especificar la shell remota que queremos, en tal caso rsync usarará ssh:

$ rsync -avz -e ssh alberto@192.168.1.30:/home/alberto/Music/ /home/ahornero/Music/

7. Evitar sobreescritura en la sincronización
Con la opción -u haremos exactamente eso, evitando de esta forma sobreescribir archivos modificados. Esta opción es muy interesante para ingresar nuevos archivos en el destino manteniendo intactos los anteriores. read more

Leer más » 2 Comentarios