SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
CSOR
Configuração de Sistemas Operacionais de Rede
Aula Nº 9
Unidade III: Servidor Linux;
Introdução ao Shell
Apresentação
A maneira mais comum de se utilizar
utilizar/administrar uma máquina Linux é através de
um terminal executando um shell. Um shell, em uma
definição simples, é um programa que interpreta
comandos digitados pelo usuário, e os executa de
maneira apropriada
Os comandos são interpretados pelo shell e enviados
para sua execução. Com isso um shell pode também
ser utilizado para programação simples. A
combinação de um bom shell com pequenos
programas utilitários permite automatizar tarefas,
interagir com o usuário e fazer uso da flexibilidade e
poder oferecido pela interface de linha de comando
Apresentação
Existem três tipos de execução de um shell: shell de login, shell
interativo e shell não interativo.
Shell de login: quando o shell é iniciado como um shell de login, ele
primeiro lê e executa os comandos que estão no arquivo /etc/profile (se
esse arquivo existir). Após isso, o shell procura por seus arquivos de
configuração (~/bash_profile, ~/bash_login e ~/.profile, por exemplo). O
shell de login executará os comandos presentes no primeiro arquivo de
comandos presentes em um arquivo de encerramento de Sessão
(~/.bash_logout, por exemplo), enquanto um shell interativo regular não
executa esses comandos.
Shell interativo: um shell interativo é aquele no qual você digita os
comandos e aguarda enquanto o comando executa, interagindo com o
sistema. Quando um shell interativo é iniciado, ele lê e executa os
comandos presentes no arquivo de configuração do usuário (se esse
arquivo existir; por exemplo, o ~/.bashrc). Normalmente, um shell de login
também é um shell interativo.
Shell não-interativo: um shell não interativo é um shell utilizado para
executar um script, por exemplo, onde o usuário não faz interação com a
linha de comando.
Apresentação
Existem vários tipos de shells disponíveis para o Linux; os
principais são:
sh ou Bourne Shell: este é o shell original, limitado em recursos e
pequeno em tamanho. Implementações modernas utilizadas no Linux são
o ash e dash (que almeja conformidade com o shell padrão POSIX, IEEE
1003.2).
csh ou C shell: shell cujos comandos obedecem a uma sintaxe inspirada
na linguagem C (mas não particularmente similar). Alguns sistemas
utilizam uma versão com melhorias chamada tcsh, ou TENEX C shell.
ksh ou Korn shell: é um shell compatível com o Bourne Shell e que
adiciona muitos recursos adicionais. Implementações comumente
utilizadas no Linux incluem o pdksh e o mksh.
bash ou Bourne-Again shell: é o shell padrão GNU, bastante intuitivo e
flexível. Usado tanto por usuários iniciantes como programadores. Ele é
compatível com o Bourne shell e com várias características do Korn shell.
O que é executado com o sh pode ser executado no bash, mas nem
sempre a recíproca é verdadeira.
O shel mais comumente utilizado em ambientes Linus é o bash.
Informações Iniciais
O Bash: O bash tem, basicamente, três propósitos:
Utilização interativa: no uso interativo, o shell fornece uma linha de comando
para o usuário e espera seus comandos serem digitados para processá-los e
repassá-los para serem executados pelo sistema.
Personalização de uma sessão: o shell pode definir variáveis que alteram o
comportamento do sistema. Essas variáveis podem ser definidas pelo usuário
em arquivos que são lidos no início ou no termino de uma sessão.
Programação: shells permitem a programação através de scripts, compostos
pela combinação de comandos do shell com comandos do sistema.
O Prompt:
Ao se logar em um sistema Linux via terminal (sem utilizar um gerenciador de
login gráfico), será apresentado para o usuário uma linha de comando, como
abaixo:
[aluno@lab01 aluno/Vídeos] $
A primeira parte (antes do caractere @) indica o nome de usuário que está
acessando este shell no momento, Logo após o “@” é mostrado o nome da
máquina (local ou remota), e por último, é mostrado o diretório onde o usuário
se encontra no momento. Para usuário root, a única diferença é no final, Onde
é mostrado um “#”
Informações Iniciais
Caminhos:
Caminhos ou paths descrevem a localização de um arquivo dentro da
estrutura em árvore do sistema de arquivos. Arquivos podem ser
localizados/visualizados de duas formas: através de seu caminho relativo ou
de seu caminho absoluto O caminho absoluto é o caminho completo desde o
diretório raiz e o caminho relativo é o caminho a partir do diretório onde o
usuário se encontra atualmente.
Exemplo: se o usuário desejar voltar um diretório ele poderia usar o caminho
absoluto (desde o diretório / até o diretório desejado), ou digitando “..”, que
seria o equivalente a voltar um diretório, relativo ao atual.
Terminais:
Um terminal é um dispositivo de acesso ao sistema através de uma interface
de caractere (tipicamente o shell). Terminais podem ser utilizados diretamente
no consolo, através do uso de terminais virtuais, ou através de um emulador
de terminal disponível dentro de um ambiente gráfico. É possível alternar entre
os terminais virtuais utilizando as teclas Alt+Fn, onde n pode variar de 1 até 6
na configuração padrão.
Diferentes emuladores de terminal estão disponíveis para os diversos
ambientes gráficos utilizados no Linux, como xterm, gnome-terminal e konsole.
Comandos
Comandos podem ser utilizados para fazer com que o Linux
execute determinadas tarefas. Existem tanto comandos
internos ao shell como comandos que são programas ( que
geralmente etão em /usr/bin ou /bin). Uma grande porção dos
comandos básicos utilizados em um shell são programas
provenientes do projeto GNU. Sendo assim, eles compartilham
algumas características comuns, como opções e sintaxe, tendo
o seguinte formato:
comando [opções] <parâmetro>
Sendo que <parâmetro> consistem em informações para a
execução do comando (como nomes de arquivos) e [opções],
em geral, têm dois formatos: longo e curto. O formato longo é
composto de uma palavra precedida por dois traços, enquanto
que o curto é uma letra seguida de um traço apenas. Várias
opções curtas podem ser combinadas. Tanto as opções como
os parâmetros podem ser opcionais dependendo do comando.
Comandos
Embora o padrão GNU seja amplamente utilizado, alguns
programas têm sua própria sintaxe, sendo que em geral esta
não foge muito da ideia de opções curtas e longas,
precedidas de hífens. De qualquer modo, quando em dúvida,
basta consultar a documentação do programa
Exemplos (genéricos) de opções de linha de comando padrão GNU
--help Exibe uma tela de ajuda, com um resumo das opções disponíveis
--version Exibe a versão do programa e informações de copyright
--opção=algo Liga a opção “opção”, passando a esta o parêmetro “algo”
-2 Liga a opção “2”
-v Liga a opção “v”
-b teste Liga a opção “b”, passando a esta o parâmetro “teste”
-a2v Liga as opções “a”, “2” e “v” simultaneamente
Comandos de Ajuda
Consultar a documentação disponível no sistema pode ser muito
útil para solucionar dúvidas do funcionamento de um comando ou
descobrir opções que possam facilitar o trabalho do usuário.
man
Consulta a página de manual (man page) de um determinado
comando. A página de manual fornece uma ajuda rápida sobre o
programa e de suas opções. Pode ser especificada a seção (1-9),
de acordo com o tema da página de manual, sendo que um tópico
pode estar contido em mais de uma seção.
Seções das Páginas de Manual
1. Comando do usuário 2. Chamadas ao sistema
3. Bibliotecas de funções 4. Dispositivos
5. Formatos de arquivos 6. Jogos
7. Informações gerais 8. Administração do sistema
9. Programação em geral
Comandos de Ajuda
Principais opções do man:
Exemplos:
$ man 1 man
Apresentará uma tela com informações sobre o comando
man e suas descrições
$ man -K driver
Procura pelo termo driver em todas as páginas de manual do
sistema
man [opções] comando
-k Procura determinada string na descrição das páginas de manual
disponíveis. Equivalente ao comando apropos
-K Procura determinada string no conteúdo das páginas de manual
disponíveis
Comandos da Ajuda
info
Exibe páginas de informações sobre comandos. As páginas
info têm a caracteristicas de estarem formatadas em hipertexto,
facilitando a pesquisa. Para certos comandos, a página info
mostrará as mesmas informações da página de manual.
Sintaxe:
info [comando]
Exemplos:
$ info
Mostra todas as páginas info existentes no sistema
$ info ls
Mostra a página info do comando ls
Comandos de Ajuda
whatis
O Whatis procura por palavras chaves em uma base de dados
que contém o nome e uma breve explicação de diversos
comandos. Quando o whatis encontra a palavra procurada, ele
exibe na saída padrão a descrição e o número da sessão da
página de manual do comando. É equivalente a opção -f do
man.
$ whatis socket
socket (2) - create an endpoint for communication
socket (7) - Linux socket interface
$ whatis printf
printf (3) - formatted output conversion
Comandos de Ajuda
apropos
O apropos funciona de maneira semelhante ao whatis, porém realiza a
busca pela palavra também nas descrições dos comandos. É bastante
útil para situações onde o usuário não recorda o nome de um comando,
pois pode pesquisar por palavras chaves relacionadas ao comando. É
equivalente a opção -k do man.
Se o usuário deseja criar um diretório, mas não se lembra qual o
comando para isso, pode buscar por directory (diretório), por exemplo, e
então será listado, entre outras opções, o comando mkdir:
$ apropos directory
chdir (2) - change working directory
chroot (2) - change root directory
mkdir (2) - create a directory
dirfd (3) - get directory stream file descriptor
[...]
Comandos de Gerenciamento do Shell/ Terminal
Um usuário avançado de Linux deve sentir-se confortável utilizando o
terminal. Entre os comandos básicos para seu uso estão a impressão de
mensagens, limpeza, reinício e encerramento de sessão, listado a seguir.
echo
utilizado para mostrar (ecoar) um determinado texto na tela de terminal.
As principais opções são:
echo [opções] expressão
-n expressão Não insere uma nova linha após a saída do comando
-e Habilita a barra invertida como caractere de escape, para saída de
caracteres na expressão. Alguns caracteres que podem ser usados
com esta opção são:
c: suprime a nova linha
n: nova linha
r: retorno de linha
t: tabulação horizontal
v: tabulação vertical
b: mesmo efeito da tecla backspace
Comandos de Gerenciamento do Shell/ Terminal
Exemplos:
$ echo “Isto é um teste”
Isto é um teste
Mostra a expressão entre aspas. Neste caso, as aspas são
opcionais
$ echo -n “isto é um teste”
Isto é um teste$
Exibe a expressão entre aspas, tirando o espaço extra
(basta notar o sinal do prompt ao lado do final da expressão)
$echo -e “Isto é ubmb teste”
Isto é um teste
A opção é permite o uso da notação com barra, o b. O b
apaga o caractere anterior, ou seja, tudo que estiver antes
do b será suprimido
Comandos de Gerenciamento do Shell/ Terminal
Clear
Limpa a tela do terminal, apagando o conteúdo e movendo o
prompt para o início do terminal. Sintaxe:
clear
reset
Restaura o estado original do terminal, corrigindo problemas
com fontes e posicionamento do cursor.
Principais opções:
reset [opções]
-q O tipo de terminal é mostrado na saída padrão
-s Imprime na tela a sequência de comandos shell para reiniciar o
ambiente do terminal
Comandos de Gerenciamento do Shell/ Terminal
Exemplo:
$ reset -s
Erase is delete.
Kill is control-U (^U).
Interrupt is control-C (^C).
Reinicia o terminal, mostrando informações sobre os atalhos
para comandos que inicializam o ambiente, na saída padrão.
exit
sai do shell/console atual. Sintaxe:
exit
O comando exit também pode ser executado através da
combinação de teclas Ctrl+d
Comandos para Navegação no Sistema de Arquivo
Os comandos a seguir possibilitam que o usuário possa
acessar diretórios e, com isso, navegar no sistema de arquivos
do sistema
___________________________________________________
pwd
Exibe o diretório onde o usuário atual está.
Exemplo:
$ pwd
/home/aluno
indica que o diretório /home/aluno é o diretório onde o
usuário se encontra atualmente
Comandos para Navegação no Sistema de Arquivo
cd
Acessa um diretório, ou seja, muda do diretório atual para o diretório
especificado (change directory). O comando não possui uma página de
manual individual; sua descrição está incluida na página de manual do bash.
Sintaxe:
cd [diretório de destino]
Exemplos:
$ cd /usr/bin
Leva o usuário para o diretório /usr/bin
$ cd ../
Faz o usuário retornar um diretório na estrutura de diretórios
$ cd -
O Usuário retornará ao último diretório acessado
$ cd
Faz com que o usuário seja direcionado para o seu diretório home
Comandos para Navegação no Sistema de Arquivo
tree
Exibe a estrutura de diretórios a partirdo diretório atual caso não
seja fornecido nenhum parâmetro), ou do diretório passado na
linha de diretório passado na linha de comando.
Opção principal:
Exemplos:
$ tree -d /etc
Lista a estrutura de diretórios a partir de /etc, mostrando
apenas diretórios
$ tree /var/log
Lista roda a estrutura de diretórios a partir de /var/log
tree [opções] [ diretório]
-d Lista apenas diretórios, não incluindo arquivos
Comandos para Navegação no Sistema de Arquivo
file
Retorna o tipo do arquivo, após a execução dos teste apropriados. As principais
opções são:
Exemplos:
$ file favoritos.html
favoritos.html: HTML documento text
Fornece o nome do arquivo e o tipo do arquivo favoritos.html
$ file -d script.py
python script text executable
Fornece apenas o tipo do arquivo script.py
file [opções] arquivo
-b Não inclui o nome dos arquivos nas linhas de saída
-s O arquivo arq_desc deve conter uma lista de arquivos (um em cada
linha). Assim, o comando etá tentar descobrir e mostrar o tipo de cada
um dos arquivos contidos em arq_desc. Note que se o caminho
absoluto não for fornecido para cada arquivo, o comando deve ser
executado no local onde os arquivos se encontram.
Comandos para Navegação no Sistema de Arquivo
ls
Lista o conteúdo do diretório atual, ou do diretório/arquivo que
for indicado na linha de comando. Bastante flexível, aceita
inúmeros parâmetros e opções.
Principais opções:
file [opções] arquivo
-l Listagem no formato longo, com detalhes dos arquivos
-a Lista todos os arquivos, incluindo arquivos ocultos (aqueles que têm
seu nome iniciado por “.”).
--color Listagem colorida. Opção padrão na maioria das distribuições.
-F Coloca no final dos nomes de arquivos um símbolo indicando o seu tipo
(a barra no final da listagem indica que é um diretório).
-r Inverte a ordem de classificação.
-R Faz uma listagem em modo recursivo.
-1 Exibe a listagem em uma coluna única.
Comandos de Manipulação de Arquivos, Diretórios e
Links
mkdir
Cria um diretório. O caractere separador de diretórios “/” não pode ser usado
no nome de um diretório.
Opção principal:
Exemplos:
$ mkdir teste_novo
Cria o diretório onde o usuário local se encontra
$ mkdir ../teste
Cria o diretório acima do diretório atual (diretório pai)
$ mkdir -p /tmp/teste/outro/local da estrutura
Cria, dentro do diretório /tmp, toda a estrutura de subdiritórios listada.
Note que a barra invertida deve ser utilizada para que o caractere
especial de espaço possa ser incluído
mkdir [opções] diretório
-p Cria o diretório e a estrutura de subdiretórios passada
Comandos de Manipulação de Arquivos, Diretórios e
Links
rmdir
Remove um diretório. O diretório deve estar vazio para ser removido.
Opção principal:
Exemplos:
$ rmdir teste
Apaga o diretório teste, no local onde o usuário se encontra
$ mkdir ../teste2
Remove o diretório localizado no diretório pai
$ rmdir -p /tmp/teste/outro/local da estrutura
Remove a estrutura de diretórios indicada (não apaga o
diretório pai – no caso, /tmp)
mkdir [opções] diretório
-p Remove a estrutura de subdiretórios passada, caso esteja vazia.
Comandos de Manipulação de Arquivos, Diretórios e
Links
cat
Envia o conteúdo de um ou mais arquivos para a saída padrão.
Serve também para associar arquivos, mas é mais utilizado
para listar o conteúdo de um arquivo. Caso nenhum nome de
arquivo ou argumento seja fornecido, o cat permite que o
usuário entre com os dados na entrada padrão (pelo teclado), e
liste o conteúdo.
Principais opções:
cat [opções] arquivo
-b Numera todas as linhas, menos as linhas em branco.
-E Mostra um caractere $ ao final de cada linha.
-n Numera todas as linhas mostradas.
-T Mostra, em vez de caracteres de tabulação (tab), um sinal ^I..
Comandos de Manipulação de Arquivos, Diretórios e
Links
Exemplos:
$ cat /etc/passwd
Joga na saída padrão (terminal) o conteúdo do arquivo
/etc/passwd.
$ cat -b /etc/inputrc
Exibe o conteúdo do arquivo /etc/inputrc, numerando as
linhas que são diferentes de linhas em branco.
$ cat exemplo1.txt exemplo2.txt
Associa os dois arquivos na ordem indicada, e
mostra=os na saída padrão
O comando tac possui a mesma função do cat, só que a
listagem dos arquivos é na ordem inversa
Comandos de Manipulação de Arquivos, Diretórios e
Links
more
Mostra o arquivo na saída padrão. Se o tamanho do arquivo
dor maior do que o número de linhas da tela, faz uma pausa e
aguarda o pressionamento de uma tecla (Enter, Espaço ou
q/Esc) para continuar a exibição.
Principais opções:
more [opções] arquivo
-d Mostra informações para o usuário de como prosseguir.
+num Inicia a exibição na linha indicada no “num”.
-p Limpa a tela e depois exibe o conteúdo do arquivo, ao invés de paginar
o conteúdo do arquivo.
-s Junta várias linhas em branco seguidas de trechos do arquivo e mostra
apenas uma linha.
Comandos de Manipulação de Arquivos, Diretórios e
Links
less
O less é muito parecido com o comando more, mas permite a
navegação dentro do arquivo utilizando as setas do teclado (e
outras teclas).
Comparação entre more e less
Ação more less
Avança uma linha enter Enter, e, j, cursos para baixo
Volta uma linha - Y, k, cursos para cima
Avança uma tela Espaço, z, f Espaço, z, f
Volta uma tela b b
Arquivo anterior :p :p
Arquivo seguinte :n :n
Pesquisa / /
Sair q q
Comandos de Manipulação de Arquivos, Diretórios e
Links
cp
Copia um ou mais arquivos para o local especificado. Algumas
observações importantes devem ser feitas a respeito de cópias
de arquivos:
Copiar um arquivo para outro diretório onde já existe outro
arquivo com o mesmo nome: o arquivo será sobrescrito.
Copiar um arquivo para outro diretório que, por sua vez,
possui um diretório com mesmo nome do arquivo a ser
copiado: não é permitido.
Copiar um arquivo, especificando como arquivo_destino
outro nome: o arquivo será renomeado durante a cópia.
Comandos de Manipulação de Arquivos, Diretórios e
Links
Principais opções
$ cp doc.txt documento.txt
Cópia do arquivo doc.txt como nome de documento.txt
$ cp doc.txt /tmp
Cópia do arquivo doc.txt para /tmp mantendo o nome original
cp [opções] arquivo1 [arquivo2 diretório …] diretório
-a Preserva o máximo possível a estrutura e atributos dos arquivos
originais na cópia (mas não preserva a estrutura de diretório).
-b Faz backup de arquivos que serão sobrescritos
-f Força a cópia, sobrescrevendo arquivos no destino sem confirmação
-d Copia ligações simbólicas com ligações simbólicas no lugar de copiar os
arquivos para as quais apontam
-i Modo interativo, solicita confirmação antes de sobrescrever aquivos
-p Preserva o proprietário, grupo, permissões, tempo da última modificação
e o tempo do último acesso originais
-R Copia diretórios recursivamente, ou seja, toda a árvore abaixo do
diretório de origem. O destino sempre será um diretório.
Comandos de Manipulação de Arquivos, Diretórios e
Links
mv
Move ou renomeia arquivos e diretórios dentro de um sistema
Linux.
Principais opções:
Exemplos:
$ mv /tmp/teste.txt /home/aluno/teste2.txt
Move e renomeia o arquivo
$ mv -f minha-lista.txt sua-lista.txt
Renomeia o arquivo
mv [opções] arquivo1 [arquivo2 diretório …] destino
-f Sobrescreve arquivos no destino
-i Solicita confirmação antes de sobrescrever um arquivo
Comandos de Manipulação de Arquivos, Diretórios e
Links
rm
Apaga um arquivo ou diretório (remove). É possível remover vários arquivos
simultaneamente, bastando para tal colocar o nome dos arquivos a remover,
logo depois do comando.
Principais opções:
$ rm documento.txt doc.txt documento2.txt
Remove, do diretório atual os arquivos informados
$ rm -ri /tmp
Remove o diretório /tmp e todo os arquivos e pastas dentro, porem
perguntando se deseja excluir arquivo por arquivo.
more [opções] arquivo
-f Não solicita confirmação.
i+num Modo interativo: solicita confirmação para cada remoção.
-r ou -R Modo recursivo, apaga toda uma árvore de diretórios. Cuidado ao usar
este parâmetro, principalmente em conjunto com o -f.
Comandos de Manipulação de Arquivos, Diretórios e
Links
ln
Cria um link para outro arquivo. Por padrão, é um link direto (hard
link). É importante relembrar que não é possível criar hard links
para diretórios, e também é impossível criar links diretos entre
sistemas de arquivos.
Principais opções:
Exemplos:
$ ln -s ~/arquivo.txt /tmp/arquivoX
Cria o link simbólico arquivoX em /tmp, apontando para o
arquivo ~/arquivo.txt
ln [opções] origem [destino]
-f Força a criação do link, sobrescrevendo o outro arquivo (se for
possível)
-s Cria um link simbólico
Dicas
O usuário pode, caso deseje, acessar o sistema como um novo
usuário, utilizando um novo terminal. Ao acessar cada terminal
virtual, será preciso digitar o login e a senha novamente, pois o
terminal funcionará como um novo acesso.
No ambiente gráfico, ao pressionar as teclas Alt+Fn, o usuário
não será levado ao terminal virtual – isso ocorre porque nesse
ambiente a sequência de teclas pode ter outra função. Para
acessar o console virtual, utiliza Ctrl+Alt+Fn, onde “n” pode
variar de 1 até 6.
Cuidado ao usar certas opções de comandos e certifique-se do
que vai fazer antes de proceder. Um exemplo: os parâmetros
-Rf junto com o comando rm podem causar danos que podem
ser irreparáveis a um arquivo de sistema, tornando-o
inutilizável.

Mais conteúdo relacionado

Mais procurados

Arquivos de Inicialização do Linux
Arquivos de Inicialização do LinuxArquivos de Inicialização do Linux
Arquivos de Inicialização do LinuxIvani Nascimento
 
Aula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivosAula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivoscamila_seixas
 
Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Faculdade Mater Christi
 
Sistemas operacionais de redes particionamento de discos ii
Sistemas operacionais de redes   particionamento de discos iiSistemas operacionais de redes   particionamento de discos ii
Sistemas operacionais de redes particionamento de discos iiCarlos Melo
 
Comandos Linux
Comandos LinuxComandos Linux
Comandos Linuxlol
 
Linux - Bruno Oliveira 12ºL
Linux - Bruno Oliveira 12ºLLinux - Bruno Oliveira 12ºL
Linux - Bruno Oliveira 12ºLBrunoOliveira1070
 
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosSistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosLuiz Arthur
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosFrederico Madeira
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisLeandro Júnior
 
Sistemas operacionais sistemas de arquivos-atualizado-senai
Sistemas operacionais   sistemas de arquivos-atualizado-senaiSistemas operacionais   sistemas de arquivos-atualizado-senai
Sistemas operacionais sistemas de arquivos-atualizado-senaiCarlos Melo
 
Quest linux lj
Quest linux ljQuest linux lj
Quest linux ljCarol Luz
 
Gerência de Armazenamento: Implementação do Sistema de Arquivos
Gerência de Armazenamento: Implementação do Sistema de ArquivosGerência de Armazenamento: Implementação do Sistema de Arquivos
Gerência de Armazenamento: Implementação do Sistema de ArquivosAlexandre Duarte
 
Comandos Básicos Linux
Comandos Básicos LinuxComandos Básicos Linux
Comandos Básicos LinuxSoftD Abreu
 

Mais procurados (20)

Arquivos de Inicialização do Linux
Arquivos de Inicialização do LinuxArquivos de Inicialização do Linux
Arquivos de Inicialização do Linux
 
SO-08 Sistemas de Arquivos
SO-08 Sistemas de ArquivosSO-08 Sistemas de Arquivos
SO-08 Sistemas de Arquivos
 
Aula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivosAula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivos
 
Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)
 
Sistemas operacionais de redes particionamento de discos ii
Sistemas operacionais de redes   particionamento de discos iiSistemas operacionais de redes   particionamento de discos ii
Sistemas operacionais de redes particionamento de discos ii
 
Comandos Linux
Comandos LinuxComandos Linux
Comandos Linux
 
Linux - Bruno Oliveira 12ºL
Linux - Bruno Oliveira 12ºLLinux - Bruno Oliveira 12ºL
Linux - Bruno Oliveira 12ºL
 
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosSistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos Básicos
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas Operacionais
 
Sistemas operacionais sistemas de arquivos-atualizado-senai
Sistemas operacionais   sistemas de arquivos-atualizado-senaiSistemas operacionais   sistemas de arquivos-atualizado-senai
Sistemas operacionais sistemas de arquivos-atualizado-senai
 
Quest linux lj
Quest linux ljQuest linux lj
Quest linux lj
 
Gerência de Armazenamento: Implementação do Sistema de Arquivos
Gerência de Armazenamento: Implementação do Sistema de ArquivosGerência de Armazenamento: Implementação do Sistema de Arquivos
Gerência de Armazenamento: Implementação do Sistema de Arquivos
 
Dispositivos de Bloco
Dispositivos de BlocoDispositivos de Bloco
Dispositivos de Bloco
 
Aula 06 comandos linux
Aula 06   comandos linuxAula 06   comandos linux
Aula 06 comandos linux
 
Minicurso linux
Minicurso linuxMinicurso linux
Minicurso linux
 
Apostila(1)
Apostila(1)Apostila(1)
Apostila(1)
 
Comandos Básicos Linux
Comandos Básicos LinuxComandos Básicos Linux
Comandos Básicos Linux
 
Sistemas de arquivos
Sistemas de arquivosSistemas de arquivos
Sistemas de arquivos
 
Obtendo ajuda no Linux
Obtendo ajuda no LinuxObtendo ajuda no Linux
Obtendo ajuda no Linux
 

Semelhante a Unidade 3.6 Introdução ao Shell

Soa cap2 administracao de sistemas2 (slides)
Soa cap2 administracao de sistemas2 (slides)Soa cap2 administracao de sistemas2 (slides)
Soa cap2 administracao de sistemas2 (slides)portal_Do_estudante
 
Linux-formatado.pdf
Linux-formatado.pdfLinux-formatado.pdf
Linux-formatado.pdfssuserf964b1
 
Curso de ShellScript - Lm01 shellscript
Curso de ShellScript - Lm01 shellscriptCurso de ShellScript - Lm01 shellscript
Curso de ShellScript - Lm01 shellscriptPessoal
 
ApresentaçãO2 Sistema Operacional
ApresentaçãO2  Sistema OperacionalApresentaçãO2  Sistema Operacional
ApresentaçãO2 Sistema OperacionalCláudia Costa
 
Guia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxGuia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxKalanzans
 
Guia 500 comandos_linux
Guia 500 comandos_linuxGuia 500 comandos_linux
Guia 500 comandos_linuxDario Nakazima
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem corvel
 
Introdução à Shellscript
Introdução à ShellscriptIntrodução à Shellscript
Introdução à ShellscriptVinícius Hax
 
Introdução à Shell Script - Vinícius Alves Hax
Introdução à Shell Script - Vinícius Alves HaxIntrodução à Shell Script - Vinícius Alves Hax
Introdução à Shell Script - Vinícius Alves HaxTchelinux
 
Linux4all#1
Linux4all#1Linux4all#1
Linux4all#1Daniel
 
Lab so-abertos-unidade15
Lab so-abertos-unidade15Lab so-abertos-unidade15
Lab so-abertos-unidade15Leandro Almeida
 

Semelhante a Unidade 3.6 Introdução ao Shell (20)

Soa cap2 administracao de sistemas2 (slides)
Soa cap2 administracao de sistemas2 (slides)Soa cap2 administracao de sistemas2 (slides)
Soa cap2 administracao de sistemas2 (slides)
 
Linux-formatado.pdf
Linux-formatado.pdfLinux-formatado.pdf
Linux-formatado.pdf
 
Curso de ShellScript - Lm01 shellscript
Curso de ShellScript - Lm01 shellscriptCurso de ShellScript - Lm01 shellscript
Curso de ShellScript - Lm01 shellscript
 
Comandos do linux
Comandos do linuxComandos do linux
Comandos do linux
 
ApresentaçãO2 Sistema Operacional
ApresentaçãO2  Sistema OperacionalApresentaçãO2  Sistema Operacional
ApresentaçãO2 Sistema Operacional
 
Guia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linuxGuia com mais de 500 comandos do linux
Guia com mais de 500 comandos do linux
 
Guia 500 comandos_linux
Guia 500 comandos_linuxGuia 500 comandos_linux
Guia 500 comandos_linux
 
Comandos Linux
Comandos LinuxComandos Linux
Comandos Linux
 
Sistema operacional-1-ano-de-informatica-completa
Sistema operacional-1-ano-de-informatica-completaSistema operacional-1-ano-de-informatica-completa
Sistema operacional-1-ano-de-informatica-completa
 
Aula 10 semana
Aula 10 semanaAula 10 semana
Aula 10 semana
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Aula 10 semana
Aula 10 semanaAula 10 semana
Aula 10 semana
 
Comandos do linux
Comandos do linuxComandos do linux
Comandos do linux
 
Aprendendo linux
Aprendendo linuxAprendendo linux
Aprendendo linux
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Introdução à Shellscript
Introdução à ShellscriptIntrodução à Shellscript
Introdução à Shellscript
 
Introdução à Shell Script - Vinícius Alves Hax
Introdução à Shell Script - Vinícius Alves HaxIntrodução à Shell Script - Vinícius Alves Hax
Introdução à Shell Script - Vinícius Alves Hax
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Linux4all#1
Linux4all#1Linux4all#1
Linux4all#1
 
Lab so-abertos-unidade15
Lab so-abertos-unidade15Lab so-abertos-unidade15
Lab so-abertos-unidade15
 

Mais de Juan Carlos Lamarão

Unidade 1.1 segurança e segurança física
Unidade 1.1   segurança e segurança física Unidade 1.1   segurança e segurança física
Unidade 1.1 segurança e segurança física Juan Carlos Lamarão
 
Unidade 1.2 segurança da informação, normas
Unidade 1.2   segurança da informação, normasUnidade 1.2   segurança da informação, normas
Unidade 1.2 segurança da informação, normasJuan Carlos Lamarão
 
Unidade 1.2 Segurança da Informação, Normas
Unidade 1.2  Segurança da Informação, NormasUnidade 1.2  Segurança da Informação, Normas
Unidade 1.2 Segurança da Informação, NormasJuan Carlos Lamarão
 
Unidade 1.1 Segurança e Segurança Física
Unidade 1.1 Segurança e Segurança FísicaUnidade 1.1 Segurança e Segurança Física
Unidade 1.1 Segurança e Segurança FísicaJuan Carlos Lamarão
 
Unidade 2.8 Introdução ao Serviços DNS e WINS
Unidade 2.8 Introdução ao Serviços DNS e WINSUnidade 2.8 Introdução ao Serviços DNS e WINS
Unidade 2.8 Introdução ao Serviços DNS e WINSJuan Carlos Lamarão
 
Unidade 2.7 Introdução ao Serviços DHCP
Unidade 2.7 Introdução ao Serviços DHCPUnidade 2.7 Introdução ao Serviços DHCP
Unidade 2.7 Introdução ao Serviços DHCPJuan Carlos Lamarão
 
Unidade 2.6 Introdução ao Serviços de Impressão e Impressoras
Unidade 2.6 Introdução ao Serviços de Impressão e ImpressorasUnidade 2.6 Introdução ao Serviços de Impressão e Impressoras
Unidade 2.6 Introdução ao Serviços de Impressão e ImpressorasJuan Carlos Lamarão
 
Unidade 2.5 Introdução ao Compartilhamento
Unidade 2.5 Introdução ao CompartilhamentoUnidade 2.5 Introdução ao Compartilhamento
Unidade 2.5 Introdução ao CompartilhamentoJuan Carlos Lamarão
 
Unidade 2.4 Configuração do Windows Server 2008
Unidade 2.4 Configuração do Windows Server 2008Unidade 2.4 Configuração do Windows Server 2008
Unidade 2.4 Configuração do Windows Server 2008Juan Carlos Lamarão
 
Unidade 2.3 Instalação do Windows Server 2008
Unidade 2.3 Instalação do Windows Server 2008Unidade 2.3 Instalação do Windows Server 2008
Unidade 2.3 Instalação do Windows Server 2008Juan Carlos Lamarão
 
Unidade 2.2 Novidades Windows Server 2008
Unidade 2.2 Novidades Windows Server 2008Unidade 2.2 Novidades Windows Server 2008
Unidade 2.2 Novidades Windows Server 2008Juan Carlos Lamarão
 
Unidade 1.4 Modelos de Referência
Unidade 1.4 Modelos de ReferênciaUnidade 1.4 Modelos de Referência
Unidade 1.4 Modelos de ReferênciaJuan Carlos Lamarão
 
Unidade 1.1 Introdução ao Software
Unidade 1.1 Introdução ao SoftwareUnidade 1.1 Introdução ao Software
Unidade 1.1 Introdução ao SoftwareJuan Carlos Lamarão
 
Unidade 3.5 Permissões e Propriedades de Arquivos
Unidade 3.5 Permissões e Propriedades de ArquivosUnidade 3.5 Permissões e Propriedades de Arquivos
Unidade 3.5 Permissões e Propriedades de ArquivosJuan Carlos Lamarão
 
Unidade 3.1 Introdução ao Sistema Operacional Linux
Unidade 3.1   Introdução ao Sistema Operacional LinuxUnidade 3.1   Introdução ao Sistema Operacional Linux
Unidade 3.1 Introdução ao Sistema Operacional LinuxJuan Carlos Lamarão
 

Mais de Juan Carlos Lamarão (20)

Unidade 3 criptogradia
Unidade 3   criptogradiaUnidade 3   criptogradia
Unidade 3 criptogradia
 
Unidade 2.2 ameaças
Unidade 2.2   ameaçasUnidade 2.2   ameaças
Unidade 2.2 ameaças
 
Unidade 2.3 firewall
Unidade 2.3   firewallUnidade 2.3   firewall
Unidade 2.3 firewall
 
Unidade 2.2.1 nmap
Unidade 2.2.1 nmapUnidade 2.2.1 nmap
Unidade 2.2.1 nmap
 
Unidade 1.1 segurança e segurança física
Unidade 1.1   segurança e segurança física Unidade 1.1   segurança e segurança física
Unidade 1.1 segurança e segurança física
 
Unidade 1.2 segurança da informação, normas
Unidade 1.2   segurança da informação, normasUnidade 1.2   segurança da informação, normas
Unidade 1.2 segurança da informação, normas
 
Unidade 1.2 Segurança da Informação, Normas
Unidade 1.2  Segurança da Informação, NormasUnidade 1.2  Segurança da Informação, Normas
Unidade 1.2 Segurança da Informação, Normas
 
Unidade 1.1 Segurança e Segurança Física
Unidade 1.1 Segurança e Segurança FísicaUnidade 1.1 Segurança e Segurança Física
Unidade 1.1 Segurança e Segurança Física
 
Unidade 2.8 Introdução ao Serviços DNS e WINS
Unidade 2.8 Introdução ao Serviços DNS e WINSUnidade 2.8 Introdução ao Serviços DNS e WINS
Unidade 2.8 Introdução ao Serviços DNS e WINS
 
Unidade 2.7 Introdução ao Serviços DHCP
Unidade 2.7 Introdução ao Serviços DHCPUnidade 2.7 Introdução ao Serviços DHCP
Unidade 2.7 Introdução ao Serviços DHCP
 
Unidade 2.6 Introdução ao Serviços de Impressão e Impressoras
Unidade 2.6 Introdução ao Serviços de Impressão e ImpressorasUnidade 2.6 Introdução ao Serviços de Impressão e Impressoras
Unidade 2.6 Introdução ao Serviços de Impressão e Impressoras
 
Unidade 2.5 Introdução ao Compartilhamento
Unidade 2.5 Introdução ao CompartilhamentoUnidade 2.5 Introdução ao Compartilhamento
Unidade 2.5 Introdução ao Compartilhamento
 
Unidade 2.4 Configuração do Windows Server 2008
Unidade 2.4 Configuração do Windows Server 2008Unidade 2.4 Configuração do Windows Server 2008
Unidade 2.4 Configuração do Windows Server 2008
 
Unidade 2.3 Instalação do Windows Server 2008
Unidade 2.3 Instalação do Windows Server 2008Unidade 2.3 Instalação do Windows Server 2008
Unidade 2.3 Instalação do Windows Server 2008
 
Unidade 2.2 Novidades Windows Server 2008
Unidade 2.2 Novidades Windows Server 2008Unidade 2.2 Novidades Windows Server 2008
Unidade 2.2 Novidades Windows Server 2008
 
Unidade 1.2 Virtualização
Unidade 1.2 VirtualizaçãoUnidade 1.2 Virtualização
Unidade 1.2 Virtualização
 
Unidade 1.4 Modelos de Referência
Unidade 1.4 Modelos de ReferênciaUnidade 1.4 Modelos de Referência
Unidade 1.4 Modelos de Referência
 
Unidade 1.1 Introdução ao Software
Unidade 1.1 Introdução ao SoftwareUnidade 1.1 Introdução ao Software
Unidade 1.1 Introdução ao Software
 
Unidade 3.5 Permissões e Propriedades de Arquivos
Unidade 3.5 Permissões e Propriedades de ArquivosUnidade 3.5 Permissões e Propriedades de Arquivos
Unidade 3.5 Permissões e Propriedades de Arquivos
 
Unidade 3.1 Introdução ao Sistema Operacional Linux
Unidade 3.1   Introdução ao Sistema Operacional LinuxUnidade 3.1   Introdução ao Sistema Operacional Linux
Unidade 3.1 Introdução ao Sistema Operacional Linux
 

Unidade 3.6 Introdução ao Shell

  • 1. CSOR Configuração de Sistemas Operacionais de Rede
  • 2. Aula Nº 9 Unidade III: Servidor Linux; Introdução ao Shell
  • 3. Apresentação A maneira mais comum de se utilizar utilizar/administrar uma máquina Linux é através de um terminal executando um shell. Um shell, em uma definição simples, é um programa que interpreta comandos digitados pelo usuário, e os executa de maneira apropriada Os comandos são interpretados pelo shell e enviados para sua execução. Com isso um shell pode também ser utilizado para programação simples. A combinação de um bom shell com pequenos programas utilitários permite automatizar tarefas, interagir com o usuário e fazer uso da flexibilidade e poder oferecido pela interface de linha de comando
  • 4. Apresentação Existem três tipos de execução de um shell: shell de login, shell interativo e shell não interativo. Shell de login: quando o shell é iniciado como um shell de login, ele primeiro lê e executa os comandos que estão no arquivo /etc/profile (se esse arquivo existir). Após isso, o shell procura por seus arquivos de configuração (~/bash_profile, ~/bash_login e ~/.profile, por exemplo). O shell de login executará os comandos presentes no primeiro arquivo de comandos presentes em um arquivo de encerramento de Sessão (~/.bash_logout, por exemplo), enquanto um shell interativo regular não executa esses comandos. Shell interativo: um shell interativo é aquele no qual você digita os comandos e aguarda enquanto o comando executa, interagindo com o sistema. Quando um shell interativo é iniciado, ele lê e executa os comandos presentes no arquivo de configuração do usuário (se esse arquivo existir; por exemplo, o ~/.bashrc). Normalmente, um shell de login também é um shell interativo. Shell não-interativo: um shell não interativo é um shell utilizado para executar um script, por exemplo, onde o usuário não faz interação com a linha de comando.
  • 5. Apresentação Existem vários tipos de shells disponíveis para o Linux; os principais são: sh ou Bourne Shell: este é o shell original, limitado em recursos e pequeno em tamanho. Implementações modernas utilizadas no Linux são o ash e dash (que almeja conformidade com o shell padrão POSIX, IEEE 1003.2). csh ou C shell: shell cujos comandos obedecem a uma sintaxe inspirada na linguagem C (mas não particularmente similar). Alguns sistemas utilizam uma versão com melhorias chamada tcsh, ou TENEX C shell. ksh ou Korn shell: é um shell compatível com o Bourne Shell e que adiciona muitos recursos adicionais. Implementações comumente utilizadas no Linux incluem o pdksh e o mksh. bash ou Bourne-Again shell: é o shell padrão GNU, bastante intuitivo e flexível. Usado tanto por usuários iniciantes como programadores. Ele é compatível com o Bourne shell e com várias características do Korn shell. O que é executado com o sh pode ser executado no bash, mas nem sempre a recíproca é verdadeira. O shel mais comumente utilizado em ambientes Linus é o bash.
  • 6. Informações Iniciais O Bash: O bash tem, basicamente, três propósitos: Utilização interativa: no uso interativo, o shell fornece uma linha de comando para o usuário e espera seus comandos serem digitados para processá-los e repassá-los para serem executados pelo sistema. Personalização de uma sessão: o shell pode definir variáveis que alteram o comportamento do sistema. Essas variáveis podem ser definidas pelo usuário em arquivos que são lidos no início ou no termino de uma sessão. Programação: shells permitem a programação através de scripts, compostos pela combinação de comandos do shell com comandos do sistema. O Prompt: Ao se logar em um sistema Linux via terminal (sem utilizar um gerenciador de login gráfico), será apresentado para o usuário uma linha de comando, como abaixo: [aluno@lab01 aluno/Vídeos] $ A primeira parte (antes do caractere @) indica o nome de usuário que está acessando este shell no momento, Logo após o “@” é mostrado o nome da máquina (local ou remota), e por último, é mostrado o diretório onde o usuário se encontra no momento. Para usuário root, a única diferença é no final, Onde é mostrado um “#”
  • 7. Informações Iniciais Caminhos: Caminhos ou paths descrevem a localização de um arquivo dentro da estrutura em árvore do sistema de arquivos. Arquivos podem ser localizados/visualizados de duas formas: através de seu caminho relativo ou de seu caminho absoluto O caminho absoluto é o caminho completo desde o diretório raiz e o caminho relativo é o caminho a partir do diretório onde o usuário se encontra atualmente. Exemplo: se o usuário desejar voltar um diretório ele poderia usar o caminho absoluto (desde o diretório / até o diretório desejado), ou digitando “..”, que seria o equivalente a voltar um diretório, relativo ao atual. Terminais: Um terminal é um dispositivo de acesso ao sistema através de uma interface de caractere (tipicamente o shell). Terminais podem ser utilizados diretamente no consolo, através do uso de terminais virtuais, ou através de um emulador de terminal disponível dentro de um ambiente gráfico. É possível alternar entre os terminais virtuais utilizando as teclas Alt+Fn, onde n pode variar de 1 até 6 na configuração padrão. Diferentes emuladores de terminal estão disponíveis para os diversos ambientes gráficos utilizados no Linux, como xterm, gnome-terminal e konsole.
  • 8. Comandos Comandos podem ser utilizados para fazer com que o Linux execute determinadas tarefas. Existem tanto comandos internos ao shell como comandos que são programas ( que geralmente etão em /usr/bin ou /bin). Uma grande porção dos comandos básicos utilizados em um shell são programas provenientes do projeto GNU. Sendo assim, eles compartilham algumas características comuns, como opções e sintaxe, tendo o seguinte formato: comando [opções] <parâmetro> Sendo que <parâmetro> consistem em informações para a execução do comando (como nomes de arquivos) e [opções], em geral, têm dois formatos: longo e curto. O formato longo é composto de uma palavra precedida por dois traços, enquanto que o curto é uma letra seguida de um traço apenas. Várias opções curtas podem ser combinadas. Tanto as opções como os parâmetros podem ser opcionais dependendo do comando.
  • 9. Comandos Embora o padrão GNU seja amplamente utilizado, alguns programas têm sua própria sintaxe, sendo que em geral esta não foge muito da ideia de opções curtas e longas, precedidas de hífens. De qualquer modo, quando em dúvida, basta consultar a documentação do programa Exemplos (genéricos) de opções de linha de comando padrão GNU --help Exibe uma tela de ajuda, com um resumo das opções disponíveis --version Exibe a versão do programa e informações de copyright --opção=algo Liga a opção “opção”, passando a esta o parêmetro “algo” -2 Liga a opção “2” -v Liga a opção “v” -b teste Liga a opção “b”, passando a esta o parâmetro “teste” -a2v Liga as opções “a”, “2” e “v” simultaneamente
  • 10. Comandos de Ajuda Consultar a documentação disponível no sistema pode ser muito útil para solucionar dúvidas do funcionamento de um comando ou descobrir opções que possam facilitar o trabalho do usuário. man Consulta a página de manual (man page) de um determinado comando. A página de manual fornece uma ajuda rápida sobre o programa e de suas opções. Pode ser especificada a seção (1-9), de acordo com o tema da página de manual, sendo que um tópico pode estar contido em mais de uma seção. Seções das Páginas de Manual 1. Comando do usuário 2. Chamadas ao sistema 3. Bibliotecas de funções 4. Dispositivos 5. Formatos de arquivos 6. Jogos 7. Informações gerais 8. Administração do sistema 9. Programação em geral
  • 11. Comandos de Ajuda Principais opções do man: Exemplos: $ man 1 man Apresentará uma tela com informações sobre o comando man e suas descrições $ man -K driver Procura pelo termo driver em todas as páginas de manual do sistema man [opções] comando -k Procura determinada string na descrição das páginas de manual disponíveis. Equivalente ao comando apropos -K Procura determinada string no conteúdo das páginas de manual disponíveis
  • 12. Comandos da Ajuda info Exibe páginas de informações sobre comandos. As páginas info têm a caracteristicas de estarem formatadas em hipertexto, facilitando a pesquisa. Para certos comandos, a página info mostrará as mesmas informações da página de manual. Sintaxe: info [comando] Exemplos: $ info Mostra todas as páginas info existentes no sistema $ info ls Mostra a página info do comando ls
  • 13. Comandos de Ajuda whatis O Whatis procura por palavras chaves em uma base de dados que contém o nome e uma breve explicação de diversos comandos. Quando o whatis encontra a palavra procurada, ele exibe na saída padrão a descrição e o número da sessão da página de manual do comando. É equivalente a opção -f do man. $ whatis socket socket (2) - create an endpoint for communication socket (7) - Linux socket interface $ whatis printf printf (3) - formatted output conversion
  • 14. Comandos de Ajuda apropos O apropos funciona de maneira semelhante ao whatis, porém realiza a busca pela palavra também nas descrições dos comandos. É bastante útil para situações onde o usuário não recorda o nome de um comando, pois pode pesquisar por palavras chaves relacionadas ao comando. É equivalente a opção -k do man. Se o usuário deseja criar um diretório, mas não se lembra qual o comando para isso, pode buscar por directory (diretório), por exemplo, e então será listado, entre outras opções, o comando mkdir: $ apropos directory chdir (2) - change working directory chroot (2) - change root directory mkdir (2) - create a directory dirfd (3) - get directory stream file descriptor [...]
  • 15. Comandos de Gerenciamento do Shell/ Terminal Um usuário avançado de Linux deve sentir-se confortável utilizando o terminal. Entre os comandos básicos para seu uso estão a impressão de mensagens, limpeza, reinício e encerramento de sessão, listado a seguir. echo utilizado para mostrar (ecoar) um determinado texto na tela de terminal. As principais opções são: echo [opções] expressão -n expressão Não insere uma nova linha após a saída do comando -e Habilita a barra invertida como caractere de escape, para saída de caracteres na expressão. Alguns caracteres que podem ser usados com esta opção são: c: suprime a nova linha n: nova linha r: retorno de linha t: tabulação horizontal v: tabulação vertical b: mesmo efeito da tecla backspace
  • 16. Comandos de Gerenciamento do Shell/ Terminal Exemplos: $ echo “Isto é um teste” Isto é um teste Mostra a expressão entre aspas. Neste caso, as aspas são opcionais $ echo -n “isto é um teste” Isto é um teste$ Exibe a expressão entre aspas, tirando o espaço extra (basta notar o sinal do prompt ao lado do final da expressão) $echo -e “Isto é ubmb teste” Isto é um teste A opção é permite o uso da notação com barra, o b. O b apaga o caractere anterior, ou seja, tudo que estiver antes do b será suprimido
  • 17. Comandos de Gerenciamento do Shell/ Terminal Clear Limpa a tela do terminal, apagando o conteúdo e movendo o prompt para o início do terminal. Sintaxe: clear reset Restaura o estado original do terminal, corrigindo problemas com fontes e posicionamento do cursor. Principais opções: reset [opções] -q O tipo de terminal é mostrado na saída padrão -s Imprime na tela a sequência de comandos shell para reiniciar o ambiente do terminal
  • 18. Comandos de Gerenciamento do Shell/ Terminal Exemplo: $ reset -s Erase is delete. Kill is control-U (^U). Interrupt is control-C (^C). Reinicia o terminal, mostrando informações sobre os atalhos para comandos que inicializam o ambiente, na saída padrão. exit sai do shell/console atual. Sintaxe: exit O comando exit também pode ser executado através da combinação de teclas Ctrl+d
  • 19. Comandos para Navegação no Sistema de Arquivo Os comandos a seguir possibilitam que o usuário possa acessar diretórios e, com isso, navegar no sistema de arquivos do sistema ___________________________________________________ pwd Exibe o diretório onde o usuário atual está. Exemplo: $ pwd /home/aluno indica que o diretório /home/aluno é o diretório onde o usuário se encontra atualmente
  • 20. Comandos para Navegação no Sistema de Arquivo cd Acessa um diretório, ou seja, muda do diretório atual para o diretório especificado (change directory). O comando não possui uma página de manual individual; sua descrição está incluida na página de manual do bash. Sintaxe: cd [diretório de destino] Exemplos: $ cd /usr/bin Leva o usuário para o diretório /usr/bin $ cd ../ Faz o usuário retornar um diretório na estrutura de diretórios $ cd - O Usuário retornará ao último diretório acessado $ cd Faz com que o usuário seja direcionado para o seu diretório home
  • 21. Comandos para Navegação no Sistema de Arquivo tree Exibe a estrutura de diretórios a partirdo diretório atual caso não seja fornecido nenhum parâmetro), ou do diretório passado na linha de diretório passado na linha de comando. Opção principal: Exemplos: $ tree -d /etc Lista a estrutura de diretórios a partir de /etc, mostrando apenas diretórios $ tree /var/log Lista roda a estrutura de diretórios a partir de /var/log tree [opções] [ diretório] -d Lista apenas diretórios, não incluindo arquivos
  • 22. Comandos para Navegação no Sistema de Arquivo file Retorna o tipo do arquivo, após a execução dos teste apropriados. As principais opções são: Exemplos: $ file favoritos.html favoritos.html: HTML documento text Fornece o nome do arquivo e o tipo do arquivo favoritos.html $ file -d script.py python script text executable Fornece apenas o tipo do arquivo script.py file [opções] arquivo -b Não inclui o nome dos arquivos nas linhas de saída -s O arquivo arq_desc deve conter uma lista de arquivos (um em cada linha). Assim, o comando etá tentar descobrir e mostrar o tipo de cada um dos arquivos contidos em arq_desc. Note que se o caminho absoluto não for fornecido para cada arquivo, o comando deve ser executado no local onde os arquivos se encontram.
  • 23. Comandos para Navegação no Sistema de Arquivo ls Lista o conteúdo do diretório atual, ou do diretório/arquivo que for indicado na linha de comando. Bastante flexível, aceita inúmeros parâmetros e opções. Principais opções: file [opções] arquivo -l Listagem no formato longo, com detalhes dos arquivos -a Lista todos os arquivos, incluindo arquivos ocultos (aqueles que têm seu nome iniciado por “.”). --color Listagem colorida. Opção padrão na maioria das distribuições. -F Coloca no final dos nomes de arquivos um símbolo indicando o seu tipo (a barra no final da listagem indica que é um diretório). -r Inverte a ordem de classificação. -R Faz uma listagem em modo recursivo. -1 Exibe a listagem em uma coluna única.
  • 24. Comandos de Manipulação de Arquivos, Diretórios e Links mkdir Cria um diretório. O caractere separador de diretórios “/” não pode ser usado no nome de um diretório. Opção principal: Exemplos: $ mkdir teste_novo Cria o diretório onde o usuário local se encontra $ mkdir ../teste Cria o diretório acima do diretório atual (diretório pai) $ mkdir -p /tmp/teste/outro/local da estrutura Cria, dentro do diretório /tmp, toda a estrutura de subdiritórios listada. Note que a barra invertida deve ser utilizada para que o caractere especial de espaço possa ser incluído mkdir [opções] diretório -p Cria o diretório e a estrutura de subdiretórios passada
  • 25. Comandos de Manipulação de Arquivos, Diretórios e Links rmdir Remove um diretório. O diretório deve estar vazio para ser removido. Opção principal: Exemplos: $ rmdir teste Apaga o diretório teste, no local onde o usuário se encontra $ mkdir ../teste2 Remove o diretório localizado no diretório pai $ rmdir -p /tmp/teste/outro/local da estrutura Remove a estrutura de diretórios indicada (não apaga o diretório pai – no caso, /tmp) mkdir [opções] diretório -p Remove a estrutura de subdiretórios passada, caso esteja vazia.
  • 26. Comandos de Manipulação de Arquivos, Diretórios e Links cat Envia o conteúdo de um ou mais arquivos para a saída padrão. Serve também para associar arquivos, mas é mais utilizado para listar o conteúdo de um arquivo. Caso nenhum nome de arquivo ou argumento seja fornecido, o cat permite que o usuário entre com os dados na entrada padrão (pelo teclado), e liste o conteúdo. Principais opções: cat [opções] arquivo -b Numera todas as linhas, menos as linhas em branco. -E Mostra um caractere $ ao final de cada linha. -n Numera todas as linhas mostradas. -T Mostra, em vez de caracteres de tabulação (tab), um sinal ^I..
  • 27. Comandos de Manipulação de Arquivos, Diretórios e Links Exemplos: $ cat /etc/passwd Joga na saída padrão (terminal) o conteúdo do arquivo /etc/passwd. $ cat -b /etc/inputrc Exibe o conteúdo do arquivo /etc/inputrc, numerando as linhas que são diferentes de linhas em branco. $ cat exemplo1.txt exemplo2.txt Associa os dois arquivos na ordem indicada, e mostra=os na saída padrão O comando tac possui a mesma função do cat, só que a listagem dos arquivos é na ordem inversa
  • 28. Comandos de Manipulação de Arquivos, Diretórios e Links more Mostra o arquivo na saída padrão. Se o tamanho do arquivo dor maior do que o número de linhas da tela, faz uma pausa e aguarda o pressionamento de uma tecla (Enter, Espaço ou q/Esc) para continuar a exibição. Principais opções: more [opções] arquivo -d Mostra informações para o usuário de como prosseguir. +num Inicia a exibição na linha indicada no “num”. -p Limpa a tela e depois exibe o conteúdo do arquivo, ao invés de paginar o conteúdo do arquivo. -s Junta várias linhas em branco seguidas de trechos do arquivo e mostra apenas uma linha.
  • 29. Comandos de Manipulação de Arquivos, Diretórios e Links less O less é muito parecido com o comando more, mas permite a navegação dentro do arquivo utilizando as setas do teclado (e outras teclas). Comparação entre more e less Ação more less Avança uma linha enter Enter, e, j, cursos para baixo Volta uma linha - Y, k, cursos para cima Avança uma tela Espaço, z, f Espaço, z, f Volta uma tela b b Arquivo anterior :p :p Arquivo seguinte :n :n Pesquisa / / Sair q q
  • 30. Comandos de Manipulação de Arquivos, Diretórios e Links cp Copia um ou mais arquivos para o local especificado. Algumas observações importantes devem ser feitas a respeito de cópias de arquivos: Copiar um arquivo para outro diretório onde já existe outro arquivo com o mesmo nome: o arquivo será sobrescrito. Copiar um arquivo para outro diretório que, por sua vez, possui um diretório com mesmo nome do arquivo a ser copiado: não é permitido. Copiar um arquivo, especificando como arquivo_destino outro nome: o arquivo será renomeado durante a cópia.
  • 31. Comandos de Manipulação de Arquivos, Diretórios e Links Principais opções $ cp doc.txt documento.txt Cópia do arquivo doc.txt como nome de documento.txt $ cp doc.txt /tmp Cópia do arquivo doc.txt para /tmp mantendo o nome original cp [opções] arquivo1 [arquivo2 diretório …] diretório -a Preserva o máximo possível a estrutura e atributos dos arquivos originais na cópia (mas não preserva a estrutura de diretório). -b Faz backup de arquivos que serão sobrescritos -f Força a cópia, sobrescrevendo arquivos no destino sem confirmação -d Copia ligações simbólicas com ligações simbólicas no lugar de copiar os arquivos para as quais apontam -i Modo interativo, solicita confirmação antes de sobrescrever aquivos -p Preserva o proprietário, grupo, permissões, tempo da última modificação e o tempo do último acesso originais -R Copia diretórios recursivamente, ou seja, toda a árvore abaixo do diretório de origem. O destino sempre será um diretório.
  • 32. Comandos de Manipulação de Arquivos, Diretórios e Links mv Move ou renomeia arquivos e diretórios dentro de um sistema Linux. Principais opções: Exemplos: $ mv /tmp/teste.txt /home/aluno/teste2.txt Move e renomeia o arquivo $ mv -f minha-lista.txt sua-lista.txt Renomeia o arquivo mv [opções] arquivo1 [arquivo2 diretório …] destino -f Sobrescreve arquivos no destino -i Solicita confirmação antes de sobrescrever um arquivo
  • 33. Comandos de Manipulação de Arquivos, Diretórios e Links rm Apaga um arquivo ou diretório (remove). É possível remover vários arquivos simultaneamente, bastando para tal colocar o nome dos arquivos a remover, logo depois do comando. Principais opções: $ rm documento.txt doc.txt documento2.txt Remove, do diretório atual os arquivos informados $ rm -ri /tmp Remove o diretório /tmp e todo os arquivos e pastas dentro, porem perguntando se deseja excluir arquivo por arquivo. more [opções] arquivo -f Não solicita confirmação. i+num Modo interativo: solicita confirmação para cada remoção. -r ou -R Modo recursivo, apaga toda uma árvore de diretórios. Cuidado ao usar este parâmetro, principalmente em conjunto com o -f.
  • 34. Comandos de Manipulação de Arquivos, Diretórios e Links ln Cria um link para outro arquivo. Por padrão, é um link direto (hard link). É importante relembrar que não é possível criar hard links para diretórios, e também é impossível criar links diretos entre sistemas de arquivos. Principais opções: Exemplos: $ ln -s ~/arquivo.txt /tmp/arquivoX Cria o link simbólico arquivoX em /tmp, apontando para o arquivo ~/arquivo.txt ln [opções] origem [destino] -f Força a criação do link, sobrescrevendo o outro arquivo (se for possível) -s Cria um link simbólico
  • 35. Dicas O usuário pode, caso deseje, acessar o sistema como um novo usuário, utilizando um novo terminal. Ao acessar cada terminal virtual, será preciso digitar o login e a senha novamente, pois o terminal funcionará como um novo acesso. No ambiente gráfico, ao pressionar as teclas Alt+Fn, o usuário não será levado ao terminal virtual – isso ocorre porque nesse ambiente a sequência de teclas pode ter outra função. Para acessar o console virtual, utiliza Ctrl+Alt+Fn, onde “n” pode variar de 1 até 6. Cuidado ao usar certas opções de comandos e certifique-se do que vai fazer antes de proceder. Um exemplo: os parâmetros -Rf junto com o comando rm podem causar danos que podem ser irreparáveis a um arquivo de sistema, tornando-o inutilizável.