Introdução
Este guia aborda os comandos básicos do unix e também serve de auxilio para o linux. Se hover a necessidade de publicar uma aplicação em um servidor remoto non-windows, espero que este conteúdo ajude!
Comandos
man
Mostra um manual de utilização do comando.
sintaxe: man <arquivo>
man ls- exibe o manual de comandos dols;
Para navegar utilize as setas e para sair do manual é só digitar q;
ls
Lista o conteúdo de um diretório.
sintaxe: ls [opções] <arquivo>
ls *.txt- lista todos os arquivos texto;ls *backup*- lista todos os arquivos que contenham no nome ou extensão backup;ls -t- lista os arquivos ordenados por data de modificação crescente;ls -tr- lista os arquivos ordenados por data de modificação decrescente (reverse);ls -l- lista as permissões dos arquivos no diretório atual;ls *.txt | more- Caso você tenha muitos arquivos no diretório, para paginar o conteúdo basta adicionar o| moreapós o comando;
cd
Muda do diretório atual para o diretório de destino.
sintaxe: cd <destino>
cd foo- muda para o diretório foo;cd /foo/1/- muda para o diretório 1 do diretório foo.
Abreviações de diretório:
..- muda para o diretório acima;...ou..\..\- muda para dois diretórios acima, a quantidade de pontos(-1) indica o nível de diretórios acima;~/- muda para o diretório home;
pwd
Mostra o nome do diretório atual.
cat
Exibe o conteúdo de um arquivo ou mais na saída padrão (output).
sintaxe: cat <arquivo>
cat foo.txt- exibe o conteúdo do arquivo foo.txt;cat *.txt- exibe o conteúdo de todos os arquivos texto;cat *.txt > all.txt- combina todos os arquivos texto e um arquivo único arquivo chamado all.txt;cat *.foo >> all.txt- combina todos os arquivos da extensão .foo e acrescenta no final do arquivo chamado all.txt;
more
Pagina o conteúdo de saída, que pode ser um arquivo ou resultado de uma execução de script por página.
sintaxe: [comando] | more
ls *.txt | more- Lista todos os arquivos *.txt por página;cat foo.txt | more- Exibe o resultado de um arquivo por página;
touch
Cria um arquivo novo caso ou atualiza a data de modificação do arquivo.
sintaxe: touch [opcoes] | <arquivo>
touch foo.txt- Cria um arquivo foo.txt ou atualiza a data caso exista;touch -c foo.txt- Atualiza a data do arquivo foo.txt, caso exista;
cp
Copia um ou mais arquivos.
sintaxe: cp [opcoes] <origem> <destino>
cp foo.txt foo.md- copia o arquivo foo.txt para o destino definido;cp foo.txt /tmp- copia o arquivo foo.txt para o diretório temporário/tmp;cp -R /foo /tmp- copia um diretório e todos os conteúdos recursivamente;
rm
Remove um arquivo ou vários.
ATENÇÃO, cuidado com este comando, veja abaixo a trágica história que pode acontecer ao utilizar este comando de maneira errada veja a notícia
sintaxe: rm [opcoes] <arquivo> <destino>
rm foo.txt- remove o arquivo foo.txt;rm *.txt- remove todos os arquivos texto com extensão .txt;rm -rf /tmp- remove todos os arquivos do diretório temporário, no modo força bruta, não serão exibidas mensagens como: Tem certeza que o senhor deseja apagar este arquivo tão importante?
mv
O comando mv é utilizado para mover arquivos ou diretórios e também para renomeá-los, como assim?, se você mover um arquivo para o mesmo diretório com o nome diferente o que irá acontecer?

sintaxe: mv <origem> <destino>
mv foo.txt /tmp- move o arquivo foo.txt para o diretório temporário;mv foo.* /tmp- move todos os arquivos com o nome foo para o diretório temporário;mv foo.txt foo.md- renomeia o arquivo foo.txt para foo.md;mv ~/foo /tmp/- move o diretório foo para o diretório temporário;
mkdir
Cria diretórios.
sintaxe: mkdir <diretorio>;
mkdir foo_temp- cria o diretório foo_temp no diretório atual;mkdir /tmp/foo/1- Cria o subdiretório 1 para o diretório foo;
rmdir
Remove um diretório vazio.
sintaxe: rmdir <diretorio>;
rmdir ~/foo- remove o diretório foo, caso esteja vazio;
chown
Altera o usuário dono do diretório ou arquivo.
sintaxe: chown <diretorio>;
chown will ~/foo- define que o usuário will é dono do diretório foo;chown -R will ~/foo- define que o usuário will é dono do diretório foo recursivamente, ou seja, todas os diretórios e arquivos abaixo;
chmod
Altera as permissões dos usuários no diretório ou arquivo.
Como foi explicado no comando ls -l verifica as permissões de um diretório ou arquivo.
sintaxe: chmod <opcoes> <permissoes> <diretorio>;
A opção -R define que as permissões serão aplicadas recursivamente.
As permissões são definidas por três números, o primeiro define as permissões do usuário, a segunda do grupo e a terceira dos outros usuários fora do grupo;
Existem duas formas de utilização do comando.
Forma de utilização (1)
chmod u=rwx,g=rx,o=r foo.txt
-
- Define que o usuário pode ler, gravar e executar;
-
- Define que o grupo pode ler e executar;
-
- Define que os outros usuários podem ler o arquivo;
Forma de utilização (2)
chmod 754 foo.txt
Este comando tem o mesmo efeito da primeira forma de utilização, os números variam do 0 ao 9.
| Valor | Descrição |
|---|---|
| 0 | Nenhuma permissão |
| 1 | Execução |
| 2 | Escrita |
| 4 | Leitura |
Ok e de onde vem este número 7, vamos aos cálculos?

4 + 2 + 1 = 7 = rwx
4 + 1 = 5 = rw
4 = 4 = r
Outras utilizações:
-
chmod +x foo.txt- atribui a permissão de execução para o arquivo foo.txt; -
chmod -R 777 /foo- atribui as permissões totais para os usuários, grupos e outros usuários recursivamente;
find
Procura arquivos pelo nome e também possibilita a busca pelo conteúdo do arquivo.
sintaxe: find <diretorio> [opcoes] <conteudo>;
find -name foo.*- procura um arquivo com o nome foo independente da extensão, a opção -name indica que a busca será pelo nome do arquivo;find /tmp -name foo.txt- procura um arquivo com o nome foo.txt no diretório /tmp;find -name '*.txt' | xargs grep "hello"- procura um arquivo texto com o conteúdo hello em qualquer parte do arquivo;
df
Mostra o espaço livre e ocupado de cada partição.
sintaxe: df [opcoes]
df -a- mostra o espaço livre/ocupado em blocos;df -k- mostra o espaço livre/ocupado em KiloBytes (KB);df -m- mostra o espaço livre/ocupado em MegaBytes (MB);df -h- mostra o espaço livre/ocupado em MB, KB, GB;df -l- lista somente sistema de arquivos locais;df -T- lista o tipo de sistema de arquivos de cada partição (ext4, vfat, ...)
vi
Edita um arquivo.
sintaxe: vi <arquivo>
O vi é o editor disponível na maioria dos sistemas Unix, não aprofundaremos as técnicas de edição deste editor pois é um assunto extenso;
vi foo.txt- abre o arquivo foo.txt;
Comandos do vi, ao pressionar a tecla ESC, digitar os comandos abaixo;
:w- grava as alterações do arquivo;:q- sai da edição do arquivo;:q!- sai da edição do arquivo sem gravar as alterações de forma forçada;:wq- sai e grava as alterações;
Para conhecer os comandos de edição no vi recomendo ler o manual utilizando man vi;
Conclusão
Foram abordados exemplos de utilização dos comandos e os parâmetros mais utilizados, informações detalhadas podem ser encontradas no manual de cada comando, até a próxima.
