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:

  1. Comandos básicos
  2. Editores de texto
  3. Comandos de rede
  4. Manipulando contas de usuários
  5. 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

Like what you read? Give Ricardo Souza a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.