Você não está autenticado.
Devido a quantidade de spam e a ineficácia de integração do Google Captcha com o fluxbb, o registro de novos usuários foi desativado. Caso queira se registrar, por favor, entrar contato pelo e-mail: forum at archlinux-br.org
Arch Linux Brasil está precisando de sua colaboração para realizar o pagamento do domínio e do host, para colaborar, realizar doações via paypal. Para mais informações: contato at archlinux-br.org.
Oi pessoal.
Decidi criar este tópico para facilitar e melhorar o uso do sistema no dia a dia.
Lógico que para dar certo será necessário da ajuda de todos. Se você sabe algum comando e quer compartilhar com a gente, por favor, sinta-se à vontade para adicionar neste tópico.
Aqui será como uma coletânia de comandos com alias ou funções para facilitar o uso do sistema Linux.
Serve tanto para iniciantes como para experientes.
Copiar para o arquivo ~/.bashrc
Aqui já vou colocar e explicar alguns comandos, e depois adiciono mais o que eu for lembrando.
Obs: Caso esqueça algum nome de alias é só executar o comando alias
Este tópico também foi inciado em http://ubuntuforum-br.org/index.php/topic,121282.0.html
Alias e funções
Alguns comandos é aconselhável colocar uma interatividade, por exemplo, o comando rm, pois você pode apagar o arquivo errado.
# Interativo
alias rm='rm -i'
alias ln='ln -i'
Comandos como mover e cp é legal ter um explicativo e interativo.
# Comando que é interativo e explica o que está sendo feito
alias mv='mv -vi'
alias cp='cp -vi'
Para o comando df emitir tamanhos na potência de 1000 (p.ex.: 1.1G) ( mais próximo dos gerenciadores de arquivos)
## comando df ##
alias df='df -H'
Para o histórico
# Procura por comando no registro history
alias hs='history | grep $1'
Pacman
Limpar arquivos orfãos
# Remover arquivos orfãos
limpar_orfaos() {
declare ORPHAN=$(pacman -Qdtq)
[ "$UID" != 0 ] && SU=sudo
[ -z "$ORPHAN" ] && echo "não há nada a fazer" || $SU pacman -Rsn ${ORPHAN}
}
Manuais
# 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
}
Ordenar a pasta e arquivos ou até as subpastas por tamanho.
Normalmente pelo gerenciador de arquivos ele só ordena os arquivos e não as pastas.
# Ordenar por tamanho
tamanho() {
if [ -z $1 ]; then
du --si -d 1 -a | sort -hr | tail -n +2
elif [ $1 -eq $1 2> /dev/null ]; then
du --si -d $1 -a | sort -hr | tail -n +2
else
echo "Use número, por exemplo, tamanho 2"
fi
}
Uso:
tamanho
tamanho 2
tamanho 10
O número seria referente as subpastas.
Remover espaço em branco no início do nome
# Remover espaço em branco no início do nome
rembranco(){
for b in "[email protected]"; do
nome=$(echo "$b"|sed "s/^ //")
if [ "$b" != "$nome" ]; then
mv -v "$b" "$nome"
fi
done
}
Uso:
rembranco *
rembranco arquivo
Alguns alias interessantes
# Listar arquivos de hoje
alias lshoje='ls -al --time-style=+%D | grep `date +%D`'
# Mostrar permissão
alias permissão='stat -c "(%F)- %n %a %A" "[email protected]"'
# Mostrar portas abertas/ativas tcp e udp
alias portas='netstat -tulanp'
# Passar opções para free ##
alias meminfo='free -m -l -t -h'
# Top processos comendo memória
alias psmem='ps auxf | sort -nr -k 4'
alias psmem10='ps auxf | sort -nr -k 4 | head -10'
# Top processos comendo cpu
alias pscpu='ps auxf | sort -nr -k 3'
alias pscpu10='ps auxf | sort -nr -k 3 | head -10'
# Obter informações da CPU do servidor
alias cpuinfo='lscpu'
# Pegue seu atual ip público e host
alias ipublic='curl icanhazip.com && curl icanhazptr.com'
# Temperatura da cpu
alias cputemp='sensors | grep Core'
# Mostrar as montagens por coluna
alias cmount="mount | column -t"
Pegar o pid do processo
# Pegar o pid do processo
pid (){
ps aux | grep -i "$1" | grep -v grep | awk '{print $2}'
}
Uso:
pid firefox
Lista somente usuário e não de serviços
# lista usuários
alias usuários="awk -F : '$3 >= 1000 { print $1}' /etc/passwd " # apenas usuários do sistema e não de serviços sem o root
alias usuários="awk -F : '$3 < 1 || $3 >= 1000 { print $1}' /etc/passwd " # apenas usuários do sistema e não de serviços com o usuário root
Lista tudo
# lista usuários e grupos
alias usuários='cut -d \: -f1 /etc/passwd'
alias grupos='cut -d: -f1 /etc/group'
Última edição por swatquest (18/01/2017 15:48:16)
Offline
Sobre obter o ip público
# Pegue seu atual ip público e host
alias ipublic='curl icanhazip.com && curl icanhazptr.com'
mais informações aqui
https://major.io/icanhazip-com-faq/
Offline
Colorir páginas de manuais
# 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
Offline
Cria e entra no diretório
# Cria e entra no diretório
mkcd() {
mkdir -p "$1"; cd "$1";
}
Entra e lista diretório
# Entra e lista diretório
cls() {
cd "$1"; ls;
}
Última edição por swatquest (07/01/2017 01:11:58)
Offline
deletar diretórios vazios
deletarpastasvazias() {
read -p "Delete all empty folders recursively [y/N]: " OPT
[[ $OPT == y ]] && find . -type d -empty -exec rm -fr {} \; &> /dev/null
}
listar diretórios apos o comando cd
function cd() { builtin cd -- "[email protected]" && { [ "$PS1" = "" ] || ls -hrt --color; }; }
10 comando mais usados
maisusados() { history | awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}' | sort -rn | head; }
subir diretório (se não especificar quantos, sobe um nível)
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
}
Última edição por niquelnausea (11/01/2017 00:36:53)
Offline
Lista usuários (samba,serviços e criados)
# 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: usuario [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
}
Pesquisar do pacman colorido
# Pacman ao pesquisar colorido
pesquisar() {
echo -e "$(pacman -Ss [email protected] | sed \
-e 's#core/.*#\\033[1;31m&\\033[0;37m#g' \
-e 's#extra/.*#\\033[0;32m&\\033[0;37m#g' \
-e 's#community/.*#\\033[1;35m&\\033[0;37m#g' \
-e 's#^.*/.* [0-9].*#\\033[0;36m&\\033[0;37m#g' )"
}
Informações de usuários
# 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 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
Offline
Atualiza e edita o bashrc na sessão iniciada sem precisar reiniciar o terminal.
# Atualiza na sessão aberta as configurações no arquivo .bashrc
alias upbashrc="source ~/.bashrc"
# Abre o arquivo rc e depois atualiza na sessão
alias bashrc='$EDITOR ~/.bashrc ; source ~/.bashrc'
Pacman opções
# Pacman
alias atualizar='sudo pacman -Syu'
alias yatualizar='yaourt -Syua'
alias remover='sudo pacman -Rsn'
alias pac='sudo pacman -S'
alias ypac='yaourt -S'
alias pacinst='sudo pacman -U'
alias otimizar='sudo pacman-optimize && sync'
alias procurar='pacman -Qs'
alias ypesquisar='yaourt -Ss'
# Sincroniza o pacman no modo repositórios remotos e na opção files
alias sincronizar='sudo pacman -Sy && sudo pacman -Fy'
# Adicionais pacman alias
alias pacabs='sudo pacman -Sy && sudo abs'
alias pacinsd='sudo pacman -S --asdeps'
Função parecida com a qual o niquelnausea enviou, mas com algumas opções a mais.
Comando do histórico mais usado com numeração e porcentagem
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
}
Para o comando ping
# Parar depois de enviar a contagem de pacotes ECHO_REQUEST
alias ping='ping -c 5'
# Não esparar o intervalo de 1 segundo, vá rápido
alias fastping='ping -c 100 -s.2'
Iptables - Firewall
# Mostrar todas as regras iptables
alias iptlist='sudo /sbin/iptables -L -n -v --line-numbers'
alias iptlistin='sudo /sbin/iptables -L INPUT -n -v --line-numbers'
alias iptlistout='sudo /sbin/iptables -L OUTPUT -n -v --line-numbers'
alias iptlistfw='sudo /sbin/iptables -L FORWARD -n -v --line-numbers'
alias firewall=iptlist
Última edição por swatquest (17/01/2017 19:57:34)
Offline
Offline
Ver nomes de alias e funções
# Ver alias e function do bashrc
alias verbashrc='alias; echo -e "\n [ Funções ]\n"; grep -v alias ~/.bashrc | grep -i "[a-zA-Z]()" | sort | cut -d"(" -f1 '
caso queira que mostra a funçao completa
alias verbashrc='alias; grep -v alias ~/.bashrc | grep -i -A 30 "()"'
Última edição por swatquest (15/01/2017 22:47:26)
Offline
consertada a função tamanho
Offline
Execução de comandos remotos via ssh passando login do usuário como login remoto:
assh() { ssh -t ${USER}@$1 "${@:1}" }
Exemplo de uso:
assh host.remoto uname -a
Pesquisa via ldap:
alias adsearch="ldapsearch -h adserver -b 'dc=minha,dc=organizacao,dc=com,dc=br' -E pr=1000/noprompt "
Exemplo de uso:
adsearch cn=UsuarioX
"NÃO HÁ NADA COMO A LIBERDADE." (Nelson Mandela)
Offline
Remover orfãos
# Remover arquivos orfãos
limpar_orfaos() {
declare ORPHAN=$(pacman -Qdtq)
[ "$UID" != 0 ] && SU=sudo
[ -z "$ORPHAN" ] && echo "não há pacotes orfãos" || $SU pacman -Rsn ${ORPHAN}
echo 'Verificando cache de pacotes'
paccache -rvuk0 | sed -e 's/no candidate packages found for pruning/nenhum pacote encontrado para ser removido/g' -e 's/finished:/concluído:/g' -e 's/packages removed/pacotes removidos/g' -e 's/disk space saved/espaço em disco salvo/g'
}
Offline