Ir al contenido principal

Cómo copiar con cp y excluir archivos o directorios internos (equivalente a rsync –exclude)

Si yo les pidiera que mencionen un comando para copiar una carpeta hacia otro lugar, casi todos mencionarían a cp.
Ahora, si les digo que además, deben copiar todo el contenido de esa carpeta excepto 1 archivo, ahí muchos se quedarían pensando, y otros mencionarían a rsync, pues con el parámetro –exclude se puede excluir X archivo o carpeta y no copiarla. Pero… ¿sabían que cp también permite hacer esto? … O_O … sí amigos, cp tiene su propio “exclude” jeje.
Por ejemplo, tenemos la carpeta isos que contiene: ubuntu.iso, debian.iso y archlinux.iso :Y sucede que deseamos copiar hacia la otra carpeta (distros-deb, que está vacía) el archivo debian.iso y ubuntu.iso, o sea, todos menos archlinux.iso
Para ello podríamos copiar un archivo y luego otro, manualmente, pero es mucho más inteligente usar las opciones que nos brinda el sistema no? … :D … por ejemplo, para hacer esto basta con:
cp isos/!(archlinux.iso) distros-deb/
Y esto basta para que se copie TODO lo que contenga el directorio isos hacia distros-deb, todo excepto archlinux.iso ;)
Pero supongamos que no solo tenemos esos 3 archivos, sino que además tenemos fedora.iso y chakra.iso … y queremos hacer lo mismo, quedaría excluir también de la copia fedora.iso y chakra.iso, veamos cómo hacerlo:
cp isos/!(archlinux.iso|fedora.iso|chakra.iso) distros-deb/
Como pueden ver, se puede excluir varios archivos o carpetas, solo los separamos por una tubería (|) y asunto resuelto :D
Con esto no quiero decir que cp sea mejor para todo que rsync … pero, ambos son excelentes herramientas, por ejemplo … ¿conocían el parámetro -u de cp? … jeje, seguro que no ;)
Bueno, nada más que agregar … ¿a que este es un interesante tip? :D
Saludos

Entradas populares de este blog

ISO Master, crea y modifica tus ISO’s fácilmente

<a href="http://ubuntu.com/getubuntu" title="Descarga Ubuntu"> <img src="http://www.marcelor.com/wp-content/uploads/199_164_ubuntu.png" alt="Descarga Ubuntu."/> </a> Ha sido liberada la versión 1.3.7 de ISO Master, aplicación que te permite crear y modificar archivos ISO9660 (imágenes ISO). Principales funcionalidades: Crear una imagen ISO desde el principio. Añadir o eliminar archivos y directorios en o desde una imagen de CD. Crear CDs de arranque utilizando diferentes tipos de registros de arranque: no emulación (isolinux, Microsoft Windows), 1,2, 1,44 y 2,88 de emulación de disquete. Apoyo a Rock Ridge y nombres de archivo Joliet. Iso Master es una aplicación de código abierto y está disponible en versión linux y windows. No disponible aún en los repositorios de Ubuntu http://www.littlesvr.ca/isomaster/download/

Reproducir Full-HD con VLC

Antes que nada aclaro que no van a poder ver CUALQUIER VIDEO en Full-HD. Depende mucho el bitrate. Probé con varios trailers y anda bien, pero videos de mayor bitrate van a seguir dando saltos. El problema insalvable es que el procesador Intel Atom N270 a 1.6ghz no tiene el poder de proceso necesario para poder ver sin problemas videos más pesados. Con probar de todas formas no se pierde nada, así que empecemos: Abrimos VLC . Nos dirigimos al menú Tools y Preferences. Abajo a la izquierda donde dice Show Settings cliqueamos en All . A la izquierda nos metemos en Input / Codecs > Video-codecs > FFmpeg . A la derecha tildamos Allow speed tricks , y donde dice Skip the loop filter for H.264 decoding , seleccionamos All. Abajo de eso, tildamos Hardware Decoding. Les quedaría así:

Fallo al obtener la lista de compartición del servidor

 - Ubuntu Karmic Koala El problema. El detalle es que a veces tengo que revisar archivos que están en otras computadoras que utilizan windows. Al momento de darle en el menú Lugares - Red - Red de Windows y al elegir el grupo de trabajo en el que están mis equipos me aparece el siguiente error. No se puede montar el lugar. Fallo al obtener la lista de compartición del servidor. La solución . La encontré en este articulo de los Foros de Ubuntu, lo voy a copiar tal cual, espero que no le moleste al autor y solo a manera de respaldo. # — Aquí inicia el articulo de los foros de Ubuntu – 1- En principio es necesario que estén instalados: samba samba-common smbclient winbind   2- Luego editar el archivo /etc/samba/smb.conf sudo gedit /etc/samba/smb.conf   A los cambios necesarios para adaptar el sistema, según los tutoriales de samba es necesario tener presente que: a- Donde dice workgroup = WORKGROUP, reemplazar WORKGROUP por el nombre de grupo de ...