Usuario anónimo ¿Quieres tener tu propio blog?
Crear blog gratis en OboLog

Comando tree

por banyut
sábado, 19 de julio del 2008 a las 01:47
guardado en

Hoy os voy a mostrar un comando que posiblemente ya conozcáis, es uno de mis preferidos y con el me he pegado alguna que otra vacilada (no seáis mal pensados, es para motivarlos y que se interesen por este mundo, pensar que algunos de mis amigos creen que la informática es eso que ha creado windows para poder navegar por internet, INCREIBLE PERO CIERTO).

Bueno el comando en cuestión es tree y nos da una visión más o menos estructurada y jerárquica de los archivos y directorios de nuestro disco, lo mejor es que lo veamos, hoy no me quiero enrollar mucho.

La forma más básica es teclear el comando tree sin ninguna opción.

banyut@hades:~/Escritorio/dendrograma.bin$ tree
.
|-- dades.txt
|-- dades.txt~
|-- dendrograma.bat
|-- dendrograma.jar
|-- dendrograma.sh
|-- img
| |-- H_N.jpg
| |-- H_R.jpg
| |-- V_N.jpg
| |-- V_R.jpg
| |-- ico1.png
| `-- ico2.gif
|-- ini
| |-- English.l
| |-- English.l~
| |-- Idiomes.ods
| |-- catala.l
| |-- dendo.ini
| `-- spanish.l
`-- logs
|-- dendograma_log.xml
|-- dendograma_log.xml.1
`-- logger.dtd

3 directories, 20 files

Al introducir tree sin argumentos este nos devuelve toda la jerarquía de archivos y directorios a partir del directorio actual. Esto lo podemos cambiar, pudiendo indicar la ruta a partir de la cual queremos crear el árbol de directorios.

banyut@hades:~/Escritorio/dendrograma.bin$ tree /etc/thunderbird/
/etc/thunderbird/
|-- pref
| `-- thunderbird.js
`-- profile
|-- US
| |-- localstore.rdf
| `-- mimeTypes.rdf
|-- localstore.rdf
|-- mimeTypes.rdf
`-- prefs.js

3 directories, 6 files

Si queremos crear un árbol de nuestro sistema tendremos que teclear

tree /

Nos puede interesar listar solo los directorios.

banyut@hades:~/Escritorio/dendrograma.bin$ tree . -d
.
|-- img
|-- ini
`-- logs

3 directories

El punto indica que quiero listar el directorio actual, la instrucción anterior hubiera funcionado igual si lo hubiésemos omitido (tree -d).

Tree por defecto no muestra los archivos ocultos, si queremos que los muestre tendremos que añadir la opción -a.

banyut@hades:~/Escritorio/dendrograma.bin$ tree -a
.

|-- .oculto.txt
|-- dades.txt
|-- dades.txt~
|-- dendrograma.bat
|-- dendrograma.jar
|-- dendrograma.sh
|-- img
| |-- H_N.jpg

Si os fijáis, el primer archivo (.oculto.txt) no había salido en el listado anterior, la opció -a hace que nos lo muestre.

Otra opción que nos puede interesar mucho es que junto con el nombre de cada archivo se incluya la ruta completa. También dejaremos la opción de mostrar los ficheros ocultos para que veais como se pueden combinar dos o más opciones.


banyut@hades:~/Escritorio/dendrograma.bin$ tree -af
.
|-- ./.oculto.txt
|-- ./dades.txt
|-- ./dades.txt~
|-- ./dendrograma.bat
|-- ./dendrograma.jar
|-- ./dendrograma.sh
|-- ./img
| |-- ./img/H_N.jpg
| |-- ./img/H_R.jpg
| |-- ./img/V_N.jpg
| |-- ./img/V_R.jpg
| |-- ./img/ico1.png
| `-- ./img/ico2.gif
|-- ./ini
| |-- ./ini/English.l
| |-- ./ini/English.l~
| |-- ./ini/Idiomes.ods
| |-- ./ini/catala.l
| |-- ./ini/dendo.ini
| `-- ./ini/spanish.l
`-- ./logs
|-- ./logs/dendograma_log.xml
|-- ./logs/dendograma_log.xml.1
`-- ./logs/logger.dtd

3 directories, 21 files


Ahora quiero que me muestre el propietario o el UID del archivo (-u), el grupo o GID (-g) y el tamaño de cada archivo (-h).

banyut@hades:~/Escritorio/dendrograma.bin$ tree -ugh
.
|-- [banyut banyut 216] dades.txt
|-- [banyut banyut 0] dades.txt~
|-- [banyut banyut 26] dendrograma.bat
|-- [banyut banyut 197K] dendrograma.jar
|-- [banyut banyut 57] dendrograma.sh
|-- [banyut banyut 4.0K] img
| |-- [banyut banyut 19K] H_N.jpg
| |-- [banyut banyut 19K] H_R.jpg
| |-- [banyut banyut 19K] V_N.jpg
| |-- [banyut banyut 19K] V_R.jpg
| |-- [banyut banyut 1.6K] ico1.png
| `-- [banyut banyut 1.3K] ico2.gif
|-- [banyut banyut 4.0K] ini
| |-- [banyut banyut 1.5K] English.l
| |-- [banyut banyut 1.5K] English.l~
| |-- [banyut banyut 15K] Idiomes.ods
| |-- [banyut banyut 877] catala.l
| |-- [banyut banyut 2.7K] dendo.ini
| `-- [banyut banyut 1.8K] spanish.l
`-- [banyut banyut 4.0K] logs
|-- [banyut banyut 20K] dendograma_log.xml
|-- [banyut banyut 384] dendograma_log.xml.1
`-- [banyut banyut 2.3K] logger.dtd

3 directories, 20 files

Podemos quitar la tabulación con la opción (-i)

banyut@hades:~/Escritorio/dendrograma.bin$ tree -ughi
.

[banyut banyut 216] dades.txt
[banyut banyut 0] dades.txt~
[banyut banyut 26] dendrograma.bat
[banyut banyut 197K] dendrograma.jar
[banyut banyut 57] dendrograma.sh
[banyut banyut 4.0K] img
[banyut banyut 19K] H_N.jpg
[banyut banyut 19K] H_R.jpg
[banyut banyut 19K] V_N.jpg
[banyut banyut 19K] V_R.jpg

Para no hacerme muy pesado, aquí tenéis otras posibles opciones.


-l     Sigue los enlaces simbolicos.
-P patron lista solo los que coincidan con el patron.
-I  patron lista los que no coincidan con el patron.
-p   muestra el tipo de archivo y sus permisos.
-s   tamaño en bytes.
-D  muestra la fecha de la última modificación.
-r   ordena la salida alfabeticamente de forma descendente.
-t   ordena por ultima modificación.
--dirsfirst coloca los directorios antes que los ficheros.
-n   salida sin colores.
-C   activa el coloreado en la salida.
-L nivel Máximo nivell que mostraremos al crear el árbol.
-o file Envía la salida al fichero indicado

Bueno he dejado un par para comentar ya que creo que vale la pena. Tenemos la opción -A que nos dibuja las lineas (tabulaciones) del árbol de una forma más agradable.

monti@hades:~/Escritorio/dendrograma.bin$ tree -A
.
├── dades.txt
├── dades.txt~
├── dendrograma.bat
├── dendrograma.jar
├── dendrograma.sh
├── img
│ ├── H_N.jpg
│ ├── H_R.jpg
│ ├── V_N.jpg
│ ├── V_R.jpg
│ ├── ico1.png
│ └── ico2.gif
├── ini
│ ├── English.l
│ ├── English.l~
│ ├── Idiomes.ods
│ ├── catala.l
│ ├── dendo.ini
│ └── spanish.l
└── logs
├── dendograma_log.xml
├── dendograma_log.xml.1
└── logger.dtd

3 directories, 20 files

y ahora tenemos una que en un momento determinado nos puede ser de utilidad, la opción -H nos parsea la salida convirtiéndolo en código html, probarlo vale la pena ver la salida de este comando.

tree -H . -o mi_dir.html
firefox mi_dir.html

Con la opción (-T title), podemos poner un titulo a la pagina web, tambien tenemos la opción (--nolinks) que eliminará los links de la pagina web y por último podemos definir la codificación de caracteres que usará la pagina web. (--charset cod).

Si usamos las opciones P o I, tendremos que tener a nuestra disposición los siguientes operadores.

'*' sustituye ninguno o todos
'?' sustituye un unico carácter
'[...]' Cualquier carácter que se encuentre entre los corchetes ( los rangos se crearan con '-').
'[^...]' Cualquier carácter que no se encuentre entre los corchetes.
'|' es como un OR, separa diferentes patrone
s.

un ejemplo.

banyut@hades:~/Escritorio/dendrograma.bin$ tree -P *.jpg
.
|-- img
| |-- H_N.jpg
| |-- H_R.jpg
| |-- V_N.jpg
| `-- V_R.jpg
|-- ini
`-- logs

3 directories, 4 files

- - -
La inteligencia me persigue pero, ... yo soy más rápido.

Relacionados con Comando tree

Deja tu comentario sobre Comando tree

Deja tu comentario
Necesitas tener javascript activado para poder dejar comentarios

Identifícate en OboLog, o crea tu blog gratis si aún no estás registrado.

De esta forma, además, podrás mostrar tu imagen en los comentarios y no tendrás que rellenar tus datos cada vez.

Sobre esta anotación

banyut

banyut escribió esta anotación hace 1 año. En ella habla sobre Comandos.

Aún no hay ningún comentario.

Tu podrías dejar el primero.

Temas relacionados

Login

Comentarios

Restaurar el audio en UBUNTU (Alejandro)
Al 50% del compilador me arroja el error de nuevo alguien sabe xq? o tendra alguna solucion??? ......(15 nov)
Importar en openoffice write y calc (R. A.)
Sigo sin resolver un problemita: ¿Puedo o no puedo importar una tabla en Write a Calc?  Microsoft ......(12 nov)
Restaurar el audio en UBUNTU (skater)
muchas gracias! me ayudaste aun no funcionan mis auriculares pero me funciona el sonido con mis ......(12 nov)
Traducción offline con STARDIC (mserra)
Muchísimas gracias, lo echaba de menos....(07 nov)
Python: Variables y asignaciones. (fernando)
Hola, ¿No hay un comando en el interprete de python que muestre las variables que se han definido a ......(06 nov)

Más comentados

Restaurar el audio en UBUNTU (24)
Hay veces que sin saber que es lo que hacemos exactamente, nos cargamos el audio del sistema, no se ...
Convertir Ubuntu Hardy en un Mac OSX Leopard (21)
Para transformar la versión Intrepid Ibex, tenes este otro link. He encontrado un Post en el que de ...
Convertir Ubuntu Intrepid en un Mac (Mac4Lin) (17)
En su día ya vimos un manual de como convertir Hardy en un mac, esta vez lo haremos para Intrepid, ...
Python: Las Listas (16)
Son la esencia de python, las podríamos definir como una secuencia ordenada de elementos encerrados ...
Copias de seguridad en UBUNTU (crontab, rsync, dd) (13)
Hoy abordaremos el tema de las copias de seguridad. El objetivo es montar dos tipos de copias, por ...

Suscripción

Suscríbete al Feed RSS XML

También puedes suscribirte directamente con alguno de los siguientes enlaces:

  • Suscríbete en Bloglines
  • Suscríbete en Google