Baixe o app para aproveitar ainda mais
Prévia do material em texto
26/08/2014 1 CCT0042 Programação para Servidores Introdução / Comandos – Parte 1 Adaptado do Prof. Paulo Estevam Prof. Márcio Rodrigo Semestre Letivo: 2014.1 pág. � Do modo gráfico para o modo texto: CTRL + ALT + F6 � Retornar para o modo gráfico: CTRL + ALT + F7 4 26/08/2014 2 pág. � O aviso da linha de comando (ou prompt), é um texto mostrado na tela, após a qual devem ser digitados os comandos, os quais serão passados para interpretador shell quando se pressionar a tecla “enter”. � A posição onde o comando deve ser digitado é marcado por um “traço” piscante na tela (o cursor). 5 pág. � � � Normalmente o aviso da linha de comando exibe o nome do usuário, o nome da máquina, o diretório atual e o caractere $ ou #. [ nome_usuário@nome_máquina diretorio_atual ]$ O aviso da linha de comando do usuário root é identificado pelo caractere cerquilha “#” (modo superusuário). O aviso da linha de comando dos demais usuários é identificado pelo caractere cifrão “$” (modo usuário). � É possível personalizar a exibição do prompt do usuário. A variável de ambiente PS1 controla a forma de exibição. Exemplo: echo $PS1 export PS1=“[\u \W]\$ ” 7 26/08/2014 3 pág. � � � Para reutilizar comandos já digitados pressionar as teclas seta para cima (arrow up) ou seta para baixo (arrow down). Para limpar a tela digitar as teclas Ctrl + L ou digitar o comando clear. Para rolar a tela pode segurar a tecla SHIFT e pressionar PgUp ou PgDn ou usar a barra de rolagem da janela do terminal. (procedimento útil para visualizar textos que rolaram rapidamente para cima) 8 pág. � O shell Bash permite a completação (expansão) de nomes de comandos, pressionando-se a tecla TAB. Exemplo: Se digitarmos “ls /e” e pressionarmos a tecla “tab”, o Bash completará o restante do nome: “ls /etc/”. 9 26/08/2014 4 pág. � Comandos são ordens que passamos ao sistema operacional para executar uma determinada tarefa. Exemplo: ls –a /etc 10 pág. � Comandos Internos (shell builtins) � Comandos Externos 11 26/08/2014 5 pág. � São comandos pertencentes ao interpretador de comandos (construções internas do shell/shell builtins). Eles são carregados na memória RAM junto com o interpretador de comandos. Observações: � Comandos internos também são chamados de comandos embutidos. � Um alias ou uma função shell criada pelo usuário acaba se transformando em um comando interno, porém só funcionará até o término da sessão. 12 pág. � São comandos que estão localizados no disco. Os comandos são procurados no disco, usando a ordem do PATH e executados assim que encontrados. Pode ser um script ou um binário executável. Observação: � PATH é uma variável especial (variável de ambiente) que guarda caminhos de diretórios, onde comandos e programas devem ser procurados. 13 26/08/2014 6 pág. � Para saber qual é o tipo de um comando digite: type comando Exemplos: type cd type su type ls 14 pág. � Criando e identificando uma função Observação: � O tópico sobre “Funções” será abordado mais detalhadamente na Unidade 4. 15 26/08/2014 7 pág. � Criando e identificando um alias Um alias é um apelido para um comando ou uma sequência complexa de comandos. Funciona como um atalho. � Sintaxe: alias apelido=‘comando’ Observação: � Não deve haver espaços antes e depois do sinal de igual. 16 pág. � Utilize o comando “whereis” para encontrar um comando externo ou programa. whereis comando 17 26/08/2014 8 pág. � Quando se executa um comando, o interpretador verifica primeiro se ele é um comando Interno, caso contrário, verifica se é um comando externo. � Em se tratando de um comando externo, o mesmo é executado em um processo separado. 18 pág. � 1) 2) Execução de um comando externo (programa ou script): Um novo processo é criado pelo shell pai (a procura e execução do comando externo). Quando o comando externo é finalizado, o controle retorna para o shell pai, o qual prossegue com a leitura do próximo comando do terminal ou do script. subshell 19 26/08/2014 9 pág. � � � � O shell do usuário é definido no arquivo “passwd”, localizado no diretório “/etc”. O /etc/passwd é um arquivo de controle de acesso dos usuários. Ele também provê informações para o início de uma sessão (“login”). Uma delas (o último campo de cada linha dos seus registros) informa ao sistema qual é o shell que o usuário utilizará ao iniciar sua sessão. � Lembre-se: bash bsh ksh csh � � � � Bourne-Again Shell Bourne Shell Korn Shell C Shell 20 pág. I Exemplo: ◦ Digite no prompt: cat /etc/passwd Observação: � O comando cat lista na saída padrão o conteúdo de um arquivo ou ainda criar um arquivo texto através de redirecionamento. 21 26/08/2014 10 pág. [prompt]$ [comando] [opções] [argumentos ou parâmetros] Aviso da linha de comando. Comando escrito em letras minúsculas. As opções controlam o modo como o comando será executado. Exemplo: “ls -l /usr/share/doc”, ls é o comando, -l é a opção passada ao comando, e /usr/share/doc é o diretório passado como parâmetro ao comando ls. Observações: • Deve haver sempre um espaço entre comando, opções e parâmetros. • Path é nome completo do arquivo ou diretório (caminho). Um parâmetro identifica um caminho (path), origem, destino, entrada ou saída padrão que são passados ao comando. 22 pág. � Opções: ls –a –l /etc é o mesmo que � ls –al /etc ◦ As opções são opcionais. ◦ Uma opção normalmente é passada como sendo uma letra precedida de um hífen (-). ◦ É possível combinar várias opções. Exemplos: ls –a /etc opção opções separadas opções combinadas 23 26/08/2014 11 � Opção extensa ou longa Usa-se a opção por extenso precedida por dois hífens. Exemplo: ls –a ou ls --all Porém, atenção: ls –all é diferente de � combinação de opções –a –l -l pág. ls --all opção longa de “-a” 24 pág. � man comando ou help [comando_interno] Exemplo: man rm � Para avançar linhas tecle “enter”, “PgDn”, “Arrow down”, etc; para sair da exibição do help, digitar “q” (quit) 25 26/08/2014 12 pág. Observação: ◦ Para exibir todos os comandos internos do shell digite apenas help. ◦ Outro modo de ajuda sobre comandos é digitando “comando –-help”. 26 pág. � São “meta-caracteres”, ou seja, possuem um outro significado (meta-significado) ou função que vai além do seu sentido literal ou convencional. 27 26/08/2014 13 pág. � O “;” (ponto e vírgula) é o caractere separador de comandos, isto é, delimita comandos, permitindo executar um ou mais comandos em uma mesma linha de prompt (ou de um script). Exemplos: date ; pwd ; ls; cd /;ls;cd ~;ls 28 pág. � � � P Os caracteres operadores de redirecionamento (< e >) servem para enviar dados (para uma saída) ou receber dados (de uma entrada). Os comandos “leia” e “escreva” das linguagens de programação ou de scripts têm como “entrada padrão”, “saída padrão” e saída “erro padrão” o teclado/vídeo (terminal). Os periféricos de entrada e saída no Linux estão associados a arquivos que estão localizados no diretório /dev. Ex: console, hda, ttyS*, video, audio. 29 26/08/2014 14 pág. � O teclado é também conhecido como sendo a entrada padrão ou stdin (standard input). /dev/console � A unidade de vídeo é também conhecida como sendo a saída padrão ou stdout (standard output). /dev/video � Mensagens de erros geradas durante a execução de um programa ou comando são enviadas para a saída de erro padrão ou stderr que tambémestá associada à unidade de vídeo. 30 pág. � Comandos enviam a saída para o terminal de vídeo, Exemplos: ls, who, echo. � Comandos obtém a entrada através do teclado, Exemplos: cat, read. O Linux permite: � Que se realize o redirecionamento da saída, isto é, a saída de um comando que normalmente é a unidade de vídeo (/dev/video) seja redirecionada para um arquivo. � Que se realize o redirecionamento de entrada, isto é, a entrada de um comando que normalmente é o teclado (/dev/console) seja redirecionada para o conteúdo de um arquivo. 31 26/08/2014 15 pág. � Operadores de redirecionamento: > < >> 2> 2>> Sintaxe: origem > destino destino < origem De > Para Para < De De >> Para De 2> Para De 2>> Para � � � � � > � Substitui o conteúdo do arquivo de saída. < � Faz um arquivo entrada para programa ou comando externo. >> (here document) � Acrescenta no final do arquivo de saída. 2> � Redireciona a saída de erro para um arquivo. 2>> � Acrescenta no final do arquivo a saída de erro. 32 <<< � Here string, substitui com eficiência, em alguns casos, o pipe (|). A sintaxe é comando <<< $cadeia . Exemplo: A sequencia a="1 2 3" ; echo $a | cut -f 2 -d ' ' pode ser feita com: a="1 2 3"; cut -f 2 -d ' ' <<< $a http://wiki.softwarelivre.org/TWikiBar/TWikiBarBirinaite#Here_Strings (Júlio César) pág. Exemplo: cat Alguma coisa Alguma coisa (ctrl D) Exemplo: cat > exemplo1.txt Alguma coisa (ctrl D) nano exemplo1.txt 33 26/08/2014 16 pág. Exemplo: cat >> exemplo1.txt Outra coisa (ctrl D) nano exemplo1.txt Exemplo: cat < exemplo1.txt Exemplo: cat exemplo1.txt 34 pág. Exemplo: ls –l > exemplo2.txt cat exemplo2.txt Exemplo: ls *.txt > todos.txt cat todos.txt 35 26/08/2014 17 pág. Exemplo: cat > teste.txt Alguma coisa (ctrl D) wc < teste.txt Exemplo: ls *.txt > todos.txt wc –l < todos.txt Observação: O comando externo “wc” conta as linhas, palavras e caracteres de um arquivo ou da entrada padrão Opções: -l � conta apenas linhas -w � conta apenas palavras -c � conta apenas caracteres 36 pág. � Podemos redirecionar erros que podem ocorrer durante a execução de um comando. Exemplo: ls marcio Se não existir o arquivo ou diretório com o nome “marcio” a seguinte mensagem de erro aparecerá no vídeo: ls: marcio: No such file or directory � Para burlar a situação acima, podemos redirecionar a saida de erro padrão (stderr) para um arquivo. Exemplo: ls marcio 2> erro.txt cat erro.txt 37 26/08/2014 18 pág. Os exemplos abaixo adicionam no arquivo logsucesso.txt o resultado de sucesso ou no arquivo logerro.txt o insucesso da execução do comando ls. Exemplo: ls bin >> logsucesso.txt 2>> logerro.txt Exemplo: ls biiin >> logsucesso.txt 2>> logerro.txt 38 pág. � Arquivo /dev/null Este arquivo é usualmente conhecido como “buraco negro”, “balde de dados”, “lixeira de dados” ou “arquivo fantasma” ou “vazio”. � � Quando não é necessário apresentar nenhuma saída, podemos redirecionar a stdout e stderr para o buraco negro (/dev/null). Os dados enviado enviados para este arquivo são descartados pelo sistema. Exemplo: ls marcio 2> /dev/null 39
Compartilhar