Configuração do Interpretador de Comandos



Documentos relacionados
Formação de Administradores de Redes Linux LPI level 1. Aula 2 SENAC TI Fernando Costa

CET GRSI Sistema Operativo de Rede. António Paulo Santos

Introdução a. Shell Script. Clésio Matos

Se não existisse uma variável de ambiente chamada PATH você teria que digitar todo o caminho do comando para listar por exemplo:

Paradigmas da Programação I (LESI 1º ano) Programação Funcional (LMCC 1º ano)

SISTEMAS OPERATIVOS I

Scripts Shell. João Medeiros 1 / 20

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos

GNU/Linux/Bash. Aula 2

1 Objetivos da Oficina

Introdução ao Shell Script

Formação de Administradores de Redes Linux LPI level 1. Aula 3 SENAC TI Fernando Costa

Primeiro Trabalho: Desempenho de protocolos de encaminhamento em redes ad hoc móveis

Aula 4 Comandos Básicos Linux. Prof.: Roberto Franciscatto

Planeamento. Introdução ao Sistema Operativo UNIX. Java: Ferramentas, Entradas/Saídas, Excepções. Threads e Semáforos. Problemas de Sincronização

Formador: Carlos Maia

Manual do Teclado de Satisfação Online WebOpinião

Comandos Básicos do Linux/Unix

Acessos Convergentes. Manual de Configuração e Utilização

Oficina de ShellScript


105 Shell Script. João Bosco Teixeira Junior

Programação com Posix Threads

Sistema Operacional Unidade 5 - Iniciando o modo texto. QI ESCOLAS E FACULDADES Curso Técnico em Informática

Gestor de Janelas Gnome

Instruções de Instalação do IBM SPSS Modeler (Licença de Usuário Autorizado) IBM

LEI Sistemas de Computação 2011/12. Níveis de Abstração. TPC4 e Guião laboratorial. Luís Paulo Santos e Alberto José Proença

Práticas de Desenvolvimento de Software

Programação 2009/2010 MEEC MEAer

LISTA DE COMANDOS DO LINUX 1

Aula 02. Introdução ao Linux

Introdução aos Sistemas Informáticos

Programação 2009/2010 MEEC

Ferramentas de Administração Linux

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

Manual de Comando Linux

Conceitos básicos da linguagem C

Como enviar e receber correio eletrónico utilizando o Gmail

Extracto on Line Aplicação Local Guia do Administrador

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

Instalação e utilização do Eclipse / Fortran em Windows

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

Como produzir e publicar uma apresentação online dinâmica (Prezi)

Fundamentos e Prática em Informática LINUX Gerenciamento de Usuários e Grupos

Guia de iniciação Bomgar B400

Referencial do Módulo B

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

Sistema Operativo em Ambiente Gráfico

7. Gestão de ficheiros em X Window O Konqueror

Usando o do-file editor Automatizando o Stata

Ferramentas para FSI

Veja em Tela cheia abaixo: Página nº 2

Guia do Utilizador Configurador Online de Instalação

Aula 04 - Hackeando a linha de comando

Generated by Foxit PDF Creator Foxit Software For evaluation only. Capitulo 1

Programação por Objectos

MANUAL DE PROCEDIMENTOS PLATAFORMA DE INSCRIÇÕES ONLINE

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA:

Manual do usuário Sistema de Ordem de Serviço HMV/OS 5.0

MANUAL DE INSTALAÇÃO LUZ DO SABER

Tutorial :: Introdução ao VHDL em ambiente Design Works

Desenvolvimento de programas em UNIX

Manual de Instalação e Configuração do GeoServer em Servidores LINUX

Roteiro 3: Sistemas Linux arquivos e diretórios

Adicionando Propriedades e Funcionalidades aos Componentes Parte II

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual

Bases de Dados. Lab 1: Introdução ao ambiente

UFCD 19 Linux Administração. Curso: EFA Técnico de Informática Instalação e Gestão de Redes

Estes apontamentos das aulas teóricas são da autoria de Pedro Vasconcelos (2007) tendo sido adaptados e modificados por Armando Matos (2010)

LINEAR-HCS RUA SÃO JORGE, 269 TELEFONE: (11) SÃO CAETANO DO SUL SÃO PAULO CEP:

Ferramentas Web, Web 2.0 e Software Livre em EVT

MoreDoc. Guia de Instalação. Edição Community Versão 3.0

MC351 /361 /561. Esta nova serie da OKI permite a digitalização em Rede sem ser necessário configurar o método CIFS ou FTP.

Boot Camp Manual de Instalação e Configuração

Data de Aplicação. Rede Local e Segurança Informática Básica

Electrónica Digital 2. Xilinx Webpack

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux

Programação 2008/2009 MEEC Guia de instalação do PC de programação

Como produzir um texto no computador.

Licenciatura em Engenharia Informática Departamento de Engenharia Informática Instituto Superior de Engenharia do Porto

Boot Camp Manual de Instalação e Configuração

ENDEREÇOS DE REDE PRIVADOS até até até Kernel

Capítulo 15. INICIALIZAÇÃO, TEMPO DE CPU E DOS

Akropole Catequista. Todos os Ficheiros no Akropole Catequista trabalham com uma simples barra de edição, com 4 botões:

8. Perguntas e Respostas

Instalação do Aparelho Virtual Bomgar. Base 3.2

Manual de Transição TWT Sítio de Disciplina para Moodle 2.6

Linguagem de Programação I

PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008

Manual do Utilizador. Janeiro de 2012.

Os produtos FORMAT constituem-se como banco de recursos, à disposição dos formadores de Mecanização Agrícola.

Ferramenta de Apoio ao Jogo 2 (Ensino da Leitura) incluído nos Jogos da Mimocas

Shell Script. Rafael Silva Guimarães

GUIA RÁPIDO DO e-livro. Iniciando

TÉCNICAS DE PROGRAMAÇÃO

Instituto Superior Politécnico Gaya Escola Superior de Ciência e Tecnologia

Configurações das notificações do sistema. Mike McBride Tradução: Lisiane Sztoltz

Introdução à Utilização de Sistemas Unix Dulce Domingos e Hugo Miranda Setembro/2013

Transcrição:

1 Configuração do Interpretador de Comandos (Bash Shell) Os objectivos deste módulo são os seguintes: Configuração do Bash Shell Variáveis de Ambiente Path Alias Ficheiros de Configuração Revisão: 01/01/2016 Página 1 de 6

Introdução O programa do shell /bin/bash (normalmente diz-se apenas shell)é um interpretador de comando de linha. Existe muitos programas shell para Linux como o csh, sh, tcsh etc o seu shell por defeito faz parte da definição do utilizador (ver ficheiro /etc/passwd). O bash shell é muito popular, o seu nome é uma brincadeira das palavras ingleses born (nascer) e bourne (nome do autor do primeiro shell para Unix). O Bash utilize um conjunto de ficheiros de iniciação para criar um ambiente de trabalho e execução. Os ficheiros globais de configuração estão no directório /etc a seguir ficheiros no seu directório raiz (home directory) podem depois adicionar ou reconfigurar o ambiente. Também o tipo de configuração varie conforme se o shell é do tipo login e se o shell aceite interage com o utilizador ou não. Uma sessão interactive login shell é iniciado depois de fazer um login. Este tipo de Shell normalmente leia o ficheiro ~/.bash_profile ou o ficheiro o ~/.bashrc Uma sessão interactive non-login shell é normalmente inicializada na linha de comando invocando o próprio programa do shell (escrevendo, /bin/bash) ou pelo comando su ou através dum xterm ou console iniciado dentro duma ambiente gráfica. Este tipo de Shell normalmente leia o ficheiro ~/.bashrc do utilizador para mais configurações do ambiente. Uma sessão non-interactive shell pode ser iniciado, por exemplo executando um script (ficheiro de comandos). Não e interactive porque o script execute sem necessidade de comunicar com o utilizador, neste caso o ambiente do shell do progenitor é herdado sem alterações. Ficheiros de Configuração Ficheiros de configuração do shell são em primeiro lugar os ficheiros configurados pelo administrador do system generic system-wide e depois os ficheiros de configuração controlado por cada utilizador. o /etc/profile : generic system-wide profile o /etc/bashrc : generic system-wide.bashrc file for interactive bash shells. o.bash_profile : user profile - processado no login o.bashrc : setup-file processado cada vez se-inicia um interactive non-login shell o.bash_login : processado no login o.bash_logout : processado no logout Nota: Ambiente das salas de D.I.- o ficheiro.bashrc é lido a abrir um terminal? Símbolos Especiais e Variáveis do Ambiente Alguns símbolos são interpretados duma maneira especial pelo Shell e também pelo seu contexto de utilização. Exemplos são: no contexto dum nome dum ficheiro o * que indica qualquer string e o? que indique qualquer carácter. no contexto dum directório o. indique o directório actual, o.. o directório em cima e o ~ o directório raiz. Outros símbolos tem valores que podem mudar (variáveis) alguns são definidos quando se faz o login e por norma são escritos com maiúsculas. Exemplos são o HOME (directório raiz) o TERM (tipo de terminal) o SHELL (programa de shell a utilizar por defeito). Página 2 de 6

A Variável do Ambiente (Environment Variable) PATH A variável PATH contem uma lista de directórios separados por :. (Nota. Em Windows ; ) Para ver o seu path pode utilizar o comando echo. alunos:~ crocker$ echo $PATH /bin:/sbin:/usr/bin:/usr/sbin:/network/servers/docentes/crocker/bin:. A escrever o nome dum comando o sistema operativo pesquisará esta lista pela ordem definido até encontrar um ficheiro executável com o nome indicado. Depois executará o comando. Por exemplo a escrever o comando ls estamos a executar o ficheiro localizado no directório /bin que normalmente constará como um dos directórios no PATH. Para ver se um comando especifico esta no path utilize-se o comando which alunos:~crocker$ which ls /bin/ls Deverás inspeccionar o tipo e a as propriedades do ficheiro /bin/ls com os comandos file e ls alunos:~crocker$ ls l /bin/ls alunos:~crocker$ file /bin/ls Um símbolo especial o. indique o directório actual. Se este directório não estiver incluído no seu path estará condenado a escrever./a.out para executar o ficheiro a.out localizado no directório actual porque a escrever apenas a.out o bash shell do sistema operativo não localizará o ficheiro e responderá com bash: a.out command not found Para rectificar esta situação altera o path assim : Variáveis do Shell PATH=$PATH:. export PATH Variáveis do shell são definidos com um simples sintaxe nomevariavel=valor. O valor é usado usando o sintaxe $nomevariavel No entanto variáveis são apenas validas na ambiente do shell actual. Para que as variáveis são validas em sub-shells criados a partir dum shell original é necessário declarar a variáveis global usando o comando export. Se tiver variáveis, definições etc. definidos num ficheiro pode carregar este ficheiro dentro da ambiente do shows actual com o comando source >source.alias >source.bashrc >source.bash_profile Página 3 de 6

Modificação do prompt: Num shell interactive o prompt é que se vê na ecrã quando o programa está a esperar do próximo comando para interpretar. O valor do prompt está guardado na variável PS1. Para modificar o prompt fazer PS1='value' (entre plicas ou aspas) Dois Exemplos PS1='Bom Dia>' PS1='`ls`\nOla' Alguns códigos que possam ser incluídos no prompt \d the date (day-of-the-week month day) \h the hostname (without the domain) \n start a new line \u the current username \w the working directory `comando` as plicas ` implique que o comando é executado! Por defeito PS1='\h:\w \u\$ ' e está definido no ficheiro /etc/bashrc. Agora verifique e altere o seu prompt! Aliases or Shortcuts: Para definir um alias o sintaxe é alias comand=valor. Exemplos >alias adeus=' logout' >alias more='less' >alias dir=' ls lt' >alias xsjoao=' cd ~/so2016/a3456 ; ls' Para cancelar um alias >unalias adeus Para visualizar os aliases definidos basta escrever o comando sem opções: >alias Os aliases podem ser inseridos directamente num ficheiro de configuração ou muitos vezes poderão ser inseridos num ficheiro.alias que contêm os seus aliases e subsequentemente lidos usando o comando source Bash Shell Options - NoClobber: Existe muitas opções do shell que possam ser configurados. Um exemplo é a opção noclobber. Se a opção noclobber estiver ligado não se pode, por engano, apagar um ficheiro utilizando redireccionamento. O comando para ligar a opção noclobber é: set -o noclobber e para desligar set +o noclobber Exemplo: [crocker@penhas]$ PS1='Ola bash>' Ola bash> set -o noclobber Ola bash> touch trash Ola bash> cat ficheiro > trash bash: trash: cannot overwrite existing file Ola bash> set +o noclobber Ola bash> cat ficheiro > trash Ola bash> Página 4 de 6

Exercícios: 1. Criar um ficheiro ~/.alias com alguns dos seguintes aliases alias lst='ls -alt less' alias stdc= cd /usr/include; ls -l std*.h alias dir='ls -a' alias ll='ls l' alias rm='rm -i' alias cc='cc -Wall' alias casa='cd;pwd;date' alias indent='indent -npsl -bl' alias cdso='cd so2016; ls ; pwd' 2. ler o ficheiro com o comando source ~/.alias e experimente! >pico ~/.alias (ou gedit ~/.alias &) >source ~/.alias >dir >casa >mkdir ~/so206 >cdso 3. Crie um ficheiro chamado ola.c com o seguinte código. main() { char *s= ola ; printf( \n%s Bem Vindo ao SO\n,ola); } 4. Compile com as opções seguintes: cc Wall o ola ola.c e a seguir alterar o código fonte para eliminar os avisos da compilação do programa. 5. Execute o comando ola escrevendo a. >./ola b. >ola 6. Se tiver de escrever./ola modifique a variável PATH para incluir o directório actual PATH=$PATH:/. 7. Criar o directório ~ /bin com o comando >mkdir ~/bin 8. Mover o executável ola para o directório ~/bin com o comando >mv ola ~/bin e executar >ola 9. Consegue executar o comando ola sem escrevendo o caminho completo? (deverá ver qual o valor do seu path? ) 10. Alterar o path para incluir o directório ~/bin (fazer o commando >hash -r se for necessário) e execute o comando ola! Um Ficheiro Típico ~/.bash_profile ~/.bashrc PS1='\h \w \u so2016> ' PATH=$PATH:$HOME/bin:. export PATH if [ -f ~/.alias ]; then source ~/.alias fi set -o noclobber Página 5 de 6

Exercícios Para Casa - Criação de Aliases Investigue os comandos: grep, tree, chmod, cp e dd usando o online help do Linux (the manual pages) fazendo por exemplo >man grep Exercício nº1 Podem usar a ajuda do Internet do google mas a ajuda online man é muito útil! Implemente um comando Unix, designado por linubi, que mostre todas as linhas dum ficheiro que contém a palavra UBI. Exercício nº2 Implemente um comando Unix, designado por mst, que mostre todos os ficheiros duma directoria (pasta) e suas subdirectorias. Exercício nº3 Implemente um comando Unix, designado por inib, que iniba a permissão de leitura dum ficheiro ao grupo a que pertence o seu proprietário. Exercício nº4 Verificar se existir no seu sistema o comando tree. Se existir implemente um comando, designado por dls, que faça a listagem da estrutura de directorias (apenas directorias) a partir da directoria fornecida como argumento. Página 6 de 6