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| more
apó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.