Mudanças entre as edições de "PJI2-2017-1"
Linha 242: | Linha 242: | ||
# Repita a atividade anterior, porém usando a interface de linha de comando (CLI) | # Repita a atividade anterior, porém usando a interface de linha de comando (CLI) | ||
# Escreva um relatório que contenha as informações relacionadas a cada arquivo, de acordo com as atividades realizadas. Esse relatório deve ser entregue por email para os professores. | # Escreva um relatório que contenha as informações relacionadas a cada arquivo, de acordo com as atividades realizadas. Esse relatório deve ser entregue por email para os professores. | ||
+ | |||
+ | {{collapse bottom}} | ||
+ | |||
+ | = 15/02: = | ||
+ | |||
+ | {{Collapse top | Aula 2}} | ||
+ | |||
+ | '''Objetivo da aula:''' usar o sistema operacional Linux para visualizar os conteúdos de arquivos | ||
+ | |||
+ | = Procurando arquivos ou diretórios = | ||
+ | |||
+ | Uma tarefa usual em um sistema operacional é localizar arquivos. Essa procura pode ser baseada no nome ou parte do nome de arquivo, na data de criação ou última modificação, no nome do usuário ou grupo dono, ou outros atributos do arquivo. Pode ser inclusive baseada numa combinação dessas informações. Por exemplo, pode ser necessário procurar todos os arquivos de música ou video, ou então todos os programas (arquivos executáveis) que pertençam ao superusuário (usuário ''root''). Existem programas capazes de fazer tais buscas tanto no ambiente gráfico quanto no modo texto. | ||
+ | |||
+ | As buscas a serem realizadas são: | ||
+ | # Arquivos de música | ||
+ | # Arquivos de música ou video | ||
+ | # Arquivos de texto ou planilha do Openoffice que não tenham sido modificados a 7 dias ou mais | ||
+ | # Arquivos executáveis (programas) | ||
+ | # Arquivos executáveis pertencentes ao usuário ''root'' | ||
+ | |||
+ | Para iniciar, vamos usar programas gráficos para fazer buscas. | ||
+ | |||
+ | == Usando o ambiente gráfico == | ||
+ | |||
+ | O primeiro programa gráfico a ser usado é o ''caja'' (ou ''nautilus'' em outras versões do Ubuntu que não o Mate), o gerenciador de arquivos disponível no Ubuntu Linux. Para usá-lo para fazer buscas selecione a opção de pesquisa: | ||
+ | |||
+ | |||
+ | [[imagem:Pesquisa1.png|600px]] | ||
+ | |||
+ | |||
+ | No ''caja'' aparecerá uma caixa de texto onde se deve digitar o nome ou parte do nome dos arquivos a serem procurados. | ||
+ | |||
+ | |||
+ | [[imagem:Pesquisa2.png|600px]] | ||
+ | |||
+ | |||
+ | Tente fazer as buscas usando esse programa. Há alguma que não pode ser feita ? | ||
+ | |||
+ | == Usando a linha de comando (modo texto) == | ||
+ | |||
+ | O ''caja'' funciona como um gerenciador de arquivos e diretórios, possibilitando investigar que arquivos existem em cada diretório, entre outras coisas. Com ele é simples listar o conteúdo de um ou mais diretórios, bastando navegar por sua interface. Mas na linha de comando não há essa facilidade. Nela devem-se usar alguns programas para obter um resultado parecido. Para começar a usar a linha de comando, devem-se conhecer e saber usar programas para navegar por diretórios, listar diretórios, procurar arquivos e diretórios e copiar arquivos. | ||
+ | |||
+ | |||
+ | === Diretório atual === | ||
+ | |||
+ | Na linha de comando existe o conceito de diretório atual ou corrente. Quando se acessa esse tipo de interface, existe um diretório em que operações sobre arquivos são realizadas. Para descobrir o diretório atual usa-se o programa [http://manpages.ubuntu.com/manpages/trusty/man1/pwd.1.html pwd], como mostrado a seguir: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | msobral@turing:~$ pwd | ||
+ | /home/aluno | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Listagem de diretório === | ||
+ | |||
+ | No exemplo anterior, o diretório atual é ''/home/aluno''. Qualquer operação sobre arquivos ou diretórios será feita tendo como base esse diretório. A operação mais simples é a listagem de diretório, que se faz com o programa [http://manpages.ubuntu.com/manpages/trusty/man1/ls.1.html ls]. Aproveitando o exemplo acima, a listagem do diretório atual teria este resultado: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | msobral@turing:~$ ls | ||
+ | 001.jpg iperf-2.0.5.tar.gz prova4-2011-1.odt | ||
+ | 002.jpg juliano.tgz prova4-2011-1-rec.odt | ||
+ | 003.jpg klaus prr.log | ||
+ | 004.jpg livros public_html | ||
+ | 005.jpg Makefile.in quartus.cap | ||
+ | 006.jpg nhrp.tar radiusd_test.py | ||
+ | 007.jpg nohup.out rco2 | ||
+ | 008.jpg passwd.web rmu | ||
+ | msobral@turing:~$ | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Mudança de diretório === | ||
+ | |||
+ | A listagem apresentada revela vários arquivos e subdiretórios existentes no diretório atual. Sabendo que ''public_html'' é um subdiretório, pode-se desejar mudar o diretório atual de forma a entrar nesse subdiretório. Isso pode ser facilmente realizado com o programa [http://manpages.ubuntu.com/manpages/vivid/en/man1/cd.1posix.html cd]: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@turing:~$ cd public_html | ||
+ | aluno@turing:~/public_html$ pwd | ||
+ | /home/aluno/public_html | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | ==== Diretório atual e diretório acima ==== | ||
+ | |||
+ | O diretório imediatamente acima é referido com '''..''' (dois pontos). Esse é um atalho que possibilita subir um nível de diretório sem conhecer o nome do diretório imediatamente superior. Assim, para voltar ao diretório imediatamente anterior ao diretório atual pode-se fazer isto: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@turing:~/public_html$ cd .. | ||
+ | aluno@turing:~$ pwd | ||
+ | /home/aluno | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | O diretório atual possui também um atalho chamado '''.''' (um ponto). Assim, se for executado este comando ... | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@turing:~/public_html$ pwd | ||
+ | /home/aluno/public_html | ||
+ | aluno@turing:~/public_html$ cd . | ||
+ | aluno@turing:~/public_html$ pwd | ||
+ | /home/aluno/public_html | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ... nada acontecerá (o diretório atual não será modificado). | ||
+ | |||
+ | === Criação e remoção de diretório === | ||
+ | |||
+ | Um diretório pode ser criado com o comando [http://manpages.ubuntu.com/manpages/trusty/man1/mkdir.1.html mkdir]. O uso desse comando pede apenas um argumento, que é o nome ou caminho do diretório a ser criado: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@M2:~$ pwd | ||
+ | /home/aluno | ||
+ | aluno@M2:~$ mkdir teste | ||
+ | aluno@M2:~$ cd teste | ||
+ | aluno@M2:~$ pwd | ||
+ | /home/aluno/teste | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Para remover um diretório usa-se o comando [http://manpages.ubuntu.com/manpages/trusty/man1/rmdir.1.html rmdir]. Esse diretório deve estar vazio para o comando consiga removê-lo: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@M2:~$ pwd | ||
+ | /home/aluno | ||
+ | aluno@M2:~$ rmdir teste | ||
+ | aluno@M2:~$ cd teste | ||
+ | cd: teste: Arquivo ou diretório não encontrado | ||
+ | aluno@M2:~$ rmdir Downloads | ||
+ | rmdir: falhou em remover “Downloads”: Diretório não vazio | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Cópia de arquivos === | ||
+ | |||
+ | A cópia de arquivos na linha de comando envolve usar o programa [http://manpages.ubuntu.com/manpages/trusty/man1/cp.1.html cp]. Com ele podem-se copiar um ou mais arquivos para um diretório de destino. Por exemplo, para copiar o arquivo ''001.jpg'' para dentro do diretório ''public_html'' pode-se fazer o seguinte: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@M2:~$ cp 001.jpg public_html | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | O diretório de destino é sempre o último argumento passado ao programa ''cp''. A cópia de múltiplos arquivos pode ser feita listando-os todos antes do diretório de destino: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@M2:~$ cp 001.jpg 002.jpg 003.jpg public_html | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | ... ou usando-se o caractere especial ''*'' (chamado de ''curinga'' ou ''wildcard'' no original em inglês): | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@M2:~$ cp *.jpg public_html | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | No exemplo acima, todos os arquivos cujos nomes terminem com ''.jpg'' serão copiados para dentro de ''public_html''. Outra variação no uso do ''curinga'' é: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@M2:~$ cp 00*.jpg public_html | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ... em que todos os arquivos cujos nomes iniciem com ''00'' e terminem com ''.jpg'' serão copiados. | ||
+ | |||
+ | === Renomeação de arquivos === | ||
+ | |||
+ | Arquivos podem ser renomeados com o comando [http://manpages.ubuntu.com/manpages/trusty/man1/mv.1.html mv]. Ele pode ser usado de forma muito parecida com o comando ''cp''. A diferença está na remoção do arquivo original, como se ele sumisse de seu diretório de origem e aparecesse no diretório de destino. | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@M2:~$ mv mulher_de_40.mp3 Musicas | ||
+ | aluno@M2:~$ ls Musicas | ||
+ | mulher_de_40.mp3 | ||
+ | aluno@M2:~$ ls mulher_de_40.mp3 | ||
+ | não é possível acessar mulher_de_40.mp3: Arquivo ou diretório não encontrado | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Se os diretórios de origem e destino forem iguais, mas os nomes do arquivo de origem e destino forem diferentes, então o arquivo na verdade é renomeado. | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@M2:~$ mv mulher_de_40.mp3 musica_romantica.mp3 | ||
+ | aluno@M2:~$ ls musica_romantica.mp3 | ||
+ | musica_romantica.mp3 | ||
+ | aluno@M2:~$ ls mulher_de_40.mp3 | ||
+ | não é possível acessar mulher_de_40.mp3: Arquivo ou diretório não encontrado | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Remoção de arquivos === | ||
+ | |||
+ | Arquivos podem ser removidos com o comando [http://manpages.ubuntu.com/manpages/trusty/man1/rm.1.html rm]. Cuidado ao utilizá-lo ! Uma vez removido, um arquivo não pode ser recuperado ! | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@M2:~$ rm mulher_de_40.mp3 | ||
+ | aluno@M2:~$ ls mulher_de_40.mp3 | ||
+ | não é possível acessar mulher_de_40.mp3: Arquivo ou diretório não encontrado | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Curingas (''wildcards'') === | ||
+ | |||
+ | Curingas são caracteres especiais usados para selecionar vários arquivos ou diretórios de uma só vez. Os curingas podem ser usados em qualquer comando para especificar nomes de arquivos e diretórios. Dois curingas bastante usados são: | ||
+ | * '''*''' : casa com uma sequência composta por 0 ou mais caracteres quaisquer. | ||
+ | * '''?''' : casa com um único caractere qualquer | ||
+ | |||
+ | Curingas são muito úteis para operações sobre arquivos e diretórios. Por exemplo, para copiar todos os arquivos de música MP3 pode-se usar o curinga ''*''' da seguinte forma: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@M2:~$ cp *.mp3 Musica | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Para mover os arquivos cuja extensão seja ''mp4'' ou ''mpg'', podem-se usar os curingas ''*'' e ''?'' desta forma: | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@M2:~$ mv *.mp? Videos | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === Procura por arquivos === | ||
+ | |||
+ | A procura de arquivos e diretórios pode ser realizada na linha de comando com o programa '''find'''. Por exemplo, para localizar todos os arquivos ou diretórios chamados ''default'', e que estejam abaixo de ''/etc'': | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | aluno@D1:~$ find /etc -name default -print | ||
+ | /etc/default | ||
+ | /etc/calendar/default | ||
+ | /etc/X11/xinit/xinput.d/default | ||
+ | aluno@D1:~$ | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | Uso do '''find''' : | ||
+ | |||
+ | <syntaxhighlight lang=bash> | ||
+ | find diretório [opões] | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | ... sendo ''diretório'' o diretório abaixo de que se deseja fazer a busca. As opções servem para selecionar arquivos e diretórios durante a busca, e também para executar ações para cada um deles que for encontrado. Algumas opções mais comuns: | ||
+ | |||
+ | * '''-name nome:''' seleciona arquivos ou diretórios cujos nomes sejam '''''nome'''' . Essa opção aceita ''wildcards'' (* e ?) | ||
+ | * '''-type tipo:''' seleciona apenas o '''''tipo'''' indicado, que pode ser: | ||
+ | ** '''d:''' diretório | ||
+ | ** '''f:''' arquivo | ||
+ | ** '''l:''' ''link'' simbólico (ou atalho) | ||
+ | * '''-perm modo:''' seleciona apenas arquivos ou diretórios que possuam as permissões indicadas em ''modo'' | ||
+ | * '''-size tamanho:''' seleciona apenas arquivos com tamanho de acordo com o especificado (em bytes) | ||
+ | * '''-mtime n:''' seleciona apenas arquivos ou diretórios modificados a '''''n * 24''''' horas atrás | ||
+ | * '''-atime n:''' seleciona apenas arquivos ou diretórios acessados a '''''n * 24''''' horas atrás | ||
+ | * '''-user usuario:''' seleciona apenas arquivos ou diretórios pertencentes a '''''usuario''''' | ||
+ | * '''-exec comando \;:''' executa '''comando''' para cada arquivo ou diretório encontrado. Ex: | ||
+ | ** ''find /tmp -type f -mtime +7 -exec rm -f {} \;'' : remove todos os arquivos dentro de /tmp que estejam há 7 dias sem serem modificados. A sequência '''''{}''''' é substituída pelo nome do arquivo encontrado. | ||
+ | |||
+ | ... e muitas outras (consulte o [http://manpages.ubuntu.com/manpages/karmic/en/man1/find.1.html manual do find]). | ||
+ | |||
+ | == Exercícios == | ||
+ | |||
+ | # Partindo do subdiretório /home/aluno/Desktop, e usando somente caminhos (''pathnames'') relativos, indique a sequência de comandos necessária para visitar sucessivamente os seguintes subdiretórios: | ||
+ | #* /home/aluno | ||
+ | #* /home | ||
+ | #* /etc/default | ||
+ | #* /usr/share/doc | ||
+ | #* /usr/share/doc/python/faq | ||
+ | #* /usr/lib/ubuntu-mate | ||
+ | #* /usr/local/etc | ||
+ | #* /usr/local/man | ||
+ | #*/usr/local/lib/python2.7 | ||
+ | #*/usr/local/lib/python2.7/site-packages | ||
+ | #*/usr/local/lib/python2.7/dist-packages | ||
+ | #* /home/aluno | ||
+ | #* /home/aluno/Downloads | ||
+ | #Partindo do subdiretório ''/home/aluno'', informe a sequência de subdiretórios (indique-os com seus caminhos absolutos) visitados se forem seguidos os seguintes caminhos relativos: | ||
+ | #* Imagens | ||
+ | #* ../Documentos | ||
+ | #* ../.. | ||
+ | #* ../boot | ||
+ | #* grub | ||
+ | #* ../../usr/lib | ||
+ | #* ../share | ||
+ | #* ../local | ||
+ | #* lib/python2.7 | ||
+ | #* ../.. | ||
+ | #* ../../etc | ||
+ | #* ../lib/modules | ||
+ | #* ../../home | ||
+ | #* aluno/Downloads/.. | ||
+ | # Organize [http://tele.sj.ifsc.edu.br/~msobral/pji/proj1/coisas.tar estes arquivos], de forma que sejam colocados nos subdiretórios ''Imagens'', ''Videos'' e ''Documentos'', de acordo com seus tipos. Os arquivos devem ser movidos para esses diretórios. | ||
+ | # Remova o arquivo compactado transferido no exercício anterior. | ||
+ | # Renomeie os arquivos de imagens organizados no exercício 3. Dê um nome para cada imagem de acordo com seu conteúdo. | ||
+ | # No diretório ''/usr/share/sounds/ubuntu'' existem vários arquivos de áudio. Crie um diretório dentro de seu diretório pessoal e copie-os para esse novo diretório. Em seguida, reproduza-os para escutá-los. | ||
+ | # Encontre o arquivo ''lsusb'', que se encontra em algum subdiretório dentro de ''/usr'' | ||
+ | # Encontre os subdiretórios ''lib'', que estão dentro de ''/usr'' | ||
+ | # Localize todos os arquivos executáveis (i.e., os programas) que existem abaixo de ''/lib'' | ||
+ | # Localize todos os arquivos pertencentes ao usuário ''aluno'' e que estejam dentro de ''/tmp'' | ||
+ | |||
+ | === Resolução === | ||
+ | |||
+ | {{collapse top|Exercício 1}} | ||
+ | ''Obs:'' o primeiro comando serve para mudar para o diretório pessoal (''/home/aluno''). Dali em diante os comandos usam somente caminhos relativos. | ||
+ | |||
+ | {| border=1 | ||
+ | !Caminho absoluto | ||
+ | !Comando com caminho relativo | ||
+ | |- | ||
+ | | /home/aluno || cd | ||
+ | |- | ||
+ | | /home||cd .. | ||
+ | |- | ||
+ | | /etc/default|| cd ../etc/default | ||
+ | |- | ||
+ | | /usr/share/doc|| cd ../../usr/share/doc | ||
+ | |- | ||
+ | | /usr/share/doc/python/faq|| cd python/faq | ||
+ | |- | ||
+ | | /usr/lib/ubuntu-mate|| cd ../../../lib/ubuntu-mate | ||
+ | |- | ||
+ | | /usr/local/etc|| cd ../../local/etc | ||
+ | |- | ||
+ | | /usr/local/man|| cd ../man | ||
+ | |- | ||
+ | |/usr/local/lib/python2.7|| cd ../lib/python2.7 | ||
+ | |- | ||
+ | |/usr/local/lib/python2.7/site-packages|| cd site-packages | ||
+ | |- | ||
+ | |/usr/local/lib/python2.7/dist-packages|| cd ../dist-packages | ||
+ | |- | ||
+ | | /home/aluno|| cd ../../../../../home/aluno | ||
+ | |- | ||
+ | | /home/aluno/Downloads|| cd Downloads | ||
+ | |} | ||
+ | {{collapse bottom}} | ||
+ | |||
+ | {{collapse top|Exercício 2}} | ||
+ | ''Obs:'' o diretório inicial para os comandos é ''/home/aluno'' | ||
+ | |||
+ | {| border=1 | ||
+ | !Comando com caminho relativo | ||
+ | !Caminho absoluto resultante | ||
+ | |- | ||
+ | |cd Imagens || /home/aluno/Imagens | ||
+ | |- | ||
+ | |cd ../Documentos||/home/aluno/Documentos | ||
+ | |- | ||
+ | |cd ../.. || /home | ||
+ | |- | ||
+ | |cd ../boot || /boot | ||
+ | |- | ||
+ | |cd grub || /boot/grub | ||
+ | |- | ||
+ | |cd ../../usr/lib || /usr/lib | ||
+ | |- | ||
+ | |cd ../share || /usr/share | ||
+ | |- | ||
+ | |cd ../local || /usr/local | ||
+ | |- | ||
+ | |cd lib/python2.7 || /usr/local/lib/python2.7 | ||
+ | |- | ||
+ | |cd ../.. || /usr/local | ||
+ | |- | ||
+ | |cd ../../etc || /etc | ||
+ | |- | ||
+ | |cd ../lib/modules || /lib/modules | ||
+ | |- | ||
+ | |cd ../../home || /home | ||
+ | |- | ||
+ | |cd aluno/Downloads/.. || /home/aluno/Downloads | ||
+ | |} | ||
+ | {{collapse bottom}} | ||
{{collapse bottom}} | {{collapse bottom}} |
Edição das 14h11min de 15 de fevereiro de 2017
Endereço encurtado: http://bit.ly/pji2-20171
Presença: Neste link
Projeto Integrador I: Diário de Aula 2017-1
Professores: Marcelo Maia Sobral ( Facebook) e Simara (simara.sonaglio@ifsc.edu.br)
Encontros: 4a feira/19:00, 6a feira/19:00
Atendimento paralelo: 4a e 6a feira 18:30 h
Coordenadoria pedagógica (Graciane): graciane@ifsc.edu.br (3381-2890, 3381-2842)
Objetivo Geral
Implantar rede de dados e telefônica de pequeno porte, típica de um pequeno escritório.
Ementa
Introdução e histórico das telecomunicações e da Internet. Uso de serviços e aplicações oferecidos pelas redes de telecomunicações. Conceitos sobre redes de computadores: comutação de pacotes versus comutação de circuitos, redes locais e rede Internet. Instalação de computadores e integração a uma rede local e a Internet. Sistema operacional Linux. Introdução ao sistema telefônico: telefonia fixa e móvel, centrais de comutação, telefonia IP e convergência. Integração de serviços de voz convencionais e VoIP.
Bibliografia
- FOROUZAN, Behrouz A.; FEGAN, Sophia Chung. Comunicação de dados e redes de computadores. Tradução de Ariovaldo Griesi. 4. ed. São Paulo: McGraw-Hill, 2008. 1134 p., il. ISBN 9788586804885.
- KUROSE, J. e ROSS, K. Redes de Computadores e a Internet: Uma abordagem top-down. Tradução da 3a edição, Addison Wesley, 2006.
- COLCHER, Sérgio. VOIP: voz sobre IP. Rio de Janeiro: Elsevier, 2005.
Material de apoio
- Linux
- Redes
- Outros
Alguns textos interessantes
- A história dos telefones celulares
- Telebrasil (Associação Brasileira de Telecomunicações)
- Telecom no Brasil: um panorama
- Estatísticas sobre telecomunicações no Brasil
- Principais grupos de telecomunicações no Brasil
- Telecomunicações: O Novo Cenário (BNDES)
- Desafios e Oportunidades do Setor de Telecomunicações no Brasil (IPEA)
- Netflix abocanha 34% de todo o tráfego da internet na América do Norte
- Tráfego total VoIP na Internet
- Internet no Brasil 2014 (dados e fontes)
- Internet: como estão as velocidades nos principais países
- Apresentação sobre redes de computadores
- O Mundo Submarino da Internet
- Rede Ipê: a Rede Nacional de Pesquisa (RNP)
Oportunidades para Técnicos em Telecomunicações
- Ofertas de vagas para técnico em Telecom
- Ofertas de vagas para técnico em Telecom no SINE
- Salário médio do Técnico em Telecomunicações no Brasil
Documentários sobre telecomunicações
- História das Telecomunicações
- Inventos: Telefones Celulares (video Discovery)
- Documentário É Logo Ali: parte 1 e parte 2
- Video da Petrobras
Curiosidades
- Telex: um serviço já extinto (?!)
- Submarine Cable Map
- Mapa de Ataques
- Panorama do Tráfego - RNP
- Uma semana na vida do Administrador de Suporte do "Inferno" (humor)
- Vaga de Técnico em Redes na RNP: um exemplo de oferta de emprego
- Empoderar, dar autonomia, não esconder o código
- Carrier Grade Linux (CGL): Linux para Telecomunicações
Avaliações
As avaliações serão de dois tipos:
- Projetos: feitos em equipe, serão avaliados de acordo com o cumprimento dos objetivos previamente determinados. Na apresentação do projeto, uma entrevista será feita para definir o conceito concedido a cada membro da equipe.
- Testes: feitos individualmente, serão aplicados semanalmente no início da aula. O conteúdo para esses testes serão textos informados com uma semana de antecedência, assim como as técnicas e assuntos vistos em aula. A avaliação de cada teste será dada com um dos conceitos S (suficiente) e I (insuficiente).
O conceito final será calculado da seguinte forma:
- 9 a 10: ao menos dois projetos A e um projeto B
- 7 a 9: ao menos dois projetos B em um projeto C
- 6: ao menos C em todos projetos
Além disso, os testes ajustam o conceito final da seguinte maneira:
- Incrementa: se pelo menos 75% dos testes S, incrementa conceito final em um nível (ex: B sobe para A)
- Mantém: se pelo menos 40% dos testes S, mantém conceito final
- Decrementa: se menos de 40% dos testes S, decrementa conceito final em um nível (ex: A reduz para B)
Projetos
Nome | Projeto 1 | Projeto 2 | Projeto 3 | Conceito | Conceito após ajuste |
Faltas |
---|
- OBS: D* = Indefinido (por ausência à avaliação)
- OBS 2: conceito acompanhado de ? = falta o relatório do projeto
Testes
Nome | T1 | T2 | T3 | T4/PC | T5 | T6 | T7 | T8 | T9 | T10 | T11 | Ajuste |
---|
Obs: I* = não fez o teste
Equipes
Equipe | Membros |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 |
10/02: Apresentação da disciplina
Aula 1 |
---|
Hoje inicia-se a etapa 1. Ao longo dela serão estudados alguns conceitos sobre o sistema operacional Linux, e serão praticados exercícios e resolvidos pequenos desafios relacionados com procedimentos usuais do dia-a-dia. Ao final da etapa, um pequeno projeto será realizado para consolidar o conhecimento e avaliar o progresso da turma.
O que é um sistema operacional ?No curso iremos trabalhar com sistema operacional Linux. Porém o conceito de sistema operacional inclui também o Windows, Mac OS X, FreeBSD, Android, iOS, e (muitos, muitos, muitos mesmo !) outros. Para ter uma ideia do que faz um sistema operacional, vejam esta animação: A Saga do Windows Não há um video tão direto e divertido como esse que se baseie no Linux. Mas alguns documentários podem contextualizar o Linux e contar um pouco de sua história. Vocês podem assisti-lo em outro momento, caso se interessem em conhecer melhor o Linux e software livre: Revolution OS: A História do Linux, GNU e software livre The Code Linux - documentário sobre Linux
Sistemas operacionais usados em equipamentos de redeEquipamentos de rede como roteadores, pontos de acesso, modems adsl, switches ethernet e mesmo centrais telefônicas podem ser considerados computadores especializados. Todos possuem algum sistema operacional sobre o qual outros softwares são usados para implementar as funções de cada equipamento.
Interface com o usuárioHoje, em particular, precisaremos explorar um pouco dos conceitos de interface com o usuário, arquivos e aplicativos. A interface a ser usada inicialmente é a interface gráfica (GUI - Graphical User Interface). A figura a seguir mostra essa interface, conforme a que existe nos computadores do laboratório:
Algumas atividades para o uso do sistema operacionalAo longo da disciplina, diversas atividades precisarão ser realizadas com o sistema operacional. Algumas delas são bastante corriqueiras, e por isso acabam sendo realizadas desde as primeiras vezes em que se usa o sistema. Elas envolvem:
Atividade
|
15/02:
Aula 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Objetivo da aula: usar o sistema operacional Linux para visualizar os conteúdos de arquivos Procurando arquivos ou diretóriosUma tarefa usual em um sistema operacional é localizar arquivos. Essa procura pode ser baseada no nome ou parte do nome de arquivo, na data de criação ou última modificação, no nome do usuário ou grupo dono, ou outros atributos do arquivo. Pode ser inclusive baseada numa combinação dessas informações. Por exemplo, pode ser necessário procurar todos os arquivos de música ou video, ou então todos os programas (arquivos executáveis) que pertençam ao superusuário (usuário root). Existem programas capazes de fazer tais buscas tanto no ambiente gráfico quanto no modo texto. As buscas a serem realizadas são:
Para iniciar, vamos usar programas gráficos para fazer buscas. Usando o ambiente gráficoO primeiro programa gráfico a ser usado é o caja (ou nautilus em outras versões do Ubuntu que não o Mate), o gerenciador de arquivos disponível no Ubuntu Linux. Para usá-lo para fazer buscas selecione a opção de pesquisa:
Usando a linha de comando (modo texto)O caja funciona como um gerenciador de arquivos e diretórios, possibilitando investigar que arquivos existem em cada diretório, entre outras coisas. Com ele é simples listar o conteúdo de um ou mais diretórios, bastando navegar por sua interface. Mas na linha de comando não há essa facilidade. Nela devem-se usar alguns programas para obter um resultado parecido. Para começar a usar a linha de comando, devem-se conhecer e saber usar programas para navegar por diretórios, listar diretórios, procurar arquivos e diretórios e copiar arquivos.
Diretório atualNa linha de comando existe o conceito de diretório atual ou corrente. Quando se acessa esse tipo de interface, existe um diretório em que operações sobre arquivos são realizadas. Para descobrir o diretório atual usa-se o programa pwd, como mostrado a seguir: msobral@turing:~$ pwd
/home/aluno
Listagem de diretórioNo exemplo anterior, o diretório atual é /home/aluno. Qualquer operação sobre arquivos ou diretórios será feita tendo como base esse diretório. A operação mais simples é a listagem de diretório, que se faz com o programa ls. Aproveitando o exemplo acima, a listagem do diretório atual teria este resultado: msobral@turing:~$ ls
001.jpg iperf-2.0.5.tar.gz prova4-2011-1.odt
002.jpg juliano.tgz prova4-2011-1-rec.odt
003.jpg klaus prr.log
004.jpg livros public_html
005.jpg Makefile.in quartus.cap
006.jpg nhrp.tar radiusd_test.py
007.jpg nohup.out rco2
008.jpg passwd.web rmu
msobral@turing:~$
Mudança de diretórioA listagem apresentada revela vários arquivos e subdiretórios existentes no diretório atual. Sabendo que public_html é um subdiretório, pode-se desejar mudar o diretório atual de forma a entrar nesse subdiretório. Isso pode ser facilmente realizado com o programa cd: aluno@turing:~$ cd public_html
aluno@turing:~/public_html$ pwd
/home/aluno/public_html
Diretório atual e diretório acimaO diretório imediatamente acima é referido com .. (dois pontos). Esse é um atalho que possibilita subir um nível de diretório sem conhecer o nome do diretório imediatamente superior. Assim, para voltar ao diretório imediatamente anterior ao diretório atual pode-se fazer isto: aluno@turing:~/public_html$ cd ..
aluno@turing:~$ pwd
/home/aluno
aluno@turing:~/public_html$ pwd
/home/aluno/public_html
aluno@turing:~/public_html$ cd .
aluno@turing:~/public_html$ pwd
/home/aluno/public_html
... nada acontecerá (o diretório atual não será modificado). Criação e remoção de diretórioUm diretório pode ser criado com o comando mkdir. O uso desse comando pede apenas um argumento, que é o nome ou caminho do diretório a ser criado: aluno@M2:~$ pwd
/home/aluno
aluno@M2:~$ mkdir teste
aluno@M2:~$ cd teste
aluno@M2:~$ pwd
/home/aluno/teste
Para remover um diretório usa-se o comando rmdir. Esse diretório deve estar vazio para o comando consiga removê-lo: aluno@M2:~$ pwd
/home/aluno
aluno@M2:~$ rmdir teste
aluno@M2:~$ cd teste
cd: teste: Arquivo ou diretório não encontrado
aluno@M2:~$ rmdir Downloads
rmdir: falhou em remover “Downloads”: Diretório não vazio
Cópia de arquivosA cópia de arquivos na linha de comando envolve usar o programa cp. Com ele podem-se copiar um ou mais arquivos para um diretório de destino. Por exemplo, para copiar o arquivo 001.jpg para dentro do diretório public_html pode-se fazer o seguinte: aluno@M2:~$ cp 001.jpg public_html
O diretório de destino é sempre o último argumento passado ao programa cp. A cópia de múltiplos arquivos pode ser feita listando-os todos antes do diretório de destino: aluno@M2:~$ cp 001.jpg 002.jpg 003.jpg public_html
aluno@M2:~$ cp *.jpg public_html
aluno@M2:~$ cp 00*.jpg public_html
... em que todos os arquivos cujos nomes iniciem com 00 e terminem com .jpg serão copiados. Renomeação de arquivosArquivos podem ser renomeados com o comando mv. Ele pode ser usado de forma muito parecida com o comando cp. A diferença está na remoção do arquivo original, como se ele sumisse de seu diretório de origem e aparecesse no diretório de destino. aluno@M2:~$ mv mulher_de_40.mp3 Musicas
aluno@M2:~$ ls Musicas
mulher_de_40.mp3
aluno@M2:~$ ls mulher_de_40.mp3
não é possível acessar mulher_de_40.mp3: Arquivo ou diretório não encontrado
aluno@M2:~$ mv mulher_de_40.mp3 musica_romantica.mp3
aluno@M2:~$ ls musica_romantica.mp3
musica_romantica.mp3
aluno@M2:~$ ls mulher_de_40.mp3
não é possível acessar mulher_de_40.mp3: Arquivo ou diretório não encontrado
Remoção de arquivosArquivos podem ser removidos com o comando rm. Cuidado ao utilizá-lo ! Uma vez removido, um arquivo não pode ser recuperado ! aluno@M2:~$ rm mulher_de_40.mp3
aluno@M2:~$ ls mulher_de_40.mp3
não é possível acessar mulher_de_40.mp3: Arquivo ou diretório não encontrado
Curingas (wildcards)Curingas são caracteres especiais usados para selecionar vários arquivos ou diretórios de uma só vez. Os curingas podem ser usados em qualquer comando para especificar nomes de arquivos e diretórios. Dois curingas bastante usados são:
Curingas são muito úteis para operações sobre arquivos e diretórios. Por exemplo, para copiar todos os arquivos de música MP3 pode-se usar o curinga *' da seguinte forma: aluno@M2:~$ cp *.mp3 Musica
aluno@M2:~$ mv *.mp? Videos
Procura por arquivosA procura de arquivos e diretórios pode ser realizada na linha de comando com o programa find. Por exemplo, para localizar todos os arquivos ou diretórios chamados default, e que estejam abaixo de /etc: aluno@D1:~$ find /etc -name default -print
/etc/default
/etc/calendar/default
/etc/X11/xinit/xinput.d/default
aluno@D1:~$
find diretório [opões]
... e muitas outras (consulte o manual do find). Exercícios
Resolução
|