38
Mini-Curso de Introdução ao GNU/Linux AULA 3 Bruno L. Albrecht Felipe A. Chies Lucas F. Zawacki PET Computação UFRGS Setembro 2009

Mini-Curso de Introdução ao GNU/Linux · Shell Programa que recebe comandos do teclado e os envia ao Sisop para serem executados; Um “concha” envolvendo o sistema operacional

  • Upload
    lytruc

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Min i -Curso de In t rodução ao GNU/L inux

AULA 3

Bruno L. AlbrechtFelipe A. Chies

Lucas F. ZawackiPET Computação UFRGS

Setembro 2009

L inha de Comando I

● Terminal (Shell) ● Comandos de Ajuda (Documentação)● Estrutura de diretórios● Arquivos / Arquivos-Texto● Árvore de diretórios

She l l

● Programa que recebe comandos do teclado e os envia ao Sisop para serem executados;

● Um “concha” envolvendo o sistema operacional.

She l l

● É um meio de interação entre o usuário e a máquina;

● Antigamente, era a única interface disponível nos computadores;

● Pode ser considerada um tipo de linguagem de programação -> Shell Programming

● Resumindo: É um intepretador de comandos!

She l l

● Tarefas executadas:– Espera o usuário fornecer um comando (prompt)

– Analisa e trata caracteres especiais da linha de comando

– Procura arquivo executável do comando

– Cria um processo filho (fork) para executá-lo

– Espera que o comando termine para retornar ao prompt

● Exceção: comandos em background (&)

Os “She l l s ”

● Bourne Shell (sh)

– Antigo padrão do UNIX

– ”Standart Shell”● Korn Shell (ksh)

– Compátivel com sh agregando outras funções

● Bourne Again Shell (bash)

– Shell do projeto GNU● C Shell (csh)

– Estruturação similar à linguagem C

– Ignorou a compatibilidade com sh

Termina l ( g n o m e - t e r m i n a l )

● É um programa de terminal gráfico -> emulador de terminal;

● Permite que façamos uma interação com a shell através de uma janela, dentro da interface gráfica;

Modo Tex to

● Se não quisermos usar o terminal, podemos entrar no modo texto (trocar de ambiente):– Para isso basta apertar Crtl + Alt + F[1-6]

● Para voltar ao modo gráfico, deve-se apertar Ctrl + Alt + F7;

Comandos de A juda - man

● man– Principal comando de todos!!!

– Acessa as páginas de manuais (manpages);man ls

man man #é válido

– Opção man -k <palavra> : comandos onde a palavra aparece em sua descrição ou nome.man -k java

Out ros comandos de A juda

● Info info gzip

– Manuais que utilizam uma linguagem mais simples, abordando apenas as opções mais comuns.

● Helphelp cd

– Exibe informações sobre os comandos internos do Bash;

Est ru tu ra de D i re tó r ios

● A árvore de diretórios do Linux segue um padrão estabelecido pelo unix durante a maior parte de sua existência, mas controlada por um conjunto de regras estabelecidas pelo Linux Filesystem Standard, ou FSSTND.

Di re tó r ios - Desc r i ção

● / : é o diretório raiz, todos os demais diretórios estão abaixo dele;

● /bin : contém os programas do sistema que são executados com freqüência pelos usuários;

● /boot : arquivos necessários para o boot (como o kernel e o carregador do sistema operacional);

● /dev : é o local onde ficam armazenadas as referências aos dispositivos presentes na máquina, para o controle destes dispositivos (HD, drive de disquete, etc).;

Di re tó r ios - Desc r i ção

● /etc : arquivos de configuração do sistema;

● /home : contêm os diretórios dos usuários do sistema;

– /home/marcelo: Diretório pessoal do Marcelo;

– /home/thiago: Diretório pessoal do Thiago;● /lib : bibliotecas compartilhadas pelos programas

do sistema e módulos do kernel;

● /lost+found *: para arquivos recuperados;

* Não faz parte do Filesystem Hierarchy Standard ( http://www.pathname.com/fhs/pub/fhs-2.3.html ).

Di re tó r ios - Desc r i ção

● /media : dispositivos montados (CD-ROM, partição de HD, etc);

● /mnt : ponto de montagem temporário;

● /opt : aplicativos adicionais e pacotes de softwares.

● /proc : diretório virtual de informações do sistema, mantido pelo kernel.

● /root : diretório pessoal (home) do usuário root;

● /sbin : Diretório de programas usados pelo root para administração e controle do funcionamento do sistema -> /bin do root;

Di re tó r ios - Desc r i ção

● /tmp : arquivos temporários;

● /usr :contém comandos, bibliotecas, manpages e outros arquivos estáveis (que não precisem ser modificados durante a operação normal do sistema) -> diretório só de leitura;

– /usr/bin : a maior parte dos executáveis dos programas se encontra aqui;

– /usr/lib : bibliotecas do sistema;

– /usr/src : código-fonte do kernel;● /var :contém em geral os arquivos que sofrem

modificações durante a sessão(logs, spool, e-mail);

D i re tó r ios - Comandos

● cd : – Descrição: permite-nos a navegação entre os

diretórios do sistema;

cd /usr

● Vamos para o diretório usr;– Opções:

cd ~ # vai para o diretório home do usuário

cd . # diretório atual

cd .. # vai para o diretório pai (na árvore)

cd - # vai para o último diretório acessado

Di re tó r ios - Comandos

● ls : – Descrição: lista os arquivos do diretório desejado;

ls

● Lista os arquivos do diretório atual;– Opções:

ls -a #mostra também os arquivos ocultos

ls -l #listagem com mais detalhes

ls -lhS # tamanhos de arquivos “legíveis” (-h)

# e ordem de tamanho (-S)

ls -R # lista também os sub-diretórios

Di re tó r ios - Comandos

● dir : – Descrição: comando similar ao ls;

dir -lh

● Lista os arquivos do diretório atual no formato longo com tamanhos “legíveis”;

● pwd :

– Descrição: permite saber em qual diretório estamos no momento, onde pwd significa "print working directory".; pwd

Di re tó r ios - Comandos

● mkdir : – Descrição: cria um diretório vazio;

mkdir /home/marcelo/pet

#cria uma pasta pet no local desejado

● rmdir :

– Remove diretório vazios ;rmdir /home/marcelo/pet

#remove a pasta pet

Obs.: Na sequência mostraremos o comando rm, que pode ser usado para excluir diretórios com arquivos e subdiretórios;

Arqu ivos - Comandos

● mv : – Descrição: move arquivos e diretórios, sendo

muito usado também para renomear um determinado arquivo.

mv ~/a.txt /tmp/a.txt

#move o arquivo do diretório pessoal do usuário para a #pasta /tmp

mv teste1.txt teste2.txt

#renomeia o arquivo teste1 para teste2

Arqu ivos - Comandos

● cp : – Faz copias de arquivos e diretórios.

cp /home/marcelo /tmp

#faz uma cópia de toda a pasta do usuário Marcelo para #a pasta tmp;

cp a.txt a_copia.txt

#cria uma cópia do arquivo a.txt no diretório corrente;cp *.txt /tmp

#copia todos arquivos texto para a pasta tmp;

Arqu ivos - Comandos

● rm : – Remove arquivos e diretórios.

rm a.txt

# remove o arquivo a.txt;

rm -r /home/marcelo

# remove o diretório marcelo e todos os seus arquivos e # subdiretórios recursivamente;

– Nota: Use este comando com muito cuidado!

– A princípio não existe lixeira!

Arqu ivos - Comandos

● ln :Cria ligações (links) entre arquivos ou diretórios.ln -s /home/thiago/mp3 /mp3

# cria um link simbólico (soft link) mp3 na raiz para o#diretório dentro do home do usuário Thiago

Arqu ivos - Comandos

● file :Indica o tipo do arquivo ou se é um diretório;

file curso_linux_aula1.pdf

Arqu ivos - Comandos

● locate :– Pesquisa em uma base de dados de nomes de

arquivos por nomes que satisfaçam um determinado padrão. Podemos atualizar a base de dados usando o comando updatedb;

Arqu ivos - Comandos

● find :Comando utilizado para procurar por arquivos (ou diretórios) na árvore de diretórios, a partir de um caminho.

find . -name a.txt

#busca todos arquivos que tenham nome #a.txt, a partir do diretório atual

find / -size +10000k

#busca no computador todos arquivos com #tamanho maior que 10.000 Kb

Arqu ivos - Comandos

● touch

Muda a data e hora que um arquivo foi criado. Também pode ser usado para criar arquivos vazios.

touch arq

#cria um arquivo vazio se ele não existir, ou modifica a#data de última alteração para a atual

touch -t 10201830 arq

#altera a data do arquivo (ou cria) para 20/Out #às 18h30

Red ic ionamento de F luxo

● No ambiente shell, podemos utilizar os operadores >,>>,< para redirecionar a entrada e saída padrão (existem outros!!!);

comando > arq.txt

– Redireciona a saída-padrão do comando para o arquivo b (sobrescrevendo, ou criando se o arquivo não existir).comando >> arq.txt

– O mesmo que o operador >, mas concatenando (não-sobrescrevendo)

Red ic ionamento de F luxo

comando < arq.txt

– redireciona a entrada-padrão do comando para o arquivo.

– Nota: Veremos com mais detalhes esse assunto ao longo do curso.

Arqu i vos Tex to - Comandos

● cat :– Utilizado, em geral, para concatenar arquivos ou

exibir arquivos de texto na tela; ● cat -n arq.txt

#exibe o conteúdo do arquivo na tela (-n)#com as linhas numeradas)

● cat arq1 arq2 arq3 > arq_final

#concatena os 3 arquivos e coloca o#resultado no arq_final

Arqu i vos Tex to - Comandos

● tac :– Comando similar ao cat, mas exibe ou concatena

os arquivos na ordem inversa; tac arq.txt

#exibe o conteúdo do arquivo na tela na ordem inversa

Arqu i vos Tex to - Comandos

● more :– Mostra arquivos na tela de forma paginada;

– Navegação:● para sair do aplicativo digite q ● use as teclas Page-Down, Ctrl+F ou Space para

avançar● use as teclas Page-Up ou Ctrl+B para voltar.● use Enter para avançar apenas uma linha por vez.

more arq.txt

Arqu i vos Tex to - Comandos

● less :– Tem a mesma função do comando more, mas

apresenta algumas melhorias;● As teclas de navegação são as mesmas do

more, mas permite a tecla h (help) para listar as demais teclas;

less arq.txt

Arqu i vos Tex to - Comandos

● grep :– Procura por uma expressão dentro de um

arquivo(s) ou no dispositivo de entrada padrão.grep “Curso Linux” arq1.txt arq2.txt

#Procura a expressão (“Curso Linux”) nos #dois arquivos;

ls | grep linux

#Procura a expressão (linux) na saída do comando ls;

Arqu i vos Tex to - Comandos

● vi / vim :– Editor de texto vim (vi improved);

● No Ubuntu ambos os comandos abrem o vim!

vim arq.txt

#Abre o arquivo para edição ou cria (desde que ao #fecharmos salvarmos) um novo se não existir;

● Nota: Veremos mais sobre o vim na aula 5!

Arqu i vos Tex to - Comandos

● diff :– Compara o conteúdo de dois arquivos, exibindo

a diferença entre eles; diff arq1.txt arq2.txt

#exibe a diferença na tela dos dois arquivos;

diff -i arq1.txt arq2.txt > arq.txt

#salva no arq.txt a difença entre arquivos, #ignorando as diferenças entre maisúculas e# minúsculas (-i);

Arqu i vos Tex to - Comandos

● sort :– Organiza as linhas de um arquivo texto ou da

entrada padrão sort -d nomes.txt

# exibe na tela os nomes em ordem alfabética (-d)!

sort –n numeros.txt > crescente.txt

# ordena os numeros (-n) em ordem #crescente, colocando no crescente.txt

B ib l i og ra f i a m ín ima d a au la

● Lista completa de referências será dada ao final do curso:– http://www.uniriotec.br/~morganna/guia/introd_guia.html

– http://wiki.ubuntubrasil.org/ComandosBasicos

– https://help.ubuntu.com/community/CommandlineHowto

– http://linuxcommand.org/

– http://jneves.wordpress.com/

– http://www.commandlinefu.com/

– http://www.ghacks.net/2009/08/14/get-to-know-linux-terminology/