quarta-feira, 21 de outubro de 2015

Shell, Variáveis Ambientais,

O Shell

É uma parte do sistema operacional, responsável por interagir com o usuário.

O shell é um interpretador de comandos que analisa o texto digitado na linha de comandos, e os executa, produzindo algum resultado.

Ira analisar e interpretar aquilo que foi pedido e trazer o resultado para o usuário. 

Hierarquia Linux

 

Hardware > Kernel (Coração do Sistema Operacional) > Bibliotecas > Shell (Interpreta os comandos do usuário) > Usuário ou programas executando alguma função.

 

Toda vez que o usuário digita algum comando, como o " ls ", o prompt do shell interpretou o comando, consulta as bibliotecas, para verificar se reconhece o comando, depois vai até o Kernel, para solicitar a informação de disco. O Kernel foi até o Hardware. Esse resultado é jogado num endereço de memória e será mostrado ao usuário o resultado desse comando.

 

$ - é o prompt do shell (algumas variações são permitidas, como hostname, nome de usuário, etc.)

Mostra que é um usuário comum que está utilizando a máquina.

 

# - super usuário que está utilizando o sistema

 Super usuário é um administrador de sistemas Linux. Ele pode fazer tudo no sistema. Muitas vezes conhecido como "root"

 

Existem várias shells, com suas funções e configurações especificas.

1o - C-shell

 

Mais utilizado hoje é o BASH (Born again shell)

 

além de interpretar comandos, fornece um poderoso ambiente de programação, capaz de automatizar praticamente tudo em um sistema Linux.

 

--- Variáveis ambientais

Variáveis especiais que contem alguma informação importante para o Shell.

Podem ser criadas ou destruídas pelo usuário a qualquer momento.

 

1a variável - PS1 - prompt string 1 - é o $

2a variável - PS2 - quando um comando em uma linha só, é o sinal que vai aparecer para o usuário indicando que está utilizando mais de uma linha para digitar o comando. 

 

Fornecem algumas informações uteis ao prompt.  

 

[fe@localhost testes]$ echo $PS1
[\u@\h \W]\$

 

\u@ - nome de usuário

\h - nome da maquina

\W - nome da pasta corrente

 

\ - o caractere barra significa que qualquer outro caractere que o sucede deve ser interpretado exatamente como ele é e não processado pelo shell. São metacaracteres.

 

Linux é case-sensitive, ou seja, diferencia letras maiúsculas e minúsculas.

 

--- Variável PATH

O path guarda uma lista dos diretórios que contém os programas que pode ser acessado, como um atalho. 

 

[fe@localhost testes]$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/fe/bin
 

O usuário pode alterar o conteudo de qualquer variável ambiental a hora que ele quiser

 

--- Diretório HOME

 

O shell tem como referência o subdiretório aonde o usuário pode fazer o que quiser. Seu home.

 

--- Ordem de execução

1o - o comando digitado é um comando interno do interpretador de comandos?

2o - O programa está localizado em algum diretório localizado na variável path

3o - a localização do comando foi explicitamente declarada?

 

--- SET

 

Lista completa de variáveis - comando set

 [fe@localhost testes]$ set

COLORS=/etc./DIR_COLORS
COLORTERM=gnome-terminal
COLUMNS=143
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-WipUsZBcLm,guid=eb0a595373169a1714686a2600000068
DESKTOP_SESSION=gnome
DIRSTACK=()
DISPLAY=:0.0
EUID=500
GDMSESSION=gnome
GDM_KEYBOARD_LAYOUT=br
 

--- criando variáveis ambiental local

 

[fe@localhost testes]$ Linux="sistema operacional"
[fe@localhost testes]$ export Linux

 

Quando uso o comando export, a variável vai para as variáveis globais, para que todos programas possam ter acesso a variável. 

 

--- Palavras reservadas

Case, do, done, elif, else, esac, fi, for, function, if, in, select, then, until, while, time

 

Podem ser enviados, junto com o comando, o caractere “- “ou “— “para enviar algum argumento.

 

[fe@localhost testes]$ ls -lta

total 20

-rw-rw-r--.  1 fe fe   12 Oct 21 05:30 teste.txt

-rw-rw-r--.  1 fe fe    4 Oct 21 05:29 texto.txt

-rw-rw-r--.  1 fe fe    4 Oct 21 05:28 texto1.txt

drwxrwxr-x.  2 fe fe 4096 Oct 21 05:28 .

drwx------. 27 fe fe 4096 Oct 21 05:27 ..


-a – mostra arquivos ocultos

-t – mostra arquvos pela última data de modificação

 

-a e –all produzem o mesmo efeito

 

[fe@localhost testes]$ ls --all

.  ..  teste.txt  texto1.txt  texto.txt

fe@localhost testes]$ ls -lt --all

total 20

-rw-rw-r--.  1 fe fe   12 Oct 21 05:30 teste.txt

-rw-rw-r--.  1 fe fe    4 Oct 21 05:29 texto.txt

-rw-rw-r--.  1 fe fe    4 Oct 21 05:28 texto1.txt

drwxrwxr-x.  2 fe fe 4096 Oct 21 05:28 .

drwx------. 27 fe fe 4096 Oct 21 05:27 ..

 

**** Não pode “ ls –lsallt “

 

Alguns comandos podem aceitar argumentos:

[fe@localhost testes]$ ls -l *.txt

-rw-rw-r--. 1 fe fe 12 Oct 21 05:30 teste.txt

-rw-rw-r--. 1 fe fe  4 Oct 21 05:28 texto1.txt

-rw-rw-r--. 1 fe fe  4 Oct 21 05:29 texto.txt

Nenhum comentário:

Postar um comentário