




























































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Apostila sobre Sistema operacinal Linux
Tipologia: Manuais, Projetos, Pesquisas
1 / 112
Esta página não é visível na pré-visualização
Não perca as partes importantes!





























































































Mesmo com um significativo aumento do uso do Linux em computadores dom´esticos, e de sua vasta divulgac¸ ˜ao, ´e co- mum perceber o quanto as pessoas se intimidam ao se deparar com este famigerado Sistema Operacional. A ver- dade ´e que toda esta fama de “mau” deriva de tempos em que sua interface mantinha-se a “quilˆometros” de distˆancia do habitual sistema difundido em nossos computadores. Hoje, o Ubuntu por exemplo, uma das distribuic¸ ˜oes Li- nux, apresenta uma interface gr ´afica com suas funcionali- dades muito semelhantes `as de sistemas operacionais pro- priet ´arios, tornando a “migrac¸ ˜ao” do conhecimento intui- tiva. Deixando as “aparˆencias” de lado...
Linux ´e Software Livre. Esta poderia ser uma boa raz˜ao para a sua preferˆencia a outros Sistemas Operacionais. Deixamos esta conclus˜ao a cargo do leitor e vamos adiante. Em plena “Era Digital”, n˜ao podemos deixar de falar em seguranc¸a, no que se refere a sistemas de computadores, uma das caracter´ıstica prim ´arias visadas no desenvolvimento do Linux e seus aplicativos. Seja pelo resultado da comparac¸ ˜ao de pr ´os e contras, ou at´e por necessidades profissionais, observamos cada vez mais usu ´arios motivados a utiliz ´a-lo.
Para que as diferenc¸as relevantes entre o modo de uso dos Sistemas Operacio- nais n˜ao se tornassem um obst ´aculo acentuado, barrando a adoc¸ ˜ao do Linux como ferramenta cotidiana, seguindo a filosofia de Software Livre do Departamento de Inform ´atica da UFPR, os alunos do PET do curso de Ciˆencia da Computac¸ ˜ao, ela- boraram uma apostila b ´asica sobre o assunto. Mais tarde, os alunos do PET passaram a oferecer curos semestrais, abertos `a comunidade com este mesmo prop ´osito.
Esta apostila foi escrita pelos integrantes do PET Computac¸ ˜ao da UFPR e ´e uma reformulac¸ ˜ao do mateiral escrito anteriormente. Abrange os conceitos fundamen- tais de organizac¸ ˜ao do Linux e suas aplicac¸ ˜oes, voltadas ao modo texto. Al´em de uma referˆencia aos interessados em adquirir conhecimento sobre este Sistema Operacional, esta nova abordagem segue a estrutura das aulas apresentadas, tra- dicionalmente pelo PET Computac¸ ˜ao na primeira semana de aulas, aos calouros do curso de Ciˆencia da Computac¸ ˜ao, e este ano tamb´em, aos calouros do novo curso da UFPR, Inform ´atica Biom´edica.
A seguir est˜ao listados os pontos principais de cada cap´ıtulo. Ao final dos cap´ıtulos 3, 4 e 5 s˜ao propostos exerc´ıcios; alguns deles desafios, pois exigem informac¸ ˜oes sobre comandos que n˜ao ser˜ao apresentadas.
C´apiulo 1 Introduc¸˜ao Apresenta conceitos b ´asicos e um panorama sobre o Linux.
C´apiulo 2 Documentac¸˜ao Descreve algumas maneiras de obter informac¸ ˜oes sobre comandos.
C´apiulo 3 Linux em Sua Essˆencia Apresenta a estruturac¸ ˜ao dos arquivos dentro do sistema e o espac¸o des- tinado aos usu ´arios; modos de permiss˜oes, e alguns comandos para a administrac¸ ˜ao do sistema.
C´apiulo 4 Mexendo Um pouco Mais Tratamento da entrada e sa´ıda padr˜ao de dados, redirecionamento; Gerˆencia de processos.
C´apiulo 5 Terminal do Linux, Uma M˜ao na Roda S˜ao descritos diversos comandos ´uteis para a manipulac¸ ˜ao de informac¸ ˜oes de arquivos contendo texto, os chamados filtros ; trata da busca de arquivos e tab´em da transferˆencia de dados remotamente.
Apˆendices Notas sobre a instalac¸ ˜ao de uma distribuic¸ ˜ao Linux e sobre a instalac¸ ˜ao de programas; breve descric¸ ˜ao de alguns editores de texto “cl ´assicos” do Linux.
Esta apostila faz parte de um projeto do PET Computac¸ ˜ao que visa o constante aperfeic¸oamento deste conte ´udo, portanto cr´ıticas e sugest˜oes s˜ao bem-vindas! Nosso e-mail? [email protected].
Curitiba, 6 de marc¸o de 2012
Linux ´e o termo geralmente usado para designar qualquer sistema operacional que utilize o n ´ucleo Linux. Este n ´ucleo foi desenvolvido pelo finlandˆes Linus Torvalds, inspirado no sistema Minix. O seu c ´odigo fonte est ´a dispon´ıvel sob licenc¸a GPL para qualquer pessoa que utilizar, estudar, modificar e distribuir de acordo com os termos da licenc¸a, i.e., simplificadamente, vocˆe pode alterar qualquer parte do Linux, construir qualquer sistema baseado nele e at´e comercialiaz ´a-lo, mas vocˆe n˜ao pode fech ´a-lo, publica-lo sob uma licenc¸a propriet ´aria e n˜ao permitir que outros usu ´arios o modifiquem.
GNU, sigla recursiva, que significa GNU Not Unix, ´e um projeto que comec¸ou em 1984 com o objetivo de desenvolver um sistema operacional completo, em software livre, mantido pela comunidade mundial de programadores, compat´ıvel com o padr˜ao Unix. O Linux em si ´e somente um Kernel. Linus Torvalds, na mesma epoca que escrevia seu c ´´ odigo-fonte, comec¸ou a usar programas da GNU para fazer seu sistema. Gostando da id´eia, resolveu deixar seu kernel dentro da mesma licenc¸a e padr˜ao. O kernel n˜ao pode ser usado por humanos diretamente. E´ necess ´aria a existˆencia de um Shell e, obviamente, dos programas, que executar˜ao as func¸ ˜oes desejadas pelo usu ´ario.
O Kernel Linux, juntamente com aplicativos do projeto GNU, ´e agrupado, cus- tomizado, publicado, atualizado, mantido e distribu´ıdo para os usu ´arios finais por v ´arias empresas e organizac¸ ˜oes para os mais diversos fins. O resultado s˜ao as famosas distribuic¸ ˜oes GNU/Linux, dentre elas: Slakware, Gentoo, Debian, Man- driva, Red Hat e Ubuntu.
Na d´ecada de 1960 o Massachusets Institute of Technology (MIT), a General Eletric (GE), os laborat ´orios Bell (Bell Labs) e a American Telephone na Telegraph (AT&T) comec¸aram o projeto de um sistema operacional de tempo compartilhado, onde v ´arios usu ´arios pudessem acessar os recursos de um ´unico computador, sendo assim, o sistema mais arrojado da ´epoca. Seu nome era Multics, que em 1969, j ´a rodava em um computador GE645. Os recursos computacionais dispon´ıveis na ´epoca, no entanto, revelaram-se insuficientes para as pretens˜oes do projeto e neste mesmo ano a Bell Labs se retirou do projeto.
Apesar disto, um de seus pesquisadores, Ken Thompson, continuou seus es- tudos no sistema com a intenc¸ ˜ao de criar algo menor mas que conservasse as suas id´eias b ´asicas. Usando um ocioso computador PDP-7, comec¸ou a escrever o Unics usando linguagem de montagem (assembly). Mais tarde, Brian Kernighan, tamb´em pesquisador da Bell Labs, rebatizou o novo sistema de Unix.
Um marco importante foi estabelecido em 1973 quando Dennis Ritchie, outro pesquisador da Bell, e Ken Thompson reescreveram o Unix, usando a linguagem de alto n´ıvel C, para um computador PDP-11. A linguagem C havia sido desenvol- vida por Ritchie para substituir e superar as limitac¸ ˜oes da linguagem B, desen- volvida por Thompson. O seu uso ´e considerado uma das principais raz˜oes para a r ´apida difus˜ao do Unix.
Entre 1977 e 1981, a AT&T alterou o Unix e lanc¸ou o System III. Em 1983, ap ´os mais uma s´erie de modificac¸ ˜oes, foi lanc¸ado o conhecido Unix System IV, que passou a ser vendido. At´e hoje esse sistema ´e usado no mercado como o padr˜ao internacional do Unix. E comercializado por empresas como IBM, HP, Sun, etc.´ O Unix ´e um sistema operacional caro e ´e usado em computadores poderosos por diversas multinacionais.
Em 1987, Andrew Stuart Tanenbaum, escreveu um clone do Unix, chamado Minix, para o IBM PC com o intuito de ensinar a estudantes de ciˆencia da computac¸ ˜ao como funciona um sistema operacional. O Minix foi escrito desde o comec¸o, sem apreveitar nenhum c ´odigo propriet ´ario j ´a existente do Unix. Consequentemente Tanenbaum escreveu um livro que descreve o sistema em detalhes e disponibizou o c ´odigo em disquetes. Em trˆes meses, na Usenet, um meio de comunicac¸ ˜ao se- melhante a uma lista de discuss˜ao que data dos prim ´ordios da Internet, milhares de leitores do mundo inteiro estavam discutindo e aprimorando o sitema. Um des- ses leitores era o estudante finlandˆes de ciˆencia da computac¸ ˜ao Linus Torvalds da Universidade de Helsinki.
No fim dos anos 80, Linus teve contato com computadores compat´ıveis com o IBM PC, em 1990 comec¸ou a aprender C em seus estudos e em 1991 comprou um Intel 80386. Com 21 anos, ele tinha contato com o Sistema Unix da Universidade, o SunOS, atualmente Solaris, e desejava rodar a vers˜ao de Tannenbaum, Minix, no seu rec´em adquirido 80386. Entretanto, descontente com os recursos do Minix, especialmente em relac¸ ˜ao ao emulador de terminal que ele utilizaria para acessar remotamente o Unix da Universidade, comec¸ou a desenvolver o seu pr ´oprio emu- lador de terminal que n˜ao rodava sobre o Minix, mas diretamente no hardware do PC 386. Este projeto pessoal foi sendo modificado gradualmente e adquirindo ca- racter´ısticas de um Sistema Operacional independente do Minix. Este foi o in´ıcio do desenvolvimento do n ´ucleo Freax (Free + Freak + X do Unix). Posteriormente batizado de Linux por Ari Lemmke, administrador do site ftp.funet.fi, que deu esse nome ao diret ´orio FTP onde o n ´ucleo Linux estava inicialmente dispon´ıvel. O projeto foi lanc¸ado em 1991 em uma famosa mensagem para a Usenet em que Linus divulgou que estava disposto a disponibilizar o c ´odigo-fonte e contar com a colaborac¸ ˜ao de outros programadores. Desde os primeiros dias, ele recebeu ajuda de hackers do Minix e hoje recebe contribuic¸ ˜oes de milhares de programadores dos mais diversos locais do mundo.
O linux ´e um sistema operacional livre, gratuito e possui todas as caracter´ısticas presentes nos sistemas operacionais modernos: e um sistema multiplataforma,´ podendo ser operado em diversas arquiteturas; multiprocessado, possuindo su- porte a computadores com mais de um processador; multitarefa, no qual v ´arios programas podem ser executados ao mesmo tempo; e multiusu ´ario, permitindo que mais de uma pessoa opere a m ´aquina ao mesmo tempo.
O fato de ser baseado nos sistemas operacionais Unix - sistemas considerados
Qualquer instalac¸ ˜ao do sistema Linux vem, por padr˜ao, com diversos aplicativos j ´a instalados, al´em de existirem milhares e milhares de pacotes dispon´ıveis para instalac¸ ˜ao. Na hora de utilizar todas essas ferramentas sempre surgir˜ao d ´uvidas a respeito da funcionalidade de certo aplicativo ou de seus parˆametros e opc¸ ˜oes.
Para sanar essas d ´uvidas e servir como guia de referˆencia para todas as ferra- mentas e aplicativos instalados o sistema oferece uma documentac¸ ˜ao detalhada: as man pages.
Cada ferramenta tem sua pr ´opria p ´agina de manual, e todas seguem o mesmo padr˜ao, com a mesma formatac¸ ˜ao e, em geral, as mesmas sec¸ ˜oes para tornar o uso dos manuais mais simples. Todas as p ´aginas de manual seguem mais ou menos a seguinte estrutura:
NOME Nome do comando.
SINTAXE Exemplo da sintaxe gen´erica de uso do comando. Nesta sec¸ ˜ao h ´a uma notac¸ ˜ao especial de representac¸ ˜ao: negrito indica que deve-se digitar extamente como est ´a escrito; sublinhado deve ser substitu´ıdo pelo conte ´udo adequado;
... indica a possibilidade de repetic¸ ˜ao do conte ´udo precedente;
[ ] todo o conte ´udo entre colchetes ´e opcional;
| o cont´eudo delimitado pela barra vertical n˜ao pode ser usado em conjunto.
DESCRIC¸ ˜AO Breve descric¸ ˜ao de sua funcionalidade.
OPC¸ ˜OES Mostra todas as opc¸ ˜oes dispon´ıveis e suas respectivas func¸ ˜oes.
Para se ter acesso as p ´aginas de manual, ´e preciso utilizar o comando man (co- mando 2.1, p. 12).
A mesma estrutura sint ´atica ´e seguida pelas p ´aginas de manual na hora de apresentar a estrutura de um comando. Al´em disso, as p ´aginas de manual tem uma notac¸ ˜ao pr ´opria para indicar se um parˆametro ou opc¸ ˜ao ´e opcional e destacar texto a ser substitu´ıdo: opc¸ ˜oes e parˆametros aparecem entre colchetes quando opcionais. Texto a ser substitu´ıdo aparece sublinhado.
As p ´aginas de manual ajudam muito o usu ´ario Linux a conhecer mais sobre um certo comando e encontrar uma referˆencia r ´apida a respeito de suas opc¸ ˜oes e parˆametros.
Al´em das p ´aginas de manual existe uma outra fonte de informac¸ ˜ao dispon´ıvel no sistema, contendo um material mais extenso e detalhado, com textos explica- tivos. Para acessar esse conte ´udo usamos o comando info , que n˜ao est ´a docu- mentado nesta apostila. Tente man info.
Uma outra alternativa na busca por informac¸ ˜oes sobre aplicativos ´e consultar o material encontrado no diret ´orio /usr/share/doc/, que cont´em os arquivos LEIAME e informac¸ ˜oes sobre os autores de diversos programas instalados no sis- tema; al´em disso, ´e comum encontrar material no formato html com a documen- tac¸ ˜ao completa desses programas.
Comando 2.1 man Acessa p ´aginas de manual.
NOME man
SINTAXE man [sec¸˜ao] comando man -k palavra chave
DESCRIC¸ ˜AO
O man acessa a p ´agina de manual do comando. E poss´´ ıvel especificar a sec¸˜ao onde ser ´a buscada a p ´agina de manual. Os comandos est˜ao organi- zados em sec¸ ˜oes cujos nomes s˜ao n ´umeros de 1 a 9 e cada sec¸ ˜ao cont´em conjuntos de comandos com determinadas caracter´ısticas. Mais detalhes man man. O comando man tamb´em busca p ´aginas de manual que contenham a palavra chave em sua sec¸ ˜ao de descric¸ ˜ao.
NOTAS Para sair da p ´agina de manual digite
q (^) . Outras funcionalidades de navegac¸ ˜ao est˜ao dispon´ıveis, e para conhecˆe-las veja as p ´aginas de manual do comando less.
super usu ´ario. Por fim, temos os usu ´ario comuns, que n˜ao possuem previl´egios.
Exerc´ıcio Resolvido 3.1 O administrador de um sistema precisa identificar e al- terar a senha de todos usu ´arios de um certo grupo. Quais linhas de comandos s˜ao mais adequadas para a ac¸ ˜ao?
Comando 3.1 whoami Identifica o usu ´ario logado.
NOME
whoami
SINTAXE whoami
DESCRIC¸ ˜AO O comando ´e utilizado para o usu ´ario identificar-se na m ´aquina. Normal- mente, enta informac¸ ˜ao ´e apresentada no prompta a Veja sobre sobre prompt na sec¸ ˜ao [?]
Comando 3.2 hostname Mostra o nome da m ´aquina.
NOME
hostname
SINTAXE hostname [ -i |novo nome]
DESCRIC¸ ˜AO Mostra o nome da m ´aquina na rede ou altera seu nome para novo nome.
OPCOES
-i mostra o enderec¸o de IP da m ´aquina.
Comando 3.3 passwd Altera senha de usu ´arios.
NOME passwd
SINTAXE passwd [ -d | e ] usu´ario]
DESCRIC¸ ˜AO
passwd altera a senha do usu ´ario.
OPCOES
-d remove a senha do usu ´ario, perpitindo o livre acesso `a sua conta;
-e expira a senha do usu ´ario, forc¸ando-o a trocar de senha na pr ´oxima vez que se logar.
Comando 3.4 who Mostra os usu ´arios que est˜ao logados.
NOME
who
SINTAXE
who
DESCRIC¸ ˜AO Mostra quais usu ´ario est˜ao logados na m ´aquina.
Comando 3.5 finger Lista informac¸ ˜oes sobre os usu ´arios do sistema.
NOME finger
SINTAXE finger [usu´ario] ...
DESCRIC¸ ˜AO O comando mostra informac¸ ˜oes sobre o usu´ario, tais como seu diret ´orio pessoal, nome, data e hora do ´ultimo login e tempo que est ´a logado.
Comando 3.6 su Troca de usu ´ario no terminal.
NOME su
SINTAXE su [usu´ario]
DESCRIC¸ ˜AO O comando su troca de um usu ´ario para outro no terminal corrente. Se o usu´ario n˜ao for especificado, ser ´a trocado para o root do sistema.
NOTAS No sistema operacional Ubuntu, inicialmente n˜ao est ´a definida uma senha do root. Para defini-la digite sudo bash e em seguida entre com a sua senha (caso vocˆe tenha feito a instalac¸ ˜ao do sistema). Em seguida use o comando passwd para definir a senha de root.
Comando 3.7 sudo Executa comandos com previl´egios de root.
NOME
sudo
SINTAXE sudo comando
DESCRIC¸ ˜AO Executa comandos como administrador do sistema. V ´arios usu ´arios podem ter este previl´egio no sistema.
$ pwd /home/pet/chapolin $ cd /home/pet/Filmes/McGyver $ pwd /home/pet/chapolin/Filmes/McGyver
Note que, com esta forma de enderec¸amento, e poss´´ ıvel referenciar facilmente quaisquer arquivos ou pastas, sem a necessidade de acessar o diret ´orio em que se encontram tais objetos.
Por padr˜ao, todos os diret ´orios contˆem os diret ´orios “. ” e “ .. ”. O caractere. representa o diret ´orio corrente, ou seja, o pr ´oprio diret ´orio em que se encontra. J ´a o .. representa o pai do diret ´orio corrente.
$ whoami tirulipa $ pwd /home $ cd ˜ $ pwd /home/pet/tirulipa $ cd .. $ pwd /home/pet
Segue uma pequena apresentac¸ ˜ao dos principais diret ´orios do sistema.
/boot Encontramos o kernel e outros arquivos de inicializac¸ ˜ao;
/bin est˜ao os execut ´aveis mais simples;
/usr a maior parte dos execut ´aveis instalados;
/etc guarda os arquivos de configurac¸ ˜ao;
/dev cont´em links para os perif´ericos;.
/mnt e o diret ´´ orio padr˜ao de montagem de perif´ericos de armazenamento;
/home encontram-se os diret ´orios pessoais de cada usu ´ario.
O formato dos arquivos n˜ao ´e decidido pela sua extens˜ao, como no Windows, mas pela sua estrutura interna. Logo, a extens˜ao de um arquivo serve apenas para fins de organizac¸ ˜ao e para facilitar futuras buscas. Outro ponto importante ´e que em nomes de arquivos ou pastas h ´a distinc¸ ˜ao entre letras mai ´usculas e min ´usculas. Um arquivo chamado RincaoAlegre.jpg n˜ao ser ´a encontrado se referenciado como rincaoAlegre.jpg, por exemplo.
Cada arquivo guarda trˆes informac¸ ˜oes de tempo: access , modify e change. Access e atualizado quando se acessa um arquivo.´ Modify e quando o conte ´´ udo do arquivo ´e modificado. Change e modificado quando´ modify se atualiza ou quando ocorre uma alterac¸ ˜ao das propriedades externas do arquivo, como permiss˜oes, ou quando ele ´e movido para outro diret ´orio.
Um link ´e uma forma de se referenciar arquivos e pastas. H ´a dois tipos de links : os links simb ´olicos e os hard links.
Um link simb ´olico ´e um arquivo cujo conte ´udo ´e o enderec¸o de um alvo, que pode ser um diret ´orio ou de outro arquivo. Atrav´es do link simb ´olico, podemos ler e modificar o alvo. Se o alvo for apagado ou trocado de lugar, o link fica ´orf˜ao. O alvo pode estar em outra partic¸ ˜ao.
Um hard link e uma referˆ´ encia direta `a posic¸ ˜ao no disco apontada pelo alvo. Este tipo de link s ´o pode ser usado em arquivos. O hard link tem as mesmas propriedades do arquivo original. Se o alvo for apagado, o link continua como estava. Para apagar um arquivo, ´e necess ´ario apagar todos os seus hard links.
Exerc´ıcio Resolvido 3.2 Vocˆe est ´a no diret ´orio /pasta exercicio/Diversos. Como copiar todos os arquivos deste diret ´orio diretamente para sua home?
cp * ˜
Primeiramente usamos o comando cp , que copia os arquivos. A opc¸ ˜ao * ir ´a incluir todos os arquivo do diret ´orio atual, e o ˜ indica o destino desse arquivo. Observe que nesse caso, pastas contidas no diret ´orio corrente n˜ao ser˜ao copiadas, a menos que a opc¸ ˜ao -r seja utilizada.
Exerc´ıcio Resolvido 3.3 O diret ´orio /pasta exercicios est ´a na sua home. Como excluir todos os arquivos e diret ´orios contidos nesta pasta?
$ cd ˜ $ rm -r pasta exercicios/*
Juntamente com o comando rm , a opc¸ ˜ao -r ir ´a excluir o diret ´orio e todos diret ´orios abaixo dele.
Comando 3.8 pwd Mostra o enderec¸o completo do diret ´orio atual.
NOME pwd
SINTAXE pwd
DESCRIC¸ ˜AO Mostra o enderec¸o completo do diret ´orio atual.