Re: script o orden en consola para ver particiones o directorios o carpetas con sus tamaños

Juan Txonta juantxonta en gmail.com
Jue Mayo 12 17:07:09 UTC 2011



El 20/04/11 16:13, Juan Txonta escribió:
>
>     Asunto:
>     script o orden en consola para ver particiones o directorios o
>     carpetas con sus tamaños
>     De:
>     Juan Txonta <juantxonta en gmail.com>
>     Fecha:
>     Mon, 18 Apr 2011 14:18:15 +0200
>
>     Para:
>     ubuntu-es en lists.ubuntu.com
>
>
>      Hola a todos.
>     Y felicitaciones por esta lista tan ejemplar y útil, en la que
>     tantos aprendemos tanto.
>
>     La cuestión que traigo es que trato de facilitar el acceso a la
>     información de todo un disco duro externo con varias particiones
>     para poder ver lo mas cómodamente posible y de un vistazo su
>     tamaño, las capetas que contiene (con sus tamaños) y lo mismo de
>     las carpetas del primer nivel (no mas).
>     Hasta ahora me había valido de Baobab, pero por un lado tarda en
>     dar la info y por otro tampoco es lo que se dice muy manejable;
>     aunque esta bien y es muy útil.
>     Pero yo supongo que con unas ordenes adecuadas en consola o un
>     pequeño script debe de poder hacerse lo que quiero, mas rapido y
>     con una salida de info (en txt) mas ajustada; es decir en un
>     instante tengo la lista de particiones del HHD cada una con sus
>     tamaños y directorios. Si me apuran en colores.
>     He buscado en google y en la lista, he aprendido acerca de
>     comandos que se aproximan a lo que quiero pero no lo he resuelto.
>     Examinar un directorio o partición o disco externo para:
>     1- listar uso, capacidad, de particiones, directorios y archivos
>     2- Recursivamente solo el 1º nivel de capetas
>     Por lo que he visto se podrían emplear
>     df y du o ls o tree
>     Podría alguien orientarme? algun link o un script.
>     Supongo que es bastante sencillo para un programador experto,
>     quizás dos o tres lineas; pero no manejo tanto la consola y el
>     shell. Por eso mi solicitud de ayuda.
>     Cualquier cosa se lo agradezco.
>     Saludos.
>     -- 
>     Juan Txonta.
>     - * - www.tleo.es - * -
>
>
>
>     Parte 1.2
>
>     Asunto:
>     Re: script o orden en consola para ver particiones o directorios o
>     carpetas con sus tamaños
>     De:
>     Cosme Domínguez <cosme.ddiaz en gmail.com>
>     Fecha:
>     Mon, 18 Apr 2011 16:06:47 +0200
>
>     Para:
>     Lista Ubuntu <ubuntu-es en lists.ubuntu.com>
>
>
>     El día 18 de abril de 2011 14:18, Juan Txonta<juantxonta en gmail.com>  escribió:
>
>>     >  1- listar uso, capacidad, de particiones, directorios y archivos
>     df para particiones y du para directorios y archivos.
>
>>     >  2- Recursivamente solo el 1º nivel de capetas
>     ls -lh */
>
>     Y para volcar la salida a un fichero de texto utiliza el operador>
>
>     Por ejemplo:
>
>     echo hola mundo!>  fichero.txt
>
>     Y en fichero.txt aparecerá la salida de "echo hola mundo!" la cual es
>     simplemente "hola mundo!"
>
>     Para todo lo demás tienes las páginas man de cada comando ls, df, du,
>     etc... a las cuales puedes acceder por medio de la orden: man
>     nombredelcomando
>
>     Y si no entiendes algo, pregunta! ^_^
>
> =====================================
> Gracias Cosme por tu respuesta.
> Me aclara que debo emplear df, du y ls -lh */ ademas del redireccionamiento>  a un *.txt.
> Algunas de estas cosas ya las sabía pero otras las tenía algo confusas ante la variedad de alternativas.
> Como ya sabía la salida que dan estos comandos y algunas de sus opciones, me puse a buscar algún script que las empleara todas, pues todas son necesarias si quiero hacer lo que me propongo de manera, rápida, ágil y eficaz.
> Trato de hacer una salida que me informe del estado de las particiones (y archivos de 1º nivel) del disco duro externo.
> Seguro que es bastante simple conjugar esos comandos en un script adaptado pero no tengo tanta experiencia y no he encontrado la solución.
> He encontrado un pydf, una especie de df avanzado en python que esta en los repositorios:
> juan en juan-portatil:~$ pydf
> Filesystem Size  Used Avail Use%                Mounted on
> /dev/sda7   14G   10G 3335M 71.9 [#########...] /
> udev       497M  276k  496M  0.1 [............] /dev
> none       497M 1904k  495M  0.4 [............] /dev/shm
> none       497M     0  497M  0.0 [............] /lib/init/rw
> /dev/sda5   34G   30G 4476M 87.2 [##########..] /media/DATOS1
> /dev/sda6   34G   17G   17G 50.6 [######......] /media/DATOS2
> none       497M     0  497M  0.0 [............] /var/lock
> none       497M  204k  496M  0.0 [............] /var/run
>
> con los colorea segun sean de esta u otra partición.
> Yo quisiera algo que desplegara esas particiones:
> /dev/sda5   34G   30G 4476M 87.2 [##########..] /media/DATOS1
> /dev/sda6   34G   17G   17G 50.6 [######......] /media/DATOS2
>   que con el dico duro externo serían: sdb1, sdb2, sdb3, y sbd4
>   algo así:
> /dev/sdb1   34G   30G 4476M 87.2 [##########..] /media/DATOS1
>             497M     0  497M  0.0 [............] /dir1
>             497M  204k  496M  0.0 [............] /dir2
> /dev/sdb2   34G   17G   17G 50.6 [######......] /media/DATOS2
>             497M     0  497M  0.0 [............] /dir1
> /dev/sdb3   34G   30G 4476M 87.2 [##########..] /media/DATOS3
>             497M     0  497M  0.0 [............] /dir1
>             497M  204k  496M  0.0 [............] /dir2
>             497M  204k  496M  0.0 [............] /dir3
> /dev/sdb4   34G   17G   17G 50.6 [######......] /media/DATOS4
>
> Menuda chorrada no?
> Calculo que me llevaría meses conseguir por mis medios a lo hormiguilla un script que los usara con un bucle y una variable,
> pero si acaso a ratitos y con su ayuda ...
> Agradezco sus orientaciones, seudocodigo, lo que sea.
> Salud.
>
>     Juan
>     --   - * -www.tleo.es  - * -
>
Hola a todxs. Bueeno.
Ya tengo algo muy parecido a lo que buscaba:
  el bash que lista los discos montados en /media sus particiones y los 
nombres y tamaños de los directorios de primer nivel. Lo he tenido que 
hacer tipo collage (raro pero no he encontrado nada ya hecho).
Y claro por supuesto le falta embellecer la salida para que sea Visual y 
así cumpla su función bien.

#!/bin/bash
cd /media
df -h >> /home/juan/info-parts.txt
FILES=`ls -d */`

for i in $FILES; do
du -ch --max-depth\=1 $i
echo $i
echo >> /home/juan/info-parts.txt # $i
done

nota para quien no sabe nada de bash y quiere probarlo:
1- copia el codigo en un archivo de texto y guardalo como /nombre.sh/
2- ve al archivo y clik derecho/permisos marca permitir ejecución
3- en una consola desde el mismo directorio donde guardaste el archivo 
teclea:
   ./nombre.sh >> info-parts.txt
Esto generará un archivo info-parts.txt en el mismo directorio con la 
información que buscamos.

Esta tardando aun en concluir la salida, eso también habría que pulirlo.
Seguro que tiene alguna incorrección o alguna falta pero por lo que veo 
hace prácticamente lo que estaba buscando. Si alguién puede aportar 
algo, gracias de antemano.
Resumen de tareas pendientes:
1-optimizar el codigo para una salida rapida.
2-formatear la salida para que sea mas visual.
Saludos.

Juan Txonta
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://lists.ubuntu.com/archives/ubuntu-es/attachments/20110512/8a2ed653/attachment-0001.html>


Más información sobre la lista de distribución ubuntu-es