consertado 20/03/19
- campo ajuda usuarios
- campo ajuda listar-arquivos-unit
Busca de usuários comuns ,root,serviços e samba.
- Código: Selecionar todos
# Lista usuários
usuarios(){
[[ "$1" == "r" && "$#" -lt 2 ]] && awk -F : '$3 < 1 || $3 >= 1000 { print $1}' /etc/passwd;
[[ "$1" == "c" && "$#" -lt 2 ]] && awk -F : '$3 >= 1000 { print $1}' /etc/passwd;
[[ "$1" == "s" && "$#" -lt 2 ]] && awk -F : '$3 > 0 && $3 < 1000 { print $1}' /etc/passwd;
[[ "$1" == "S" && "$#" -lt 2 ]] && sudo pdbedit -L | cut -d \: -f1;
if [[ "$#" -eq 0 ]]; then
cut -d \: -f1 /etc/passwd;
elif [[ "$#" -gt 1 || "$1" != "c" && "$1" != "r" && "$1" != "s" && "$1" != "S" ]]; then
cat << USOAJUDA
[email protected] não é uma opção válida.
ajuda: usuarios [opções]
r : Mostra com o usuário root
c : Mostra usuários criados sem o serviços
s : Mostra usuários de serviços
S : Mostra usuários do samba
Exemplo:
usuarios r
usuarios
USOAJUDA
fi
Buca explicações de manuais do mankier.com
- Código: Selecionar todos
# Explicação de manuais
explain () {
if [ "$#" -eq 0 ]; then
while read -p "Command: " cmd; do
curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$cmd"
done
echo "Bye!"
elif [ "$#" -eq 1 ]; then
curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$1"
else
echo "Usage"
echo "explain interactive mode."
echo "explain 'cmd -o | ...' one quoted command to explain it."
fi
}
Subir pastas
- Código: Selecionar todos
# Subir pastas
subir() {
local d=""
limit=$1
for ((i=1 ; i <= limit ; i++)); do
d=$d/..
done
d=$(echo $d | sed 's/^\///')
if [[ -z "$d" ]]; then
d=..
fi
cd $d
}
Lista de units habilitadas ou não
- Código: Selecionar todos
listar-arquivos-unit(){
[[ "$1" == "s" && "$#" -lt 2 ]] && systemctl list-unit-files;
[[ "$1" == "u" && "$#" -lt 2 ]] && systemctl list-unit-files --user;
[[ "$1" == "se" && "$#" -lt 2 ]] && systemctl list-unit-files --state=enabled;
[[ "$1" == "sd" && "$#" -lt 2 ]] && systemctl list-unit-files --state=disabled;
[[ "$1" == "ss" && "$#" -lt 2 ]] && systemctl list-unit-files --state=static;
[[ "$1" == "ue" && "$#" -lt 2 ]] && systemctl list-unit-files --user --state=enabled;
[[ "$1" == "ud" && "$#" -lt 2 ]] && systemctl list-unit-files --user --state=disabled;
[[ "$1" == "us" && "$#" -lt 2 ]] && systemctl list-unit-files --user --state=static;
if [[ "$#" -eq 0 || "$1" != "s" && "$1" != "u" && "$1" != "se" && "$1" != "sd" && "$1" != "ss" && "$1" != "u" && "$1" != "ue" && "$1" != "ud" && "$1" != "us" ]]; then
cat << USOAJUDA
[email protected] não é uma opção válida.
ajuda: listar-arquivos-unit [opções]
s : Mostra os arquivos unit do sistema
u : Mostra os arquivos unit do usuário
se : Mostra os arquivos unit do sistema habilitados
sd : Mostra os arquivos unit do sistema desativados
ss : Mostra os arquivos unit do sistema estáticos
ue : Mostra os arquivos unit do usuário habilitados
ud : Mostra os arquivos unit do usuário desativados
us : Mostra os arquivos unit do usuário estáticos
USOAJUDA
fi
}
Informações do usuário
- Código: Selecionar todos
# Informações de usuários
infouser(){
vuser=`grep -c "^$1:" /etc/passwd`
tuser=`grep "^$1:" /etc/passwd| cut -d':' -f3`
if [[ $vuser -gt 0 ]]; then
if [[ $# == 1 ]] ; then
usu=$1
echo -e "\e[1m Usuário: \e[0m $usu"
echo -e "\e[1m Nome Completo: \e[0m"`grep $usu /etc/passwd | cut -d: -f5`
echo -e "\e[1m Diretório:\e[0m" `grep $usu /etc/passwd | cut -d: -f6`
echo -e "\e[1m Shell:\e[0m " `grep $usu /etc/passwd | cut -d: -f7`
echo -ne "\e[1m Tipo:\e[0m "
if [[ $tuser -ge 1000 ]]; then
echo "usuário comun"
elif [[ $tuser -eq 0 ]]; then
echo "super usuário"
else
echo "usuário de serviço"
fi
echo -e "\e[1m \n Lista os grupos que o $usu pertence \e[0m"
groups $usu
echo -e "\e[1m \n Lista os privilégios do usuário $usu \e[0m"
sudo -lU $usu
echo -e "\e[1m \n Sistem em atividade \e[0m"
echo -e "Tempo de atividade do sistema:" `uptime -p | sed 's/^up //g'`
echo -e "$usu iniciou em:" `last -n1 $usu | awk '{print $3" "$4" "$5" "$6}' | head -n1`
echo -e "$usu está no:" `last -n1 $usu | awk '{print $2}' | head -n1`
fi
else
[[ $# -gt 0 ]] && echo "O usuário [email protected] não existe" || echo "O usuário não foi informado";
echo "USO: infouser [usuário]"
fi
}
Cria e entra no diretório
- Código: Selecionar todos
# Cria e entra no diretório
mkcd() {
mkdir -p "$1"; cd "$1";
}
Entra e lista diretório
- Código: Selecionar todos
# Entra e lista diretório
cdls() {
cd "$1"; ls;
}
Comandos mais usados
- Código: Selecionar todos
# Comandos mais usados
maisusados(){
history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n10
}
Colorir manuais
- Código: Selecionar todos
# Colorir páginas de manuais
export LESS_TERMCAP_mb=$(printf '\e[01;31m') # Entrar no modo intermitente - vermelho
export LESS_TERMCAP_md=$(printf '\e[01;35m') # Entrar no modo de duplo brilho - negrito, magenta
export LESS_TERMCAP_me=$(printf '\e[0m') # Desativar todos os modos de aparência (mb, md, so, us)
export LESS_TERMCAP_se=$(printf '\e[0m') # Deixar o modo standout
export LESS_TERMCAP_so=$(printf '\e[01;33m') # Entrar no modo standout - amarelo
export LESS_TERMCAP_ue=$(printf '\e[0m') # Deixar o modo sublinhado
export LESS_TERMCAP_us=$(printf '\e[04;36m') # Entrar no modo sublinhado - ciano
Mostrar permissão
- Código: Selecionar todos
alias permissão='stat -c "(%F)- %n %a %A" "[email protected]"'
Mostrar as montagens por coluna
- Código: Selecionar todos
alias cmount="mount | column -t"
Depois adiciono mais alias .