Comandos Linux
Fala galera!!
Estou desenterrando este material que escrevi anos atrás e basicamente vamos falar sobre comandos mais utilizados no Linux. O interessante deste post é que apesar de seus 15 anos (data do post original) ainda continua bem atualizado. Outra fato curioso é que encontrei diversas cópias do material pela Intenet, legal né? Legal é, mas nem tanto, não citaram minha autoria :(.
Whatever… dei uma repaginada ai no conteúdo e estou repassando pra vocês, façam bom uso. Tomem cuidado na utilização dos comandos, pois dependendo da combinação que fizerem podem causar um estrago grande (tipo apagar o conteúdo da pasta raiz). Utilizem usuários que não tenham poder de super usuário (root) pra iniciar a aventura, se puderem utilizem em máquinas virtuais que podem ter seu conteúdo perdido em caso de desastre, OK?
Ajuda
Antes de começarmos é bom salientar que a maioria dos comandos tem um manual de ajuda, para consultar execute:
$ man nomedocomando
Outra forma de pesquisar as opções do comando:
$ nomedocomando -h ou nomedocomando — help
Índice
Dito isto, vamos ao conteúdo que distribui da seguinte forma:
- Comandos básicos
- Editores de texto
- Comandos de rede
- Manipulando contas de usuários
- Compactando/descompactando arquivos e diretórios
Comandos Básicos
Comando: whoami
Função: Lista a identificação efetiva do usuário logado
Sintaxe: whoami -[opções]
Exemplo:
$ whoami
Comando: pwd
Função: Lista o nome do diretório de trabalho atual
Sintaxe: pwd -[opções]
Exemplo:
$ pwd
Comando: ls
Função: Lista arquivos e/ou lista o conteúdo de diretórios
Sintaxe: ls -[opções]
Exemplo:
$ ls -l /home/ > /home/aluno/lista.txt (cria arquivo lista.txt com conteúdo do ls -l)$ ls -lsht /var/log (lista a pasta /var/log e exibe tamanho dos arquivos e data de criação)
Comandos: clear ou crtl+l
Função: Limpar a tela em uso
Sintaxe: clear
Exemplo:
$ clear
Comando: cd
Função: permite navegar entre os diretórios
Sintaxe: cd nomedodiretório
Exemplo:
$ cd /var/log/
$ cd (volta para o diretório home do usuário)
$ cd ./~aulas/aula1
Comando: mkdir
Função: Cria diretórios
Sintaxe: mkdir [opções]
Exemplo:
$ mkdir aula1
$ mkdir /home/aluno/aula
$ mkdir /tmp/teste
Comando: cp
Função: copia arquivos e diretórios
Sintaxe: cp [opções] caminho arquivo ou cp [opções] arquivo diretório
Exemplo:
cp /var/log/boot.log aula1/.
cp aula1/boot.log aula1/novo.log
cp -r aula1/ aula1/novodiretorio
Comando: mv
Função: move (ou altera o nome) de arquivos
Sintaxe: mv [opção…] origem destino ou mv [opção…] origem…destino
Exemplo:
$ mv aula1 aula/
$ mv /home/aluno/lista.txt /tmp/lixo/lixo.txt
Comando: rsync
Função: sincronizar pastas/arquivos, pode utilizar em combinação com ssh
Sintaxe: rsync -[opções] origem destino
Exemplo:
$ rsync -Xpagouvt /home/aluno/ /var/www1/
No exemplo acima você terá a pasta com permissão, proprietário e conteúdo idêntico ao original.
$ rsync rsync -Xpagouvt /home/aluno/ nomedousuario@nomedohostremoto:/home/nomedapastaremota/
Certifique-se que existe o usuário no host remoto e entre com a senha
Comando: rm
Função: remove arquivos ou diretórios
Sintaxe: rm -[opções] arquivo_ou_diretório
Exemplo:
$ rm -r /tmp/lixo
$ rm -f rm -f novo.log # remove arquivo sem solicitar confirmação
$ rm boot.log
Comando: cat
Função: lista conteúdo do arquivo
Sintaxe: cat -[opções] arquivo
Exemplo:
$ cat -b aluno.txt # mostra conteúdo e conta num. de linhas
Comando: more
Função: filtro para uso na visualização de arquivos em terminais. Também
utilizado em conjunto com outros comandos.
Sintaxe: more -[opções]
Exemplo:
more lista.txt
ls -l /etc/ | more
Comando: wc
Função: lista o número de bytes, palavras e linhas nos arquivos
Sintaxe: wc -[opções]
Exemplo:
$ ls -l /home/ | wc -l (mostra a quantidade de linhas)
$ wc /home/aluno/lista.txt
Comando: touch
Função: cria arquivo vazio, também pode ser utilizado para alterar a data de acesso e modificação de arquivo
Sintaxe: touch nomedoarquivo
Exemplo:
$ touch comandos.txt $ exemplo para criação de arquivo vazio
Comando: grep
Função: lista linhas com determinada palavra em um texto ou arquivo
Sintaxe: grep palavra arquivo
Exemplo:
$ ls -l /home/ | grep aluno
Comando: chmod
Função: altera permissão de acesso do arquivo/diretório
Sintaxe: chmod -[opções] modo nomedoarquivo_ou_diretório
Exemplo:
$ chmod -R 755 /home/aluno
$ chmod +x /home/aluno/historico.sh
Comando: chown
Função: altera o dono e o grupo de arquivos/diretórios
Sintaxe: chown -[opções] dono.grupo arquivo_ou_diretório
Exemplo:
$ chown -R aluno.wheel /home/aluno/
$ chown aluno.wheel nomedoarquivo.txt
Comando: who
Função: mostra quem está acessando o sistema
Sintaxe: who -[opções]
Exemplo:
$ who — message
$ who -q — count
Comando: ln
Função: permite linkar arquivo ou diretório, recurso bastante útil quando se trabalha com versões com realeases de um site.
Sintaxe: ln -[opções] origem nomedolink
Exemplo:
$ ln -s aula1.txt aula1.doc
$ ln -s /var/siteversao2 /var/www/site
Comando: top
Função: lista os processos que estão em execução, conforme de consumo de processamento da cpu
Sintaxe: top -[opções]
Exemplo:
$ top
Comando: htop
Função: lista os processos que estão em execução, conforme de consumo de processamento da cpu. É mais visual que o top, mas não é nativo, necessário instalar (Debian/Ubuntu: #apt-get install htop; em CentOS: yum install htop).
Sintaxe: htop
exemplo:
$ htop
Comando: ps
Função: lista os processos em execução
Sintaxe: ps -[opções]
Eexemplo:
$ ps -auxwww
$ pa -eux
Comando: sort
Função: ordena consulta/comando executada(o)
Sintaxe: sort -[opções]
Exemplo:
$ ls /home | sort (ordena alfabeticamente)
Comando: uniq
Função: remove linhas duplicadas de um arquivo ordenado
Sintaxe: sort -[opções]
Exemplo:
$ uniq -c lista.txt
$ ls -l /etc/ | sort | uniq
Comando: tail
Função: exibe as últimas partes de um arquivo
Sintaxe: tail -[opções]
Exemplo:
$ tail -f /var/log/maillog
$ tail -100 /var/log/maillog (lista as últimas 100 linhas)
Comando: head
Função: exibe partes do topo do arquivo
Sintaxe: head -[opções]
Exemplo:
$ head -20 /var/log/maillog (lista as top 20 linhas)
Comando: su
Função: executa um interpretador de comandos com substituição de usuário e grupo.
Sintaxe: su -[opções]
Exemplo:
$ su # acesso como super usúario
$ su aluno
Comando: locate
Função: lista arquivos de uma base de dados cujos nomes coincidam com um padrão informado (não vem instalado)
Sintaxe: locate -[opções] arquivo
Exemplo: #locate crontab
Comando: find
Função: pesquisa arquivos em um hierarquia de diretórios, há inúmeras possibilidades de pesquisa, tais como, idade do arquivo, tamanho, por tipo (arquivo ou pasta)
Sintaxe: find [caminho…] [expressão]
Exemplo:
$ find / -name *.conf # lista arquivo que terminam com .conf
$ find / -type f -iname *.txt # lista arquivos onde f = files e que terminam com .txt
Comando: mount
Função: monta um sistema de arquivos
Sintaxe: mount -[opções] dispositivo diretório
Exemplo:
$ mount /dev/hdb4 vfat /mnt/zip (monta zip drive interno)
$ mount -t vfat /dev/fd0 /mnt/floppy (monta o floppy disk)
$ umount /mnt/floppy (desmonta o floppy disk)
Comando: which
Função: mostra caminho completo do programa (arquivo binário)
Sintaxe: which programa
Exemplo:
$ which find
Comando: whereis
Função: mostra caminho do binário de outros arquivos vinculados ao binário pesquisado
Sintaxe: whereis programa
Exemplo:
$ whereis find
Comando: date
Função: mostra ou acerta a data e hora do sistema
Sintaxe: date -[opções]
Exemplo:
$ date # mostra a hora atual do sistema
Comando: sync
Função: executar processo que permanecem no buffer
Sintaxe: sync -[opções]
Exemplo:
$ sync
Comando: w
Função: mostra quem está acessando o sistema e o que eles estão executando
Sintaxe: w -[opções]
Exemplo:
$ w
$ w -h
Comando: last
Função: mostra a listagem dos últimos usuários logados
Sintaxe: last -[opções]
Exemplo:
$ last -R
$ last -num
Comando: kill
Função: finaliza um processo
Sintaxe: kill -[opções] pid ou programa
Exemplo:
$ kill -9 vim (finaliza o programa vim)
Comando: killall
Função: finalizar árvore de processos
Sintaxe: killall -[opções] pid ou programa
Exemplo:
$ killall -9 squid # finaliza todos processo que estão utilizando o programa squid)
$ killall -1 named # reinicia o servidor de nomes)
Comando: exit ou crtl+d
Função: executa o logout, sai do terminal em uso
Sintaxe: exit
Exemplo:
$ exit
Editores de texto
Existem vários editores de texto para o ambiente Unix, abaixo vou citar apenas os que mais utilizo.
Comando: joe (não é nativo do Unix/Linux)
Função: editar arquivos texto
Sintaxe: joe -[opções] arquivo
Exemplo:
$ joe lista.txt
Dica: atalho para obter ajuda: ctrl + k + h
Comando: vi
Função: editar arquivos texto (editor nativo do Unix)
Sintaxe: vi [opções] arquivo
Exemplo:
$ vi lista.txt
Dica: atalho para obter ajuda: esc + : + help
Comando: vim
Função: editar arquivos texto (não é nativo do Unix/Linux)
Sintaxe: vim [opções] arquivo
Exemplo:
$ vim lista.txt
Dica: atalho para obter ajuda: esc + : + help
Comandos de Rede
Alguns comandos básicos utilizados em ambientes de rede.
Comando: telnet
Função: Emula terminal e pode ser utilizado para testar porta. Não é seguro, pois não utiliza criptografia
Sintaxe: telnet -[opções] host
Exemplo:
$ telnet www.google.com.br 80
Comando: ssh
Função: Emula terminal, assim como o telnet, a difença é a transmissão de dados criptografados, recomendado!!
Sintaxe: ssh -[opções] usuario@host
Exemplo:
$ ssh root@nasa.gov -p 2223
Comando: traceroute
Função: exibe a rota tomada pelos pacotes para uma máquina da rede.
Sintaxe: traceroute -[opções]
Exemplo:
$ traceroute www.google.com.br
Comando: mtr
Função: exibe a rota tomada pelos pacotes para uma máquina da rede, mas de forma mais amigável. Não é nativo, necessário instalar.
Sintaxe: mtr -[opções]
Exemplo:
$ mtr www.google.com.br
Comando: ping
Função: manda pacotes ICMP ECHO_REQUEST para hosts de rede
Sintaxe: ping -[opções] host
Exemplo:
$ ping www.google.com.br
$ ping www.uol.com.br
Comando: host
Função: verifica o nome/ip correspondente de determinado host.
Sintaxe: host -[opções]
Exemplo:
$ host www.google.com.br
$ host 8.8.8.8
Comando: wget
Função: permite efetuar download’s da Internet.
Sintaxe: wget -[opções] [URL]
Exemplo:
$ wget -x -r http://ftp.nluug.nl/vim/unix/vim-8.0.tar.bz2
Comando: ftp
Função: programa para transferência de arquivos
Sintaxe: ftp -[opções] host
Exemplo:
$ ftp tuaconta@ftp.hostdoteuprovedor.com.br
Comando: hostname
Função: mostra ou configura o nome da máquina
Sintaxe: hostname -[opções]
Exemplo:
$ hostname
Comando: df
Função: informa o espaço livre de disco
Sintaxe: df -[opções]
Exemplo:
$ df — all
Comando: ifconfig
Função: configura/mostra configuração da(s) placa(s) de rede
Sintaxe: ifconfig -[opções]
Exemplo:
$ ifconfig -a
$ ifconfig lo 192.168.10.1 netmask 255.255.255.0
Manipulando conta de usuários
Comando: id
Função: mostra os UIDs e GIDs efetivos e reais
Sintaxe: id -[opções] usuário
Exemplo:
$ id aluno
$ id — group aluno
Comando: finger (nativo no *BSD)
Função: mostra informações do usuário
Sintaxe: finger -[opções] usuário
Exemplo:
$ finger aluno
$ finger -s root
Comando: adduser
Função: cria novo usuário, é necessário ser do grupo do root
Sintaxe: adduser -[opções] usuário
Exemplo:
$ adduser -s bash -p 123 -r teste
$ adduser teste1
Comando: userdel (Linux) e rmuser (Unix)
Função: exclui usuário e diretório inicial
Sintaxe: userdel [-r] name
Exemplo:
$ userdel -r aluno
Compactando/Descompactando arquivos e diretórios
Existem vários utilitários para compactação/descompactação de arquivos, vou citar os que os mais utilizo.
Comando: tar
Função: empacota, mas não compacta, para compactar utiliza casado com a opção “z”.
Sintaxe: tar -[opções] arquivo.tar
Exemplo:
$ tar -cvzpf dicas.tgz dicas/ # compacta arquivos do diretório em um único arquivo
$ tar -xvzpf dicas.tgz # descompacta arquivo no diretório corrente
Comando: zip/unzip
Função: empacota e compacta arquivos, talvez tenha que instalar.
Sintaxe: zip -[opções] [-b caminho] [-n sufixos] arquivo-zip
Exemplo:
$ zip -r imagens.zip /tmp/imagens/ # compacta arquivos do diretório em um único arquivo
$ unzip imagens.zip # descompacta arquivo no diretório corrente
Conforme a galera for interagindo vou postando mais comandos, com combinações mais avançadas e exemplos. O poder da linha de comando é grande e pode facilitar e muito sua vida de administrador de S.O..
See ya!!
Ricardo Souza