quarta-feira, 29 de julho de 2020

shellcheck - verificar script

otimo programa para checar se script está correto

site oficial
https://www.shellcheck.net/

para instalar no Debian

# apt-get install shellcheck 

segunda-feira, 22 de junho de 2020

dpkg problema PATH

dpkg: aviso: 'ldconfig' não foi encontrado em PATH ou não é executável
dpkg: aviso: 'start-stop-daemon' não foi encontrado em PATH ou não é executável

para resolver o problema

comando:
# export PATH=$PATH:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

OBS: para não ter que entrar como superusuárioe e ter que repetir sempre o processo utilize o comando

# echo "PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/games:/usr/local/games"" >> /etc/environment 

quinta-feira, 11 de junho de 2020

shell script read - aceitar apenas numeros

#!/bin/bash
LIMITA='^[0-9.]+$'
read -p "Digite numero" NUMERO
if ! [[ $NUMERO =~ $LIMITA ]] ; then
   echo "error: Not a number" >&2; exit 1
fi

terça-feira, 9 de junho de 2020

Somar colunas

Somar o valor de todas colunas

[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[B]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1

Comando
awk -F '|' '{sum+=$5}END{print "Soma total: " sum}' file

caso queira ignorar algum valor adicine # na frente do numero

Somar apenas colunas que começam com a [A]

[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[B]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1

Comando
awk -F '|' '$1 ~ /[A]/ {sum += $5} END {print "[A] Soma total : " sum}' file

Somar as ABC

[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[B]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[C]   |   Conteúdo   |   00/00/0000   |   ?   |   1

Comandp
awk -F '|' '$1 ~ /[ABC]/ {sum += $5} END {print "[ABC] Soma total : " sum}' file

Somar duas colunas

[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[B]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[A]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[C]   |   Conteúdo   |   00/00/0000   |   ?   |   1
[D]   |   Contéudo   |   1

Comando
awk -F '|' '$1 ~ /[ABCD]/ {sum += $5+$3} END {print "[ABCD] Soma total : " sum}' file

OBS: perceba que no exemplo a coluna D é a terceira enquanto as demais colunas permanecem sendo a quinta


---

Somar apenas conteúdo de um arquivo

1
1
1
1
1

Comando
echo $(cut -f3 file | tr '\n' +)0 | bc

numerar linhas

Comando
awk '{print NR-1 "," $0}' file

sexta-feira, 20 de dezembro de 2019

obtendo informações de rede

informações sobre ip e placa de rede

$ ip addr show

ou

$ ifconfig

sobre roteador e ip e rotas
$ ip route

ou

$ route

informações sobre

tudo que esta escutando/ aguardando uma conexão
$ netstat -l

mostra apenas protocolos do tcp
$ ss -ltn

$ ss -lt (resolve nomes não mostra o numero das portas)
mostra protocolos udp
$ ss -lun

$ ss -lu (resolve nomes não mostra o numero das portas)

DNS config fica em /etc/resolv.conf
DNS local /etc/hosts

analisar logs de sistema

os logs ficam no diretório /var/log

quem cuida do gerenciamente de logs é o rsyslog
 o arquivo de configuração que cuida dos logs fica normalmente em
/etc/rsyslog.d/50-default.conf
/etc/rsyslog.conf

outro metodo simples para analisar o log do sistema é atravês do comando
$ dmesg

obter informações sobre a placa mãe

$ su

# dmidecode -t baseboard