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