Aula 04 informática aplicada - comando básicos

Post on 05-Jun-2015

2.255 views 25 download

Transcript of Aula 04 informática aplicada - comando básicos

Informática Aplicada

Kleyber Dantas Torres de Araujo

Introdução ao Linux

• Histórico e desenvolvimento• Mas o que é o Linux (GNU, kernel, sistema)?• Conceitos de sistema de arquivo• Conceitos de usuário e senha• Computadores interligados em rede• Administração de rede para o usuário• Sobrevivência no Linux:– O básico do básico (alguns comandos e dicas)

HistóricoDo UNIX ao Linux

• UNIX apareceu em 1969 (Ken Thompson)• Linus Torvalds, em 1991, escreveu um kernel

para seu 80386, baseado em UNIX• Após divulgar na Internet, teve participação de

muita gente, e começou a crescer• Em menos de 10 anos, o kernel se encontra na

versão 2.4, e suporta vários dispositivos e plataformas (i368, Sparc, PowerPC, etc)

HistóricoLinux hoje e seu desenvolvimento

• O desenvolvimento do Linux é centralizado pelo Linus Torvald e por alguns “braços direitos”, dentre eles, o famoso Alan Cox.

• Qualquer pessoa no mundo pode colaborar com o kernel, que está sob a GPL

• GPL (Gnu Public License) é a licensa criada por Stallman, que permite a distribuição do código e do programa livremente, e permite a alteração, sob algumas condições (a principal, é manter o copyleft original)

Mas o que é Linux?Kernel, utilitários, GNU, etc

• “Somente” o kernel é realmente o Linux. Núcleo do sistema é responsável pelo funcionamento dos dispositivos e funcionamento do computador (SO)

• Utilitários (shell, editores, programas) são a parte visível ao usuário. Entretanto, são “emprestados” do projeto GNU, ou são comerciais

• GNU (Gnu is Not Unix): Projeto fundado por Richard Stallman, que propunha a criação de um sistema completo (kernel, utilitários, etc), sob a GPL, e independente de qualquer tipo de UNIX

Sistemas de arquivosDiscos, arquivos e diretórios

• 1 byte = 8 bits. 1 bit assume valor 0 ou 1• Discos magnéticos: divididos em trilhas

(circulares), e cada trilha é dividida em setores. Um setor, em geral, tem 512 bytes

• Há necessidade de organizar esses dados de forma que possamos entender e utilizar com facilidade

• A maioria dos sistemas utilizam o conceito de arquivos e diretórios

• Arquivo: um conjunto de setores no disco, associado a um nome (uma cadeia ASCII)– O arquivo nada mais é que uma seqüência de bits

(0 e 1), mas que podem assumir diversos tipos (arquivo binário, arquivo texto, etc)

• Cada sistema permite uma maneira de organizar os discos e arquivos. O UNIX e o Linux utilizam a estrutura de árvores

Sistemas de arquivosDiscos, arquivos e diretórios

Sistemas de arquivosDiscos, arquivos e diretórios

• Para o agrupamento de arquivos, existe o conceito de diretório. Um diretório não armazena dados em si, mas agrupa arquivos

• Árvore: o sistema contém apenas um diretório raiz (root), e todos outros estão “dentro” da raiz

• Um diretório pode conter vários diretórios• Os dispositivos são associados a arquivos

especiais, que se encontram em /dev• Qualquer partição ou dispositivo de I/O é

associado a um arquivo para ser utilizado

Conceitos de usuário e senhaSistema multi-usuário e proteção

• O UNIX e o Linux incorporam o conceito de usuário. Várias pessoas podem utilizar o computador, e cada uma deve ter acesso restrito aos recursos

• Cada usuário tem um ID no sistema, associado a um username

• Para acessar a máquina, o usuário possui uma senha. Proteção individual, e do sistema todo

Computadores em redeHostname, conexão remota, etc

• Com a popularidade da Internet, quase todos os computadores estão em rede

• Pode-se acessar um outro computador, através de programas apropriados

• Cada máquina em uma rede contém um nome. Normalmente, um nome único associado àquela rede, e o hostname, compõe-se por nome e domínio da rede

Administração de redeA administração para o usuário

• Usuário deve sempre utilizar os admins para solução de problemas e dúvidas

• Protocolo: – Sempre procurar sanar a dúvida em FAQ (em uma

página HTML) e manuais (man pages)– Para perguntar algo para Admin, procurar

descrever bem o problema, localizando, dando exemplos, enviando uma mensagem

– Caso não haja sucesso, procurar pessoalmente

Sobrevivência no LinuxAlgumas dicas para começar

• Após acessar (digitando o username e a senha), trocar a senha por uma pessoal– Comando: passwd– Nunca utilizar senhas fracas (nomes, números)

• Comandos básicos, veremos a seguir...• Palavra essencial: MANUAIS

• man <comando>• man -k <palavra> ou apropos <palavra>

• Teclas importantes: Ctrl-C, Ctrl-Q, Ctrl-D

Comandos e Programas Úteis

• Antes de Comecar:– Linux é Case Sensitive– A tecla Tab é muito util!– O Atalho “Ctrl + C” não copia e nem o “Ctrl +

v” cola! – Sua pasta principal é a /home/<login>– Putty – http://www.superdowloads.com.br

Modo Texto

• Grande utilidade para o usuário, principalmente para o administrador linux.

• Oferece vários utilitários e comandos, que estão disponíveis para uso por meio de um interpretador de comandos.

• Capaz de oferecer ao usuário vários programas que podem ser usados com o Maximo de desempenho pelo sistema operacional.

• Grande aprendizagem com o seu uso.

Modo Gráfico

• O linux transforma em um sistema de uso pessoal e domestico, estendendo a grande finalidade de uso em rede como servidores.

• Melhor visualização de seus utilitários.• Responsável por permitir o uso da interface gráfica do linux e

o servidor X Window, que oferece o serviço para gerenciar a interface gráfica.

• O ambiente desktop e oferecido pelos gerenciadores de janela que utilizam as bibliotecas do X para gerar o ambiente em modo gráfico.

• Vários gerenciadores: KDE, Gnome, Windowmaker, XFCE, IceWM, etc…

Kernel

• Descendente do Unix e do minix• Evolui com vários programadores ao redor do mundo

sob a gerencia de Linux Torvalds.• O kernel e o coração do sistema operacional.• Multiusuario, Multitarefa, Multiprocessado.• Suporta memória virtual (swap).• Gerenciamento otimizado de memória.

Estrutura unix

Estrutura Unix

Estrutura Unix

Estrutura de Diretórios

• Diretório Descrição• /bin Arquivos binários de comandos essenciais do sistema.• /boot Arquivos de boot (inicialização; boot-loader; Grub); kernel do Linux.• /dev Dispositivos (devices) de entrada/saída: floppy, hardisk, cdrom, modem .• /etc Arquivos de configuração (scripts) e inicialização.• /home Diretório local (home) de usuários.• /lib Bibliotecas e módulos(drives): compartilhadas com freqüência.• /mnt Diretório de montagem de dispositivos, sistemas de arquivos e partição.• /opt Para instalação de programas não oficiais da distribuição.• /procDiretório virtual (RAM) onde rodam os processos ativos.• /root Diretório local do superusuário (root).• /sbin Arquivos de sistema essenciais (binários do superusuário).• /tmp Arquivos temporários gerados por alguns utilitários.• /usr Arquivos de usuários nativos da distribuição.• /usr/local Para instalação de programas não oficiais da distribuição.• /usr/src Arquivos fontes do sistema necessários para compilar o kernel.• /var Arquivos de log e outros arquivos variáveis.

• /srv Arquvos de serviços Ftp e http

Estrutura de Diretórios

Estrutura de Diretorios

• Nessa estrutura, o "diretório principal" ou raiz, denotado por "/", contém outros diretórios, alguns com funções pré-estabelecidas:

• /bin - contém arquivos com programas executáveis (comandos) • /dev - arquivos especiais associados a despositivos (devices) • /etc - arquivos de administração e configuração • /home - contém os diretórios de usuários • /lib - bibliotecas padrão • /sbin - comandos gerais de administração do sistema • /tmp - arquivos temporários

Processos

• Num sistema multiprogramado, o conceito de processo é fundamental. O UNIX oferece um conjunto de system calls orientado à criação e comunicação entre processos pelos programas de aplicação.

• Um processo corresponde à ativação de um programa. Esse "programa" pode ser um programa de aplicação desenvolvido pelo próprio usuário ou um dos utilitários do próprio UNIX.

• Através das system calls um programa de usuário pode criar vários processos que executam "simultaneamente", podendo se comunicar durante a sua execução. Esse tipo de facilidade representa um recurso arquitetural poderoso na construção de aplicações (a implementação do protocolo TCP/IP, por exemplo, utiliza esses recursos).

Processos

Comandos Básicos

• Formato basico das instrucoes de comando:

Comandos Básicos

g

• Entrada Padrão e Saída Padrão • A shell durante a sua execução utiliza dois dispositivos para a comunicação com o usuário: • Entrada Padrão - dispositivo a partir do qual a shell obtem os comandos a serem executados. • Saída Padrão - dispositivo no qual a shell escreve os resultados dos comandos. • Normalmente a entrada padrão é associada ao teclado e a saída padrão é associada à uma

área na tela onde a shell escreve os resultados da execução dos comandos. Essa associação é estabelecida na ativação da shell. Devido à generalidade do tratamento que o UNIX dá aos dispositivos, é possível associar esses dispositivos lógicos a qualquer outro dispositivo que seja compatível com as operações de leitura e escrita de caracteres. Tanto a entrada padrão como a saída padrão podem ser associadas a arquivos, por exemplo.

• Um comando, ao ser executado sob controle da shell, irá utilizar os mesmos dispositivos de entrada e saída padrão usados pela mesma. A sintaxe da shell no entanto permite que esses dispositivos sejam redirecionados.

Comandos básicos

• Filtros • Um filtro é um programa que lê seus dados pela entrada

padrão e escreve seus resultados pela saída padrão. A shell do UNIX permite que programas do tipo filtro sejam encadeados através de pipes, discutidos adiante.

Exemplo • O comando sort ordena uma seqüência de linhas de texto

lidas da entrada padrão e escreve os dados ordenados na saída padrão:

• sort

Redirecionamento de Entrada e Saída • Um programa (ou comando) pode ter a sua entrada padrão redirecionada para um

arquivo. Isso é feito através do caractere "<" seguida do nome do arquivo. De forma análoga, a saída padrão também pode ser redirecionada através do uso do caractere ">" seguido do nome do arquivo.

Exemplos • Se quisemos ordenar um arquivo texto chamado "lista", contendo uma lista de

nomes, podemos redirecionar a entrada padrão para esse arquivo: • sort

lista Nesse caso, os nomes ordenados serão escritos na saída padrão. Se quisemos que a lista ordenada de nomes seja escrita num arquivo, chamado por exemplo "listaOrd", podemos executar

• sort < lista > listaOrd

Comandos básicos

O Diretório Corrente • Ao criar uma sessão, durante a qual o usuário utiliza a shell, esta se refere

sempre a um determinado diretório, chamado diretório corrente ou diretório atual.

Os comandos pwd e cd • O comando pwd escreve na saída padrão o diretório corrente. • O comando cd muda o diretório corrente para outro diretório.

Exemplos: • cd / muda para o diretório raiz cd /etc muda para o subdiretório "etc" do

diretório raiz cd tmp muda para o subdiretório "tmp" do diretório corrente

Comandos básicos

• Documentacao offline ou online atravez do comando man:

• man ls• man ps• man mount• man cd• man ifconfig

Comandos básicos

lsLista os arquivos de um diretório.

Sintaxe: ls [opções] [caminho/arquivo] [caminho1/arquivo1] ...arquivo - arquivo que deseja listar.diretório - diretório que deseja listar.

opções• -a, --all = Lista todos os arquivos (inclusive os ocultos) de um diretório. • -d, --directory = Lista os nomes dos diretórios ao invés do conteúdo. • -l = Usa o formato longo para listagem de arquivos. Lista as permissões, data de modificação, donos, grupos, etc. • -s, --size = Mostra o tamanho de cada arquivo, em blocos.

Comandos básicos para manipulação de Diretórios

cdEntra em um diretório. Você precisa ter a permissão de execução para entrar no

diretório.Sintaxe: cd [diretório] - diretório que deseja entrar.

Exemplos:Usando cd sem parâmetros ou cd ~, você retornará ao seu diretório de usuário (diretório home).• cd / retornará ao diretório raíz.• cd - retornará ao diretório anteriormente acessado.• cd .. sobe um diretório.• cd ../[diretório], sobe um diretório e entra imediatamente no próximo (por exemplo, quando você está em /usr/sbin, você digita cd ../bin, o comando cd retorna um diretório (/usr) e entra imediatamente no diretório bin (/usr/bin).

Comandos básicos para manipulação de Diretórios

pwd Exibe o nome e caminho do diretório atual.Sintaxe: pwd

mkdirCria um diretório no sistema.

Sintaxe: mkdir [caminho/diretório] [caminho1/diretório1]caminho = Caminho onde o diretório será criado. diretório = Nome do diretório que será criado.

rmdirRemove um diretório do sistema, exatamente o contrario do comando

Comandos básicos para manipulação de Diretórios

catMostra o conteúdo de um arquivo binário ou texto.

Sintaxe: cat [opções] [diretório/arquivo] [diretório1/arquivo1]diretório/arquivo = Localização do arquivo que deseja visualizar o conteúdo. Opções:• -n, --number = Mostra o número das linhas enquanto o conteúdo do arquivo é mostrado. • -s, --squeeze-blank = Não mostra mais que uma linha em branco entre um parágrafo e outro. Obs.: O comando cat trabalha com arquivos texto. Use o comando zcat para ver diretamente arquivos compactados com gzip.

Comandos básicos para manipulação de Diretórios

rmApaga arquivos, diretórios e sub-diretórios.

Sintaxe: rm [opções][caminho][arquivo/diretório] [caminho1][arquivo1/diretório1]caminho = Localização do arquivo que deseja apagar.Se omitido, assume que o arquivo esteja no diretório atual.arquivo/diretório = Arquivo/Diretório que será apagado. Opções• -i, --interactive = Pergunta antes de remover, esta é ativada por padrão. • -v, --verbose = Mostra os arquivos na medida que são removidos. • -r, --recursive = Usado para remover arquivos em sub-diretórios.Esta opção também pode ser usada para remover sub-diretórios.• -f, --force = Remove os arquivos sem perguntar.

Use com atenção o comando rm.

Comandos básicos para manipulação de Diretórios

CpCopia arquivos e/ou diretórios.

Sintaxe: cp [opções] [origem] [destino]origem = Arquivo que será copiado. Podem ser especificados mais de um arquivo para ser copiado usando "Curingas“ (veja Curingas, Seção 2.12). destino = O caminho ou nome de arquivo onde será copiado. Se o destino for um diretório, os arquivos de origem serão copiados para dentro do diretório. Opções:• -i, --interactive = Pergunta antes de substituir um arquivo existente. • -f, --force = Não pergunta, substitui todos os arquivos caso já exista. • -r = Copia arquivos dos diretórios e subdiretórios da origem para o destino. É recomendável usar -R ao invés de -r. • -R, --recursive = Copia arquivos e sub-diretórios (como a opção -r) e também os arquivos especiais FIFO e dispositivos. • -v, --verbose = Mostra os arquivos enquanto estão sendo copiados.

O comando cp copia arquivos da ORIGEM para o DESTINO. Ambos origem e destino terão o mesmo conteúdo após a cópia.

Comandos básicos para manipulação de Diretórios

mv Move e/ou renomeia arquivos e diretórios.

Sintaxe: mv [opções] [origem] [destino]origem = Arquivo/diretório de origem. destino = Local onde será movido ou novo nome do arquivo/diretório. opções• -f, --force = Substitui o arquivo de destino sem perguntar. • -i, --interactive = Pergunta antes de substituir. É o padrão. • -v, --verbose = Mostra os arquivos que estão sendo movidos.

Comandos básicos para manipulação de Arquivos

Outros Comandos Básicosman

Visualiza a página de manual de um determinado comando ou programa.

clear Limpa a tela e posiciona o cursor no canto superior esquerdo do vídeo.

datePermite ver e modificar a data e hora do sistema.

dfExibe o espaço livre/ocupado de cada partição.

Sintaxe: df [opções]Opções:• -h, --human-readable = Mostra o espaço do disco em MB, KB, GB ao invés de blocos. • -k = Lista em Kbytes. • -m = Lista em Mbytes

Comandos básicos para manipulação de Arquivos

lnCria links para arquivos e diretórios no sistema.

Um link é um mecanismo que faz referência a outro arquivo ou diretório em outra localização. O link em sistemas GNU/Linux faz referência reais ao arquivo/diretório podendo ser manipulado como um arquivo comum.Sintaxe: ln [opções] [origem] [link]origem = Diretório ou arquivo de onde será feito o link. link = Nome do link que será criado. opções• -s = Cria um link simbólico. Usado para criar ligações com o arquivo/diretório de destino. • -v = Mostra o nome de cada arquivo antes de fazer o link.

Comandos básicos para manipulação de Arquivos

Existem 2 tipos de links:

Simbólicos:O link simbólico cria um arquivo especial no disco (do tipo link) que tem como conteúdo o caminho para chegar até o arquivo original.Para criar links simbólicos, deve ser usada a opção: -s.

O hardlink:faz referência ao mesmo inode do arquivo original, desta forma ele será perfeitamente idêntico, inclusive nas permissões de acesso, ao arquivo original.

Comandos básicos para manipulação de Arquivos

Ao contrário dos links simbólicos, não é possível fazer um hardlink para um diretório ou fazer referência a arquivos que estejam em partições diferentes.

Observações:• O comando rm em um link, somente o link será removido.• O comando cp em um link, o arquivo original será copiado ao invés do link.• O comando mv em um link, a modificação será feita no link.• Se for usado um comando de visualização (como o cat), o arquivo original será visualizado.

Comandos básicos para manipulação de Arquivos

duMostra o espaço ocupado por arquivos e sub-diretórios do diretório atual.

Sintaxe: du [opções]opções• -a, --all = Mostra o espaço ocupado por todos os arquivos. • -b, --bytes = Mostra o espaço ocupado em bytes. • -c, --total = Faz uma totalização de todo espaço listado. • -h, --human = Mostra o espaço ocupado em formato legível por humanos (Kb, Mb) ao invés de usar blocos. • -k = Mostra o espaço ocupado em Kbytes. • -m = Mostra o espaço ocupado em Mbytes.

Comandos básicos para manipulação de Arquivos

findProcura por arquivos/diretórios no disco.

O find pode procurar arquivos através de sua data de modificação, tamanho, etc através do uso de opções.Sintaxe: find [diretório] [opções/expressão]diretório = Inicia a procura neste diretório, percorrendo seu sub-diretórios. opções/expressão-name [expressão] = Procura pelo nome [expressão] nos nomes de arquivos e diretórios processados. -depth = Processa os subdiretórios antes de processar os arquivos do diretório principal. -mount, -xdev = Não faz a pesquisa em sistemas de arquivos diferentes daquele de onde o comando find foi executado. -type [tipo] = Procura por arquivos do [tipo] especificado. Alguns tipos aceitos são: b (bloco) c (caractere) d (diretório) l (link simbólico) s (socket).

Comandos básicos para manipulação de Arquivos

freeMostra detalhes sobre a utilização da memória RAM do sistema.

Sintaxe: free [opções]opções• -b = Mostra o resultado em bytes. • -k = Mostra o resultado em Kbytes. • -m = Mostra o resultado em Mbytes. • -s [num] = Mostra a utilização da memória a cada [num] segundos. • O free é uma interface ao arquivo /proc/meminfo.

Outros Comandos básicos

grepProcura por um texto dentro de um ou mais arquivo(s).

Sintaxe: grep [expressão] [arquivo] [opções]expressão = Palavra ou frase que será procurada no texto. Se tiver mais de 2 palavras você deve identifica-la com aspas "" caso contrário o grep assumirá que a segunda palavra é o arquivo! arquivo = Arquivo onde será feita a procura. opções• -A [número] = Mostra o [número] de linhas após a linha encontrada pelo grep. • -B [número] = Mostra o [número] de linhas antes da linha encontrada pelo grep. • -h, --no-filename = Não mostra os nomes dos arquivos durante a procura. • -i, --ignore-case = Ignora diferença entre maiúsculas e minúsculas no texto procurado e arquivo.

Outros Comandos básicos

morePermite fazer a paginação de arquivos ou da entrada padrão.

O comando more pode ser usado como comando para leitura de arquivos que ocupem mais de uma tela. Quando toda a tela é ocupada, o more efetua uma pausa e permite que você pressione Enter ou espaço para continuar avançando no arquivo sendo visualizado. Para sair do more pressione q.Sintaxe: more [arquivo]arquivo = O arquivo que será paginado.

Outros Comandos básicos

touchCria um arquivo em branco.

Também pode ser usado para mudar a data e hora que um arquivo foi criado. Caso o touch seja usado com arquivos que não existam, por padrão ele criará estes arquivos.touch [opções] [arquivos]arquivos = Arquivos que terão sua data/hora modificados. opções• -t MMDDhhmm[ANO.segundos] = Usa Minutos (MM), Dias (DD), Horas (hh), minutos (mm) e opcionalmente o ANO e segundos para modificação do(s) arquivos ao invés da data e hora atual. • -a, --time=atime = Faz o touch mudar somente a data e hora do acesso ao arquivo. • -c, --no-create = Não cria arquivos vazios, caso os arquivos não existam. • -m, --time=mtime = Faz o touch mudar somente a data e hora da modificação. • -r [arquivo] = Usa as horas no [arquivo] como referência ao invés da hora atual.

Outros Comandos básicos

uptimeMostra o tempo de execução do sistema desde que o

computador foi ligado.dmesg

Mostra as mensagens de inicialização do kernel. São mostradas as mensagens da última inicialização do sistema.

echoMostra o texto digitado após o comando echo.

Este comando é útil na construção de scripts para mostrar mensagens na tela para o usuário acompanhar sua execução.

Sintaxe: echo [mensagem]A opção -n pode ser usada para que não ocorra o salto de linha após a

mensagem ser mostrada.

Outros Comandos básicos

unameRetorna informações sobre o sistema.

opções• -a = exibe todas as informações (nome do kernel, hostname, versão do kernel, processador, plataforma, etc)

wcConta o número de palavras, bytes e linhas em um arquivo ou

entrada padrão.Se as opções forem omitidas, o wc mostra a quantidade de linhas, palavras, e bytes.Sintaxe: wc [opções] [arquivo]arquivo = Arquivo que será verificado pelo comando wc. opções• -c, --bytes = Mostra os bytes do arquivo. • -w, --words = Mostra a quantidade de palavras do arquivo. • -l, --lines = Mostra a quantidade de linhas do arquivo. A ordem da listagem dos parâmetros é única, e modificando a posição das opções não modifica a ordem que os parâmetros são listados.

Outros Comandos básicos

mountMonta um dispositivo.

Para montar um drive de CD no linux, executa-se:mount –t iso9660 /dev/hdd /mnt/cdrom , onde-t iso9660 é o tipo do sistema de arquivos/dev/hdd é o device slave da IDE secundária/mnt/cdrom é o destino ou ponto de montagem Para “montar” um HD secundário, que esteja fisicamente alocado como escravo na IDE-1 da placa mãe, deve-se executar o seguinte comando:mount /dev/hdb1 /mnt/hdPara “montar” um Pen-drive, localizado na primeira porta USBdeve-se executar o seguinte comando:mount /dev/sda /mnt/drive

Comandos básicos para manipulação de dispositivos

O shell é executado no sistema controlado por variáveis de ambiente. Variáveis de ambiente são espaços de memória que armazenam valores. Estas variáveis podem ser:Locais -> que são as variáveis disponíveis somente pelo shell corrente e que não está sendo acessado por subprocessos do sistema.Globais -> que estão disponíveis tanto para o shell corrente como para os subprocessos que fazem uso delas. Descreverei algumas variáveis de ambiente que acho importantes para facilitar o entendimento:

Variáveis de Ambiente

HOME – Esta variável identifica o diretório do usuário doméstico, use o comando echo $HOME para saber qual é o seu diretório HOME.

SHELL – Esta variável identifica qual shell está sendo usado, use o comando echo $SHELL para saber qual é o shell que o seu sistema está usando.

TERM – Esta variável define o tipo de terminal que está sendo usado, use o comando echo $TERM para saber qual o tipo de terminal está sendo usado pelo sistema.

USER – Pré-define o nome de conta como variável de ambiente, ou seja, ao se logar ao sistema a ID do usuário é combinada com um nome de conta, para saber qual é o usuário corrente use o comando "echo USER".

Variáveis de Ambiente

PATH – Esta é a variável de ambiente que define quais diretórios pesquisar e a ordem na qual eles são pesquisados para encontrar um determinado comando, para saber como o sistema faz esta pesquisa e quais diretórios ele procura um comando use o comando "echo $PATH".

LOGNAME – Esta variável é um sinônimo para USER. Para saber qual é o seu logname use o comando "echo $LOGNAME".

HISTFILE – Essa é a variável que controla qual é o arquivo onde serão salvos os logs, ou seja, todos os comandos digitados na shell.

OSTYPE – Essa variável define o tipo de sistema operacional em uso. Para saber qual é o sistema operacional em uso use o comando "echo $OSTYPE".

Variáveis de Ambiente

Para visualizar as variáveis de ambiente locais (setadas para o usuário que está logado), utilizamos o comando set. Para visualizar as variáveis de ambiente globais (setadas para todos), utilizamos o comando env ou printenv.Atribuindo um valor a uma variável local veja o exemplo:

$ LINUX=free$ echo $LINUX

free

Variáveis de Ambiente

O comando echo exibe o valor de uma variável de ambiente. Agora vamos verificar se a variável aparece na relação de variáveis locais, veja o exemplo:

$ set | grep LINUXLINUX=free

Transformando uma variável local em global com o comando export.# export LINUX

# env | grep LINUXLINUX=free

Apagando uma variável de ambiente com o comando unset e para verificarmos se a variável foi excluída usaremos o comando echo, veja o exemplo:

# unset LINUX# echo $LINUX

Variáveis de Ambiente

Exemplo de um “shell script”#!/bin/bash## script shell para ler e escrever um nome na tela.#echo "digite seu nome: "read NOMEsleep 1echo " "echo "seu nome é: $NOME"# fim do scriptObservações: Variáveis globais podem ser criadas no arquivo /etc/profile: Variáveis que são executadas somente no ambiente do usuário podem ser criadas no arquivo ~/.bash_profile. Essas variáveis são executadas automaticamente no login.

Variáveis de Ambiente