SlideShare una empresa de Scribd logo
1 de 59
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órico
                           Do 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órico
                 Linux 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 arquivos
                     Discos, 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
Sistemas de arquivos
                        Discos, 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 arquivos
                         Discos, 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 senha
                Sistema 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 rede
                  Hostname, 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 rede
                     A 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 Linux
                             Algumas 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
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.
•   /proc                 Diretó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
                                                 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
Comandos básicos

                            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 para
                                          manipulação de Diretórios


                                                  ls
                                    Lista 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

                                                  cd
                  Entra 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

mkdir
Cria 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.

rmdir
Remove um diretório do sistema, exatamente o contrario do comando
Comandos básicos para
                                          manipulação de Diretórios


                                                 cat
                Mostra 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


                                           rm
                  Apaga 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

                                                     Cp
                                       Copia 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 Arquivos


                                          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ásicos
                                     man
 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.
                                        date
                    Permite ver e modificar a data e hora do sistema.
                                        df
                    Exibe 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



                                                ln
                  Cria 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

                                            du
           Mostra 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



                                                            find
                                             Procura 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).
Outros Comandos básicos


                                        free
                Mostra 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



                                                grep
                          Procura 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


                                            more
                   Permite 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


                                                 touch
                                        Cria 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



                                        uptime
                  Mostra 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.
                                         echo
                      Mostra 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


                                         uname
                            Retorna informações sobre o sistema.
opções
• -a = exibe todas as informações (nome do kernel, hostname, versão do kernel,
processador, plataforma, etc)
                                              wc
                   Conta 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.
Comandos básicos para
                manipulação de dispositivos


                           mount
                     Monta 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/hd
Para “montar” um Pen-drive, localizado na primeira porta USBdeve-se
executar o seguinte comando:
mount /dev/sda /mnt/drive
Variáveis de Ambiente


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 LINUX
                                          LINUX=free
Transformando uma variável local em global com o comando export.
                                        # export LINUX
                                      # env | grep LINUX
                                          LINUX=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 NOME
sleep 1
echo " "
echo "seu nome é: $NOME"
# fim do script
Observaçõ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.

Más contenido relacionado

La actualidad más candente

Aula 05 informática aplicada - discos e sistemas de arquivos
Aula 05  informática aplicada - discos e sistemas de arquivosAula 05  informática aplicada - discos e sistemas de arquivos
Aula 05 informática aplicada - discos e sistemas de arquivosRobson Ferreira
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisJocelma Rios
 
Arch Linux – Simplesmente Linux
Arch Linux – Simplesmente LinuxArch Linux – Simplesmente Linux
Arch Linux – Simplesmente LinuxLuiz Thiago
 
A.S.O 1 aula3 (1º Unidade)
A.S.O 1 aula3 (1º Unidade)A.S.O 1 aula3 (1º Unidade)
A.S.O 1 aula3 (1º Unidade)Cleiton Cunha
 
ASO 1- Aula2 (1ª Unidade)
ASO 1- Aula2 (1ª Unidade)ASO 1- Aula2 (1ª Unidade)
ASO 1- Aula2 (1ª Unidade)Cleiton Cunha
 
A.S.O 1 Aula1 (1º Unidade)
A.S.O 1 Aula1 (1º Unidade)A.S.O 1 Aula1 (1º Unidade)
A.S.O 1 Aula1 (1º Unidade)Cleiton Cunha
 
Mini-curso de linux básico
Mini-curso de linux básicoMini-curso de linux básico
Mini-curso de linux básicoAdriano Melo
 
Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)Faculdade Mater Christi
 
Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores LinuxJoão Sá
 
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...Marlon Willrich
 
Sistema Operacional - Aula001
Sistema Operacional - Aula001Sistema Operacional - Aula001
Sistema Operacional - Aula001Cláudio Amaral
 

La actualidad más candente (20)

Introdução Linux
Introdução LinuxIntrodução Linux
Introdução Linux
 
Aula 05 informática aplicada - discos e sistemas de arquivos
Aula 05  informática aplicada - discos e sistemas de arquivosAula 05  informática aplicada - discos e sistemas de arquivos
Aula 05 informática aplicada - discos e sistemas de arquivos
 
Sd01 (si) sistemas de arquivos
Sd01 (si)   sistemas de arquivosSd01 (si)   sistemas de arquivos
Sd01 (si) sistemas de arquivos
 
GLOSSÁRIO - INTERNET
GLOSSÁRIO - INTERNETGLOSSÁRIO - INTERNET
GLOSSÁRIO - INTERNET
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
 
Arch Linux – Simplesmente Linux
Arch Linux – Simplesmente LinuxArch Linux – Simplesmente Linux
Arch Linux – Simplesmente Linux
 
A.S.O 1 aula3 (1º Unidade)
A.S.O 1 aula3 (1º Unidade)A.S.O 1 aula3 (1º Unidade)
A.S.O 1 aula3 (1º Unidade)
 
ASO 1- Aula2 (1ª Unidade)
ASO 1- Aula2 (1ª Unidade)ASO 1- Aula2 (1ª Unidade)
ASO 1- Aula2 (1ª Unidade)
 
A.S.O 1 Aula1 (1º Unidade)
A.S.O 1 Aula1 (1º Unidade)A.S.O 1 Aula1 (1º Unidade)
A.S.O 1 Aula1 (1º Unidade)
 
Mini-curso de linux básico
Mini-curso de linux básicoMini-curso de linux básico
Mini-curso de linux básico
 
Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)
 
Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores Linux
 
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
Minicurso GNU/Linux básico - Aula1 - Semana Sistemas de Informação 2015 - UNI...
 
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
 
IntroduçãO Ao Linux
IntroduçãO Ao LinuxIntroduçãO Ao Linux
IntroduçãO Ao Linux
 
Conceitos de Software Livre
Conceitos de Software LivreConceitos de Software Livre
Conceitos de Software Livre
 
apostila linux
apostila linuxapostila linux
apostila linux
 
Sistema
SistemaSistema
Sistema
 
Sistema Operacional - Aula001
Sistema Operacional - Aula001Sistema Operacional - Aula001
Sistema Operacional - Aula001
 
U N I X
U N I XU N I X
U N I X
 

Similar a Aula 04 informática aplicada - comando básicos

Sistemas Operacionais - 06 - Sistemas Operacionais Linux
Sistemas Operacionais - 06 - Sistemas Operacionais LinuxSistemas Operacionais - 06 - Sistemas Operacionais Linux
Sistemas Operacionais - 06 - Sistemas Operacionais LinuxMauro Duarte
 
Sistema Operativo Linux
Sistema Operativo LinuxSistema Operativo Linux
Sistema Operativo Linuxfilipereira
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linuxguest82cc1d
 
Linux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxLinux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxFrederico Madeira
 
Sistemas operacionais1
Sistemas operacionais1Sistemas operacionais1
Sistemas operacionais1Nauber Gois
 
Sistema Operacional Unix.
Sistema Operacional Unix. Sistema Operacional Unix.
Sistema Operacional Unix. Fabriciofialho2
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Adriano Melo
 
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
 
Resumo sistemas operacionais
Resumo sistemas operacionaisResumo sistemas operacionais
Resumo sistemas operacionaisDaniel Brandão
 
Curso Básico de Linux
Curso Básico de LinuxCurso Básico de Linux
Curso Básico de LinuxJonata Marim
 
Introdução ao linux
Introdução ao linuxIntrodução ao linux
Introdução ao linuxFilipe Jesus
 
Desmistificando o Pinguim
Desmistificando o PinguimDesmistificando o Pinguim
Desmistificando o PinguimDiego Rubin
 
Sistemas Operacionais - Gnu/Linux
Sistemas Operacionais - Gnu/LinuxSistemas Operacionais - Gnu/Linux
Sistemas Operacionais - Gnu/LinuxLuiz Arthur
 
Resumo sistemas operativos - joao marques
Resumo   sistemas operativos - joao marquesResumo   sistemas operativos - joao marques
Resumo sistemas operativos - joao marquesdjoaquim7
 

Similar a Aula 04 informática aplicada - comando básicos (20)

A.S.O 2 - Linux
A.S.O 2 - LinuxA.S.O 2 - Linux
A.S.O 2 - Linux
 
Sistemas Operacionais - 06 - Sistemas Operacionais Linux
Sistemas Operacionais - 06 - Sistemas Operacionais LinuxSistemas Operacionais - 06 - Sistemas Operacionais Linux
Sistemas Operacionais - 06 - Sistemas Operacionais Linux
 
Sistema Operativo Linux
Sistema Operativo LinuxSistema Operativo Linux
Sistema Operativo Linux
 
Introdução ao Linux
Introdução ao LinuxIntrodução ao Linux
Introdução ao Linux
 
So-mod-4
So-mod-4So-mod-4
So-mod-4
 
Linux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao LinuxLinux - Sobre a Disciplina + Introdução ao Linux
Linux - Sobre a Disciplina + Introdução ao Linux
 
Sistemas operacionais1
Sistemas operacionais1Sistemas operacionais1
Sistemas operacionais1
 
Sistema Operacional Unix.
Sistema Operacional Unix. Sistema Operacional Unix.
Sistema Operacional Unix.
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas Operacionais
 
Resumo sistemas operacionais
Resumo sistemas operacionaisResumo sistemas operacionais
Resumo sistemas operacionais
 
Intro linux
Intro linuxIntro linux
Intro linux
 
unix_basico.pdf
unix_basico.pdfunix_basico.pdf
unix_basico.pdf
 
Curso Básico de Linux
Curso Básico de LinuxCurso Básico de Linux
Curso Básico de Linux
 
Linux
LinuxLinux
Linux
 
Introdução ao linux
Introdução ao linuxIntrodução ao linux
Introdução ao linux
 
Estrutura de diretorios
Estrutura de diretoriosEstrutura de diretorios
Estrutura de diretorios
 
Desmistificando o Pinguim
Desmistificando o PinguimDesmistificando o Pinguim
Desmistificando o Pinguim
 
Sistemas Operacionais - Gnu/Linux
Sistemas Operacionais - Gnu/LinuxSistemas Operacionais - Gnu/Linux
Sistemas Operacionais - Gnu/Linux
 
Resumo sistemas operativos - joao marques
Resumo   sistemas operativos - joao marquesResumo   sistemas operativos - joao marques
Resumo sistemas operativos - joao marques
 

Más de Robson Ferreira

02 declaracao do_escopo_preliminar_do_projeto
02 declaracao do_escopo_preliminar_do_projeto02 declaracao do_escopo_preliminar_do_projeto
02 declaracao do_escopo_preliminar_do_projetoRobson Ferreira
 
Aula 02 introdução a redes - software de redes e serviços
Aula 02   introdução a redes - software de redes e serviçosAula 02   introdução a redes - software de redes e serviços
Aula 02 introdução a redes - software de redes e serviçosRobson Ferreira
 
Aula 01 introdução a redes - apresentação e introdução
Aula 01   introdução a redes - apresentação e introduçãoAula 01   introdução a redes - apresentação e introdução
Aula 01 introdução a redes - apresentação e introduçãoRobson Ferreira
 
Aula 03 introdução a redes - redes de computadores
Aula 03   introdução a redes - redes de computadoresAula 03   introdução a redes - redes de computadores
Aula 03 introdução a redes - redes de computadoresRobson Ferreira
 
Ingês instrumental trabalho unidade 2 market
Ingês instrumental trabalho unidade 2 marketIngês instrumental trabalho unidade 2 market
Ingês instrumental trabalho unidade 2 marketRobson Ferreira
 
Seminário linux robson e bruno melo
Seminário linux robson e bruno meloSeminário linux robson e bruno melo
Seminário linux robson e bruno meloRobson Ferreira
 
Informática aplicada prova 1
Informática aplicada prova 1Informática aplicada prova 1
Informática aplicada prova 1Robson Ferreira
 
Informática aplicada prova 1 verso
Informática aplicada prova 1 versoInformática aplicada prova 1 verso
Informática aplicada prova 1 versoRobson Ferreira
 
Inglês instrumental prova entrepreneurship + respostas verso
Inglês instrumental prova entrepreneurship + respostas versoInglês instrumental prova entrepreneurship + respostas verso
Inglês instrumental prova entrepreneurship + respostas versoRobson Ferreira
 
Inglês instrumental prova entrepreneurship + respostas frente
Inglês instrumental prova entrepreneurship + respostas frenteInglês instrumental prova entrepreneurship + respostas frente
Inglês instrumental prova entrepreneurship + respostas frenteRobson Ferreira
 
Inglês instrumental trabalho strategic planning respostas
Inglês instrumental trabalho strategic planning respostasInglês instrumental trabalho strategic planning respostas
Inglês instrumental trabalho strategic planning respostasRobson Ferreira
 
Inglês instrumental trabalho strategic planning frente
Inglês instrumental trabalho strategic planning frenteInglês instrumental trabalho strategic planning frente
Inglês instrumental trabalho strategic planning frenteRobson Ferreira
 
Inglês instrumental trabalho strategic planning respostas verso
Inglês instrumental trabalho strategic planning respostas versoInglês instrumental trabalho strategic planning respostas verso
Inglês instrumental trabalho strategic planning respostas versoRobson Ferreira
 
Conceitos e técnicas de programação exercícios i respostas
Conceitos e técnicas de programação  exercícios i respostasConceitos e técnicas de programação  exercícios i respostas
Conceitos e técnicas de programação exercícios i respostasRobson Ferreira
 
Inglês instrumental trabalho finance
Inglês instrumental trabalho financeInglês instrumental trabalho finance
Inglês instrumental trabalho financeRobson Ferreira
 
Inglês instrumental finance respostas
Inglês instrumental finance respostasInglês instrumental finance respostas
Inglês instrumental finance respostasRobson Ferreira
 
Inglês instrumental prova entrepreneurship
Inglês instrumental prova entrepreneurshipInglês instrumental prova entrepreneurship
Inglês instrumental prova entrepreneurshipRobson Ferreira
 

Más de Robson Ferreira (20)

02 declaracao do_escopo_preliminar_do_projeto
02 declaracao do_escopo_preliminar_do_projeto02 declaracao do_escopo_preliminar_do_projeto
02 declaracao do_escopo_preliminar_do_projeto
 
122172 1445
122172 1445122172 1445
122172 1445
 
122172 1444
122172 1444122172 1444
122172 1444
 
Aula 02 introdução a redes - software de redes e serviços
Aula 02   introdução a redes - software de redes e serviçosAula 02   introdução a redes - software de redes e serviços
Aula 02 introdução a redes - software de redes e serviços
 
Aula 01 introdução a redes - apresentação e introdução
Aula 01   introdução a redes - apresentação e introduçãoAula 01   introdução a redes - apresentação e introdução
Aula 01 introdução a redes - apresentação e introdução
 
Aula 03 introdução a redes - redes de computadores
Aula 03   introdução a redes - redes de computadoresAula 03   introdução a redes - redes de computadores
Aula 03 introdução a redes - redes de computadores
 
Ingês instrumental trabalho unidade 2 market
Ingês instrumental trabalho unidade 2 marketIngês instrumental trabalho unidade 2 market
Ingês instrumental trabalho unidade 2 market
 
Seminário linux robson e bruno melo
Seminário linux robson e bruno meloSeminário linux robson e bruno melo
Seminário linux robson e bruno melo
 
Seminário linux
Seminário linuxSeminário linux
Seminário linux
 
Informática aplicada prova 1
Informática aplicada prova 1Informática aplicada prova 1
Informática aplicada prova 1
 
Informática aplicada prova 1 verso
Informática aplicada prova 1 versoInformática aplicada prova 1 verso
Informática aplicada prova 1 verso
 
Inglês instrumental prova entrepreneurship + respostas verso
Inglês instrumental prova entrepreneurship + respostas versoInglês instrumental prova entrepreneurship + respostas verso
Inglês instrumental prova entrepreneurship + respostas verso
 
Inglês instrumental prova entrepreneurship + respostas frente
Inglês instrumental prova entrepreneurship + respostas frenteInglês instrumental prova entrepreneurship + respostas frente
Inglês instrumental prova entrepreneurship + respostas frente
 
Inglês instrumental trabalho strategic planning respostas
Inglês instrumental trabalho strategic planning respostasInglês instrumental trabalho strategic planning respostas
Inglês instrumental trabalho strategic planning respostas
 
Inglês instrumental trabalho strategic planning frente
Inglês instrumental trabalho strategic planning frenteInglês instrumental trabalho strategic planning frente
Inglês instrumental trabalho strategic planning frente
 
Inglês instrumental trabalho strategic planning respostas verso
Inglês instrumental trabalho strategic planning respostas versoInglês instrumental trabalho strategic planning respostas verso
Inglês instrumental trabalho strategic planning respostas verso
 
Conceitos e técnicas de programação exercícios i respostas
Conceitos e técnicas de programação  exercícios i respostasConceitos e técnicas de programação  exercícios i respostas
Conceitos e técnicas de programação exercícios i respostas
 
Inglês instrumental trabalho finance
Inglês instrumental trabalho financeInglês instrumental trabalho finance
Inglês instrumental trabalho finance
 
Inglês instrumental finance respostas
Inglês instrumental finance respostasInglês instrumental finance respostas
Inglês instrumental finance respostas
 
Inglês instrumental prova entrepreneurship
Inglês instrumental prova entrepreneurshipInglês instrumental prova entrepreneurship
Inglês instrumental prova entrepreneurship
 

Aula 04 informática aplicada - comando básicos

  • 2.
  • 3. 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)
  • 4. Histórico Do 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)
  • 5. Histórico Linux 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)
  • 6. 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
  • 7. Sistemas de arquivos Discos, 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
  • 8. Sistemas de arquivos Discos, 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
  • 9. Sistemas de arquivos Discos, 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
  • 10. Conceitos de usuário e senha Sistema 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
  • 11. Computadores em rede Hostname, 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
  • 12. Administração de rede A 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
  • 13. Sobrevivência no Linux Algumas 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
  • 14. 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
  • 15. 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.
  • 16. 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…
  • 17. 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.
  • 22. 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. • /proc Diretó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
  • 23. 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
  • 24. 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).
  • 26.
  • 27. Comandos Básicos • Formato basico das instrucoes de comando:
  • 29. 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.
  • 30. 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
  • 31. Comandos básicos 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
  • 32. 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
  • 33. Comandos básicos • Documentacao offline ou online atravez do comando man: • man ls • man ps • man mount • man cd • man ifconfig
  • 34. Comandos básicos para manipulação de Diretórios ls Lista 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.
  • 35. Comandos básicos para manipulação de Diretórios cd Entra 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).
  • 36. Comandos básicos para manipulação de Diretórios pwd Exibe o nome e caminho do diretório atual. Sintaxe: pwd mkdir Cria 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. rmdir Remove um diretório do sistema, exatamente o contrario do comando
  • 37. Comandos básicos para manipulação de Diretórios cat Mostra 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.
  • 38. Comandos básicos para manipulação de Diretórios rm Apaga 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.
  • 39. Comandos básicos para manipulação de Diretórios Cp Copia 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.
  • 40. Comandos básicos para manipulação de Arquivos 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.
  • 41. Comandos básicos para manipulação de Arquivos Outros Comandos Básicos man 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. date Permite ver e modificar a data e hora do sistema. df Exibe 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
  • 42. Comandos básicos para manipulação de Arquivos ln Cria 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.
  • 43. 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.
  • 44. 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.
  • 45. Comandos básicos para manipulação de Arquivos du Mostra 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.
  • 46. Comandos básicos para manipulação de Arquivos find Procura 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).
  • 47. Outros Comandos básicos free Mostra 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.
  • 48. Outros Comandos básicos grep Procura 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.
  • 49. Outros Comandos básicos more Permite 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.
  • 50. Outros Comandos básicos touch Cria 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.
  • 51. Outros Comandos básicos uptime Mostra 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. echo Mostra 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.
  • 52. Outros Comandos básicos uname Retorna informações sobre o sistema. opções • -a = exibe todas as informações (nome do kernel, hostname, versão do kernel, processador, plataforma, etc) wc Conta 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.
  • 53. Comandos básicos para manipulação de dispositivos mount Monta 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/hd Para “montar” um Pen-drive, localizado na primeira porta USBdeve-se executar o seguinte comando: mount /dev/sda /mnt/drive
  • 54. Variáveis de Ambiente 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:
  • 55. 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".
  • 56. 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".
  • 57. 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
  • 58. 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 LINUX LINUX=free Transformando uma variável local em global com o comando export. # export LINUX # env | grep LINUX LINUX=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
  • 59. 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 NOME sleep 1 echo " " echo "seu nome é: $NOME" # fim do script Observaçõ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.