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.389 ]
Homepage: https://medium.com/@souzaw
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.
#!/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 / -----------------
Firewall simples mas muito util
Bom treino para iniciados em Shell
script bobo mas de mutia utilidade
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
GLPI - Configuração de destinatário com conta Microsoft Exchange (0)
Vou voltar moderar conteúdos de Dicas e Artigos (3)
OpenVPN no MACBOOK conecta mas não pinga pastas de rede compartilhada ... (1)
Melhorando a precisão de valores flutuantes em python[AJUDA] (8)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta