Script para listar arquivos, diretórios e uso do espaço em disco destes

Publicado por Wagner Souza (última atualização em 01/06/2015)

[ Hits: 21.429 ]

Homepage: https://medium.com/@souzaw

Download list_dir_arq.sh




Script que recebe como parâmetro o diretório e informa a quantidade de sub-diretórios, arquivos ocultos ou não ocultos, porcentagem usada do disco rígido pelo diretório e informa uma saudação para quem está executando o script.

  



Esconder código-fonte

#!/bin/bash

# Script que recebe como parâmetro o diretório e informa a quantidade
# de sub-diretórios, arquivos ocultos ou não ocultos, porcentagem usada 
# do disco rígido pelo diretório e informa uma saudação para quem está
# executando o script


#------------- / SEÇÃO 1 - Variáveis / -------------

# Esta primeria variável, com o auxílio do comando 
# grep, vai mostrar todos os arquivos de um dire-
# tório exceto os sub-diretórios. No linux, a saída 
# do comando ls -l vai listar todas as informações 
# contidas em um diretório. O sinal de ( - ) refere-se
# a arquivos e a letra d refere-se a diretórios. O grep 
# retorna tudo o que não for diretório

LIST_ARQ=$(ls -l $1 | grep -v ^d | wc -l)


# Listando arquivos ocultos em um diretório 

LIST_ARQ_OCULTOS=$(find $1 -maxdepth 1 -type f -name '.*' | wc -l)


# Aqui eu só vou listar os diretórios excluindo do 
# filtro os arquivos

LIST_DIR=$(ls -l $1 | grep -v ^- | wc -l)


# Informa o espaço em disco usado pelo diretório.
# O comando sed vai eliminar a primeira linha que
# não vai nos interessar


USO_DISCO=$(df -h $1 | cut -c34-38 | sed '1d')


# Esta variável será usada na instrução Case para
# dar a saudação ao usuário que está executando o 
# scrpit

HORA=$(date +%H)

#----------------- / FIM SEÇÃO 1 / -----------------



#------- / SEÇÃO 2 - Informações de Exibição / ------


# A instrução a seguir faz um teste para saber se foi
# passado algum parâmetro ao script. Caso não, o mesmo 
# será encerrado


if  [ $# -ne 1 ]
then
   echo Você não passou nenhum parâmetro!
   exit 1
fi


# Informa uma saudação ao usuário que esta
# executando o script


echo "*************************"
case $HORA in
    0? | 1[01]) echo "Bom Dia $USER"
                ;;
    1[2-7]    ) echo "Boa Tarde $USER"
                ;;
    *         ) echo "Boa Noite $USER"
                ;;
esac
echo "*************************"

echo "Total de arquivos: $LIST_ARQ"
echo "Total de arquivos ocultos: $LIST_ARQ_OCULTOS"
echo "Total de diretórios: $LIST_DIR"
echo "Espaço em disco usado pelo diretório: $USO_DISCO"


#----------------- / FIM SEÇÃO 2 / -----------------


Scripts recomendados

Backup com envio automático de e-mails usando o tar

Hello World em Octave

Script nubb

NFS Mounter

montagem de disquete e cd rom (usando dialog)


  

Comentários
[1] Comentário enviado por removido em 20/06/2015 - 18:59h

Uma aula de shell script. Parabéns.
--
Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden

[2] Comentário enviado por marcoslima82 em 06/11/2017 - 15:16h

Muito bom script!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts