Buscar

Capбtulo 5 Comandos uteis de linha de comando

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Capбtulo 5 - Comandos гteis de linha de comando/5. Video Aula - BASH lesson 3 - grep and cut commands.avi
Capбtulo 5 - Comandos гteis de linha de comando/4. Laboratвrios Extras.docx
Laboratórios Extras
Atenção: 
Para seguir os exemplos abaixo depois, abra um shell e crie um diretório chamado "shell" em seu home e nele acrescente os arquivos script1,script2,script3.
Observação: O diretório papel/ inexiste.
1) Testem o seguinte comando:
$ ls shell/ papel/ > log_ls.txt
O comando ls listará os diretórios shell/ e papel/ e redirecionará a saída para o arquivo log_ls.txt.
Durante a execução do comando, será exibido a seguinte mensagem:
"ls: papel/: Arquivo ou diretório não encontrado" (Saída de erro), como usamos o ">" ao invés de "2>" (para erro), o que ficou no arquivo foi só a saída certa.
2) Para ver o conteúdo do log_ls.txt:
$ cat log_ls.txt
A saída de erro não apareceu nele certo?
3) Para acrescentar a saída com erros, mude o comando para:
$ ls papel/ 2>> log_ls.txt
4) Execute:
$ ls shell/ | sort | tee listagem.txt
Este comando lista o conteúdo do diretório "shell" canalizando sua saída para o comando "sort", que ordena os arquivos por ordem alfabética, canalizando sua saída para o comando "tee" que canaliza toda a saída para o arquivo "listagem.txt".
5) Vamos testar o uso do <<
Este redirecionamento serve principalmente para marcar o fim de exibição de um bloco. 
Este é especialmente usado em conjunto com o comando cat, mas também tem outras aplicações.
6) Execute:
$ cat << final >> teste.txt
estou
realizando um
teste
final
Por que o shell apenas foi liberado depois que digitamos a palavra final?
Porque este comando irá concatenar o conteúdo digitado e coloca-lo dentro de teste.txt até que a palavra final seja digitada.
7) Visualize:
$ cat teste.txt
estou
realizando um
teste
8) Como eu poderia listar apenas os arquivos que começam com a letra s?
$ ls | grep ^s
9) E para listar todos arquivos terminados com a letra a?
$ ls | grep a$
10) Então:
^ indica início
$ indica fim
Capбtulo 5 - Comandos гteis de linha de comando/2. Dicas LPI - Prova 101 - Tвpico 103-Comandos GNU e Unix.docx
Prova 101 - Tópico 103: Comandos GNU e Unix
Sub-Tópico: 103,1 Trabalhando na linha de comando
Peso 4 
Descrição: Os candidatos devem ser capazes de interagir com as shells e comandos usando a linha de comando. O objetivo é utilizar a shell: bash.
Principais Áreas de Conhecimento: 
Usar comandos de shell e uma seqüência de linha de comando para executar tarefas básicas na linha de comando;
Usar e modificar o ambiente shell, incluindo definição, referência e exportar variáveis de ambiente; 
Usar e editar o histórico de comandos; 
Os comandos invoke, dentro e fora do caminho definido.
Prova 101
1) Como eu poderia fazer para listar somente os diretórios usando o comando ls??
R: ls -d ou ls -l | grep ^d
O coringa ^ representa início de linha. Tendo em vista que o primeiro caracter apresentado na saída do comando ls -l é a identificação do elemento (se é um link, um arquivo ou um diretório), podemos filtrar todas as linhas cujo primeiro caracter seja d.
2) Qual comando eu poderia usar para limpar um arquivo chamado texto.txt sem precisar abrir um editor para fazê-lo?
R: echo "" > texto.txt
O redirecionador > permite que informações sejam concatenadas em um arquivo, sobrescrevendo-o. 
Neste caso estamos colocando "" dentro do arquivo, ou seja, nada. 
Ao usar >> o efeito não seria o mesmo, pois esse redirecionador apenas acrecenta o conteúdo no arquivo sem sobrescrevê-lo.
3) Qual comando permite concatenar os dados de um arquivo na tela porém na ordem inversa de linhas?
R: tac
O comando tac faz a mesma coisa que o cat porém mostrando a primeira linha como sendo última e assim sucessivamente.
4) Ao usar o comando tail em um arquivo de 20 linhas, quantas linhas aparecerão na tela?
R: 10
Se usarmos o comando tail sem parâmetros, o padrão é mostrar as últimas 10 linhas do arquivo especificado. Esse comando é muito utilizado para o monitoramento de logs, onde neste caso usamos junto ao tail o parâmetro -f que atualiza os dados na tela assim que é gerada uma nova entrada no log.
ex: tail -f /var/log/messages
5) Como eu faria para limpar os histórico?
R: history -c 
Os comandos que serão cobrados são: 
bash 
echo 
env 
exec 
export 
pwd 
set 
unset 
man 
uname 
history
Capбtulo 5 - Comandos гteis de linha de comando/6. Slide.pdf
Linux Essentials – 450 – Slide - 1 www.4linux.com.br
Capítulo 5 – Comandos úteis de Capítulo 5 – Comandos úteis de 
linha de comandolinha de comando
 Agora vamos aprender alguns comandos que 
realmente fazem grande diferença em nosso dia-a-dia.
$ cut
$ sort $ tail
$ echo
$ grep
Linux Essentials – 450 – Slide - 2 www.4linux.com.br
ObjetivosObjetivos
 Conhecer alguns comandos importantes para 
dominar a “tela preta”; 
Linux Essentials – 450 – Slide - 3 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Entrada e saida de dados
Stdin
Stdout
Stderr
>
>>
|
Linux Essentials – 450 – Slide - 4 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Entrada e saida de dados
 Existem muitos outros tipos 
de redirecionamento, vamos 
aprender mais alguns no 
treinamento:
451 da formação 4Linux
Linux Essentials – 450 – Slide - 5 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Comandos de paginação e controle 
de fuxo
cat
tac
more
less
Linux Essentials – 450 – Slide - 6 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Proporções específcas
head
tail
Linux Essentials – 450 – Slide - 7 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Eu quero ver o meio!!!
Como faço para ver o 
meio de um arquivo???
Linux Essentials – 450 – Slide - 8 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Contagem
wc
nl
Linux Essentials – 450 – Slide - 9 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Classifcação
sort
Linux Essentials – 450 – Slide - 10 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Comando echo
echo 1001 utilidades =D
Linux Essentials – 450 – Slide - 11 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Filtrando saídas
grep
AFTER
BEFORE
-i
-v
Linux Essentials – 450 – Slide - 12 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Diversos greps ...
Para o nosso dia-a-dia alguns 
outros “greps” podem ser 
muito úteis:
Pgrep → Process Grep
ngrep → Network Grep
egrep → Grep para
 expressões regulares
$ man regex
Linux Essentials
– 450 – Slide - 13 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Comando de cortar
cut
“cut -d: -f1 /etc/passwd”
Linux Essentials – 450 – Slide - 14 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
AWK
O comando “awk” pode 
ser interpretado como 
uma tesoura mais afada 
que o “cut”, porém, 
necessita de mais 
atenção para ser usada.
Linux Essentials – 450 – Slide - 15 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Determinando objetos
fle
Linux Essentials – 450 – Slide - 16 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Administrando espaço
du
df
free
Linux Essentials – 450 – Slide - 17 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Administrando a data
date
 Quero saber a hora em nanosegundos!!!!!!!
 E também quero saber a data em segundos 
contados a partir de 1970......
Linux Essentials – 450 – Slide - 18 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Mais comandos
uptime
uname
dif
Linux Essentials – 450 – Slide - 19 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Localizando no sistema
fnd
locate
Linux Essentials – 450 – Slide - 20 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Poderosa ferramenta de busca
 Usando o parâmetro 
 “-perm” do comando 
“fnd”, é possível 
procurar alguma coisa 
pela sua permissão, o 
que facilita encontrar 
binários com má 
atribuição de “SUID bit”.
Linux Essentials – 450 – Slide - 21 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Mais e mais comandos
awk
Linguagem de programação!!!
awk -F ":" '{print $1,",",$2}' 
/etc/passwd
awk -F ":" '{ print "username: " $1 
"\t\tuid:" $3 }' /etc/passwd
Linux Essentials – 450 – Slide - 22 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Logger
logger -p local0.notice -t HOSTIDM -f /dev/idmc
Linux Essentials – 450 – Slide - 23 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Sed
cat /etc/passwd | head -n1 | sed 's/root/beth/'
Editor para saidas de texto.
Linux Essentials – 450 – Slide - 24 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Seq
Contador
seq 1 20
Linux Essentials – 450 – Slide - 25 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Sleep
Aguarda por um tempo.
sleep 3
Linux Essentials – 450 – Slide - 26 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Expand && Unexpand
Conversão de espaços em 
“tabs” e vice-versa
Linux Essentials – 450 – Slide - 27 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Join
cat /etc/passwd | awk -F: '{print $1}' | nl > a
cat /etc/passwd | awk -F: '{print $7}' | nl > b
Join a b
Linux Essentials – 450 – Slide - 28 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Number Line
$ nl /etc/passwd
Linux Essentials – 450 – Slide - 29 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
paste
cat /etc/passwd | cut -d: -f 1 > a
cat /etc/passwd | cut -d: -f2 > b
paste a b
Linux Essentials – 450 – Slide - 30 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Split
split -l 10 passwd 
Linux Essentials – 450 – Slide - 31 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Localizando no sistema
fnd
locate
Linux Essentials – 450 – Slide - 32 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
TR
cat /etc/passwd | tr -d root,aluno,new
Linux Essentials – 450 – Slide - 33 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Uniq
Unifca linhas em um arquivo
Linux Essentials – 450 – Slide - 34 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Fmt
Formatador 
cat /etc/passwd | fmt -w 60
Número de colunas
Linux Essentials – 450 – Slide - 35 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
Hexdump e Od
$ hexdump passwd
Converte o arquivo para Hexa. =D
# od passwd
Converte arquivo para Octal
Linux Essentials – 450 – Slide - 36 www.4linux.com.br
Comandos úteis de linha de Comandos úteis de linha de 
comandocomando
xargs
> teste^
> teste 
fnd -iname "teste^" | xargs rm
Linux Essentials – 450 – Slide - 37 www.4linux.com.br
Exercícios:Exercícios:
Linux Essentials – 450 – Slide - 38 www.4linux.com.br
Respostas dos ExercíciosRespostas dos Exercícios
1. “locate” trabalha com uma base de informações e o 
“fnd” não. O Find “sai varrendo” todo sistema.
2. Mostrar o conteúdo de um arquivo inverso.
3. “echo” - ecoar mensagens na tela.
4. “du” verifca espaço de um objeto em disco, e “df” 
 mostra espaços relacionados a partições.
5. Medir tempo de execução.
Linux Essentials – 450 – Slide - 39 www.4linux.com.br
Respostas do LaboratórioRespostas do Laboratório
1. cut -d: -f1,6 /etc/passwd
2. ls -Shlr S → sort r → ordem crescente
Linux Essentials – 450 – Slide - 40 www.4linux.com.br
ConclusãoConclusão
É muito importante visualizar o conteúdo de um 
arquivo, portanto, aprendemos como podemos fazer 
isso de maneira simples e rápida. 
Vimos, também, comandos que permitem selecionar 
o conteúdo de forma mais precisa.
No próximo capítulo, iremos estudar como buscar a 
documentação dos comandos e programas no 
sistema.
		Slide 1
		Slide 2
		Slide 3
		Slide 4
		Slide 5
		Slide 6
		Slide 7
		Slide 8
		Slide 9
		Slide 10
		Slide 11
		Slide 12
		Slide 13
		Slide 14
		Slide 15
		Slide 16
		Slide 17
		Slide 18
		Slide 19
		Slide 20
		Slide 21
		Slide 22
		Slide 23
		Slide 24
		Slide 25
		Slide 26
		Slide 27
		Slide 28
		Slide 29
		Slide 30
		Slide 31
		Slide 32
		Slide 33
		Slide 34
		Slide 35
		Slide 36
		Slide 37
		Slide 38
		Slide 39
		Slide 40
Capбtulo 5 - Comandos гteis de linha de comando/1. Conteгdo complementar/Filtros (Interessante).txt
Filtros (Interessante)
http://www.dellapena.hpg.com.br/so_unix.htm#42
Capбtulo 5 - Comandos гteis de linha de comando/1. Conteгdo complementar/Trabalhando na LInha de Comando.pdf
 
Trabalhando na linha de 
comando
www.4linux.com.br
 - 2
Sumário
Capítulo 1 
Trabalhando na linha de comando ............................................................................................ 3
1.1. Objetivos......................................................................................................................... 3
1.2. Mãos a obra.....................................................................................................................4
Capítulo 2 
Gerenciando ............................................................................................................................ 11
2.1. Objetivos....................................................................................................................... 11
2.2 Troubleshooting............................................................................................................. 12
Índice de tabelas
Índice de Figuras
www.4linux.com.br
Capítulo 1 Trabalhando na linha de comando - 3
Capítulo 1 
Trabalhando na linha de comando 
1.1. Objetivos
• Usar comandos de shell;
• Sequencia de linha de comando para executar tarefas básicas;
• Usar e editar o histórico de comandos;
• Os comandos invoke dentro e fora do caminho defnido.
www.4linux.com.br
Capítulo 1 Trabalhando na linha de comando - 4
1.2. Mãos a obra
O ambiente em modo texto em distribuições GNU/Linux é conhecido com 
Shell, e é o local onde os comandos digitados pelos usuários são interpretados. É 
possível confgurar esse ambiente automatizando pequenas tarefas do dia a dia, e 
ainda fazer udo de comandos internos que o próprio ambiente nos trás.
Mas afnal o que é um shell?
O shell é um programa que permite ao usuário interagir com o sistema 
operacional através de comandos digitados no teclado. No MS-DOS o shell era o 
command.com, que permitia executar alguns comandos como cd, dir, etc.
O shell mais conhecido no mundo GNU/Linux é o bash, o padrão para novos 
usuários quando são criados no sistema. É possível verifcar qual o seu shell atual, 
através do comando fnger ou da variável SHELL. Vamos a pratica: 
$ fnger aluno | grep Shell
$ echo $SHELL
www.4linux.com.br
Capítulo 1 Trabalhando na linha de comando - 5
Em nosso exemplo o usuário aluno esta utilizando o shell bash, mas é possível 
ver a lista de outros shells exibindo o conteúdo do arquivo /etc/shells:
$ cat /etc/shells
O bash traz muitas funcionalidades como comandos internos, histórico de 
comandos, autocompletar, variáveis de ambiente, etc. Para você exibir quais 
comandos são internos use help como no exemplo abaixo:
$ help
www.4linux.com.br
Capítulo 1 Trabalhando na linha de comando - 6
Histórico de comandos
Uma das funções mais uteis no dia a dia é trabalhar com comandos do 
histórico. Você pode acessar esses comandos usando as teclas de navegação para 
cima e para baixo, ou através do comando history. Vamos a prática:
$ history
A lista é uma ordem de comandos que estão guardados no histórico. Para 
executar um comando da lista use exclamação + numero do comando. Exemplo:
$ !4
Para limpar a lista de comando use o comando history com a fag -c:
$ history -c
Variáveis
No GNU/Linux as variáveis são muito usadas na criação de shell scripts, mas 
também podem ser declarada diretamente no terminal, e assim gerenciadas pelo 
shell. 
Mas o que é variável?
Variável pode ser defnida como um objeto, ou uma posição localizada na memória, 
que guarda um valor ou expressão. Vamos ver na prática como declarar uma variavel.
www.4linux.com.br
Capítulo 1 Trabalhando na linha de comando - 7
$ a=10
Veja que em nosso exemplo a variável “a” foi declarada com o valor 10. Para 
exibir o conteúdo da variável use o comado echo, cifrão e o nome da variável.
$ echo $a
É possível somar o conteúdo de 2 ou mais variáveis usando alguns comandos, 
vamos a prática:
Declare um conteúdo para 2 variáveis:
$ b=20
$ c=30
Para somar use o comando expr ou o próprio echo. Exemplo:
$ expr $b + $c
$ echo $(($b+$c))
www.4linux.com.br
Capítulo 1 Trabalhando na linha de comando - 8
Variáveis locais x globais
Quando você declara uma variável ela pode ser considerada pelo sistema 
como local ou global. A diferença está na maneira de declarar a variável. Exemplo:
Variável local
$ curso=4linux
Variável global
$ export curso=4linux
Veja que o comando export foi usado antes de declarar a variável. Para listar 
os tipos de variáveis use os comandos env e set:
Para exibir variáveis locais use o comando set
$ set
Para exibir variáveis globais use o comando env
$ env
Para deletar uma variável da memória use o comando unset
www.4linux.com.br
Capítulo 1 Trabalhando na linha de comando - 9
$ unset curso
O shell guarda informações do ambiente dentro de algumas variáveis, 
chamadas de variáveis de ambiente. Veja a descrição abaixo:
HOME – Exibe o diretório do usuário logado; 
SHELL – Exibe qual shell está sendo usado; 
TERM – Exibe o tipo de terminal que está sendo usado;
USER – Exibe o nome do usuário logado;
PATH – Exibe quais diretórios pesquisar e a ordem na qual eles são 
pesquisados para encontrar um determinado comando;
MAIL – Exibe o local onde fcam armazenados os emails do usuário logado;
OSTYPE – Exibe o tipo de sistema operacional em uso;
PWD – Exibe a localização do diretório atual;
OLDPWD – Exibe a localização do diretório anterior;
PS1 – Exibe a aparência do prompt, como o nome de usuário, maquina e 
diretório atual;
Não esqueça que os nome das variáveis de ambiente são apresentadas em 
maiúsculas!
$ echo $PS1
www.4linux.com.br
Capítulo 1 Trabalhando na linha de comando - 10
Outros comandos interessantes usado no shell
O comando uname exibe informações do sistema como a versão do kernel, 
processador, sistema operacional, entre outros. 
Veja a descrição das opções usadas com o comando uname:
-i – Tipo de processador.
-m – Arquitetura da maquina.
-n – Nome da maquina na rede.
-p – Processador.
-o – Sistema operacional.
-r – Versão do código fonte do kernel.
-s – Nome do kernel.
-v – Versão de compilação do kernel.
exec 
Alterna de um shell para outro, exemplo do bash para sh
$ exec sh
man 
Exibe o manual de um comando. Exemplo de como trazer o manual do 
comando ls
$ man ls
www.4linux.com.br
Capítulo 1 Trabalhando na linha de comando - 11
Capítulo 2 
Gerenciando 
2.1. Objetivos
•
Trobleshooting: Usar e modifcar o ambiente shell.
www.4linux.com.br
Capítulo 2 Gerenciando - 12
2.2 Troubleshooting
Como posso personalizar meu ambiente shell?
Cada usuário pode personalizar seu ambiente através do shell, declarando 
variáveis, apelidos para comandos (alias) e ainda executar comandos ou scripts no 
login e logout. Veja a lista de arquivos que podem ser personalizados. 
/etc/profle – Este arquivo contém comandos que são executados para todos 
os usuários do sistema no momento do login (somente o usuário pode editar);
~/.bash_profle – Executado por shells que usam autenticação (nome e 
senha). Para root o arquivo é o .profle;
~/.bashrc – Executado por shells que não requerem autenticação (seção de 
terminal no X);
~/.bash_logout – É lido e executado toda vez que saímos de um shell;
~/.bash_history – Lista dos comandos digitados pelos usuários.
Como exemplo pratico vamos personalizar o login de um usuário para exibir um 
calendário, alem de declarar uma variável e criar um alias para um comando.
www.4linux.com.br
Capítulo 2 Gerenciando - 13
Com um usuário comum faça login no sistema e abra o arquivo .bashrc
$ vim .bashrc
Na linha 4 adicione um comando, linha 5 um alias e na linha 6 uma variável
www.4linux.com.br
Capítulo 2 Gerenciando - 14
Faça logout com o usuário e ao se logar teste o alias e a variável.
$ ll
$ echo $curso
www.4linux.com.br
		Capítulo 1 
Trabalhando na linha de comando 
		1.1. Objetivos
		1.2. Mãos a obra
		Capítulo 2 
Gerenciando 
		2.1. Objetivos
		2.2 Troubleshooting

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando