Mostrar el recuento de carpetas y archivos en la terminal

Veamos cómo hacer que se muestre un resumen con el número de carpetas y archivos al listar el contenido de una carpeta en la terminal de nuestro sistema GNU/Linux

Estando en una terminal, es una tarea muy común el listar el contenido de una carpeta para que nos muestre el listado de archivos y carpetas que contiene. Eso lo podemos realizar con el comando ls o con herramientas más modernas como exa

Hace unos días, al escribir un artículo para el blog sobre el comando tree me gustó el detalle de que al terminar, hace un resumen en el que muestra el número de directorios y archivos que el comando ha mostrado.

Pensé que me gustaría que exa, que es el comando (con el alias de ll) que uso para mostrar el contenido de las carpetas también tuviera esa funcionalidad. Y dándole alguna vuelta, así logré tenerlo.

Para mostrar ese resumen del comando tree en exa, había además que usar tail para que seleccionara la última línea del comando tree.

Al final el comando quedaría así:

ll && tree -L 1 | tail -n 1

Como he dicho antes, ll es un alias que tengo establecido para que ejecute exa con los siguientes parámetros: exa --icons --long --header --git --group-directories-first

El resultado, es lo que ves en la captura que abre el artículo. Se muestra el contenido de la carpeta y se añade el resumen final del comando tree, del que el comando tail ha recortado la última línea para mostrarla.

El comando tiene algún pequeño contratiempo, ya que si quieres que exa muestre todos los archivos, incluidos ocultos, también a tree deberás pedírselo, para que concuerde lo mostrado con el resumen final. Para ello deberemos hacerlo así:

ll -a && tree -aL 1 | tail -n 1

También podemos usar alguna otra de las funcionalidades de las opciones del comando tree, para que nos muestre lo que ocupan dichos archivos y directorios mediante la opción --du y añadiendo también -h para que muestre el valor de una manera adecuada. Quedando así:

ll && tree --du -hL 1 | tail -n 1

¿Te ha resultado interesante la opción que te he traido? Ya queda en tu mano añadir ese comando a tus alias y adaptarlo a tus gustos personales.

Enlaces de interés

5 comentarios sobre “Mostrar el recuento de carpetas y archivos en la terminal

  1. Interesante. Habría que alargar la macro del exa y que pudiera funcionar especificando otros directorios.

    Si hago:

    ~/Descargas  ls1 && tree –du -hL 1 | tail -n 1  ✔  12:41:04
    Permissions Size User Date Modified Name
    .rwxrwxrwx 2,1Mi krovikan 27 jun 2017 Benny Hill.mp3
    drwxr-xr-x – krovikan 30 oct 12:13 Dragon Quest
    drwxr-xr-x – krovikan 8 may 11:04 El Bueno, el Feo y el Malo Antiguo
    .rw-r–r– 21Mi krovikan 19 may 2020 Manual Samsung TV.pdf
    .rw-r–r– 287Ki krovikan 8 oct 11:42 Neofetch.png
    .rw-r–r– 925Mi krovikan 26 sep 16:00 openSUSE-Leap-15.4-KDE-Live-x86_64-Build7.52-Media.iso
    .rw-r–r– 303Ki krovikan 1 nov 17:23 Sensors.png
    .rw-r–r– 9,1Mi krovikan 12 mar 15:57 So I Tried Elden Ring.mp4
    .rw-r–r– 102Ki krovikan 1 nov 17:22 Sources.png
    .rw-r–r– 889Ki krovikan 1 nov 19:38 Steam 01.png
    .rw-r–r– 655Ki krovikan 1 nov 16:50 SuSE Escritorio.png
    .rw-r–r– 410Ki krovikan 1 nov 16:41 SuSE Leap 15.4.png
    .rw-r–r– 35Ki krovikan 1 nov 1:36 tide-5.5.1.tar.gz
    .rw-r–r– 88Ki krovikan 13 jun 20:45 Transferencia claraboya.pdf
    961M used in 2 directories, 12 files

    Me da un resultado falso. El primer directorio ocupa varias gigas. Sólo lo soluciono con un -hL 2 pero un alias es estático. Sería fabuloso un alias universal sin tener que especificar numeritos y que ponga junto a cada directorio lo que ocupa en sí (algo de ese me suena de un comando DOS o una aplicación).

    Si justo después del comando que he puesto arriba, pongo este otro:

    ~/Descargas  ls1 /home/krovikan && tree –du -hL 1 | tail -n 1  ✔  12:43:38
    Permissions Size User Date Modified Name
    drwxr-xr-x – krovikan 31 may 2021 .aboutloveandhate
    drwxr-xr-x – krovikan 1 nov 16:25 .audacity-data
    drwxr-xr-x – krovikan 1 nov 16:27 .avidemux3
    .rw——- 24Ki krovikan 1 nov 10:13 .bash_history
    .rw-r–r– 1,3Ki krovikan 31 oct 19:24 .bashrc
    drwx—— – krovikan 2 nov 12:28 .cache
    drwx—— – krovikan 2 nov 12:28 .config
    drwx—— – krovikan 31 oct 18:34 .cups
    drwxr-xr-x – krovikan 15 mar 12:35 .fonts
    .rw-r–r– 110 krovikan 30 oct 18:27 .fonts.conf
    drwxr-xr-x – krovikan 25 mar 2018 .frictionalgames
    drwxr-xr-x – krovikan 1 nov 12:56 .gpac
    .rw-r–r– 274 krovikan 2 nov 12:27 .gtkrc-2.0
    drwxr-xr-x – krovikan 2 nov 12:27 .hplip
    .rw-r–r– 73 krovikan 25 may 2018 .i18n
    .rw-r–r– 861 krovikan 9 abr 2018 .inputrc
    .rw-rw-r– 98 krovikan 1 nov 16:10 .install4j
    drwxr-xr-x – krovikan 1 nov 16:06 .java
    drwxr-xr-x – krovikan 30 oct 18:11 .kde4
    .rw——- 20 krovikan 1 nov 17:28 .lesshst
    drwx—— – krovikan 30 oct 18:32 .local
    drwxr-xr-x – krovikan 26 dic 2019 .mozilla
    drwx—— – krovikan 1 nov 11:17 .nv
    .rw-r–r– 2,2Ki krovikan 2 nov 1:05 .nvidia-settings-rc
    drwxr-xr-x – krovikan 1 nov 16:10 .oracle_jre_usage
    drwx—— – krovikan 31 oct 16:08 .pki
    .rw-r–r– 1,0Ki krovikan 7 may 17:38 .profile
    drwxrwx— – krovikan 31 oct 18:39 .sane
    drwxr-xr-x – krovikan 2 nov 1:39 .steam
    lrwxrwxrwx 33 krovikan 2 nov 1:22 .steampath -> /home/krovikan/.steam/sdk32/steam
    lrwxrwxrwx 31 krovikan 2 nov 1:22 .steampid -> /home/krovikan/.steam/steam.pid
    .rw——- 1,0Ki krovikan 31 oct 13:40 .viminfo
    lrwxrwxrwx 16 krovikan 31 oct 0:39 .wine -> /mnt/juegos/wine
    drwxr-xr-x – krovikan 31 oct 19:43 .winedxvk
    .rw-r–r– 1,9Ki krovikan 25 may 2018 .xim.template
    drwxr-xr-x – krovikan 1 nov 12:55 .xine
    .rwxr-xr-x 1,1Ki krovikan 5 may 2019 .xinitrc.template
    .rw-r–r– 8,9Ki krovikan 31 oct 17:19 .xscreensaver
    drwxr-xr-x – krovikan 11 sep 19:28 Alberto
    drwxr-xr-x – krovikan 8 ene 2020 Anime – Música
    drwxr-xr-x – krovikan 27 may 2016 Anime – Vídeo
    drwxr-xr-x – krovikan 4 oct 23:20 bin
    drwxr-xr-x – krovikan 1 nov 19:38 Descargas
    drwxr-xr-x – krovikan 19 nov 2010 DVD 2004 – 2008
    drwxr-xr-x – krovikan 31 oct 19:43 Escritorio
    .rw-r–r– 2,0Ki krovikan 2 nov 2021 Final WoW
    drwxr-xr-x – krovikan 30 oct 18:11 Imágenes
    drwxr-xr-x – krovikan 1 nov 16:17 jJDownloader2
    drwxr-xr-x – krovikan 6 dic 2019 Juegos-DOS
    drwxr-xr-x – krovikan 16 oct 2010 Juegos-WIN
    drwxr-xr-x – krovikan 4 jul 2018 My Games
    drwxr-xr-x – krovikan 1 nov 13:06 Música
    .rw-rw-rw- 625 krovikan 24 dic 2017 Olentzero
    drwxr-xr-x – krovikan 13 jun 18:13 Películas
    .rw-r–r– 8,3Ki krovikan 14 may 12:33 Perfil Steam
    .rw-r–r– 114Ki krovikan 1 nov 23:24 Reseñas Steam
    drwxr-xr-x – krovikan 1 nov 10:52 Retoques
    drwxr-xr-x – krovikan 22 oct 11:28 Series
    drwxr-xr-x – krovikan 29 oct 13:37 WINE-29-10-2022
    .rw-r–r– 577Ki krovikan 1 nov 12:39 Wordle.png
    961M used in 2 directories, 12 files

    Me sale el contenido de mi home pero con el conteo del directorio de la orden anterior.

    Saludos

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.