Inicio
Software
Programación
HTML Programación - PHP (ini) Programación - PHP POO Programación - PHP / HTML SQL Java
Hardware
Desarrollos
Quién soy Mapa del sitio

Linux - Comandos Bash 2

Imprimir
Categoría: Software - Linux
Escrito por Ch4rl1X Visitas: 2981

Seguimos viendo comandos básicos útiles para cualquier usuario de Linux en cualquier distro ya que se trata de Bash.

 

 URL:

 

http://es.wikipedia.org/wiki/Bash 

 

Bash (Bourne again shell) es un programa informático cuya función consiste en interpretar órdenes. Está basado en la shell de Unix y es compatible con POSIX. Fue escrito para el proyecto GNU y es el intérprete de comandos por defecto en la mayoría de las distribuciones de Linux. Su nombre es un acrónimo de Bourne-Again Shell (otro shell bourne) — haciendo un juego de palabras (born-again significa renacimiento) sobre el Bourne shell (sh), que fue uno de los primeros intérpretes importantes de Unix.

Comando find, busca el archivo o carpeta que uno indique.

Ejemplo de sintaxis.

find /home/pepito/Documentos -name un_Archivo

Tendríamos como respuesta.

 

findArchivo

 

Podríamos buscar archivos con rutas relativas o absolutas, como en el caso anterior.

Comodín, se puede encerrar parte de la palabra o una de las palabras que contiene el nombre del archivo que estamos buscando.

Ejemplo:

find /home/pepito/Documentos -name *un_*

La respuesta sería.

 

findComodin

Entre otras opciones o atributos de búsqueda podemos usar los siguientes comandos.

Ejemplo:

Buscamos un_Archivo en el directorio raíz del usuario con el nombre parte del nombre que es un_ y "todos" los archivos que sean superiores a 0001 kb.

find /home/pepito -name *un_* -size -0001

Y si de repente tenemos muchos comandos en la pantalla tiramos un "clear" y listo... pantalla despejada.

Gracias a una recomendación, voy a incorporar unos detalles a la hora de elegir el comando que vamos a utilizar para buscar archivos o carpetas.

-----

Diferencia entre find y locate.

Find: Recorre todos los directorios y subdirectorios en donde estemos parados y nos devuelve lo que exactamente está en el directorio recorriéndolo físicamente cada vez que hagamos la búsqueda.

Locate: Busca dentro de un contenido indexado, por esta razón tenemos que "updatear" la base de datos cada vez que usamos el comando, si antes de ejecutar locate estuvimos haciendo cambios en los archivos, moviendo copiando y demás, cuando consultemos sin updatear la base nos devolverá datos sin actualizar. Cuando updateamos la base de datos demora todo lo que tenga que recorrer en datos del disco, pero a la hora de devolver datos es mucho más rápido que find. Otra cuestión importante es que cuando buscamos con locate nos devuelve datos de todo el disco sin importar permisos de archivos.

Para éstos problemas está Slocate, en la consulta nos muestra solo los archivos a los que tenemos acceso como usuario. Con Slocate ya no tenemos que indexar todos los archivos del sistema, sino que solo los archivos que pertenecen al usuario que esté usando el equipo,

Mlocate o Merging Locate, puntualmente sólo guarda la diferencia de los archivos que hayamos modificado en la base de datos con "updatedb" haciendo que el updateo sea más rápido.

Rlocate es parecido a Mlocate, pero consume un poco más de recursos. Tiene un módulo en el Kernel y un Demonio todos con el mismo nombre.

Poniendo en práctica algunos comandos.

Lo primero que hago es crear unArchivo en Documentos del usuario actual. Para que la base de datos esté completamente actualizada ejecuto updatedb.

updateerror

El problema que vemos es que el usuario actual no tiene permisos para guardar la nueva indexación. Se puede observar también el sistema usa el comando Mlocate por defecto (Kubuntu 12.04 Precise Pangolin).

Le otorgamos permisos: sudo chown pepito /var/lib/mlocate/mlocate.db y updateamos "updatedb".

Ejecutamos el comando: locate unArchivo

locateUnArchivo

Queda a nuestro criterio cual utilizemos.

----- 

 

Es importante dedicarle tiempo a estudiar los comandos, tener paciencia con la sintaxis... de a poco vamos a ir ganando el control del sistema que queramos; sin límites no hay una licencia de software que nos impida ver el código de lo que estamos estudiando ya que son sistemas Open Source o de Código Abierto... NO HAY LIMITES y esa es la única gran diferencia que tenemos "CONTROL SIN LÍMITES".

Saludos!.

Espero que sirva. Ch4rl1X!.