Unix armazena dados dentro um hierarquia de pastas (directories) e arquivos.
pwd - onde estou - mostra o caminho absoluto do path onde o usuário está ls - lista o conteúdo do diretório cd PATH - navegar para um diretório diferente ex.: user@notebook:~$ cd /etc/apt cd .. - navegar para diretório acima cd - - navegar ao penúltimo diretório mkdir 'diretório' - criar novo subdiretório
Opções :
ls -l - mostra todos as detalhas, incluindo as permissoes dos arquivos la -a - mostra arquivos e directories ocluidos la -lat - combinar opções, isso também ordenar as arquivos pela ultima data de editação
Ensaio #1 : Cria a seguinte arvore dos directories dentro sua computador
calango vants musichacking ataripunk puredata processing sketches videohacking camera micro arduino beaglebone raspberrypi linux commandline
Ensaio #2 : Utilizando qualquer editor no sua computador, cria um arquivo de texto dentro uma destas directories.
cp NOME1 NOME2 - fazer um copia de um arquivo para outra mv NOME1 NOME2 - mudar um arquivo de um lugar para outra (pode ser utilizada troca de nome) rm - deletar um arquivo. **Cuidado! Unix não tem lata de lixo ou desfazer deletar!** cat NOME - mostra a conteúdo de um arquivo
ls m* - mostra todos as arquivos e pastas que começam com 'm',
man ls - o manual do comande "ls"
Ensaio #3 : Pratica com estes poderes.
echo "Todo Bem" - imprimir o string "Todo Bem"
cat NOME - mostrar o conteúdo do NOME grep PADRAO NOME - mostrar só as linhas que contem PADRAO dentro o arquivo NOME find PATH - mostrar todo a hierarquia abaixo do PATH apropos "TEXTO" - buscar ferramentas com TEXTO no manual less NOME - mostrar o conteúdo do NOME numa programa que permitir navegar
Uteis do less :
/ - procurar texto dentro o arquivo n - procurar o próximo texto
A parte genial do Unix 'e o “pipe” ou | que pode ser utilizada pra combinar as ferramentas
cat NOME | less - mostrar a conteúdo do NOME e encaminhar para o less ls -la | less - executar ls -la e encaminhar o resultado para o less ls -la | grep "v" - executar ls -la e encaminhar o resultado para o grep (o filtro) do carácter "v"
Também temos operadores que encaminha para arquivos :
ls -la > dir.txt - executar ls -la e colocar o resultado em dir.txt echo "todo bem!" > a.txt - criar arquivo a.txt com o texto "tudo bem!" echo "como vai?" >> a.txt - adicionar o texto "como vai?" ao a.txt
Ensaio #4 : Criar alguns arquivos grandes com as ferramentas ls, echo, cat, |, > e »
Um programa simples do Python :
import random
for i in range(100): print random.random()
Colocar isso numa arquivo teste.py e executar com
python teste.py
A programa só imprimir 100 números randômicos.
Mas podemos usar o | do Unix com as outras ferramentas. Por exemplo
python teste.py | grep "123"
ou colocar as resultados numa outra arquivo
python teste.py | grep "123" > com123.txt
Isso e a filosofia do Unix. Escrever programas simples, com um proposta, que podem ser combinados pela os usuários no command line. É a maximização do flexibilidade.
Mudar o programa em Python ao :
import random
while True : print random.random()
Agora, esse programa nunca termina.
Mas podemos continuar utilizar numa pipe.
python teste.py | grep "1234"
Como é possível? As programas teste.py e grep são processos executas em paralelo.
Abrir um outra terminal.
ps - Mostra todas as processos / programas executando neste terminal. ps -e - Mostra todas as processos / programas no maquina.
Provavalmente vou vir um lista grande dos processos no computador. Mas afinal seria um coisa como :
8903 pts/25 00:00:02 python 8904 pts/25 00:00:00 grep 8905 pts/27 00:00:00 ps
Isso mostra um processo python esta executando, e um processo grep.
Vamos assassinar
kill -9 NUMERO - Terminar o processo numero NUMERO. (tenta o numero da sua programa em python)