Apostila introdutória introdutória ao Linux – Distribuição UBUNTU Disciplina: Informática Básica O que é o GNU/Linux?
Muita gente confunde “Linux” com “sistema de computador”, o que não deixa de estar parcialmente correto. Muita gente também confunde Linux com um dragão de sete cabeças, o que está completamente incorreto. O Linux é na verdade o kernel , o componente central do Ubuntu. O Kernel, por sua vez, independente do sistema- se Linux ou Windows, é o coração do sistema. Assim como o processador está para realizar cálculos, o kernel está para “conectar” os softwares ao hardware. Aqui, então, o sistema do computador – Ubuntu - ganha uma definição: Sistema Operacional. O Linux é o kernel, o coração do Ubuntu. Assim como o Ubuntu utiliza o Linux, existem outros sistemas operacionais que utilizam o Linux, como o Mandriva, Fedora, Arch e tantos outros. Até mesmo o Android (aquele sistema de celular) utiliza Linux. São sistemas construídos sobre uma base sólida, segura e confiável. Tão confiável que os servidores das maiores empresas do mundo o utilizam. O que é o Ubuntu?
O Ubuntu é um sistema construído sobre Linux, e seus aplicativos-padrão são softwares de código fonte-aberto. Softwares de código-fonte aberto seguem as seguintes diretrizes: • Todas as pessoas deverão ter a liberdade de executar, copiar, distribuir, estudar, partilhar, personalizar, modificar modificar e melhorar o software para qualquer objetivo, sem ter que pagar licenciamento. licenciamento.
• Todas as aplicações deverão ser usadas por qualquer pessoa, independentemente de sua língua pátria ou de qualquer deficiência.
O Ubuntu, por sua vez, além das diretrizes acima, traz os seguintes valores declarados: • O Ubuntu será sempre gratuito e não haverá custo extra para uma “edição corporativa”. Nós disponibilizamos o nosso melhor produto sob os mesmos termos de liberdade. • O Ubuntu vem com suporte profissional em termos comerciais de centenas de companhias companhias em todo o mundo, se precisar desses serviços, cada versão do Ubuntu recebe gratuitamente atualizações de segurança durante 18 meses após o lançamento. Algumas versões (LTS) são suportadas por um período maior de tempo. • O Ubuntu inclui a melhor infraestrutura de suporte a traduções e acessibilidade que a comunidade de aplicações informáticas livres tem a oferecer, de modo a tornar o Ubuntu útil pelo maior número possível de pessoas. • O Ubuntu é totalmente aderente ao princípio do desenvolvimento de aplicações informáticas livres; encorajamos as pessoas a usarem aplicações de código-fonte aberto, a melhorar essas aplicações e disponibilizarem-n disponibilizarem-nas as a outras pessoas.
Na prática, isso significa que o Ubuntu pode ser modificado ao gosto do usuário, para a finalidade que o usuário desejar, sem ter que prestar contas ou pagar qualquer ônus a qualquer entidade. Se você sabe como modificar o sistema e precisa fazê-lo, vá em frente. Significa também que qualquer pessoa, independentemente do idioma, da condição física, possa ter acesso aos recursos oferecidos pelo Ubuntu. Isso é Ubuntu.
1
LTS – Long Term Support
Trocando LTS por português bruto, poderia ser “S uporte de longo prazo”, ou seja, as versões LTS do Ubuntu são suportadas por mais tempo em relação às versões entre-LTS. Versões LTS do Ubuntu são lançadas a cada dois anos e normalmente seu suporte é de 36 meses. Outro detalhe importante na hora de migrar para uma nova versão é lembrar que além do suporte estendido, LTS's são mais estáveis do que as versões não-LTS's. Sistema de Arquivos do Ubuntu
Diferente do que ocorre no sistema operacional Windows, no U buntu não existe locais como "C:/", "D:/" ou "System32". Em vez disso, os arquivos estão armazenados em pastas com nomes bem diferentes. Entretanto, a estrutura de diretórios do Linux é muito bem definida e, está organizada em termos lógicos e que fazem muito sentido.
O diretório raiz (/)
Todos os arquivos e diretórios do sistema Linux instalado no computador partem de uma única origem: o diretório raiz. Mesmo que estejam armazenados em outros dispositivos físicos, é a partir do diretório raiz – representado pela barra (/) – que você poderá acessá-los. Também vale lembrar que o único usuário do sistema capaz de criar ou mover arquivos do diretório raiz é o root , ou seja, o usuário-administrador. Isso evita que usuários comuns cometam erros e acabem comprometendo a integridade de todo o sistema de a rquivos.
2
Binários executáveis: /bin
No diretório /bin estão localizados os binários executáveis que podem ser utilizados por qualquer usuário do sistema. São comandos essenciais, usados para trabalhar com arquivos, textos e alguns recursos básicos de rede, como o cp, mv, ping e grep. Binários do sistema: /sbin
Assim como o /bin, este diretório armazena executáveis, mas com um diferencial: são aplicativos utilizados por administradores de sistema com o propósito de realizar funções de manutenção e outras tarefas semelhantes. Entre os comandos disponíveis estão o ifconfig, para configurar e controlar interfaces de rede TCP/IP, e o fdisk, que permite particionar discos rígidos, por exemplo. Programas diversos: /usr
Se você não encontrar um comando no diretório /bin ou /sbin, ele certamente está aqui. O /usr reúne executáveis, bibliotecas e até documentação de softwares usados pelos usuários ou administradores do sistema. Além disso, sempre que você compilar e instalar um programa a partir do código-fonte, ele será instalado nesse diretório. Configurações do sistema: /etc
No diretório /etc ficam arquivos de configuração que podem ser usados por todos os softwares, além de scripts especiais para iniciar ou interromper módulos e programas diversos. É no /etc que se encontra, por exemplo, o arquivo resolv.conf, com uma relação de servidores DNS que podem ser acessados pelo sistema, com os parâmetros necessários para isso. Bibliotecas: /lib
Neste ponto do sistema de arquivos ficam localizadas as bibliotecas usadas pelos comandos presentes em /bin e /sbin. Normalmente, os arquivos de bibliotecas começam com os prefixos ld ou lib e possuem "extensão" so. Opcionais: /opt
Aplicativos adicionais, que não são essenciais para o sistema, terminam neste diretório. Arquivos pessoais: /home
No diretório /home ficam os arquivos pessoais, como documentos e fotografias, sempre dentro de pastas que levam o nome de cada usuário. Vale notar que o diretório pessoal do administrador não fica no mesmo local, e sim em /root. Inicialização: /boot
Arquivos relacionados à inicialização do sistema, ou seja, o processo de boot do Linux, quando o computador é ligado, ficam em /boot. Volumes e mídias: /mnt e /media
Para acessar os arquivos de um CD, pendrive ou disco rígido presente em outra máquina da rede, é necessário "montar" esse conteúdo no sistema de arquivos local, isso é, torná-lo acessível como se fosse apenas mais um diretório no sistema.
3
Em /media ficam montadas todas as mídias removíveis, como dispositivos USB e DVDs de dados. Já o diretório /mnt fica reservado aos administradores que precisam montar temporariamente um sistema de arquivos externo. Serviços: /srv
Dados de servidores e serviços em execução no computador ficam armazenados dentro desse diretório. Arquivos de dispositivos: /dev
No Linux, tudo é apresentado na forma de arquivos. Ao plugar um pendrive no computador, por exemplo, um arquivo será criado dentro do diretório /dev e ele servirá como interface para acessar ou gerenciar o drive USB. Nesse diretório, você encontra caminhos semelhantes para acessar terminais e qualquer dispositivo conectado ao computador, como o mouse e até modems. Arquivos variáveis: /var
Todo arquivo que aumenta de tamanho ao longo do tempo está no diretório de arquivos variáveis. Um bom exemplo são os logs do sistema, ou seja, registros em forma de texto de atividades realizadas no Linux, como os logins feitos ao longo dos meses. Processos do sistema: /proc
Nesse diretório são encontrados arquivos que revelam informações sobre os recursos e processos em execução no sistema. Por exemplo, para saber há quanto tempo o Linux está sendo usado desde a última vez em que foi iniciado, basta ler o arquivo /proc/uptime. Arquivos temporários: /tmp
Arquivos e diretórios criados temporariamente tanto pelo sistema quanto pelos usuários devem ficar nesse diretório. Boa parte deles é apagada sempre que o computador é reiniciado. O Terminal
Durante muitos anos, o uso de computadores era limitado a linhas de comando: as CLI (Command Line Interface - Interface de Linha de Comando). As chamadas a aplicativos e funções do sistema eram feitas digitando-se algumas palavras e sintaxes, opções e outros. Com o tempo, as GUIs (Graphical User Interface Interface Gráfica de Usuário) foram substituindo a forma como o usuário interagia com o computador. Atualmente, a maioria dos sistemas operacionais vem equipados com avançadas interfaces gráficas, e a administração dos sistemas operacionais baseados em Unix está cada vez mais longe do terminal. Isso porque a cada dia que passa, novas funcionalidades vão sendo incorporadas aos sistemas através de diferentes tipos de linguagem de programação. Entretanto, durante o uso de conta administrativa do Ubuntu, algumas vezes será necessário recorrer ao uso do terminal. No Ubuntu, o usuário possui uma pasta própria no sistema, que fica dentro de outra pasta chamada “home”. Logo, o Terminal opera por padrão, dentro da pasta home/seu_nome, mas você pode mudar isso a qualquer momento com o comando direcionado à navegação de pastas. Além do seu nome de usuário seguido de “@”, no terminal é mostrado também o nome dado à instalação do sistema. Ao iniciar o Terminal, você terá em sua tela os seguintes elementos:
4
Onde:
• orgulhogeek: é o nome do usuário; • @notebook: é o nome do computador; • ~ é a abreviação da pasta de usuário (home/usuário); • $ é a indicação de que no momento, o usuário não possui poderes administrativos e não pode instalar ou desinstalar programas ou alterar o sistema. Ao se identificar como administrador, será trocado para o sinal #. Comandos básicos do terminal Manual de Comandos
Ao executar o comando man é carregado uma página de manual (man page) sobre os comandos do sistema, com definições não apenas do uso de cada ferramenta, mas também descrições detalhadas dos inúmeros parâmetros do software e exemplos de uso.
Para ler as man pages é muito fácil e basta executar o man seguindo do nome do comando que você deseja buscar ajuda. Além do comando man, existe o comando man man, para o caso de dúvidas sobre o uso do próprio man. Ainda é possível traduzir o conteúdo das páginas de manual para o português, caso estejam em inglês, instalando o manpages-pt pela Central de Programas do Ubuntu. Administrador
/ Sudo é uma abreviação para “Superuser Do”, ou “Superusuário Faça”. O us o deste comando habilita o usuário a executar comandos com um nível elevado de permissões. Também é chamado de “root”.
5
Como usuário comum, você pode navegar em sites da internet, ler e-mails, digitar textos, ouvir músicas, ver filmes, editar fotos, jogar... enfim, uma infinidade de tarefas que o Ubuntu lhe proporciona. No entanto, para efetuar qualquer alteração no sistema, você precisará provar ao sistema que você é administrador do sistema através do comando sudo . A sintaxe de uso do comando sudo é simples: digite sudo + comando. Exemplo: sudo ./install.run Sudo deve ser digitado antes do início de um comando. Por exemplo, ao usar o comando de atualização de listas de pacotes do Ubuntu: Exemplo: sudo apt-get update Você saberá que precisará usar o comando sudo para executar determinada tarefa quando, ao entrar com o comando, receber a seguinte mensagem: bash: comando: Permissão negada
Da mesma forma que você pode instalar aplicativos no Ubuntu como Superusuário, você pode iniciar programas como sudo. Por exemplo, se você deseja abrir o navegador web Firefox como administrador, basta digitar o seguinte comando: sudo Firefox Entretanto, ao iniciar um aplicativo pelo terminal traz a desvantagem de que se o Terminal for fechado, o aplicativo será fechado junto com ele. A fim de prevenir alterações indesejadas no sistema e proteger o computador contra aplicações potencialmente perigosas, toda vez que o comando sudo for usado, será solicitada a senha de administrador. Você pode, também, assumir o controle de administrador antes de entrar com qualquer outro comando. Para isso, entre com o comando sudo su. Veja o exemplo: usuario@nomedamaquina:~$ sudo su [sudo] password for usuario: Após digitar o comando sudo su, seu usuário será trocado para “root”, que é modo de usuário administrador do sistema. Usar o comando sudo su permite que você realize várias tarefas administrativas, como instalação e remoção de programas e alterar pastas do sistema sem a necessidade de chamar o sudo várias vezes. Navegar por pastas
O comando cd é simples e não possui segredos. Para entrar em uma pasta, basta inserir o comando “cd ”.
6
Caso a pasta tenha nome composto, como “Trabalhos da Faculdade”, por exemplo, você deverá inserir uma barra invertida ( \ ) ao final de cada nome, exceto o último nome. Confira abaixo o exemplo: usuario@nomedamaquina:~$ cd Trabalhos\ da\ Faculdade Para voltar um diretório (pasta), basta digitar “cd -” ou “ cd ..”. Listar
Para listar os arquivos contidos dentro de determinado diretório basta entrar com o comando ls (de list - listar) e conferir os arquivos na pasta. Ao listar os arquivos dentro de um diretório, o terminal irá diferenciá-los de acordo com seu tipo.
Nomes em cor azul são diretórios, nomes em cor verde são arquivos executáveis e nomes em cor branca são arquivos de texto e outros tipos. Você pode, opcionalmente, incluir a opção “-la” ao comando ls. Isso fará com que todos os itens na pasta, incluindo arquivos e diretórios ocultos sejam mostrados. Limpar tela
Clear é um comando de limpeza de tela. Algumas vezes, após digitar inúmeros comandos ou centenas de palavras tomarem conta de seu terminal (ao finalizar a instalação de um pacote via apt-get, por exemplo), você pode limpar sua tela com um simples comando clear. Criar e apagar arquivos e diretórios
/ / / “mkdir” é um comando rápido para criação de pastas via Terminal no Ubuntu (e em qualquer Linux). Para criar um diretório, digite o seguinte comando: mkdir . Exemplo: orgulhogeek@notebook:~$ mkdir teste É possível criar diretórios com subdiretórios, usando o argumento -p antes dos diretórios. orgulhogeek@notebook:~$ mkdir -p teste/teste2/teste3 Este comando irá criar um diretório chamado teste, contendo um diretório chamado teste2 e este contendo um diretório teste3. Assim como você pode criar um diretório via linha de comando, você também pode remover um diretório vazio. O comando de remoção de diretório é rmdir . Exemplo: orgulhogeek@notebook:~$ rmdir teste Caso o diretório a ser excluído contenha arquivos e subdiretórios, será necessário usar o argumento -rf antes do nome do diretório, como mostrado a seguir: orgulhogeek@notebook:~$ rm -rf documentos
7
Você também pode deletar qualquer arquivo, exceto diretórios, usando o comando rm: orgulhogeek@notebook:~$ rm TrabalhoLógica.doc O comando acima apaga o arquivo de texto TrabalhoLógica.doc. Caso você queira manter uma pasta, mas deletar todos os arquivos com uma extensão específica dentro dela, digite o comando rm *.. Por exemplo, se você quiser apagar todos os arquivos de texto com formato .doc de um diretório, deverá entrar com o comando rm *.doc. Basicamente, “ * ” quer dizer “qualquer coisa”. Logo, rm *.doc, traduzindo da linguagem do sistema seria “apague todos os arquivos com extensão .doc”. Você pode também remover todos os arquivos dentro da pasta, exceto diretórios usando o comando rm [*.*]. orgulhogeek@notebook:~/Trabalhos$ rm *.* Para excluir um diretório com todo seu conteúdo, utilize o comando rm -rf, como mostrado no próximo exemplo: orgulhogeek@notebook:~$ rm -rf Trabalhos Administrar pacotes/programas
O comando apt-get é usado para a instalação ou remoção de aplicativos e atualização de listas de pacotes de softwares e atualização de sistema manualmente. São opções do apt-get: update upgrade install remove add-apt-repository ppa:xxxx/xxx add-apt-repository --remove ppa:xxxx/xxx
Atualiza as listas de pacotes de programas Atualiza o sistema Instala um programa Desinstala um programa Adiciona um novo canal de softwares Remove o canal de software
A sintaxe de uso do comando é a seguinte: # apt-get . Veja um exemplo a seguir: orgulhogeek@notebook:~$ sudo apt-get install emesene No exemplo, foi solicitada a instalação do aplicativo de mensagens instantâneas Emesene. É como se o usuário pedisse: - Superusuário, instale o emesene! Ao entrar com o comando apt-get, você deverá fazer como Superusuário, o que irá exigir a senha do administrador. Além da senha, o apt irá perguntar se você deseja realizar a alteração no sistema, que irá esperar “s” ou “y” para sim, dependendo da linguagem do programa ou “n” para não. Visualização de arquivos de texto simples
Não que seja necessário visualizar arquivos de texto através do Terminal quando estiver em ambiente gráfico, contudo, caso seja de seu interesse, é possível visualizar arquivos txt, ou qualquer outro arquivo de texto que possa ser aberto pelo Gedit, inclusive arquivos de código-fonte, ou gerado no bloco de notas. O comando para isso é o less. orgulhogeek@notebook:~$ less arquivo.txt Para sair do modo de leitura, pressione a tecla Q a qualquer momento.
8
Descompactando arquivos
Os formatos de compactação comuns no Ubuntu são vários, mas os mais populares são o .tar.gz e o .tar.bz2. Descompactar via linha de comando nos permite ver alguns detalhes do processo através de opções. Abaixo estão listadas as mais úteis: • j ou -z: É o aplicativo que irá descompactar o pacote, se -z é o Gzip, se j , será o bzip2 • x: Informa ao sistema que ele deve extrair o conteúdo do pacote. • v: Modo Verbose, para que ele mostre o andamento do processo. • f: Força a regravação dos dados no disco se já foram extraídos antes. A sintaxe usada no processo de descompactação é simples e deve ser feita usando o tar com a opção de descompressão “-x” e indicando o formato gzip (-z) ou bzip2 (j). Confira os exemplos a seguir: orgulhogeek@notebook:~$ tar zxvf instalador-1.0.tar.gz [gzip] orgulhogeek@notebook:~$ tar jxvf instalador-1.0.tar.bz2 [bzip2] Seu arquivo será descompactado em um diretório com o mesmo nome usado quando compactado. No caso do exemplo acima, o diretório de chamará instalador-1.0 Copiar arquivos e pastas
Copiar um arquivo pelo terminal também é simples. Use o comando cp seguindo do arquivo de origem e o destino para ele, que pode ser tanto uma nova pasta quando um novo arquivo, com nome diferente. Exemplo: cp arquivo1.txt arquivo2.txt ou, então, cp arquivo1.txt pastanova/. Para copiar um diretório todo, não se esqueça de inserir o parâmetro -r . Se quiser clonar uma pasta, use cp -r pasta1 pasta2 , por exemplo. Mover arquivos e pastas
Para mover arquivos existe o comando mv e ele pode ser usado tanto para remanejar arquivos como para renomeá-los. Se quiser enviar o arquivo de uma pasta para outra, basta seguir o exemplo mv pasta1/arquivo1 pasta2/ . Se preferir apenas renomeá-lo, use mv arquivo1 arquivo2. Outros Comandos: help - Exibe informações sobre os comandos internos do Bash. Ex.: ”help logout” date - Exibe e edita a data e a hora atuais do sistema.
”date” para exibir a data e hora atual. ”sudo date 032914502007” para alterar a data e hora para 14:50 h de 29/03/2007.
cal - Exibe um simples calendário. pwd - O comando pwd lhe permite saber em qual diretório você está no momento, onde pwd significa "print working directory". Executando "pwd" no diretório Desktop mostrará "~/Desktop".
9
useradd - Cria um novo usuário ou atualiza as informações padrão de um usuário no sistema Linux. O comando
useradd cria uma entrada para o usuário no arquivo “/etc/passwd” com informações do seu login, UID (user identification), GID (group identification), shell e diretório pessoal, e a senha criptografada deste usuário é armazenada no arquivo “/etc/shadow”.
”sudo useradd fulano” para criar o novo usuário “fulano” no sistema, cujo diretório pessoal
do mesmo será “/home/fulano”.
”sudo useradd -d /home/outro_dir fulano” para criar o novo usuário “fulano” no sistema,
porém com seu diretório pessoal se localizando em “/home/outro_dir”. userdel – Usado para remover uma conta de usuário do sistema, deletando todas entradas deste usuário nos
arquivos /etc/passwd, /etc/shadow e /etc/group.
”sudo userdel -r fulano” para remover o usuário “fulano” do sistema deletando seu diretório
pessoal e todo seu conteúdo. passwd – Altera a senha de um usuário exibindo um prompt para que a nova senha seja fornecida, e logo depois repetida para confirmação. O usuário logado pode alterar a própria senha digitando apenas ”passwd”.
”sudo passwd fulano” para alterar a senha do usuário “fulano”. ”sudo passwd -l fulano” para bloquear a conta do usuário “fulano”. ”sudo passwd -u fulano” para desbloquear a conta do usuário “fulano”. ”sudo passwd -d fulano” para desativar a senha do usuário “fulano” deixando-o sem uma
senha de acesso. w – Mostra quem esta logado no sistema e o que esta fazendo. Se não for especificado um usuário ao
comando, será exibido informações de todos usuários logados.
”w” para exibir todos usuários logados e o que estão executando neste momento. ”w fulano” para mostrar informações do usuário “fulano” se o mesmo estiver logado no
sistema. who – Semelhante ao comando w mostra quais usuários estão logados no sistema.
”who -m” para mostrar o nome do usuário logado no sistema.
”who -q” para mostrar a quantidade total e nomes dos usuário conectados ao sistema.
df – Mostra o espaço em disco do sistema de arquivos usado por todas as partições. "df -h" é provavelmente o mais útil - usa megabytes (M) e gigabytes (G) em vez de blocos para relatar o tamanhos. (-h significa "human-
readable"). du – Exibe o tamanho de arquivos e/ou diretórios. Se nenhum arquivo ou diretório for passado como argumento, será assumido o diretório atual. O uso da opção du -h tornará a apresentação mais simples de ser
interpretada.
Para verificar o tamanho dos subdiretórios ao invés dos arquivos, utilize o comando abaixo. "du -k -h --max-depth=1"
free – Este comando exibe a quantidade de memória livre e usada no sistema. "free -m" fornece a informação
usando megabytes, que é provavelmente mais útil para computadores atuais. arch – Exibe a arquitetura do computador. Equivale ao comando ”uname -m”. lsdev – Lista o hardware instalado no computador, especificando os endereços de E/S (Entrada/Saída), IRQ e
canais DMA que cada dispositivo está utilizando. lspci - Exibe informações sobre os barramentos PCI do computador e sobre os dispositivos a ele conectados. lsusb - Lista informações sobre os barramentos USB do computador e sobre os dispositivos a eles conectados. uname - Este comando exibe várias informações sobre o sistema, incluindo o nome da máquina, nome e versão
do Kernel e alguns outros detalhes. É muito útil para verificar qual é o Kernel usado por você. 10
”uname -a” para exibir todas as informações. ”uname -m” para exibir a arquitetura da máquina. (Equivale ao ”arch”). ”uname -r” para exibir o release do sistema operacional.
Informações retiradas de: Ubuntu: Guia do Iniciante 2.0, Carlos Eduardo do Val http://wiki.ubuntu-br.org/ComandosBasicos http://corporate.canaltech.com.br/tutorial/linux/entendendo-a-estrutura-de-diretorios-do-linux/#ixzz3dMnKqt6r http://canaltech.com.br/dica/linux/10-comandos-essenciais-do-Linux/#ixzz3dN4kwmMQ
11