cd -
cd ~
cd
ls -ltr
ordena do mais velho para o mais novo
echo -n "Linux linux"
não quebra linha
echo -e ...
pode usar opções de tabulação \t \n
mkdir -p a/b/c
Cria estrutura de diretorio
rm -R diretorio_arquivo
rm -f diretorio
Inibe mensagem erro
sleep 10
Dar um tempo
man comando
Help
alias
Para ver todos os alias criado: ll
cat -b alunos2.txt
Coloca linhas pulando linha em branco
cat -n alunos2.txt
Coloca linhas mesmo linha em branco
cat -A alunos2.txt
Ajuda a identificar fim de linha, tabulações
tac alunos2.txt
Ler de baixo para cima
tail arquivo.log
Ler as 10 ultimas linhas
tail -n5 arquivo.log
ou tail -5 arquivo.log
Ler as 5 ultimas linhas
head -n5 arquivo.log
Ler as 10 primeiras linhas
wc alunos.txt
ele retorna linhas, palavras e caracteres. Podemos usar -l linha, -w palavras, -m caracter e -c bytes
sort alunos.txt
ordena um arquivo
sort -k2 alunos.txt
ordena um arquivo pela segunda palavra
sort -k3 -t":" alunos.txt
ordena um arquivo pela terceiro dois pontos
sort alunos.txt | uniq
ordena e tira os repetidos. uniq -u não tem repetição, uniq -d as repetidas, -c qtd q repetiram
cat alunos2.txt | tr aei AEI
troca aei por AEI
cat alunos2.txt | tr [:lower:] [:upper:]
troca tudo por uppercase
cat alunos2.txt | tr -d aei AEI
deleta aei
cat alunos.txt | cut -c1-5
corta do caracter 1 ao 5. -c1,2,5
-c5-
cat alunos.txt | cut -d" " -f1
Ele mostra só as primeiras campos sepadados por espaço
diff alunos.tx alunos3.txt
Compara arquivos
diff -w alunos.tx alunos3.txt
ignora espaço em branco
diff -r diretorio1 diretorio2
Compara os dois diretórios
Temos o grep
, fgrep
e o egrep
fgrep
não aceita expressão regular, somente string
grep -e
ou egrep
só aceita expressão regular
grep -i Renato alunos*
Procura a palavra Renato independente do case, nos arquivos que começam com alunos.
grep -c Renato alunos*
Conta as palavra Renato, nos arquivos que começam com alunos.
grep -v Renato alunos*
Retorna as linhas que não contém Renato, nos arquivos que começam com alunos.
grep -r Renato *
Entra em todos os diretorios onde os arquivos contém a palavra Renato.
grep -rl Renato *
Entra em todos os diretorios onde os arquivos contém a palavra Renato, mostrando só os arquivos
grep -A3 Renato alunos.txt
Apos achar a palavra, mostrar 3 linhas abaixo
grep -B3 Renato alunos.txt
Apos achar a palavra, mostrar 3 linhas acima
sed
Substitui ou deletar conteudo
sed '1,3 d' alunos2.txt
deleta as linha 1 e 3
sed '/Renato/d' alunos2.txt
deleta que contem Renato
sed 's/Renato/Paulo/' alunos2.txt
substitui a primeira ocorrencia de Renato por Paulo
sed 's/Renato/Paulo/g' alunos2.txt
substitui todas ocorrencias de Renato por Paulo
sed 's/ //g' alunos2.txt
tirar todos os espaços
more alunos.txt
Enter desce uma linha, espaço desce uma pagina
less alunos.txt
Enter desce uma linha, espaço desce uma pagina, seta para cima e baixo, /search_word
cat -A arquivo.txt | less
find ./ -name alunos.txt
procurar dentro do diretorio atual arquivos com nome alunos.txt
find ./ -name *alunos*
procurar dentro do diretorio atual arquivos com nome alunos
find /usr -user renato -name alunos.txt
procurar dentro do d/usr arquivos com nome alunos.txt do usuario renato
find ./ -name alunos* exec ls -l {} \;
procurar dentro do diretorio atual arquivos com nome alunos.txt e pois executa ls nesses arquivos encontrado
date +%H
mostra hora
seq 10
gera numeros sequencial de 1 a 10
seq 0 5
gera numeros sequencial de 0 a 5
seq 0 5 30
gera numeros sequencial de 0 a 30 em 5 em 5
expr 2 + 5
executa uma expressão resultando em 7 expr 2 \* 5
echo "(3+2)*5" | bc
O bc calcula a expressão
ls arq_nao_existente.txt ; echo Linux
ele executa sequencialmente, mesmo o comando 1 dando erro
ls arq_nao_existente.txt && echo Linux
só vai executar o segundo comando se o primeiro der certo
ls arq_nao_existente.txt || echo Linux
só vai executar o segundo comando se o primeiro der erro
cd .. ; ls -l
ele vai voltar um diretorio e executar ls -l e vai ficar no curso do diretorio onde foi direcionado
( cd .. ; ls -l )
ele vai voltar um diretorio e executar ls -l num shell temporario
date > alunos-temp.txt
Vai sobrescrever ou criar um arquivo novo inserindo este conteudo
date > alunos-temp.txt
Criar um arquivo novo ou adiciona no final o conteudo
ls arq_existente.txt 1> log.out
Ele imprime um erro no STDOUT
ls arq_nao_existente.txt 2> log.out
Ele imprime um erro no STDERR
ls arq.txt 1> log.out 2> log.erro.out
Ele manda SDOUT para log.out e STDERR para log.erro.out
ls arq.txt 1> log.out 2>&1
Ele manda SDOUT ou STDERR para o mesmo arquivo
ls arq.txt 2> /dev/null
Ele manda STDERR para o buraco negro do Linux
ls alunos*
todos aquivos que começam com aula
ls alunos[12345]
ou ls alunos[1-5]
todos aquivos que começam com aula
ls *[12]
algo que termina em 1 ou 2
ls {Aula,AULA}[12]
lista Aula1 Aula2 AULA1 AULA2
ls Aula?
tem que um caracter, ls Aula??
tem que dois caracter
grep -e
ou egrep
só aceita expressão regular
O grep
quando acha ele mostra a linha inteira
egrep "[Ll]inux" texto.txt
ou cat texto.txt | egrep "[Llinux]"
egrep "b[aei]g" texto.txt
Busca palavras bag beg big
egrep "^Linux" texto.txt
Busca palavras onde uma linha começa com Linux
egrep "^$" texto.txt
Busca uma linha em branco
egrep "b[a-i]g*" texto.txt
O * é diferente do file globe, indicando que o caracter g pode aparecer nenhuma, uma ou varias vezes. O * se refere ao caracter anterior
egrep "b[a-i]g+" texto.txt
Indicando que o caracter g tem que aparecer uma ou varias vezes.O + se refere ao caracter anterior
egrep "b[a-i]g?" texto.txt
Indicando que o caracter g pode aparecer nenhuma ou uma vez. O ? se refere ao caracter anterior
egrep "O.Linux" texto.txt
Indicando que o caracter g pode aparecer nenhuma ou uma vez. O . se refere a um caracter qualquer
egrep "O.*Linux" texto.txt
Indicando que o caracter g pode aparecer nenhuma ou uma vez. O .* se refere a um caracter qualquer varias vezes