Pular para o conteúdo

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

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.

Wagner Souza wagnerfs
Hits: 22.111 Categoria: Shell Script Subcategoria: Introdução
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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.

Download list_dir_arq.sh Enviar nova versão

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 / -----------------

IPscan em shell script

Limpar Cache do Squid

Sistema de ajuda on-line com interface grafica

Obter lista de cidades do IBGE

Bloqueio e desbloqueio de contas de usuá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

Entre na sua conta para comentar.