uma visão geral sobre a programação e computação em...

56
Uma visão geral sobre a programação e computação em Física de Partículas Sandro Fonseca de Souza Dilson de Jesus Damião DFNAE/UERJ 1

Upload: others

Post on 19-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Uma visão geral sobre a programação e computação em

Física de PartículasSandro Fonseca de SouzaDilson de Jesus Damião

DFNAE/UERJ

1

Page 2: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Sumário

• Introdução sobre programação e computação em Física de Partículas

• Apresentando o LINUX

2

Page 3: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Informações Gerais

Quarta-feira: T3-T6 h

Sexta-feira:T3-T4

Local: sala 3017-A

website: http://dfnae.fis.uerj.br/twiki/bin/view/DFNAE/TopicosAnalises

3

Page 4: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Contato pelo google groups: [email protected]

4

Page 5: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Avaliação

Conjunto de trabalhos a serem entregues ao longo do curso.

5

Page 6: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Programação e Computação em Física

de Partículas

6

Page 7: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Como analisar os dados em FAE?

7

Page 8: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

8

https://www.youtube.com/watch?v=PJ2q8WUire0

Conjunto de aceleradores do LHC/CERN

Page 9: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

9

LHC collision event at CMS showing two photons -- 8 TeV (CMS Higgs search)

https://www.youtube.com/watch?v=psMpabzGuLo

Page 10: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Visualização de Eventos Reais no Experimento CMS

10

Page 11: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

http://cms.web.cern.ch/news/observation-new-xib0-beauty-particle

11

Page 12: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

http://cms.web.cern.ch/news/observation-new-xib0-beauty-particle

12

Page 13: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

http://cms.web.cern.ch/news/observation-new-xib0-beauty-particle

13

Page 14: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Modelo Computacional do Experimento CMS

T2UERJBR

14

Page 15: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Modelo Computacional do Experimento CMS

15

Page 16: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

WLCG Google Earth Dashboard

16

Page 17: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

http://cms.uerj.br/hepgrid/17

Page 18: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Etapas de uma analise de um experimento em Física de Altas Energias

18

Page 19: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Etapas da geracão de um evento de Monte Carlo

19

Page 20: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Apresentando o Linux

20

Page 21: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Sistema Operacional LINUX

•Linux é um termo comumente utilizado para se referir a sistemas operativos sistemas operacionais (português brasileiro) que utilizam o kernel Linux. O núcleo Linux foi desenvolvido pelo programador finlandês Linus Torvalds, inspirado no sistema Minix.

• Inicialmente desenvolvido e utilizado por grupos de entusiastas em computadores pessoais, com núcleo Linux passaram a ter a colaboração de grandes empresas como IBM, Sun Microsystems, Hewlett-Packard (HP), Red Hat, Novell, Oracle, Google, Mandriva e etc

21

Page 22: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Ubuntu

•Ubuntu é um sistema operacional de código aberto, construído a partir do núcleo Linux, baseado no Debian. É patrocinado pela Canonical Ltd (dirigida por Jane Silber).

•O Ubuntu diferencia-se do Debian por ter versões lançadas semestralmente, por disponibilizar suporte técnico nos 9 meses seguintes ao lançamento de cada versão (as versões LTS – Long Term Support – para desktop recebem 5 anos de suporte, e para servidor recebem 5 anos de suporte), e pela filosofia em torno de sua concepção. A proposta do Ubuntu é oferecer um sistema que qualquer pessoa possa utilizar sem dificuldades, independentemente de nacionalidade, nível de conhecimento ou limitações físicas. O sistema deve ser constituído principalmente por software livre.

http://www.ubuntu.com/desktop

Southern African philosophy of Ubuntu (humanity towards others).”

22

Page 23: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Instalando o Ubuntu

http://www.ubuntu.com/download

https://www.youtube.com/watch?v=ShH2U4D5tjM

23

Page 24: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Instalando o Ubuntu

http://www.ubuntu.com/download

https://www.youtube.com/watch?v=ShH2U4D5tjM

24

Page 25: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Linhas de Comando

25

Page 26: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Linhas de Comando (LC)

• As linhas de comando podem em princípio parecer antiquado quando comparado com as interfaces gráficas (GUI), entretanto:

• É uma poderosa forma de interação com o sistema operacional.

• LC é a melhor opção para ações complexas, como por exemplo.

• Repetição e facilidade de automação.

• Permite operar com diversos objetos.

• Opções e ações são evocadas numa forma consistente.

• Oferece um ambiente de trabalho bem simplificado para usuário.

• Consume poucos recursos do sistema (CPU, memória e etc).

• Possibilita um controle mais flexível no sistema.

• Trabalhando com LC é bem mais rápido que os GUI.

• É a forma mais adequada para acessar sessões remotas com largura de banda reduzida

• Interfaceamento bastante estável quando comparado com GUI.

26

Page 27: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Incializando um terminal• As distribuições do Linux possuem diversos “programas para terminal”

• por exemplo: lxterminal, xterm e uxterm.

Sugerimos como primeiroexercício que tente navegar nono menu lateral e execute um terminal

27

Page 28: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Prompt e Shell • As distribuições do Linux possuem diversos “programas para terminal”

• por exemplo: lxterminal, xterm e uxterm.

• Linux prompt: usuario@machine:diretorio$ todos os comandos

podem ser digitados após o prompt

• O Linux SHELL:

• o Linux usa um programa para chamado SHELL que aceita e interpreta

comandos através de linhas de comandos em texto

• existem uma imensa da programa SHELL disponíveis :bash,tcsh,csh

• quando você iniciar um terminal ou inicializar no Linux, você deve ser

colocado no shell padrão

• O SHELL do Linux é uma poderosa ferramenta de interpretação de

linguagem de comandos

28

Page 29: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Prompt e Shell • O SHELL do Linux é uma poderosa ferramenta de interpretação de

linguagem de comandos:

• comandos internos: (pwd,cd,echo,exit,logout)

• variáveis, funções e arrays

• expressões lógicas

• estruturas de controle

• histórico dos commandos

• expressões regulares

• caracteres especiais:~ .$&*?|

29

Page 30: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Prompt e Shell

Exercício 1:• Observe o atual prompt da sua sessão e descubra qual o seu diretório• Descubra qual é o seu shell usando o comando: echo $0 • Experimente o comando logout

30

Page 31: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Executando,suspendendo e finalizando comandos๏ Você executa um comando digitando o nome do comando no prompt do Linux.

Entretanto:๏ Quando você digita um comando que não é reconhecido como um comando

interno do shell o shell faz uma busca pelo programa no sistema, listando todas as possibilidades disponíveis.

๏ Alternativamente, você pode especificar o comando incluindo o caminho completo: /diretório/diretório2/<nome_do_programa>

๏ Os arquivos dos programas para comandos tem que ser definidos como executáveis. Isso usualmente ocorre durante a instalação ou pode ser feito manualmente pelo usuário.

๏ Parar ou suspender um programa use o conjunto de teclas: ctrl+z๏ Continuar a execução de um programa use tanto os comandos fg ou bg ๏ Para checar a execução de programas, liste os programas que estão sendo executados

ou suspensos no seu sistema usando o comando jobs ๏ Finalizando um programa use as teclas ctrl + c

Exercício 2: • Tente rodar o programa xeyes. Qual o problema que aparece?• Suspende ele (ctrl + z) para retornar ao prompt• Descubra a localização do programa xeyes (which xeyes) e check se o

PATH contem ele qual o diretório• Use os comandos fg e bg para continuar a execução do programa . Qual

a diferença entre eles? • Encerre o programa com os teclas ctrl + c31

Page 32: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Flexibilidade do prompt do Linux

32

• Usando a tecla tab para procurar comandos (expansão de tabulação):• Ajuda a minimizar erros e aumenta a velocidade de digitação oferecendo ao

shell a possibilidade automática da inclusão do nome do comando. Digite parcialmente um comando e pressione a tecla Tab

• Histórico dos comandos:• Use as teclas up ou down para visualizar os comandos anteriores• Use a teclas ctrl + r para fazer a busca nos histórico de comandos

• Modificações/manipulação de textos no prompt• Apaga o texto após o cursor: ctrl + k, transporte de caracteres: ctrl + t e

transporte de palavras: esc + t

Exercício 3:• Experimente a expansão de tabulação, histórico de comandos e a

manipulação de alguns textos. (e.x. transporte de duas palavras)

Page 33: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Obtendo ajuda e informações adicionais

33

๏ O Linux possibilita um sistema de ajuda em modo texto, o comando man <nome do comando>๏ Use as teclas up e down para navegar no manual๏ Busque com por palavras chaves usando: /text, e pressione n afim de repetir

a busca๏ Para sair do manual tecle q

๏ Diversos comandos possuem a opção de uma versão simplificada do manual através da opção — help na linha de comando๏ Use sempre — help como uma opção após a linha de comando

๏ Outra possibilidade e usar info <nome_do_comando> ๏ Quando você se sentir perdido, você pode tentar seguintes comandos:

๏ whoami, who, pwd

Exercício 4:• Faça uma busca na documentação do shell bash ( man bash)• Descubra quais as função do comando who,pwd e whoami

Page 34: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Processando e filtrando textos

34

๏ Linux é um poderosa ferramenta de manipulação de arquivos de texto e de processamento de fluxo.๏ Administração de sistemas é feito através de arquivos de configuração que estão

geralmente em arquivos texto๏ Saída de comandos são geralmente fluxo de texto

๏ Ler o conteúdo dos arquivos: cat, head, tail, more, less๏ Manipula ou mensura arquivos textos: wc, sort, nl,uniq, od๏ Mais algumas ferramentas avançadas (incluindo em linguagem programação): grep, sed,

awk ๏ Ferramentas de encadeamento: o pipe do Linux | irá alimentar a saída do primeiro

comando quanto a entrada for o segundo comando:๏ comando1|comando2 https://en.wikipedia.org/wiki/Stream_processing

Exercício 5:• Inspecionar o conteúdo de um arquivo de texto (por exemplo, o /etc/services

config file) usando: cat, head, tail, more ou less (como bônus leia o manual do comando less)

• Brincar com alguns comandos de manipulação de texto e tente encadear eles juntos: e.x.: sort /etc/services | more

• Use o comando grep para procurar padrões de texto em um arquivo: grep “ftp" /etc/services

Page 35: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

35

Arquivos e Diretórios๏ O Linux usa o sistema de arquivos para organizar e estocar arquivos assim eles podem

ser facilmente acessado

๏ Esses arquivos podem ser composta de texto, dados, ou o código-fonte do programa, ou pode representar dispositivos de hardware. Na verdade, todas as principais entidades são representadas como arquivos

๏ Cada um dos arquivos em um sistema de arquivo tem o seu próprio nome de arquivo exclusivo:

๏ Símbolos ASCII, 255 caracteres

๏ Caso sensível: Backup12 e backup12 são dois arquivos diferentes!

๏ Um nome de arquivo pode conter extensão (s): detector.data.tgz

๏ Evite: -! # & @ $? * / | (Por exemplo -openfile pode ser visto como um comando opção)

๏ Arquivos são estocados e organizados em diretórios que podem conter subdiretórios que podem estocar arquivos.

๏ Está estrutura é uma estrutura hierárquica em arvore

๏ A base do diretório do sistema de arquivos é chamada de root(/)

๏ As regras para a designação de diretórios são os mesmos que os nomes de arquivo

Page 36: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

36

Arquivos e Diretórios

Page 37: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

37

Arquivos e Diretórios

Page 38: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

38

Arquivos e Diretórios

Page 39: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

39

Arquivos e Diretórios

Exercício 5: Crie, modifique, apague e compare hard e soft link • ln origfile hardlink_to_orig• ln –s origfile softlink_to_orig• ls –li• Modifique o conteúdo do arquivo original• ls -li• rm origfile• ls -li

Page 40: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

40

Navegando pelos diretórios

๏ O diretório mais alto é o root, representado por /๏ Quando um usuário ou programa está a trabalhar no sistema de arquivos, a sua localização é

conhecida como o diretório de trabalho ativo ou corrente, representado por ./๏ Use o comando pwd para determinar o caminho completo para o diretório atual

๏ Outro diretório especial é o home, que é representado pelo símbolo ( ~)๏ Cada diretório, exceto o root , tem um diretório "mãe", representado por ../๏ Um caminho na árvore (tree) é o caminho que conduz a um arquivo ou pasta:

๏ Caminho absoluto (sempre a partir do root)๏ /root/home/john/data.txt

๏ Caminho relativo (por exemplo, a partir do home ou do diretório ativo)๏ ~ / data.txt ou ./experiment/data2.txt

๏ Movendo-se na árvore ( tree) é feito usando o comando de mudança de diretório cd:๏ cd <absolute_path>, cd .., cd ~, cd RELATIVE_PATH

Page 41: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

41

Navegando pelos diretórios

Exercício 6: Navegue no diretório tree usando o comando cd• Mude para o root, home, determine o diretório ativo e mova

para o diretório "mãe"

Page 42: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

42

Listando, criando e movendo arquivos e diretórios✦ Listando o conteúdo de um diretório: ls <directory_name>

✦ Sem argumento o comando ls - listas os diretórios atuais ✦ Opções úteis: -a (todos os arquivos), -F (tipos de arquivos), -l (long output)

✦ Criação de novos arquivos:✦ O comando touch cria um arquivo vazio:

✦ touch <novo_arquivo>✦ Usando ">" redirecionamento, ou seja, salvar a saída de um comando para um novo

arquivo:✦ ls-la> dirlist.txt

✦ Usando um aplicativo (e.p., editor de texto)✦ Criando um diretório: mkdir

✦ mkdir <directory_name> ✦ Copiar arquivos e diretórios: cp

✦ cp <original> <new_copy> ✦ Mover arquivos e diretórios: mv

✦ mv <old_location> <new_location>

Page 43: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

43

Removendo arquivos e diretórios✓Removendo arquivos e diretórios: rm ✓ rm <nome_do_arquivo> ✓ rm -d <nome_do_diretório> ou rm -r <nome_do_diretório>

• Não existe um comando “desremover" no Linux• rm -rf é muito poderoso !! a opção -r para uma remoção recursiva

Exercício 7: • O comando ls tem muitas outras opções úteis, por

exemplo. descobrir como listar arquivos de tempo ordenados, incluindo ordem inversa

• Criar novos arquivos com ">" redirecionamento de vários comandos, como: eco, ls, cat

• Criar estrutura de diretórios multi-nível, cp ou arquivos mv para ele

• Em seguida, use rm para remover subdiretórios

Page 44: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

44

Procurando um arquivo em um diretório 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:

aluno@M2:~$ cp *.mp3 Musica

Para mover os arquivos cuja extensão seja mp4 ou mpg, podem-se usar os curingas * e ? desta forma:

aluno@M2:~$ mv *.mp? Videos

Page 45: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

45

Procurando um arquivo em um diretório

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:

aluno@D1:~$ find /etc -name default -print /etc/default /etc/calendar/default /etc/X11/xinit/xinput.d/default aluno@D1:~$

Page 46: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

46

Procurando um arquivo em um diretórioUso do find :find diretório [opões]

... 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.

Page 47: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

47

Procurando um arquivo em um diretórioUso do find :find diretório [opões]

... 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.

Exer

cício

8:

• Ten

te lis

tar a

rquiv

os u

sand

o os

curin

gas e

o co

man

do ls

.

• Bus

que

seus

arqu

ivos e

xecu

táve

is (d

ica: u

se a

opçã

o - e

xecu

tabl

e

do co

man

do fi

nd)

Page 48: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

48

Comandos adicionais

• comando tar: cria e extrai arquivos compactados• tar -cvf <my_archive.tar>• /home/user/ tar –xvf <myarchive.tar>

• comandos ps e top: check e monitora o comportamento dos processos

executados; kill permite finalizar um processo.• kill <process_id>

• comando wget: download de um arquivo

• wget <some_url>

Page 49: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

49

Comandos adicionais

• comando tar: cria e extrai arquivos compactados• tar -cvf <my_archive.tar>• /home/user/ tar –xvf <myarchive.tar>

• comandos ps e top: check e monitora o comportamento dos processos

executados; kill permite finalizar um processo.• kill <process_id>

• comando wget: download de um arquivo

• wget <some_url>

Exercíci

o 9:

• Usando o co

mando wget

faça u

m download de um

arquivo

(download.nordugrid

.org ) e

use o tar

e gzip

para ex

trair o

arquivo

Page 50: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

50

Permissões

http://www.guiafoca.org/cgs/guia/intermediario/ch-perm.html

Page 51: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

51

Permissões

http://www.guiafoca.org/cgs/guia/intermediario/ch-perm.html

Exer

cício

10:

• Check

as p

ermiss

ões d

e um

nov

o arq

uivo

criad

o ( u

se

os co

mando

s ls -

ls e l

s -ld

)

• Remov

a as p

ermiss

ões u

sando

o co

mando

chmod

-u-x

<nov

o_dir

etorio

>

Page 52: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

52

Editores de texto

• Existem diversos editores de texto para desenvolver seu código• Editores em terminais: vi, vim,emacs • Editores gráficos: gedit,xemacs, nedit

Exercício 11: • Escolha seu editor predileto e tente criar um arquivo

texto para usar.

http://www.tecmint.com/best-open-source-linux-text-editors/

Page 53: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

53

https://www.youtube.com/watch?v=OIOe5fLMOdw

Page 54: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

54

Referencias

• http://www.guiafoca.org/

• linuxsurvival.com

• http://ryanstutorials.net/linuxtutorial/

• http://www.linuxdevcenter.com/excerpt/LinuxPG_quickref/linux.pdf

Page 55: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

Backup

55

Page 56: Uma visão geral sobre a programação e computação em ...dfnae.fis.uerj.br/twiki/pub/DFNAE/TopicosAnalises/aula_3.pdfSistema Operacional LINUX •Linux é um termo comumente utilizado

56

Arquivos e Diretórios