Mostrando informações sobre o sistema

Publicado por Sandro Marcell 01/08/2007

[ Hits: 4.759 ]

Homepage: http://sanmarcell.wordpress.com

Download info.SH




Simples script que mostra informações sobre o sistema. Usa a interface dialog.

  



Esconder código-fonte

#!/bin/sh
#
# Algumas informações sobre o usuário e o sistema.
# 
# Sandro Marcell ([email protected])
#
# Uso: nome_script -s/u
# Onde:
# -s Apresenta informações sobre o sistema
# -u Apresenta informações sobre o usuário
#
# Este script está meio tosco, por isso se puder melhorá-lo, faça-o! =)

# Realçando saída do comando 'echo':
Echo () { echo -e "\e[1m$*\e[m" ; }

# Checando parâmetros:
[ $# -eq 0 ] && Echo "Uso: $0 -s/u" && exit 

case $1 in 
   -s | -S) {
   ## Informações sobre o sistema ##
   
   # Distro:
   A=$(sed 's/=/ /g' /proc/cmdline | awk '{print $3}')
   # Versão do kernel
   B=$(uname -rm)
   # Data da compilação:
   C=$(uname -v | sed 's/#[[:digit:]]// ; s/^[ \t]*//')
   # Processador:
   D=$(sed -n '/model name/p' /proc/cpuinfo |\
   sed 's/\t// ; s/model name:// ; s/^[ \t]*//')
   # Total de memória RAM (em MB):
   E=$(free -m | sed '2!d' | awk '{print $2}')
   # Placa de vídeo:
   F=$(glxinfo | sed '22!d ; s/.\{24\}//')
   # Placa de som:
   G=$(sed '3!d' /etc/modprobe.conf | awk '{print $3}')
   # Informações sobre o hd:
   H=$(dmesg | sed -n '/DISK drive/p' | sed 's/.\{4,5\}//')
   # Quantidade de paritções:
   I=$(awk '{print $4}' /proc/partitions |\
   sed ':A ; $!N ; s/\n/ /g ; tA ; s/name// ; s/^[ \t]*//')
   # Tamanho da partição Linux:
   J=$(df -hT | sed '2!d' | awk '{print $1,$3,$6}')
   # Sistema de arquivos:
   L=$(df -hT | sed '2!d' | awk '{print $2}')
   # Partição swap:
   M=$(sed -n '2p' /proc/swaps | awk '{print $1,$3}')

   # Montando a janela:
   dialog --colors --backtitle "\ZbInfo.sh" --no-cancel \
          --ok-label "Fechar" --title "Informações sobre o sistema" \
          --menu "Visualizando..." 0 0 0 \
          "Distro:" "$A" \
          "Versão do kernel:" "$B" \
          "Data de compilação:" "$C" \
          "Processador:" "$D" \
          "Total de memória RAM:" "$E (MB)" \
          "Vídeo:" "$F" \
          "Som:" "$G" \
          "Disco rígido:" "$H" \
          "Partições disponíveis:" "$I" \
          "Partição Linux:" "$J (em uso)" \
          "Sistema de arquivos:" "$L" \
          "Partição swap:" "$M (MB)" 2> /dev/null
       } ;;
   
   -u | -U) {
   
   ## Informações sobre o usuário ##
   
   dialog --colors --backtitle "\ZbInfo.sh" --no-cancel \
          --ok-label "Fechar" --title "Informações sobre o usuário" \
          --menu "Visualizando..." 0 0 0 \
          "Usuário:" "$USER" \
          "Diretório padrão:" "$HOME" \
          "Terminal padrão:" "$TERM" \
          "Shell padrão:" "$SHELL" \
          "Idioma:" "$LANGUAGE" \
          "Tempo de execução da sessão (HH:MM):" \
          "$(uptime | sed 's/,//g' \
          | awk '{print $3}')" 2> /dev/null
       } ;;

   *) Echo "Uso: $0 -s/u" ; exit
   ;;
   
   esac
# Fim    

Scripts recomendados

smbldap-groupCopy copiar grupos de user1 para user2

rc.squid start|stop|restart Servidor Proxy

Montar Imagem ISO no Nautilus-Script ou Nautilus-Actions

Meu script em shell entendo chamadas ao sistema do mesmo

Conversor de Celsius para Farenheit e vice-versa...


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts