Rafael Silva rafaelsilva@rfdslabs.com.br Curso Basico de Linux Rafael Silva rafaelsilva@rfdslabs.com.br.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

Curso Basico de Linux Marcela Santos
Administração de sistemas operacionais
Noções de Sistemas Operacionais
Sistemas operacionais
Administração de sistemas operacionais
Informática Aplica Prof.: Bruno Rafael de Oliveira Rodrigues.
Comandos do Linux SO II.
Configuração de um servidor FTP
Prof. João Paulo de Brito Gonçalves
Shell Script Professor: João Paulo
Prof. João Paulo de Brito Gonçalves Sistema de Arquivos - COMANDOS DE VISUALIZAÇÃO, BUSCA E LOCALIZAÇÃO Campus - Cachoeiro Curso Técnico de Informática.
Processos no Unix e Linux
Introdução à Informática
Conceitos Básicos sobre o S.O.
Sistema Operacional LINUX
Concepts and Capabilities
Nosso relacionamento com computadores é baseado em símbolos.
Colégio Técnico Vila Branca
Curso Técnico em Manutenção e Suporte em Informática
Fundamento à Informática
Threads.
LINUX.
Comandos para navegação no Sistema de Arquivos
Interpretador Online.
Discos SCSI Fonte de alimentação Controlador SCSI Disco SAS
Prof. André Leon S. Gradvohl, Dr.
Sistema Operativo de Rede Prof. António dos Anjos
Software Livre O software que pode ser usado, copiado, estudado, modificado e redistribuído sem restrição. A forma usual de um software ser distribuído.
Gestão de Sistemas Operacionais II
Conhecendo os Sistemas Operacionais
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO BACHARELADO EM SISTEMAS DE INFORMAÇÃO Recife 2014.
Universidade Federal Fluminense Escola de Engenharia Departamento de Engenharia de Telecomunicações Sistemas de Computação para Telecomunicações Autores:
Sistemas Operacionais
Introdução ao Sistema Operacional LINUX
Sistemas Operacionais Linux
Linux Prof.: Antonio Reis Escola Brasileira. Histórico  Richard Stallman Personalidade importante da comunidade do software livre Ingressou no MIT em.
Professor: Cristiano Mariotti
LINUX. GRUB Trata-se de um gerenciador de boot desenvolvido inicialmente por Erich Stefan Boleyn, disponibilizado como software GNU. Entre seus principais.
Professor Cristiano Mariotti
Linux Prof. Fabio Santos, D.Sc
Sistemas Operacionais
Sistemas Operacionais
© 2004 by Pearson Education Computadores: Ferramentas para a Era da Informação Tema 0 PARTE A.
SISTEMAS OPERACIONAIS I Gerenciamento de Arquivos
09/04/2017 Linux Comandos básicos.
Usuários e Grupos Usuário: alguém que possui conta, internamente é tratado como um número (UID) que é a identificação do usuário (USER ID). Cada usuário.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 10: Interface de Sistemas de Arquivos.
Sistemas Operacionais PLATAFORMALINUX PLATAFORMALINUX Jean Morais 3ºSINA/07.
Subsistema de Entrada e Saída do Kernel
Backup DE DADOS DO USUÁRIO. Cópia de segurança dos dados no computador, alguns fáceis e outros trabalhosos, de acordo com a quantidade de dados. Utilizado.
Professor Esp. Diego André Sant’Ana Disciplina: Sistemas Operacionais II Sistemas de Arquivos- Tipo de arquivos – Cap
FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede – AULA 03 Prof. Gabriel Silva.
Iº Workshop Linux da Unijorge
Serviço Nacional de Aprendizagem Comercial do Rio Grande do Sul Informação e Comunicação Habilitação Técnica de Nível Médio Técnico em Informática Prof.
Introdução ao Linux Histórico e desenvolvimento
História dos Sistemas Operativos
Aula – Sistemas Operacionais
Versão Professor Emerson Felipe Elementos de informática
Shell Script Parte 2.
Tópicos em Sistemas Operacionais (LINUX) Prof:. Msc. Arimatéia Junior Fortaleza-2011.
LINUX. O que é LINUX  Linux é um termo utilizado para se referir a sistemas operacionais que utilizem o núcleo Linux  O Linux foi desenvolvido pelo.
Permissões de Acesso No Linux há três modelos de controle de acesso básicos: Read, Write e Execution. Veja um exemplo de permissão básica na figura.
Sistemas Operacionais PLATAFORMALINUX PLATAFORMALINUX Ricardo de Oliveira Joaquim TECNOLÓGICOS.
SICII (Sistemas Operacionais) – Prof. Alberto  Comandos de console (Linux)
Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação Linux – Prática Regiane Kawasaki
Evoluindo em comandos Unix / Linux Cid Rodrigues de Andrade No site acima encontram-se dados sobre licenciamento e forma.
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Sistemas Operacionais de Redes Introdução ao Linux IGOR ALVES.
Comandos Básicos do Linux Prof. Alberto Felipe. Os Sistemas Operacionais de hoje, incluindo o Linux, são todos baseados em interface gráfica, com o uso.
Transcrição da apresentação:

Rafael Silva rafaelsilva@rfdslabs.com.br Curso Basico de Linux Rafael Silva rafaelsilva@rfdslabs.com.br

CONTEÚDO Historia do linux Filosofia Principais caracteristicas Linux – Introducao Comandos

“GNU's Not UNIX - GNU não é UNIX” HISTÓRIA Free Software Foundation Fundação criada pelo hacker Richard Stallman, responsável pelo desenvolvimento do Projeto GNU. O Projeto GNU foi iniciado em 1984 para desenvolver um sistema operacional completo, compatível com o UNIX, e que fosse Software Livre. GNU é um acrônimo recursivo que significa: “GNU's Not UNIX - GNU não é UNIX”

HISTÓRIA Filosofia GNU Todos os softwares do Projeto GNU são regidos por um tipo especial de licença de software, a GNU General Public License, também conhecida pela sigla GPL Um Software Livre tem como principais características o fato de poder ser copiado, alterado e redistribuído livremente, bastando que toda alteração desse software seja repassada para a comunidade na forma de código-fonte.

HISTÓRIA HISTÓRIA Linus Torvalds o criador do Linux

HISTÓRIA Sinclair QL

HISTÓRIA

HISTÓRIA

HISTÓRIA De:Linus Benedict Torvalds (torvalds@klaava.Helsinki.FI) Assunto:[comp.os.minix] Free minix-like kernel sources for 386-AT Newsgroups:comp.archives Data:1991-10-05 09:24:25 PST Archive-name: auto/comp.os.minix/Free-minix-like-kernel-sources-for-386-AT Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers? Are you without a nice project and just dying to cut your teeth on a OS you can try to modify for your needs? Are you finding it frustrating when everything works on minix? No more all- nighters to get a nifty program working? Then this post might be just for you :-) As I mentioned a month(?) ago, I'm working on a free version of a minix-lookalike for AT-386 computers. It has finally reached the stage where it's even usable (though may not be depending on what you want), and I am willing to put out the sources for wider distribution. It is just version 0.02 (+1 (very small) patch already), but I've successfully run bash/gcc/gnu-make/gnu-sed/compress etc under it. Sources for this pet project of mine can be found at nic.funet.fi (128.214.6.100) in the directory /pub/OS/Linux. The directory also contains some README-file and a couple of binaries to work under linux (bash, update and gcc, what more can you ask for :-). Full kernel source is provided, as no minix code has been used. Library sources are only partially free, so that cannot be distributed currently. The system is able to compile "as-is" and has been known to work. Heh. Sources to the binaries (bash and gcc) can be found at the same place in /pub/gnu. ...

HISTÓRIA MINIX O MINIX é um clone do UNIX mantido por Andrew S. Tanenbaum e desenvolvido basicamente para fins educacionais. Foi graças ao MINIX que Linus Torvalds se lançou na tarefa de desenvolver um Sistema Operacional. O MINIX é um clone do UNIX mantido por Andrew S. Tanenbaum e desenvolvido basicamente para fins educacionais. Foi graças ao MINIX que Linus Torvalds se lançou na tarefa de desenvolver um Sistema Operacional.

Windows 2003 Advanced Server FILOSOFIA MONOUSUÁRIO MULTIUSUÁRIO Um computador, uma mesa, um usuário. Duas pessoas não podem trabalhar em paralelo, executando o Microsoft Word na mesma máquina, simultaneamente. Windows 2003 Advanced Server + Terminal Server Múltiplos usuários se conectam com o computador simultaneamente. O Linux cuida dos detalhes de “compartilhamento” dos recursos, de modo que cada usuário parece ter um sistema individual.

FILOSOFIA MICRO KERNEL MONOLÍTICO O kernel fornece um pequeno conjunto de serviços e, então, faz a interface com outros serviços executivos que fornecem, por exemplo: Gerenciamento de processos Gerenciamento de E/S e muitos outros serviços. Fornece todos os serviços que os aplicativos do usuário precisam. O kernel manipula tudo tratando diretamente com o hardware e com as chamadas do sistema.

SEPARAÇÃO DA GUI E DO KERNEL FILOSOFIA SEPARAÇÃO DA GUI E DO KERNEL INTEGRAÇÃO MODULARIZAÇÃO Interface gráfica integrada ao Sistema Operacional básico. Um simplesmente não existe sem o outro. Vantagem: consistência entre a interface dos aplicativos. Interface com o usuário e Sistema Operacional separados. X Window System é executado como um aplicativo em nível de usuário Vantagem: maior integridade do sistema como um todo.

Suporta o conceito de montagem FILOSOFIA AMBIENTE DE REDE NETWORK FILE SYSTEM Usuário anexa o compartilhamento e atribui uma letra de unidade. Windows 2000 Pontos de nova análise Compartilhamentos de rede só são possíveis mapendo-se o compartilhamento de rede requerido em uma letra de unidade. Suporta o conceito de montagem Montagem de diretórios de base: os diretórios de base de um usuário podem residir em um servidor remoto, e serem montados automaticamente na inicialização do sistema. Montagem via rede é transparente ao usuário.

FILOSOFIA REGISTRO DO WINDOWS ARQUIVOS DE CONFIGURAÇÃO Configurações baseadas em um banco de dados de difícil manutenção: milhares de entradas, sendo poucas completamente documentadas. Vantagem teórica: as configurações ficam armazenadas em um formato comum a todos os aplicativos. Configurações de aplicativos e sistema operacional baseadas em arquivos de texto puro. Fácil manutenção (você pode documentar toda a sua configuração comentando os arquivos). A configuração pode ser automatizada por meio de scripts.

Caracteristicas

PRINCIPAIS CARACTERÍSTICAS O Linux é desenvolvido voluntariamente por programadores experientes, hackers e contribuidores espalhados ao redor do mundo que tem como objetivo a contribuição para a melhoria e crescimento deste sistema operacional. Convivem sem nenhum tipo de conflito com outros sistemas operacionais (como o DOS, Windows, OS/2) no mesmo computador. Conectividade com outros tipos de plataformas como Apple, Sun, MIPS, SPARC, ALPHA, PowerPC, ARM, Intel, dentre outras. Multitarefa real, multiusuário, suporte a nomes extensos de arquivos e diretórios (255 caracteres) e proteção entre processos executados na memória RAM.

PRINCIPAIS CARACTERÍSTICAS Suporte a mais de 63 terminais virtuais (consoles). Modularização - O GNU/Linux somente carrega para a memória o que é usado durante o processamento, liberando totalmente a memória assim que o programa ou dispositivo é finalizado. Não há a necessidade de se reiniciar o sistema após a modificar a configuração de qualquer periférico ou parâmetros de rede. Somente é necessário reiniciar o sistema no caso de uma instalação interna de um novo periférico ou falha em algum hardware (queima do processador, placa mãe, por exemplo). O crescimento e novas versões do sistema não provocam lentidão. Pelo contrário, a cada nova versão os desenvolvedores procuram buscar maior compatibilidade, acrescentar recursos úteis e melhor desempenho do sistema (como o que aconteceu na passagem do kernel 2.0.x para 2.2.x).

PRINCIPAIS CARACTERÍSTICAS Não é requerida uma licença para seu uso. O GNU/Linux é licenciado de acordo com os termos da GPL. Acessa corretamente discos formatados pelo DOS, Windows, Novell, OS/2, NTFS, SunOS, Amiga, Atari, Mac, dentre outros. Utiliza permissões de acesso a arquivos, diretórios e programas em execução na memória RAM. Rede TCP/IP mais rápida que no Windows e tem sua pilha constantemente melhorada. O GNU/Linux tem suporte nativo a redes TCP/IP e não depende de uma camada intermediária como o WinSock. Em acessos via modem a Internet, a velocidade de transmissão chega a ser 10% maior.

r PRINCIPAIS CARACTERÍSTICAS Tecnologias suportadas Dispositivos infravermelho Rede via rádio amador Rispositivos Plug-and-Play Dispositivos USB Vários tipos de firewalls de alta qualidade e com grande poder de segurança Roteamento estático e dinâmico de pacotes Ponte entre redes Proxy tradicional e transparente O Linux possui recursos para atender a mais de um endereço IP na mesma placa de rede, sendo muito útil para situações de manutenção em servidores de redes ou para a virtualização de estações de trabalho

PRINCIPAIS CARACTERÍSTICAS Os sistemas de arquivos usados pelo GNU/Linux (Ext3, ReiserFS, JFS, XFS, dentre outros) organizam os arquivos de forma inteligente, evitando a fragmentação e fazendo-o um poderoso sistema para aplicações multi-usuárias exigentes e gravações intensivas. Permite a montagem de um servidor Web, E-mail, News, etc. com um baixo custo e alta performance. O melhor servidor Web do mercado, o Apache, é distribuído gratuitamente junto com o Linux. O mesmo acontece com o Sendmail. Por ser um sistema operacional de código aberto, você têm acesso ao código-fonte, podendo adaptá-lo as suas necessidades. Esta característica é uma segurança a mais para empresas sérias e outros grupos que não querem ter seus dados roubados - você não sabe o que um sistema proprietário faz na realidade enquanto está processando seus dados.

Linux - Introdução

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 - Grafico 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…

e 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.

g Estrutura Unix

g Estrutura Unix

g Estrutura Unix

g Estrutura Diretorios

g Estrutura 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

g 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).

g Processos

Comandos Basicos

e Comandos Basicos Formato basico das instrucoes de comando:

e Comandos Basicos

g Comandos Basicos 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 Basicos Filtros Um filtro é um programa que lê seus dados pela entrada padrão e escreve seus resultados pela saída padrão. A shell do UNIX permite que programas do tipo filtro sejam encadeados através de pipes, discutidos adiante. Exemplo O comando sort ordena uma seqüência de linhas de texto lidas da entrada padrão e escreve os dados ordenados na saída padrão: sort

Redirecionamento de Entrada e Saída g Comandos Basicos 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

g Comandos Basicos 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 Basicos Documentacao offline ou online atravez do comando man: man ls man ps man mount man cd man ifconfig

Lista os arquivos de um diretório. COMANDOS 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 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 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 PARA MANIPULAÇÃO DE ARQUIVOS 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 PARA MANIPULAÇÃO DE ARQUIVOS 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 PARA MANIPULAÇÃO DE ARQUIVOS 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 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.

Outros Comandos Básicos 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

Outros Comandos Básicos 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.

Outros Comandos Básicos 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.

Outros Comandos Básicos 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.

Outros Comandos Básicos 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.

Procura por arquivos/diretórios no disco. Outros Comandos Básicos 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.

Procura por um texto dentro de um ou mais arquivo(s). 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.

Permite fazer a paginação de arquivos ou da entrada padrão. 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.

Cria um arquivo em branco. 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.

Retorna informações sobre o sistema. 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. -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 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

Exercícios 1) Escreva como se procede a seqüência de comandos para: a) criar um diretório chamado “teste” dentro do /tmp. b) alterar o nome do diretório para /tmp/meudiretorio e em seguida, c) criar um arquivo vazio, com o nome de meuarquivo dentro deste diretório. R: 2) Qual a sintaxe completa para procurarmos um arquivo chamado DIRCOLORS no sistema? 3) Qual procedimento deve ser feito para podermos ter acesso aos dados de um CD-Rom?

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