Skip to content

Instantly share code, notes, and snippets.

@renatoapcosta
Last active August 13, 2022 02:47
Show Gist options
  • Save renatoapcosta/1b2ed2ab38a7dc797febdf705f85aa9d to your computer and use it in GitHub Desktop.
Save renatoapcosta/1b2ed2ab38a7dc797febdf705f85aa9d to your computer and use it in GitHub Desktop.
Linux Resumo

Linux Resumo

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

Manipulação arquivo texto

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

File Globing x REGEX

File Globing

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

REGEX

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment