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