Sie sind auf Seite 1von 67

1

Sistemas Operacionais Sistema Operacional Linux

Luiz Arthur

O Linux uma verso gratuita distribuda do primeiro UNIX desenvolvido por Linus Torvalds na Universidade Helsinque na Finlndia em 1991. Foi originalmente desenvolvido a partir do desejo de Linus, em trabalhar com um sistema mais completo que o Minix que era um pequeno sistema Unix criado para fins didticos pelo renomado professor Andrew Tanenbaum. No Linux o Kernel (ncleo , com as funes bsicas do sistema operacional) mais o conjunto de ferramentas GNU compem o Sistema Operacional. O kernel que a base principal de um sistema operacional, poder ser construdo ou moldado de acordo com a configurao do seu computador e dos perifricos que possui. O cdigo fonte do Kernel do Linux liberado e licenciado como Free Software (software livre) o aviso de copyright do Kernel feito por Linus descreve detalhadamente que nem mesmo o prprio Linus Torvalds pode fechar o sistema para ser usado apenas comercialmente. Isto quer dizer que, no necessrio pagar nada para usar o Linux, e no crime fazer cpias para instalar em outros computadores. O Linux segue o padro POSIX que o mesmo usado por sistemas UNIX e suas variantes. Assim, aprendendo o Linux voc no encontrar muita dificuldade em operar um sistema do tipo UNIX, FreeBSD, HPUX, SunOS, etc., bastando apenas aprender alguns detalhes encontrados em cada sistema.

2 Software Livre - GNU

Sistemas Operacionais

Luiz Arthur

O projeto GNU trs o objetivo de desenvolver um sistema operacional Unix-like totalmente livre. Livre se refere liberdade, e no ao preo, isto significa que voc est livre para executar, distribuir, estudar, mudar e melhorar o software. Um sistema Unix-like consiste de muitos programas diferentes. Por exemplo, X Window, TeX, Berkeley network utilities, GNU Emacs, compilador GNU C, GNU C library, Bash, Ghostscript, etc. O projeto GNU no somente o desenvolvimento e a distribuio de alguns softwares livres. O corao do projeto GNU a idia que todo software deve ser livre, e que a liberdade do usurio vale a pena ser defendida. O projeto GNU visa tambm que a idia de liberdade permita que os usurios ajudem-se mutuamente, evoluindo assim o nvel de conhecimento do usurio, bem como, do software. Em 1992, o GNU j havia encontrado ou criado todos os componentes principais do sistema exceto o kernel. Ento o kernel do Linux tornou-se disponvel, mas o kernel do Linux no foi escrito para o projeto GNU, mas o Linux e quase completamente GNU e desta forma fizeram uma combinao til. Ou seja, o GNU precede o Linux. Ironicamente, a popularidade do Linux normalmente desmerece o mtodo de comunicar a idia GNU.

Sistemas Operacionais

Luiz Arthur

Para rodar o Linux necessrio apenas, um computador 386 SX com 2 MB de memria (para um kernel at a srie 2.2.x) ou 4MB (para kernels 2.4 e superiores) e 40MB disponveis em seu disco rgido para uma instalao bsica e funcional. O cdigo fonte aberto do kernel Linux permite que qualquer pessoa veja como o sistema funciona (til para aprendizado), corrija algum problema ou faa alguma sugesto de melhoria. Outro ponto em que o Linux se destaca o suporte oferecido aos dispositivos de ltima gerao, ou ainda aos dispositivos mais antigos (sendo que, a maioria dos dispositivos ultrapassados so suportados pelo Kernel). Este um ponto de tomadas de deciso forte para empresas que desejam manter seus micros em funcionamento e pretendem investir em avanos tecnolgicos com as mquinas que possui. O suporte ao sistema tambm se destaca por ser mais eficiente e rpido do que qualquer programa sistema comercial disponvel no mercado. Existem centenas de consultores especializados espalhados ao redor do mundo. Voc pode se inscrever em listas de discusses e relatar suas dvidas ou alguma falha do Linux, e sua mensagem ser vista por centenas de usurios na Internet e algum desses usurios ir te ajudar ou avisar as pessoas responsveis sobre a falha encontrada para devida correo.

Sistemas Operacionais

Luiz Arthur

Algumas Caractersticas do Linux livre e desenvolvido voluntariamente por programadores experientes, hackers e contribuidores espalhados ao redor do mundo. A contribuio de voluntrios permite a melhoria e crescimento deste sistema operacional; Convive sem nenhum tipo de conflito com outros sistemas operacionais (com o DOS, Windows, OS/2, FreeBSD, etc) no mesmo computador; Multitarefa real; Multiusurio; Suporte a nomes extensos de arquivos e diretrios (255 caracteres); Conectividade e suporte a outros tipos de plataformas como Apple, Sun, Macintosh, Sparc, Alpha, PowerPc, ARM, Unix, Windows, DOS, etc; Proteo entre processos executados na memria RAM; Suporte a mais de 63 terminais virtuais (consoles); Modularizao - O GNU/Linux somente carrega para a memria o que usado durante o processamento, liberando totalmente a memria assim que o programa/dispositivo finalizado;

Sistemas Operacionais

Luiz Arthur

Algumas Caractersticas do Linux Devido a modularizao, os drivers dos perifricos e recursos do sistema podem ser carregados e removidos completamente da memria RAM a qualquer momento; No h a necessidade de se reiniciar o sistema aps a modificar a configurao de qualquer perifrico ou parmetros de rede; No precisa de um processador potente para funcionar. O crescimento e novas verses do sistema (Kernel) no provocam lentido, pelo contrrio, a cada nova verso os desenvolvedores procuram buscar maior compatibilidade, acrescentar recursos teis e melhor desempenho do sistema; No requerida uma licena 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, etc; Utiliza permisses de acesso a arquivos, diretrios e programas em execuo na memria RAM;

Sistemas Operacionais

Luiz Arthur

Algumas Caractersticas do Linux O Linux no vulnervel vrus! Devido a separao de privilgios entre processos e respeitadas as recomendaes padro de poltica de segurana e uso de contas privilegiadas, programas como vrus tornam-se inteis pois tem sua ao limitada pelas restries de acesso do sistema de arquivos e execuo; Rede TCP/IP mais rpida que no rWindows e tem sua pilha de protocolos constantemente melhorada; Roda aplicaes DOS atravs do DOSEMU, QEMU, BOCHS. Roda tambm, aplicaes Windows atravs do WINE; Suporte a diversos dispositivos, tal como: infravermelho, rede via rdio amador, dispositivos Plug-and-Play, USB, Fireware, Wireless, etc; Suporte nativo a firewalls de alta qualidade, com grande poder de segurana e de graa; Roteamento esttico e dinmico de pacotes da rede TCP/IP; Possui recursos para atender a mais de um endereo IP na mesma placa de rede; Entre incontveis outras caractersticas.

Sistemas Operacionais

Luiz Arthur

Distribuies do Linux S o kernel do Linux no suficiente para se ter uma sistema funcional, mas o principal. Existem grupos de pessoas, empresas e organizaes que decidem "distribuir" o Linux junto com outros programas essenciais (como por exemplo editores grficos, planilhas, bancos de dados, ambientes de programao, formatao de documentos, firewalls, etc). Este o significado bsico de distribuio. Cada distribuio tem sua caracterstica prpria, tal como: sistema de instalao, localizao de programas, nomes de arquivos de configurao, etc. A escolha de uma distribuio pessoal e depende das necessidades de cada um. Segue algumas distribuies e sua principais caractersticas: Debian: Distribuio desenvolvida e atualizada atravs do esforo de voluntrios espalhados ao redor do mundo, seguindo o estilo de desenvolvimento GNU/Linux. Por este motivo, foi adotada como a distribuio oficial do projeto GNU. Acompanha mais de 8710 programas distribudos em forma de pacotes. SuSE: Distribuio comercial Alem com coordenao norte-americana.

Sistemas Operacionais

Luiz Arthur

Red Hat Enterprise Linux: Distribuio comercial da Red Hat e voltada a servidores de grande e mdio porte. Fedora: O Fedora Linux a distribuio de desenvolvimento aberto patrocinada pela RedHat e pela comunidade Linux, originada em 2002 e baseada em verses da antiga linha de produtos RedHat Linux, que era distribuio mais utilizada do mundo. A distribuio Fedora d prioridade ao uso do computador como estao de trabalho. Por basear-se no RedHat o Fedora conta com softwares para manter o sistema atualizado e utiliza pacotes de programas no formato RPM. Mandrake & Conectiva: Mandrake (distribuio francesa que se instala praticamente sozinha, boa auto-deteco de perifricos, inclusive web-cams), Conectiva (distribuio brasileira, reconhecida internacionalmente, e era um sistema tipicamente para PC e notebooks, com muitos pacotes de escritrio e desenho e etc. A instalao muito simples e intuitiva, com todo o gerenciamento centralizado. Alm de ter a maioria dos manuais online e traduzidos para o portugus.) Kurumin: Uma distribuio baseada em Debian que roda diretamente a partir do CD, sendo ideal para quem deseja testar uma distribuio Linux. Caso goste, o usurio pode instalar diretamente no disco rgido. Distribuda a partir do CD, suporta boa quantidade de hardwares disponveis. A verso instalada possui suporte a maioria dos winmodens mais encontrados no Brasil.

Sistemas Operacionais

Luiz Arthur

Slackware: Distribuio desenvolvida por Patrick Volkerding, tem como objetivo


para alcanar facilidade de uso e estabilidade. Foi a primeira distribuio a ser lanada no mundo e costuma ser conservadora, provendo simplicidade, facilidade de uso, flexibilidade e altamente estvel. Desde a primeira verso lanada em Abril de 1993, o Projeto Slackware Linux tem buscado produzir a distribuio Linux mais UNIX-like, ou seja, mais parecida com UNIX. O Slackware segue os padres Linux como o Linux File System Standard, que um padro de organizao de diretrios e arquivos para as distribuies. Enquanto as pessoas dizem que a Red Hat, Debian, Kurumin e Mandriva so as melhores distribuio para usurios iniciantes, o Slackware o melhor para usurios mais "experientes", ou seja programadores, administradores, etc. Existem ainda inmeras outras distribuies, tal como, Gentoo, Ubuntu, Knoopix etc. Uma boa dica para se aprofundar no mundo Linux pesquisar e experimentar vrias distribuies, e assim experimentar o melhor de cada uma. A escolha de sua distribuio deve ser feita com muita ateno, no adianta muita coisa perguntar sobre qual a melhor distribuio, e ser levado pelas propagandas. O melhor caminho para a escolha da distribuio, seria perguntar as caractersticas de cada uma e porque as pessoas gostam dela ao invs de perguntar qual a melhor, porque quem lhe responder isto estar usando uma distribuio que se encaixa de acordo com suas necessidades e esta mesma distribuio pode no ser a melhor para lhe atender.

10

Sistemas Operacionais

Luiz Arthur

Ligando o computador com Linux Qualquer computador PC quando ligado inicia uma srie de aes complexas de testes de hardware, programada por um programa especial chamado BIOS que est armazenado em uma memria ROM (Read Only Memory - memria somente para leitura). Est memria tem a funo de dar a partida na mquina, reconhecendo os dispositivos instalados e realizando a carga do sistema operacional. Durante o boot, a BIOS realiza uma srie de testes, cuja funo determinar com exatido os componentes de hardware instalados no sistema. Este teste chamado de POST (Power-On Self Test). atravs do POST que o computador busca informaes sobre o nmero e tipos de placas, drivers de disquetes, HD's, portas seriais, paralelas, USB's, monitor, mouse, teclado, etc, que esto presentes no sistema. Logo depois dos testes de hardware, a BIOS procura nos dispositivos de discos rgidos, disquetes e CD-ROM um endereo especial chamado de setor de boot. O setor de boot de um disquete est localizado no cilindro 0, cabea 0, setor 1. Este setor criado por um programa de formatao de disquetes. no setor de boot que reside o software responsvel por iniciar a carga do sistema operacional.

11

Sistemas Operacionais

Luiz Arthur

O Linux possui dois gerenciadores de boot, o LILO (LInux LOader) e o GRUB (Grand Unified Bootloader). Estes dois gerenciadores de boot so responsveis pela carga do Kernel do Linux e tambm pela a carga de outros Sistemas Operacionais, tal como Windows, FreeBSD, etc. A instalao, configurao, gerenciamento e passagens de parmetros para os gerenciadores de boot (LILO e GRUB) sero apresentados posteriormente. Por enquanto a idia somente aprender a ligar o computador e escolher o Sistema Operacional. A figura a seguir apresenta tela do LILO:

Note o balo vermelho. Neste passado ao LILO qual a opo de boot que o usurio deseja. Neste caso o Linux, mas poderia ser outro SO como o Windows. Aps escolher opo basta teclar ENTER e o SO Linux ir ser carregado na memria.

12

Sistemas Operacionais

Luiz Arthur

Processo de Carga do kernel O kernel a parte mais importante de qualquer sistema operacional. Considerado o ncleo do sistema, ele responsvel pelas funes de baixo nvel, como o gerenciamento de memria, gerenciamento de processos, subsistemas de arquivos, rede suporte aos dispositivos e perifricos conectados ao computador. Assim quando o sistema iniciado o gerenciador de boot (LILO ou GRUB) ir carregar na memria um kernel, no qual est contido as funes bsicas de um Sistema Operacional. Enquanto o Kernel carregado na inicializao do sistema, ele exibe uma srie de mensagens teis que iro informar a sua identificao, informaes de CPU e memria, dispositivos de hardware, discos, parties,servios de rede, etc. Durante o processo de boot o Linux executa diversos processos em uma ordem programada, chamada de nvel de execuo, ou Runlevels. Este nvel de execuo vai determinar quais servios sero executados durante a carga. Por exemplo, pode-se definir que um determinado nvel vai chamar todos os servios que um servidor de rede precisa executar, como SSH, servidor HTTP, servidor FTP, etc. Mas para uma situao de emergncia, na qual o administrador precisa efetuar alguma manuteno, podemos determinar um nvel de execuo no qual somente o bsico seja executado.

13

Sistemas Operacionais

Luiz Arthur

No Linux existem sete nveis de execuo predefinidos, de 0 6. Os servios que cada runlevel pode executar vai depender da distribuio do Linux e da configurao que o administrador do sistema efetuou. Por padro, as distribuies utilizam o nvel 0 para uma seqncia de desligamento (shutdown) elegante e o nvel 6 para o reboot (reiniciar o sistema). E os runlevels 3 a 5 so utilizados para carga normal do sistema. A figura a seguir mostra um processo de boot no Slackware Linux:

Est uma tela tpica de um sistema operacional Linux sendo iniciado. No balo vermelho est o nvel em que vai ser iniciado o sistema. Neste caso o runlevel 3.

14

Sistemas Operacionais

Luiz Arthur

O nvel de execuo 1 (runlevel 1) conhecido como monousurio, e utilizado para a manuteno do sistema, como, por exemplo, recuperar uma partio de dados com problemas. O administrador do sistema pode especificar no gerenciador de boot (LILO e GRUB) o runlevel que ele deseja: LILO: Linux 1 Onde Linux o nome da imagem do kernel. Veja as definies de runlevels a seguir: 0 O nvel zero define um desligamento elegante e rpido do sistema. 1,s,single Utilizado para manuteno do sistema, tambm chamado de monousurio (single user) e somente o essencial executado. 2 Modo multiusurio com compartilhamento de arquivo de rede (NFS) desabilitado. 3 Modo multiusurio com todos os servios habilitados, mas sem interface grfica para o login do sistema. 4 Modo grfico no Slackware idem ao modo 5, normalmente no usado em outras distribuies. 5 Modo multiusurio com todos os servios habilitados, interface grfica X11 e login em modo grfico. 6 O nvel seis parecido com o nvel zero, mas executa o reboot da mquina.
Por conveno tudo que estivem com fonte courier um comando, parmetro ou sada do computador.

15

Sistemas Operacionais

Luiz Arthur

Entrando no Sistema - Login Assim que o boot fizer a sua parte. O usurio escolher o Kernel e o nvel de execuo. O Linux ir apresentar uma tela de login, ou seja, uma tela requerendo um nome de usurio do sistema e sua respectiva senha (palavra secreta que somente o usurio deve saber). No Linux e em sistemas Like-UNIX sempre requerido um usurio e senha para utilizar o Sistema Operacional. O que proporciona segurana. A seguir telas de login que normalmente so apresentadas pelo Linux:
Aqui est um login em modo texto (runlevels 1, 2 e 3). Conforme apresentado no balo vermelho s informar no login o nome do usurio e no campo Password a senha do mesmo usurio. Observao a senha aparece enquanto digitada! no

Se o usurio e senha estiverem corretos um prompt de comando ir aparecer.

16

Sistemas Operacionais

Luiz Arthur

O login pode tambm ser grfico, caso o runlevel seja passado como 4 (no Slackware) ou 5 (em outras distribuies). Porm, o principio o mesmo devem ser passados usurio e senha.

Algumas distribuies permitem que o Linux seja iniciado j com um ambiente grfico sem a necessidade de se digitar um usurio e uma senha, entretanto mesmo nestes ambientes existe um usurio, s que no lhe requisitado a senha e o login feito de forma automtica.

17

Sistemas Operacionais

Luiz Arthur

Interpretador de comandos Tambm conhecido como "shell". o programa responsvel em interpretar as instrues enviadas pelo usurio e seus programas ao sistema operacional. a principal ligao entre o usurio, os programas e o kernel. O GNU/Linux possui diversos tipos de interpretadores de comandos, entre eles destaca-se o bash, ash, csh, tcsh, sh, etc. O mais usado o bash. O interpretador de comandos do DOS/Windows, por exemplo, o command.com. Aviso de comando (Prompt) Aviso de comando (ou Prompt), a linha mostrada na tela para digitao de comandos que sero passados ao interpretador de comandos para sua execuo. A posio no qual o comando ser digitado marcado por um "trao" piscante na tela, chamado de cursor. Tanto em shells texto como em grficos necessrio o uso do cursor para sabermos onde iniciar a digitao de textos e nos orientarmos quanto a posio na tela. O aviso de comando do usurio root (usurio administrador) identificado por uma "#" (tralha), e o aviso de comando de usurios identificado pelo smbolo "$". Isto padro em sistemas UNIX.

18

Sistemas Operacionais

Luiz Arthur

Segue uma tela com o prompt de comando do Linux:

No balo verde apresentado o uso do prompt de comando atravs do comando dir /, sua sada dada logo abaixo (em azul). J no balo vermelho apresentado o prompt de comando esperando por um comando.

Em ambientes grficos, o cursor em modo texto substitudo por comando representados por cones, entretanto comum, mesmo em sistemas grficos usar ambientes que recriam um prompt de comando no modo texto, um exemplo disso o konsole, xterm, etc. Os recursos dos shells e dos promts de comandos sero estudados a fundo, mais a diante.

19

Sistemas Operacionais

Luiz Arthur

Desligando o computador O computador no deve ser desligado de forma bruta, com o interrompimento de energia antes de desligar o computador necessrio retirar os processos que esto na memria, caso isso no ocorra pode haver perdas de dados. Desta forma so utilizados alguns comandos para que tudo transcorra bem durante o processo de desligamento do computador. Normalmente o nico usurio que tem permisso de desligar o computador o usurio root, que o administrador do sistema, o root tem permisso de fazer qualquer coisa no computador, qualquer coisa mesmo inclusive apagar tudo o que existe no computador, por isso tome muito cuidado quanto estiver usando este usurio. O comando mais comum para se desligar um sistema Linux o shutdown. Com o comando shutdown, o GNU/Linux finalizar os programas e gravar os dados em seu disco rgido, e quando for mostrada a mensagem "power down", ser possvel pressionar o boto power (energia) em seu gabinete para desligar a alimentao de energia do computador de forma segura. Em computadores mais recentes com gabinetes ATX, a energia ser desligada de forma automtica, sem a necessidade de apertar o boto de power.

20

Sistemas Operacionais

Luiz Arthur

Ento o comando shutdown exerce a tarefa de desligar o computador, mas o comando faz mais do que isso, tal como, reiniciar o computador. Porm para que o shutdown realize os procedimentos necessrios o comando faz o uso de opes e parmetros, a sintaxe do comando fica assim: #shutdown [opes] horrio [mensagem] As opes mais freqentes so: -r Reinicia (reboot) o sistema depois de terminada a seqncia de desligamento. -h Paralisa (halt) o sistema depois de terminar a seqncia de desligamento, no reinicia a mquina s a desliga. -k Manda a mensagem de desligamento, mas no inicia a seqncia de desligamento. -c Cancela o comando shutdown recm executado. Exemplos: Para reiniciar o sistema imediatamente: #shutdown -r now Para desligar o sistema em 90 minutos: #shutdown -h +90 Desligando o SO em 90 minutos, para troca de hardware Para desligar o sistema imediatamente: #shutdown -h now

21

Sistemas Operacionais

Luiz Arthur

O comando shutdown utilizado para desligar ou reiniciar o sistema em horrios determinados. Durante este procedimento, o shutdown desabilita o sistema de login para impedir que novos usurios entrem no sistema e envie mensagens personalizadas nos terminais para todos os usurios conectados avisando que o sistema ser desligado. A diferena entre trocar de runlevel para 0 ou 6 que o comando shutdown administrativamente melhor, pois avisa aos usurios que haver uma parada do sistema. J para o init no h nenhum tipo de aviso. Existem outros comandos que fazem o desligamento do sistema, so eles: porweroff, halt e init 0. J se o caso for apenas reiniciar o sistemas os comando mais comuns so: reboot, init 6, e com o uso das teclas Ctrl+Alt+Del (todas pressionadas ao mesmo tempo). Para o desligamento de computadores mais recentes possvel ainda pressionar apenas o boto do power, e o sistema ir chamar o init 0 e desligar o computador corretamente, tome cuidado para no fazer o uso do boto power direto em sistemas que no do suporte ao desligamento automtico.

22 Atividade 1

Sistemas Operacionais

Luiz Arthur

1.1 Inicie o computador passando como parmetro no LILO o runlevel 3. 1.2 Desligue o computador utilizando o comando shutdown com opo de desligar em 2 minutos aps a execuo do comando shutdown, passando ainda uma mensagem aos usurios. 1.3 No gerenciador de boot inicie o Linux com suporte ao login grfico. 1.4 Pesquise e teste s principais formas de se desligar e reiniciar um sistema Linux. 1.5 Para que serve o nvel de execuo single durante a inicializao de um sistema Like-UNIX? 1.6 Pesquise sobre o gerenciador de boot GRUB, descrevendo suas principais caractersticas, e como possvel passar ao GRUB os runlevels. 1.7 Quais so as diferenas entre LILO e GRUB? 1.8 Como possvel ler as mensagens de inicializao do sistema depois que o linux foi iniciado? Onde, ficam gravadas essas mensagens?

23 Arquivos

Sistemas Operacionais

Luiz Arthur

Os Arquivos so onde ficam gravamos nossos dados. Um arquivo pode conter um texto, uma msica, programa, planilha, etc. Cada arquivo deve ser identificado por um nome, assim um arquivo pode ser encontrado facilmente quando desejar us-lo. Se estiver fazendo um trabalho de histria, nada melhor que salv-lo com o nome historia. Um arquivo pode ser binrio (gerado por um compilador) ou texto (arquive que contm apenas texto). O GNU/Linux Case Sensitive ou seja, ele diferencia letras maisculas e minsculas nos arquivos. O arquivo historia completamente diferente do arquivo Historia. Esta regra tambm vlido para os comandos e diretrios. Um arquivo oculto no GNU/Linux identificado por um "." no inicio do nome (por exemplo, .bashrc). Arquivos ocultos no aparecem em listagens normais de diretrios e arquivos, e deve ser usado o comando ls -a para listar tambm arquivos ocultos.

24 Extenso de arquivos

Sistemas Operacionais

Luiz Arthur

A extenso serve para identificar o tipo do arquivo. A extenso so as letras aps um "." no nome de um arquivo, explicando melhor: relatrio.txt - O .txt indica que o contedo um arquivo texto. script.sh - Arquivo de Script (interpretado por /bin/sh). system.log - Registro de algum programa no sistema. arquivo.gz - Arquivo compactado pelo utilitrio gzip. index.html - Pgina de Internet (formato Hypertexto). A extenso de um arquivo tambm ajuda a saber o que precisamos fazer para abrilo. Por exemplo, o arquivo relatrio.txt um texto simples e podemos ver seu contedo atravs do comando cat, j o arquivo index.html contm uma pgina de Internet e precisaremos de um navegador para poder visualiz-lo (como o lynx, Mosaic ou o Netscape). A extenso (na maioria dos casos) no requerida pelo sistema operacional GNU/Linux, mas conveniente o seu uso para determinarmos facilmente o tipo de arquivo e que programa precisaremos usar para abri-lo.

25 Tamanho de arquivos

Sistemas Operacionais

Luiz Arthur

A unidade de medida padro nos computadores o bit. A um conjunto de 8 bits d-se o nome de byte. Cada arquivo/diretrio possui um tamanho, que indica o espao que ele ocupa no disco e isto medido em bytes. O byte representa uma letra (a, b, c, d, etc). Assim, se voc criar um arquivo vazio e escrever o nome Linux e salvar o arquivo, este ter o tamanho de 5 bytes. Espaos em branco e novas linhas tambm ocupam bytes. Alm do byte existem as mdidas Kbyte, Mbyte, Gbyte. Os prefixos K (quilo), M (mega), G (giga), T (tera) etc. vem da matemtica. O "K" significa multiplicar por 10^3, o "M" por 10^6, e assim por diante. Esta letras servem para facilitar a leitura em arquivos de grande tamanho. Um arquivo de 1K a mesma coisa de um arquivo de 1024 bytes. Da mesma forma 1Mb (ou 1M) igual a um arquivo de 1024K ou 1.048.576 bytes. 1Gb (ou 1G) igual a um arquivo de 1024Mb ou 1048576Kb ou 1.073.741.824 bytes (1 Gb igual a 1.073.741.824 bytes, so muitos nmeros!). Deu para notar que mais fcil escrever e entender como 1Gb do que 1.073.741.824 bytes.

26

Sistemas Operacionais

Luiz Arthur

A lista completa em ordem progressiva das unidades de medida a seguinte:


Smbolo K M G T P E Z Y Nome Quilo Mega Giga Tera Peta Eta Zetta Yotta

Arquivo texto e binrio Quanto ao tipo (contedo), um arquivo pode ser de texto ou binrio: texto: Seu contedo compreendido pelas pessoas. Um arquivo texto pode ser uma carta, um script, um programa de computador escrito pelo programador, arquivo de configurao, etc. Binrio: Seu contedo somente pode ser entendido por computadores. Contm caracteres incompreensveis para pessoas normais. Um arquivo binrio gerado atravs de um arquivo de programa (formato texto) atravs de um processo chamado de compilao. Compilao basicamente a converso de um programa em linguagem humana para a linguagem de mquina.

27 Diretrio

Sistemas Operacionais

Luiz Arthur

Diretrio o local utilizado para armazenar conjuntos arquivos para melhor organizao e localizao. O diretrio pode ser visto como um arquivo que contm referencias a um grupo de arquivos. O diretrio, como o arquivo, tambm "Case Sensitive" (diretrio /teste completamente diferente do diretrio /Teste).

No podem existir dois arquivos com o mesmo nome em um diretrio, ou um subdiretrio com um mesmo nome de um arquivo em um mesmo diretrio. Um diretrio nos sistemas Linux/UNIX so especificados por uma "/" e no uma "\" como feito no DOS/Windows. Diretrio Raz O diretrio / (chamado de root ou raiz) o diretrio principal do sistema. Dentro dele esto todos os diretrios do sistema. O diretrio Raz representado por uma "/", assim se voc digitar o comando cd / voc estar acessando este diretrio. Nele esto localizados outros diretrios como o /bin, /sbin, /usr, /usr/local, /mnt, /tmp, /var, /home, etc. Estes so chamados de sub-diretrios pois esto dentro do diretrio "/". A estrutura de diretrios tambm chamada de rvore de Diretrios porque parecida com uma rvore de cabea para baixo.

28

Sistemas Operacionais

Luiz Arthur

Cada diretrio do sistema tem seus respectivos arquivos que so armazenados conforme regras definidas pela FHS (FileSystem Hierarchy Standard - Hierarquia Padro do Sistema de Arquivos) verso 2.0, definindo que tipo de arquivo deve ser armazenado em cada diretrio. Diretrio atual o diretrio em que nos encontramos no momento. Voc pode digitar o comando pwd para verificar qual seu diretrio atual. O diretrio atual tambm identificado por um "." (ponto). O comando ls . pode ser usado para listar seus arquivos (mas, isto desnecessrio porque se no digitar nenhum diretrio, o comando ls listar o contedo do diretrio atual). Diretrio home Tambm chamado de diretrio do usurio. Em sistemas GNU/Linux cada usurio (inclusive o root) possui seu prprio diretrio no qual poder armazenar seus programas e arquivos pessoais. Este diretrio est localizado em /home/[login], neste caso se o seu login for "joao" o seu diretrio home ser /home/joao. O diretrio home tambm identificado por um ~(til), voc pode digitar tanto o comando ls /home/joao como ls ~ para listar os arquivos de seu diretrio home. O diretrio home do usurio root (na maioria das distribuies GNU/Linux) est localizado em /root.

29 Diretrio Superior

Sistemas Operacionais

Luiz Arthur

O diretrio superior (upper directory) identificado por .. (2 pontos). Caso estiver no diretrio /usr/local e quiser listar os arquivos do diretrio /usr voc pode digitar, ls .. este recurso tambm pode ser usado para copiar, mover arquivos/diretrios, etc. Diretrio Anterior O diretrio anterior identificado por "-". til para retornar ao ltimo diretrio usado. Se voc estiver no diretrio /usr/local e digitar cd /lib, voc pode retornar facilmente para o diretrio /usr/local usando cd -.

30

Sistemas Operacionais

Luiz Arthur

Estrutura bsica de diretrios do Sistema Linux O sistema GNU/Linux possui a seguinte estrutura bsica de diretrios organizados segundo o FHS: /bin Contm arquivos de programas do sistema que so usados com freqncia pelos usurios. Contm arquivos necessrios para a inicializao do sistema. Ponto de montagem da unidade de CD-ROM.

/boot

/mnt/cdrom /dev

Contm arquivos usados para acessar dispositivos (perifricos) existentes no computador. Arquivos de configurao do computador local. Ponto de montagem de unidade de disquetes

/etc

/mnt/floppy /home /lib

Diretrios contendo os arquivos dos usurios. Bibliotecas compartilhadas pelos programas do sistema e mdulos do Kernel.

31 /lost+found

Sistemas Operacionais

Luiz Arthur

Local para a gravao de arquivos/diretrios recuperados pelo utilitrio fsck. Cada partio possui seu prprio diretrio lost+found. Ponto de montagem temporrio.

/mnt

/proc Sistema de arquivos do Kernel. Este diretrio no existe em seu disco rgido, ele colocado l pelo kernel e usado por diversos programas que fazem sua leitura, verificam configuraes do sistema ou modificar o funcionamento de dispositivos do sistema atravs da alterao em seus arquivos. /root /sbin Diretrio do usurio root. Diretrio de programas usados pelo superusurio (root) para administrao e controle do funcionamento do sistema. Diretrio para armazenamento de arquivos temporrios criados por programas. Contm maior parte de seus programas. Normalmente acessvel somente como leitura. Contm maior parte dos arquivos que so gravados com freqncia pelos programas do sistema, e-mails, spool de impressora, cache, etc.

/tmp

/usr

/var

32

Sistemas Operacionais

Luiz Arthur

Nomeando Arquivos e Diretrios No GNU/Linux, os arquivos e diretrios pode ter o tamanho de at 255 letras. Voc pode identifica-lo com uma extenso (um conjunto de letras separadas do nome do arquivo por um "."). Os programas executveis do GNU/Linux, ao contrrio dos programas de DOS/Windows, no so executados a partir de extenses .exe, .com ou .bat. O GNU/Linux (como todos os sistemas POSIX) usa a permisso de execuo de arquivo para identificar se um arquivo pode ou no ser executado.

Comandos
Comandos so ordens que passamos ao sistema operacional para executar uma determinada tarefa. Cada comando tem uma funo especfica, devemos saber a funo de cada comando e escolher o mais adequado para fazer o que desejamos, por exemplo: ls cd Mostra arquivos e diretrios Para mudar de diretrio

sempre usado um espao depois do comando para separ-lo de uma opo ou parmetro que ser passado para o processamento.

33

Sistemas Operacionais

Luiz Arthur

Um comando pode receber opes e parmetros: Opes As opes so usadas para controlar como o comando ser executado, por exemplo, para fazer uma listagem mostrando o dono, grupo, tamanho dos arquivos voc deve digitar ls -l. Opes podem ser passadas ao comando atravs de um "-" ou "--":

Opo identificada por uma letra. Podem ser usadas mais de uma opo com um nico hfen. O comando ls -l -a a mesma coisa de ls -la.

--

Opo identificada por um nome. O comando ls --all equivalente a ls -a. Pode ser usado tanto "-" como "--", mas h casos em que somente "-" ou "--" esta disponvel.

34 Parmetros

Sistemas Operacionais

Luiz Arthur

Um parmetro identifica o caminho, origem, destino, entrada padro ou sada padro que ser passada ao comando. Se voc digitar: ls /usr/doc, o /usr/doc ser o parmetro passado ao comando ls, neste caso queremos que ele liste os arquivos do diretrio /usr/doc. normal errar o nome de comandos, mas no se preocupe, quando isto acontecer o sistema mostrar a mensagem command not found (comando no encontrado) e voltar ao aviso de comando. As mensagens de erro no fazem nenhum mal ao seu sistema, somente dizem que algo deu errado para que voc possa corrigir e entender o que aconteceu. Os comandos se encaixam em duas categorias: Comandos Internos e Comandos Externos.

35 Comandos Internos

Sistemas Operacionais

Luiz Arthur

So comandos que esto localizados dentro do interpretador de comandos (normalmente o Bash) e no no disco. Eles so carregados na memria RAM do computador junto com o interpretador de comandos. Quando executado um comando, o interpretador de comandos verifica primeiro se ele um Comando Interno caso no seja verificado se um Comando Externo. Exemplos de comandos internos so: cd, exit, echo, bg, fg, etc. Comandos Externos So comandos que esto localizados no disco. Os comandos so procurados no disco usando o path (caminho/diretrio no qual se encontra o comando) e executados assim que encontrados.

36

Sistemas Operacionais

Luiz Arthur

Terminal Virtual (console) Terminal (ou console) o teclado e tela conectados em seu computador. O GNU/Linux faz uso de sua caracterstica multi-usuria usando os "terminais virtuais". Um terminal virtual uma segunda seo de trabalho completamente independente de outras, que pode ser acessada no computador local ou remotamente via telnet, rsh, rlogin, etc. No GNU/Linux, em modo texto, voc pode acessar outros terminais virtuais segurando a tecla ALT e pressionando F1 a F6. Cada tecla de funo corresponde a um nmero de terminal do 1 ao 6 (o stimo usado por padro pelo ambiente grfico X). O GNU/Linux possui mais de 63 terminais virtuais, mas apenas 6 esto disponveis inicialmente por motivos de economia de memria RAM (cada terminal virtual ocupa aproximadamente 350 Kb de memria RAM, ento desative a quantidade que no estiver usando para liberar memria RAM para uso de outros programas!). Se estiver usando o modo grfico, voc deve segurar CTRL+ALT enquanto pressiona uma tela de <F1> a <F6>. Um exemplo prtico: Se voc estiver usando o sistema no Terminal 1 com o nome "joao" e desejar entrar como "root" para instalar algum programa, segure ALT enquanto pressiona <F2> para abrir o segundo terminal virtual e faa o login como "root". Ser aberta uma nova seo para o usurio "root" e voc poder retornar a hora que quiser para o primeiro terminal pressionando ALT+<F1>.

37 Logout

Sistemas Operacionais

Luiz Arthur

Logout o processo de sada do sistema, sem desligar, somente retira um usurio logado (que fez o processo de login) no sistema. A sada do sistema feita pelos comandos logout, exit, das teclas CTRL+D, ou quando o sistema reiniciado ou desligado. Sempre que um usurio entra no sistema ele faz o processo de login (passando usurio e senha), porm quando por algum motivo o usurio for se distanciar do computador aconselhvel que o usurio faa o processo de logout, isto ocorre normalmente por motivos de segurana, caso contrrio algum pode, por exemplo, se apoderar de seu usurio e senha! Ateno, nunca em hiptese alguma deixe um usurio com login aberto, sempre faa o logout principalmente se este usurio for o root. Caso algum encontre o usurio root logado no sistema e com um terminal virtual aberto fica extremamente fcil apoderar-se de todo o sistema, desta forma, no adianta encher seu sistema computacional com medidas de segurana (firewall, VPNs, etc) sendo que os administradores deixam o login do usurio root a disposio de qualquer pessoa.

38 Bem agora sabemos:


Sistemas Operacionais

Luiz Arthur

Como iniciar o Linux com o LILO; Que existem nveis de inicializao; Que necessrio aps iniciar o sistema o processo de login; Acessar shells/consoles/terminais; Que existem comando e esses contm opes e parmetros; Existem arquivos e diretrios; Fazer logouts; E por fim, desligar e ligar a mquina.

Assim, iremos nos aprofundar em como administrar um sistema Linux, aprofundando os conhecimentos sobre este sistema operacional.

39

Sistemas Operacionais

Luiz Arthur

Gerenciamento de Arquivos A necessidade de guardar informaes em objetos que pudessem ser acessados posteriormente de uma forma organizada vem de longe nos sistemas operacionais. Para isso foram criados os sistemas de arquivos. Nos sistemas de arquivos, de modo geral, os objetivos so organizar de forma hierrquica os arquivos (informaes) do sistema. Todos os dados (arquivos e diretrios) so armazenados em sistemas de arquivos. Um sistema de arquivo pode ser visto como um padro de como os arquivos sero gravados, armazenados, acessados, etc. Um sistema de arquivos criado durante o processo de formatao da unidade de armazenamento, existem vrios tipos de sistema de arquivos (ext2, ext3, reiselfs, ntfs, fat32, fat16, etc). Sistemas de arquivos sero abordados posteriormente. A identificao dos objetos de um sistema de arquivo no Linux conhecida como inode. Ele carrega as informaes de onde o objeto est localizado no disco, informaes de segurana, data e hora de criao e ltima modificao, dentre ourtas. Quando criamos um sistema de arquivo no Linux, cada dispositivo tem um nmero finito de inodes que ser diretamente proporcional ao nmero de arquivos que este dispositivo poder acomodar.

40

Sistemas Operacionais

Luiz Arthur

O sistema de arquivos Linux semelhante a uma rvore de cabea para baixo. No topo da hierarquia do Linux existe um diretrio raiz nomeado simplesmente de root e identificado com o sinal /. Ateno, no confunda diretrio raiz (root) com o superusurio root. A estrutura do sistema de arquivo Linux definida por um padro de mercado chamado FHS. As distribuies no so obrigadas a seguir este padro, mas elas entendem a importncia da localizao dos arquivos e diretrios padronizados.

bin / boot proc dev usurio1 home opt mnt lib etc

usurio2

41

Sistemas Operacionais

Luiz Arthur

Gerenciamento Bsico de Arquivos Veremos agora alguns comandos para iniciarmos nossa atividade em um ambiente Linux, a maioria deles comum a qualquer UNIX, independente do fornecedor ou distribuio. - Listando o contedo de diretrios O comando ls (list listar) lista o contedo dos diretrios que informamos como destino (alvo). Podemos utilizar o comando ls acompanhado ou no das opes de listagem. O retorno do comando ls depender das opes fornecidas, porm ser sempre uma listagem dos arquivos, diretrios, links simblicos (symbolic link) e links fiscos (hard links) de um diretrio qualquer. Exemplo:

O $ ou o # na frente na linha simboliza o prompt de comando e no faz parte de forma alguma do comando, assim o comando apenas ls e no $ ls. No digite $ ou # no comando!!!
sys tmp usr var

$ ls /
bin boot dev etc home lib mnt opt proc root sbin

O comando ls tm a seguinte sintaxe: $ ls [opes] [caminho/arquivo] [caminho1/arquivo1] ...

42 onde:

Sistemas Operacionais

Luiz Arthur

caminho/arquivo = Diretrio/arquivo que ser listado. caminho1/arquivo1 = Outro Diretrio/arquivo que ser listado. Assim, podem ser feitas vrias listagens de uma s vez. Opes do comando ls -a, --all
Opes em negrito so importantes e as opes em negrito e sublinhadas so igualmente importantes e muito utilizadas.

Lista todos os arquivos (inclusive os ocultos) de um diretrio.

-A, --almost-all Lista todos os arquivos (inclusive os ocultos) de um diretrio, exceto o diretrio atual e o de nvel anterior. -B, --ignore-backups No lista arquivos que terminam com ~ (Backup). --color=PARAM Mostra os arquivos em cores diferentes, conforme o tipo de arquivo. PARAM pode ser: never - Nunca lista em cores (mesma coisa de no usar o parmetro --color). always - Sempre lista em cores conforme o tipo de arquivo. auto - Somente colore a listagem se estiver em um terminal.

43

Sistemas Operacionais

Luiz Arthur

-d, --directory Lista os nomes dos diretrios ao invs do contedo. -f No classifica a listagem. -F Insere um caracter aps arquivos executveis ('*'), diretrios ('/'), soquete ('='), link simblico ('@') e pipe ('|'). Seu uso til para identificar de forma fcil tipos de arquivos nas listagens de diretrios. -G, --no-group Oculta a coluna de grupo do arquivo. -h, --human-readable Mostra o tamanho dos arquivos em Kbytes, Mbytes, Gbytes. -H Faz o mesmo que -h, mas usa unidades de 1000 ao invs de 1024 para especificar Kbytes, Mbytes, Gbytes. -l Usa o formato longo para listagem de arquivos. Lista as permisses, data de modificao, donos, grupos, etc. -n Usa a identificao de usurio e grupo numrica ao invs dos nomes. -L, --dereference Lista o arquivo original e no o link referente ao arquivo. -o Usa a listagem longa sem os donos dos arquivos (mesma coisa que -lG).

44

Sistemas Operacionais

Luiz Arthur

-p Mesma coisa que -F, mas no inclui o smbolo '*' em arquivos executveis. Esta opo tpica de sistemas Linux. -R Lista diretrios e sub-diretrios recursivamente. --full-time Lista data e hora completa. Classificao da listagem A listagem pode ser classificada usando-se as seguintes opes: -f -r -c -X -U No classifica, e usa -au para listar os arquivos. Inverte a ordem de classificao. Classifica pela data de alterao. Classifica pela extenso. No classifica, lista os arquivos na ordem do diretrio.

Uma listagem feita com o comando ls -la normalmente mostrada da seguinte maneira: -rwxr-xr-1 gleydson user 8192 nov 4 16:00 teste

45

Sistemas Operacionais

Luiz Arthur

As explicaes de cada parte da sada do comando ls: -rwxr-xr-So as permisses de acesso ao arquivo teste. A primeira letra (da esquerda) identifica o tipo do arquivo, se tiver um d um diretrio, se tiver um "-" um arquivo normal. Se for um diretrio, mostra a quantidade de sub-diretrios existentes dentro dele. Caso for um arquivo, ser 1. Nome do dono do arquivo teste. Nome do grupo que o arquivo teste pertence. Tamanho do arquivo (em bytes). Ms da criao/ ltima modificao do arquivo. Dia que o arquivo foi criado. Hora em que o arquivo foi criado/modificado. Se o arquivo foi criado h mais de um ano, em seu lugar mostrado o ano da criao do arquivo. Nome do arquivo.

gleydson user 8192 nov 4 16:00

teste

46

Sistemas Operacionais

Luiz Arthur

Exemplos com as opes ls mais utilizadas: Para se ter uma listagem detalhada do diretrio atual: $ ls -l total 0 drwx------

2 aula users 176 2006-03-19 16:51 Desktop

Uma listagem de todos os arquivos inclusive os ocultos: $ ls -a


. .. .bash_history Desktop .dmrc .ICEauthority .kde .kderc .local .mcop .mcoprc .qt .screenrc .ssh .Xauthority .xsession-errors

Listar os arquivos arquivos do diretrio raiz por ordem de alterao: $ ls -c /


tmp etc dev sys proc usr opt home boot root var bin sbin mnt lib

Listar pela ordem da alterao inversa: $ ls -cr /


lib mnt sbin bin var root boot home opt usr proc sys dev etc tmp

ou $ ls -c -r /
lib mnt sbin bin var root boot home opt usr proc sys dev etc tmp

47

Sistemas Operacionais

Luiz Arthur

O comando ls assim como a maioria dos comandos possui a opo --help, que normalmente exibe: sintaxe do comando, opes, parmetros, dente outros. Exemplo, de uma sada resumida do ls com opo --help: $ ls --help
Uso: ls [OPO]... [ARQUIVO]... List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuSUX nor --sort. Argumentos obrigatrios para opes longas tambm o so para opes curtas -a, --all do not hide entries starting with . -A, --almost-all do not list implied . and .. --author print the author of each file . . . -X sort alphabetically by entry extension -1 list one file per line --help display this help and exit --version output version information and exit SIZE may be (or may be an integer optionally followed by) one of following: kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. By default, color is not used to distinguish types of files. That is equivalent to using --color=none. Using the --color option without the optional WHEN argument is equivalent to using --color=always. With --color=auto, color codes are output only if standard output is connected to a terminal (tty). Comunicar `bugs' para <bug-coreutils@gnu.org>.

48 cd

Sistemas Operacionais

Luiz Arthur

O comando cd utilizado para entrar em um diretrio. preciso ter a permisso de execuo para entrar em um diretrio. cd [diretrio] onde: diretrio o nome/caminho do diretrio que deseja-se entrar. Exemplos: Usando o comando cd sem parmetros ou cd ~, voc ir ao seu diretrio de usurio (localizado no diretrio /home). cd / retornar ao diretrio raz. cd retornar ao diretrio anteriormente acessado. cd .. sobe um diretrio, ou seja, onde voc esta um nvel mais prximo do /. cd ../[diretrio] sobe um diretrio e entra imediatamente no prximo (por exemplo, quando voc est em /usr/sbin, voc digita cd ../bin, o comando cd retorna um diretrio (/usr) e entra imediatamente no diretrio bin (/usr/bin). cd /usr/doc entra no diretrio /usr/doc. cd /tmp entra no diretrio /tmp.

49 pwd

Sistemas Operacionais

Luiz Arthur

O comando pwd mostra o nome e caminho do diretrio atual, que o usurio se encontra. Voc pode usar o comando pwd para verificar em qual diretrio se encontra caso seu aviso de comandos (no prompt) no mostre isso. Exemplo: aula@darkstar$ pwd /usr/doc O comando pwd muito til para ajudar o usurio a se localizar quando este faz muitas entradas e sadas dos diretrios e subdiretrios com o comando cd. Um bom conselho sempre passar como parmetro a comandos o caminho inteiro onde se encontra o diretrio no qual se deseja chegar e no ir entrando um por um. Exemplo, utilizar: $ cd /usr/doc ao invs de: $ cd /usr $ cd doc

50 mkdir

Sistemas Operacionais

Luiz Arthur

O comando mkdir cria um diretrio no sistema. Um diretrio usado para armazenar arquivos ou outros diretrios. O diretrio pode ser entendido como uma pasta onde voc guarda seus papeis (arquivos). Como uma pessoa organizada, voc utilizar uma pastas para guardar cada tipo de documento, da mesma forma voc pode criar um diretrio vendas para guardar seus arquivos relacionados com vendas naquele local. mkdir [opes] [caminho/diretrio] [caminho1/diretrio1] onde: caminho o caminho onde o diretrio ser criado. diretrio o nome do diretrio que ser criado. opes: --verbose Mostra uma mensagem para cada diretrio criado. As mensagens de erro sero mostradas mesmo que esta opo no seja usada. Para criar um novo diretrio, voc deve ter permisso de gravao. Por exemplo, para criar um diretrio em /tmp com o nome de teste que ser usado para gravar arquivos de teste, voc deve usar o comando "mkdir /tmp/teste". Podem ser criados mais de um diretrio com um nico comando (mkdir /tmp/teste /tmp/teste1 /tmp/teste2).

51 rmdir

Sistemas Operacionais

Luiz Arthur

O rmdir remove um diretrio do sistema. Este comando faz exatamente o contrrio do mkdir. O diretrio a ser removido deve estar vazio e voc deve ter permisso de gravao para remove-lo. rmdir [caminho/diretrio] [caminho1/diretrio1] onde: caminho o caminho do diretrio que ser removido. diretrio Nome do diretrio que ser removido. Para remover um diretrio necessrio que esteja-se um nvel acima do diretrio(s) que ser(o) removido(s). Para remover diretrios que contenham arquivos, use o comando rm com a opo -r. Por exemplo, para remover o diretrio /tmp/teste voc no de estar no diretrio /tmp/teste para executar o comando rmdir /tmp/teste. Ateno, este comando muito perigoso, pois ele apaga os diretrios (e arquivos desse diretrio com a opo -r), por isso sempre passe o caminho exato que ser apagado para que no haja erros, lembrando que o usurio root pode apagar todo o sistema com o comando rmdir.

52

Sistemas Operacionais

Luiz Arthur

Os comandos de listagem e manipulao de diretrios devem ser estudados a fundo por todos que pretendem ser administradores de sistemas e somente praticando que se adquire experiencia e propriedade para se trabalhar com diretrios. Atividade 2 2.1 Liste o diretrio /root. 2.2 Liste mostrando todos os arquivos e atributos de forma detalhada do diretrio /tmp. 2.3 Entre dentro do diretrio /usr/doc e depois liste os arquivos apresentando o tamanho (de forma compreensvel pelos humanos) dos diretrios e arquivos presentes neste diretrio. 2.4 Crie dentro do diretrio /tmp um diretrio chamado atividade2. 2.5 Crie outro diretrio chamado Atividade2 dentro do diretrio /tmp, e depois crie um subdiretrio chamado sub1 e outro chamado sub2 dentro do subdiretrio Atividade2. 2.6 Apague o diretrio /tmp/atividade2. 2.7 Apague o diretrio /tmp/Atividade2 e todos os seus subdiretrios.

53

Sistemas Operacionais

Luiz Arthur

Comandos para manipulao de Arquivos Os arquivos so agrupamentos de bytes que podem ser do tipo texto ou binrio. Assim como ocorre com os diretrios os arquivos so muito impotantes para o sistema, desta forma, saber mante-los muito importante para um administrador de sistema, a seguir sero mostrados alguns comando para a manipulao e gerenciamento de arquivos, alguns desses comando tambm se aplicam a diretrios que nada mais so do que arquivos um pouco diferentes. cat O comando cat mostra o contedo de um arquivo binrio ou texto. cat [opes] [diretrio/arquivo] [diretrio1/arquivo1] diretrio/arquivo Opes: -n, --number Mostra o nmero das linhas enquanto o contedo do arquivo mostrado. -s, --squeeze-blank No mostra mais que uma linha em branco entre um pargrafo e outro. Localizao do arquivo que deseja visualizar o contedo.

54

Sistemas Operacionais

Luiz Arthur

O comando cat concatena arquivos, imprime seu contedo na tela e ainda pode receber texto digitado pelo teclado e enviar para um arquivo. Exemplos: Para criar um arquivo chamado teste.txt execute o comando: $ cat > teste.txt Ol Mundo Linux Agora voc pode digitar qualquer texto. Quando terminar, precione as teclas Crtl+d em uma linha vazia para finalizar a entrada de dados e salvar o arquivo teste.txt Para ver o contedo do arquivo teste.txt execute: $ cat teste.txt Ol Mundo Linux O cat tambm pode servir para concatenar arquivos. No comando abaixo o contedo de texto.txt subustituido pelo texto1.txt. $ cat texto1.txt > texto.txt Para adicionar o contedo e texto1.txt no final do arquivo texto.txt o comando : $ cat texto1.txt >> texto.txt

55 rm

Sistemas Operacionais

Luiz Arthur

O comando rm apaga arquivos. Tambm pode ser usado para apagar diretrios e sub-diretrios vazios ou que contenham arquivos. rm [opes][caminho][arquivo/diretrio] [caminho1][arquivo1/diretrio1] onde: caminho Localizao do arquivo que deseja-se apagar. Se omitido, assume que o arquivo esteja no diretrio atual. arquivo/diretrio opes: -i, --interactive -v, --verbose -r, --recursive -f, --force -- arquivo Arquivo que ser apagado. Pergunta antes de remover, esta ativada por padro. Mostra os arquivos na medida que so removidos. Usado para remover arquivos em sub-diretrios. Esta opo tambm pode ser usada para remover sub-diretrios. Remove os arquivos fazer perguntas. Remove arquivos/diretrios que contm caracteres especiais.

O separador "--" funciona com todos os comandos do shell e permite que os caracteres especiais como "*", "?", "-", etc. sejam interpretados como caracteres comuns.

56

Sistemas Operacionais

Luiz Arthur

Use com ateno o comando rm, uma vez que os arquivos e diretrios forem apagados, eles no podero ser mais recuperados. Exemplos do uso do comando rm: rm teste.txt Apaga o arquivo teste.txt no diretrio atual. rm *.txt Apaga todos os arquivos do diretrio atual que terminam com .txt. Apaga todos os arquivos do diretrio atual que terminam com .txt e tambm o arquivo teste.novo. Apaga todos os arquivos e sub-diretrios do diretrio /tmp/teste mas mantm o sub-diretrio /tmp/teste. Apaga todos os arquivos e sub-diretrios do diretrio /tmp/teste, inclusive /tmp/teste.

rm *.txt teste.novo

rm -rf /tmp/teste/*

rm -rf /tmp/teste

rm -f -- --arquivo-- - Remove o arquivo de nome - -arquivo--.

57 cp

Sistemas Operacionais

Luiz Arthur

O comando cp copia os arquivos para outros arquivos ou para diretrios. O comando cp pode copiar um arquivo ou mltiplos arquivos. cp [opes] [origem] [destino] onde: origem Arquivo que ser copiado. Podem ser especificados mais de um arquivo para ser copiado usando "Curingas" (veremos curingas a seguir). Destino O caminho ou nome de arquivo onde ser copiado. Se o destino for um diretrio, os arquivos de origem sero copiados para dentro do diretrio. opes: i, --interactive -f, --force -r Pergunta antes de substituir um arquivo existente. No pergunta, substitui todos os arquivos caso j exista. Copia arquivos dos diretrios e subdiretrios da origem para o destino. recomendvel usar -R ao invs de -r. Copia arquivos e sub-diretrios (como a opo -r) e tambm os arquivos especiais e dispositivos.

-R, --recursive

58 -v, --verbose

Sistemas Operacionais
Mostra os arquivos enquanto esto sendo copiados.

Luiz Arthur

-s, --simbolic-link Cria link simblico ao invs de copiar. -l, --link -p, --preserve -u, --update Faz o link no destino ao invs de copiar os arquivos. Preserva atributos do arquivo, se for possvel. Copia somente se o arquivo de origem mais novo que o arquivo de destino ou quando o arquivo de destino no existe. No copia arquivos que esto localizados em um sistema de arquivos diferente de onde a cpia iniciou.

-x

59

Sistemas Operacionais

Luiz Arthur

O comando cp copia arquivos da ORIGEM para o DESTINO. Ambos origem e destino tero o mesmo contedo aps a cpia. Exemplos: cp teste.txt teste1.txt cp teste.txt /tmp Copia o arquivo teste.txt para teste1.txt. Copia o arquivo teste.txt para dentro do diretrio /tmp. Copia todos os arquivos do diretrio atual para /tmp. Copia todos os arquivos do diretrio /bin para o diretrio em que nos encontramos no momento. Copia o diretrio /bin e todos os arquivos/sub-diretrios existentes para o diretrio /tmp. Copia todos os arquivos do diretrio /bin (exceto o diretrio /bin) e todos os arquivos/sub-diretrios existentes dentro dele para /tmp. Copia todos os arquivos e o diretrio /bin para /tmp.

cp * /tmp cp /bin/* .

cp -R /bin /tmp

cp -R /bin/* /tmp

cp -R /bin /tmp

60 mv

Sistemas Operacionais

Luiz Arthur

Move ou renomeia arquivos e diretrios. O processo semelhante ao do comando cp mas o arquivo de origem apagado aps o trmino da cpia. mv [opes] [origem] [destino] onde: origem destino opes: -f, --force -i, --interactive -v, --verbose -u, --update Substitui o arquivo de destino sem perguntar. Pergunta antes de substituir. o padro. Mostra os arquivos que esto sendo movidos. Move somente arquivos antigos, ou novos arquivos. Arquivo/diretrio de origem. Local onde ser movido ou novo nome do arquivo/diretrio.

61

Sistemas Operacionais

Luiz Arthur

O comando mv copia um arquivo da ORIGEM para o DESTINO (semelhante ao cp), mas aps a cpia, o arquivo de ORIGEM apagado. Exemplos: mv teste.txt teste1.txt Muda o nome do arquivo teste.txt para teste1.txt. mv teste.txt /tmp Move o arquivo teste.txt para /tmp. Lembre-se que o arquivo de origem apagado aps ser movido. mv teste.txt teste.new (supondo que teste.new j exista) Copia o arquivo teste.txt por cima de teste.new e apaga teste.txt aps terminar a copa.

62 Atividade 3

Sistemas Operacionais

Luiz Arthur

3.1 Crie um arquivo texto chamado atividade3.txt, e coloque o contedo: Ola mundo cruel 3.2 Crie um arquivo texto chamado Atividade3.1.txt, e coloque o contedo: OLA MUNDO CRUEL. 3.3 Visualise o contedo dos arquivos atividade3.txt e Atividade3.1.txt. 3.4 Crie um arquivo chamado chamado linux.txt, e coloque o contedo: do Linux. 3.5 Subistitu o contedo do arquivo linux.txt ao arquivo atividade3.txt e visualize os arquivos. 3.6 Acrescente o conteudo do arquivo linux.txt ao arquivo Atividade3.1.txt e visualize os arquivos. 3.7 Crie um diretrio chamado aula3 e copie o arquivo atividade3.txt para este diretrio. 3.8 Mova o arquivo Atividade3.1.txt para o diretrio aula3. 3.9 Copie o conteudo do diretrio aula3 para o diretrio /tmp 3.10 Mova todos os arquivos txt e o diretrio aula3 bem como seu contedo para o diretrio /tmp/atividade3/

63 Curingas

Sistemas Operacionais

Luiz Arthur

Curingas (ou referncia global) um recurso usado para especificar um ou mais arquivos ou diretrios do sistema de uma s vez. Este um recurso permite que voc faa a filtragem do que ser listado, copiado, apagado, etc. So usados 4 tipos de curingas no GNU/Linux: "*" - Faz referncia a um nome completo/restante de um arquivo/diretrio. "?" - Faz referncia a uma letra naquela posio. [padro] - Faz referncia a uma faixa de caracteres de um arquivo/diretrio. Padro pode ser: [a-z][0-9] - Faz referncia a caracteres de a at z seguido de um caracter de 0 at 9. [a,z][1,0] - Faz a referncia aos caracteres a e z seguido de um caracter 1 ou 0 naquela posio. [a-z,1,0] - Faz referncia a intervalo de caracteres de a at z ou 1 ou 0 naquela posio.

64

Sistemas Operacionais

Luiz Arthur

A procura de caracteres "Case Sensitive" assim se voc deseja que sejam localizados todos os caracteres alfabticos voc deve usar [a-zA-Z]. Caso a expresso seja precedida por um ^, faz referncia a qualquer caracter exceto o da expresso. Por exemplo [^abc] faz referncia a qualquer caracter exceto a, b e c. Vamos dizer que tenha 5 arquivo no diretrio /usr/teste: teste1.txt, teste2.txt, teste3.txt, teste4.new, teste5.new. Caso deseje listar todos os arquivos do diretrio /usr/teste voc pode usar o coringa "*" para especificar todos os arquivos do diretrio: $ cd /usr/teste e ls * ou ls /usr/teste/*

65

Sistemas Operacionais

Luiz Arthur

Agora para listar todos os arquivos teste1.txt, teste2.txt, teste3.txt com excesso de teste4.new, teste5.new, podemos usar inicialmente 3 mtodos: Usando o comando ls *.txt que pega todos os arquivos que comeam com qualquer nome e terminam com .txt. Usando o comando ls teste?.txt, que pega todos os arquivos que comeam com o nome teste, tenham qualquer caracter no lugar do coringa ? e terminem com .txt. Com o exemplo acima teste*.txt tambm faria a mesma coisa, mas se tambm tivssemos um arquivo chamado teste10.txt este tambm seria listado. Usando o comando ls teste[1-3].txt, que pega todos os arquivos que comeam com o nome teste, tenham qualquer caracter entre o nmero 1-3 no lugar da 6a letra e terminem com .txt. Neste caso se obtm uma filtragem mais exata, pois o coringa ? especifica qualquer caracter naquela posio e [] especifica nmeros, letras ou intervalo que ser usado.

66

Sistemas Operacionais

Luiz Arthur

Agora para listar somente teste4.new e teste5.new podemos usar os seguintes mtodos: ls *.new que lista todos os arquivos que terminam com .new ls teste?.new que lista todos os arquivos que comeam com teste, contenham qualquer caracter na posio do coringa ? e terminem com .new. ls teste[4,5].* que lista todos os arquivos que comeam com teste contenham nmeros de 4 e 5 naquela posio e terminem com qualquer extenso.

67 AA

Sistemas Operacionais

Luiz Arthur

Das könnte Ihnen auch gefallen