Slide 4

Transcrição

Slide 4
pedrofilho.eti.br
Linux Essentials
2.1 – Básico de linha de comando
Prof. Pedro Filho
pedrofilho.eti.br
Objetivo
O objetivo deste curso é lhe fazer familiar com
o sistema operacional Linux. Iniciaremos com
os fundamentos do Linux como ele surgiu e
seu criador, e depois avançaremos com
diversas ferramentas que auxiliam um usuário
ao manipular o sistema operacional.
pedrofilho.eti.br
Aula de Hoje
1. A comunidade Linux e carreia open source
4. O Sistema Operacional Linux
1.1 - Evolução do linux e sistemas
operacionais populares;
4.1 - Escolhendo o sistema
operacional;
1.2 - Principais aplicações OpenSources;
4.2 - Compreendendo os dispositivos
de hardware;
1.3 - Compreendendo software OpenSource e
seu licenciamento;
1.4 - Conhecimento de tecnologias que
utilizam Linux.
2. Encontrando um caminho para o sistema linux
2.1 - Compreendendo o básico de linha de
comando;
4.3 - Onde os dados são armazendos
4.4 - Conectando o computador na
rede;
5. Segurança e permissões de arquivos
2.2 - Obtendo ajuda em linha de comando;
5.1 - Básico de segurança e maneira
de identificar tipos de usuários;
2.3 - Acessando diretórios e arquivos;
5.2 - Criando usuários e grupos;
2.4 - Criando, movendo e excluindo
arquivos
5.3 - Gerenciado permissões de
arquivos;
3. O poder da linha de comando
3.1 - Arquivando arquivo em linha de comando;
3.2 - Pesquisando e extraindo dados em linha
de comando;
3.3 - Comando de tunning e introdução à script;
5.4 – Arquivos e diretórios especiais
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Command Line Interface (CLI)
●
●
●
É a interface de computador baseada em
ambiente texto onde o usuário digita comandos e
o computador executa-o.
Aplicações de terminal devem ser projetadas para
funcionar em terminal.
Tudo que o usuário digita no terminal, é passado
para o shell, o shell interpreta e realizar alguma
ação:
–
executar um programa, ou
–
emitir uma mensagem de erro, ou
–
atribui valor em uma variável, ou ...
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Acessando o terminal
●
●
●
Se você tem um ambiente
gráfico instalado, pode acessar
o terminal pela árvore de menu
Alguns Linux aceitam uma
combinação de tecla Ctrl+Alt+t
Além desse terminal, é
possível abrir outros terminais:
–
Ctrl+Alt+F1
–
Ctrl+Alt+F2
–
…
Obs. Talvez não funcione em uma VM
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Acessando o terminal
●
Novo terminal na mesma janela: Ctrl+Shit+T
●
Copiar conteúdo: Ctrl+Shit+C
●
Colar conteúdo: Ctrl+Shit+V
●
Posicionar o curso no início da linha: Ctrl+A
●
Posicionar o curso no início da linha: Ctrl+A
●
Posicionar o curso no Fim da linha: Ctrl+E
●
●
Cancelar uma execução de programa ou linha:
Ctrl+C
Limpar Tela: Ctrl+L
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Prompt
●
●
●
Ao abrir o programa terminal, é apresentado o
prompt de comando;
Quando o prompt é apresentado, indica que o
terminal está esperando que você digite algo
para ser executado.
Ao executar um programa de terminal, o prompt
só aparece novamente após execução do
programa.
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Prompt
●
●
●
Dependendo da distribuição de linux, o prompt pode
apresentar-se um pouco diferente, mas, normalmente.
Mas, tipicamente contém informações sobre o sistema
e usuário.
Neste exemplo, o prompt apresenta o usuário que
está logado (pedro), o nome do computador
(localhost) o diretório que o usuário encontra-se (~)
e informa que é um usuário comum ($)
Neste outro exemplo, o usuário é (root), o nome do
computador continua sendo (localhost), diretório
(tmp) e informa que este usuário é o SUPER
USUÁRIO do sistema (#)
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Shell
●
●
O shell é um interpretador que traduz os
comandos digitados pelo usuário e executa-os
para desempenhar alguma função no sistema
operacional.
Existe vários tipos de SHELL o mais utilizado nos
linux chama-se de BASH.
–
Bourne shell
–
Korn shell
–
C Shell
–
Bourne Again Shell
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Shell
●
O Bash também tem outras características
importantes:
–
Scripting: habilidade de colocar uma série de comandos
em um arquivo, tornar executável esse arquivo e
executá-lo. É como se estivesse escrevendo um
programa
–
Alias: Habilidade de criar um “pequeno nome” para um
comando grande.
–
Variável: As variáveis são usadas para guardar
informações do BASH SHELL. Essas variáveis podem
ser utilizadas para apresentar informações do sistema e
para utilizadas para serem utilizadas juntamente com
comandos.
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Comandos
●
Alguns deles podem requisitar ou não uma entrada adicional. Tais
entradas podem ser na forma de opções ou argumentos.
comando [opção] [argumentos]
●
●
As opções modificam a ação que os comandos terão sobre os
argumentos
Dependendo do comando, os argumentos podem ser um um usuário,
arquivo, diretório…
Ação sobre os argumentos
Comando
Opções
Argumentos
Muda a ação
Lembre-se que no Linux é case sensitive. Faz distinção entre letras Maiúsculas e
minúscula.
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Comandos – Trabalhando com argumentos
comando [opção] [argumentos]
●
●
●
O ls é um comando que lista os arquivos e diretórios em um local do sistema
Passando o argumento /etc/ppp para o ls. Está dizendo ao ls para listar o
conteúdo do diretório /etc/ppp
O ls também aceita vários argumentos. Listando o conteúdo de /etc/ppp e
/etc/ssh
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Comandos – Trabalhando com opções
comando [opção] [argumentos]
●
●
●
Opções podem ser utilizadas para modificar o comportamento do comando sobre
os argumentos.
Podem ser utilizadas com:
–
Um traço (-): Cada letra representa uma ação
–
Dois traços (--): Cada palavra representa uma ação
Exemplo de utilizando com um traço (-)
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Comandos – Trabalhando com opções
comando [opção] [argumentos]
●
Exemplo de utilizando com um traço (-)
●
Exemplo de utilizando com um traço (-) com duas opções
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Comandos – Trabalhando com opções
comando [opção] [argumentos]
●
Exemplo de utilizando com um traço (-) e com dois traços (--) realizando a mesma ação.
A opção -a é igual à --all
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Comando History
●
●
Quando você executa um comando no terminal, o comando é guardado em uma
“history list”.
Para saber os comandos digitados anteriormente, basta utilizar o comando history.
Algumas formas de usar o history:
●
●
●
●
history 5: Mostra os últimos 5
comandos da lista do history
!! : Executa o ultimo comando
digitado
!5: Executa o 5º comando da lista
!ls: Executa o ultimo comando ls
digitado no terminal
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Introdução a variáveis de BASH
●
As variáveis do BASH shell, tem a característica de permitir que você guarde informações. Que
podem ser utilizadas em comandos ou pelo sistema.
●
Para visualizar o conteúdo de uma variável, utilizar o comando echo
●
Toda variável começa com o símbolo $
A variável $HISTSIZE determina o total de comando que podem ser guardados na lista
do history
Para alterar o conteúdo da variável, atribua um novo valor utilizando o simbolo de =
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Variável PATH
●
●
●
Essa é uma das variáveis mais importantes do sistema.
Ela determina onde estão os programas que o shell deve pesquisar
quando você executa algo no terminal.
Se você digitar um comando e receber o erro “command not found”,
quer dizer que o shell não encontrou esse programa em um dos
diretórios armazenados na variável PATH
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Variável PATH
●
●
Para atribuir um novo diretório na variável PATH,
basta executar algo semelhante ao exemplo
abaixo:
Neste caso, estamos concatenando (adicionado)
à variável PATH o caminho “/usr/bin/custom”
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Exportando um comando
●
●
Existem duas formas de se utilizar uma variável no BASH Shell:
–
Ambiente (Environment): São utilizadas pelo BASH quando executado alguma tarefa no
sistema. Ex. $HOME, $PATH
–
Local: Normalmente associadas a tarefas do usuário, por convenção, utiliza-se nomes em
caixa baixa.
Para ter acesso as variáveis ambiente, execute o comando env
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Exportando um comando
●
Atribuindo uma variável local
●
variavel=”teste” : Atribuindo o valor “teste” em variável
●
echo $variavel: Verificando seu conteúdo
●
env | grep variavel: Verificando que a variável local não
esta armazenado em lista de variáveis ambiente
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Exportando um comando
●
●
Utilizando o comando export para colocar uma variável como ambiente
export variavel : Colocando a variável como ambiente
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Comando Which
●
Informa em qual local o comando encontra-se no
sistema.
O comando which usa como referência os locais da variável $PATH para achar onde
está o comando
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Comando Alias
●
●
Pode ser utilizado para resumir um comando para uma palavra
menor
Ao executar o comando alias é possível saber quais são os
alias criados no sistema
Prof. Pedro Batista de Carvalho Filho
pedrofilho.eti.br
Comando Alias
●
Para utilizar criar um alias:
–
●
alias nome=comando
Ao executar o comando lh o bash executará ls-Shl
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Globbing/wildcards - Caracteres coringa
●
●
●
São opções ou argumentos que são passados para
os comandos;
Os caracteres CORINGAS são interpretados pelos
shell ANTES de processar os comandos. Isto
significa que os caracteres coringas podem ser
utilizados em qualquer comando.
Com os caracteres coringas é possível especificar
através de PADRÕES, vários arquivos ou diretórios
diferentes em vez de manipulá-los individualmente.
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Globbing/wildcards - Caracteres coringa
Vários caracteres (*)
Asterisco é utilizado para representar zero ou mais caracteres em um argumento
●
Apresenta todos os arquivos que começam com a letra t
●
Apresenta todos os arquivos que terminam com .d
●
Apresenta todos os arquivos com começam com r e terminam com .conf
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Globbing/wildcards - Caracteres coringa
Um qualquer caractere (?)
Diferente do asterisco (*) que representa vários caracteres, a interrogação (?) representa
apenas 1 caractere.
●
●
●
Mostrar todos os arquivo do diretório /etc com começam com a letra t e tenha
exatamente 7 caracteres depois do t
Pode-se utilizar vários caracteres coringas para formar um padrão específico, neste
caso, é apresentado na tela apenas arquivos ou diretórios que tenham 20 ou mais
caracteres.
Apresenta na tela qualquer arquivo dentro do diretório /etc que tenha exatamente 3
caracteres após o ponto (.)
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Globbing/wildcards - Caracteres coringa
Especifica os caracteres utilizados ([ ])
Colchetes é utilizado para especificar os caracteres que devem
conter no padrão
●
●
Apresenta apenas os arquivos com começam com a letra g ou u
dentro de /etc. Observe que tem um * depois, isso permite que
após a letras especificadas, pode vir quantos e qualquer caractere
Apresenta todos os arquivos ou diretórios dentro de /etc que
começam com qualquer letra entre a e d
pedrofilho.eti.br
●
●
Prof. Pedro Batista de Carvalho Filho
Globbing/wildcards - Caracteres coringa
Especifica os caracteres utilizados [ ]
Apresenta qualquer arquivo ou diretório que
tenha qualquer número entre 0 e 9
O Shell faz as verificações de acordo com a
tabela ASCII, logo, se inverter a posição, não é
possível obter o resultado esperado.
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Globbing/wildcards - Caracteres coringa
Representa negação no padrão ( ! )
A exclamação representa uma negação do padrão
determinado, normalmente é utilizado juto com os
outros padrões
●
Exemplo: echo [!DP]*
Apresenta qualquer arquivo que não começa
com a letra D ou P
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Aspas ' “ ` e Barra invertida \
Há três tipos de aspas, e cada uma delas tem uma função diferente
sobre o texto:
●
●
Dupla “ : Permite que o shell interprete variáveis, mas não interprete
caracteres coringas.
Simples ' : Impede que o shell interprete qualquer caractere no texto,
inclusive os caracteres coringas e variáveis
–
●
Barra invertida \ : Funciona como uma alternativa as aspas simples
Simples invertida ` : Permite executar um comando dentro do texto
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Aspas duplas (“)
●
Dupla “ : Permite que o shell interprete variáveis, mas não interprete
caracteres coringas.
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Aspas simples (') e Barra invertida \
●
Simples ' : Impede que o shell interprete qualquer caractere no texto, inclusive
os caracteres coringas e variáveis
–
Contra barra \ : Funciona como uma alternativa as aspas simples
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Aspas simples invertidas ( ` )
●
Simples invertida ` : Permite executar um comando dentro do texto
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Ponto e vírgula ( ; )
●
●
Permite executar vários comandos SEQUENCIALMENTE em uma mesma
linha de comando
Executa primeiro o cal 1 2014, depois cal 2 2014 e depois cal 3 2014
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Operador lógico de adição ( && )
Só executa os comandos se todos eles funcionarem corretamente sem gerar
qualquer tipo de erro.
●
●
●
Perceba que se executar individualmente os comandos abaixo, o segundo gera
um erro pois não existe nenhum arquivo ou diretório de nome junk.
Ao tentar executar em conjunto o comando ls /etc/xml e echo sucess o sistema
executa-os sequencialmente semelhante quando utilizado o ponto vírgula, pois
nenhum deles gerará um erro.
Mas, ao executar o comando seguinte, o ls /etc/junk com o echo sucess, o
sistema não executa nenhum deles, pois basta algum deles gerando erro para o
sistema não executar nenhum.
pedrofilho.eti.br
Prof. Pedro Batista de Carvalho Filho
Operador lógico OR ( || )
Só executa o segundo comando se o primeiro
gerar um erro

Documentos relacionados