1 / 32

Tema 1 Introdução a Linux

Tema 1 Introdução a Linux. Pablo Gamallo Otero http://gramatica.usc.es/~gamallo/. PLANO. Software livre Alguns comandos do shell de GNU/LINUX. Bibliografia. Jordi Mas i Hernández (2007), Software Libre, Biblos, A Coruña. http://aurelio.net/shell/. Software livre.

winter
Download Presentation

Tema 1 Introdução a Linux

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tema 1Introdução a Linux Pablo Gamallo Otero http://gramatica.usc.es/~gamallo/

  2. PLANO • Software livre • Alguns comandos do shell de GNU/LINUX

  3. Bibliografia • Jordi Mas i Hernández (2007), Software Libre, Biblos, A Coruña. • http://aurelio.net/shell/

  4. Software livre código fonte = receita de cozinha - Sem acesso ao código fonte, só podemos usar o software, não podemos ver como está feito ou introduzir melhoras. - O software livre permite o acesso ao código fonte (receita) - A filosofia do software livre provém da ética hacker: partilhar os resultados com o resto da comunidade

  5. Software livre - Aparece a microinformática (princípios dos 80) - Aparecem as primeiras companhias de software - Aparece o código fechado ou privativo(o software se vende sem o código fonte)

  6. Software livre - Em 1985, Richard Stallman funda a Free Software Foundation, com o objectivo de construir um sistema operativo Unix livre: GNU. - Stallman promulga a liberdade de melhorar o software e fazer públicas as melhoras aos demais de modo que toda a comunidade se poda beneficiar. - Stallman utiliza os termos “privativo” e “proprietário” para refererir-se aos programas que não são livres (Adobe Acrobat, Windows, ...)

  7. Software livre software livre NÃO É software gratuito - free software / open source (código aberto) - “free” significa livre e gratuito (as empresas não gostam) - Open Software Iniciative: uso do termo “código aberto”

  8. Software livre - Em 1991, o estudante finlandês Linus Torvalds construi o núcleo do sistema operativo inspirado em Unix: Linux - Aparecem as primeiras distribuições GNU/Linux que inserem no núcleo Linux as ferramenta do projecto GNU - Stallman utiliza os termos “privativo” e “proprietário” para refererir-se aos programas que não são livres (Adobe Acrobat, Windows, ...)

  9. Software livre Outro software livre conhecido - Escritórios gráficos do sistema Linux: - KDE (liberou o código no 2000) - GNOME (sempre usou código aberto) - Netscape / Mozilla / Firefoxem 1998, Netscape libera o seu navegador. - OpenOffice.orgem 1999, Star Office é liberado e começa o projecto OpenOffice. - Apacheo 70% dos servidores web em 2005 usavam este software

  10. Software livre Tipos de licenças: - GPL (General Public License): regula software com código aberto, de uso e distribuição gratuitos, mas impede que se redistribua numa versão comercial e/ou com código proprietário - freeware: uso e distribuição gratuitos, mas o código não se pode modificar (não é código aberto) - shareware: permite-se que o usuário use e avalie o software durante um período de tempo determinado antes de pedir ao usuário que se registre e pague.

  11. Sistema operativo GNU/LINUX 3 componentes: - kernel: o núcleo do sistema operativo (o Linux de Linus Tovald) - shell: interface entre o usuário e o kernel - aplicações: As diferentes distribuições de GNU/Linux diferenciam-se polo tipo de aplicações que incorporam ao sistema.

  12. GNU/LINUXCaracterísticas - multitarefa - multiusuário: vários usuários podem utilizar o sistema ao mesmo tempo - multiplataforma - maior estabilidade em relação a Windows - não precisa ser reiniciado devido à instalação de programas ou configuração de periféricos - não existem vírus - permite o acesso a discos formatados por outros sistemas operativos

  13. GNU/LINUXAlguns comandos do shell - ls (lista os ficheiros e subdirectórios do directório actual) - pwd (rota actual) - mkdir (criar um subdirectório) - cd (câmbio de directório) - echo “olá” > prova.txt (criar um ficheiro de texto) - cp, mv (copiar, mover e renomear ficheiros) - rm (borrar ficheiros) - cat (ler o conteúdo de um ou vários ficheiros de entrada) - wc(conta linhas, palavras e caracteres dos ficheiros de entrada)

  14. GNU/LINUXPrimeira práctica - cria o directório “meu_nome” - coloca-te no directório meu_nome - cria nesse directório dous subdirectorios: “scripts” e “corpus” - cria dentro de corpus o ficheiro “prova.txt” com o texto “isto é uma prova” - lê o conteúdo do ficheiro prova.txt - conta as linhas, palavras e caracteres de “prova.txt” - borra o ficheiro “prova.txt”

  15. GNU/LINUXPrimeira práctica Fai o mesmo utilizando ferramentas do sistema gráfico e editores de texto como gedit e OpenOffice - Para listar, mover-te na hierarquia de directórios e criar novos subdirectórios, utiliza KONKEROR - Para criar novos ficheiros, utiliza o editor gedit - Para contar palavras e caracteres, utiliza OpenOffice

  16. GNU/LINUXSegunda práctica Objectivo: Procurade “El Quijote” por Internet, guardade o ficheiro no directório “corpus” visualizade o ficheiro na consola e contade as palavras e caracteres do texto - busca com Firefox no site http://www.gutenberg.org/ - borra o metatexto que não pertence ao livro de Cervantes - fai a contagem com OpenOffice e com o comando wc - fazede o mesmo com cat usando a técnica dos pipes “|” - provade também o comando more

  17. GNU/LINUXSegunda práctica O shell permite a construção de comandos complexos através da combinação de vários comandos simples. O operador "|", conhecido como pipe, ou tubo, permite conectar a saída de um comando à entrada de outro. - visualizade o ficheiro: cat ElQuijote.txt - visualizade o ficheiro pantalha a pantalha: more ElQuijote.txt - Contade as linhas, palavras e bytes dum ficheiro: wc ElQuijote.txt

  18. GNU/LINUXSegunda práctica O shell permite a construção de comandos complexos através da combinação de vários comandos simples. O operador "|", conhecido como pipe, ou tubo, permite conectar a saída de um comando à entrada de outro. cat ElQuijote.txt | more cat ElQuijote.txt | wc

  19. GNU/LINUXSegunda práctica Como está codificado o ficheiro ElQuijote.txt ? • Comprova a codificação com o camando file : file ElQuijote.txt Que devolve esta informação: “UTF-8 Unicode English text with CRLF line terminators” - Isto significa que a codificação é Unicode UTF-8, mas tem saltos de linha CR e LF

  20. GNU/LINUXSegunda práctica Eliminar saltos de linha CR: Dos2Unix.x ElQuijote.txt Tira fora os saltos de linha CR, próprios de sistemas alheos a linux, e fica com LF

  21. GNU/LINUXSegunda práctica Unicode -> Latin • lê o ficheiro com o comando cat - a codificação do ficheiro é Unicode (UTF-8). - como vamos usar ferramentas que precissam ter texto codificado em Latin (ISO-8859-1), então, devemos aprender a mudar a codificação: cat ElQuijote.txt | iconv -f UTF-8 -t ISO-8859-1 Na seguinte práctica, simplificaremos o procedimento

  22. GNU/LINUXTerceira práctica Objectivo: Cria 2 ficheiros executáveis: - de Unicode a Latin 1 - de Latin 1 a Unicode 1. Cria um ficheiro UnicodeToLatin.x contendo o seguinte comando: iconv -f UTF-8 -t ISO-8859-1 2. Cria um ficheiro LatinToUnicode.x contendo o seguinte comando: iconv -f ISO-8859-1 -t UTF-8

  23. GNU/LINUXTerceira práctica Podemos dar três tipos de permissões aos ficheiros: -Podem ser lidos, - Podem ser escritos - Podem ter código executável chmod +r ficheiro (permite a leitura) chmod +w ficheiro (permite a escrita) chmod +x ficheiro (permite a execução)

  24. GNU/LINUXTerceira práctica Já podemos convertir o ficheiro codificado em Unicode a Latin: cat ElQuijote.txt | ./UnicodeToLatin.x > ElQuijote_latin.txt

  25. GNU/LINUXQuarta práctica Objectivo: Conta o número de ocorrências das expressões: “Quijote”, “Don Quijote”, “Sancho”, “Sancho Panza”, “Dulcinea”, “Dulcinea del Toboso”, ... Comando “grep”: selecciona as linhas do texto que contenham uma sequência de caracteres (ou string) específica cat ElQuijote.txt | grep “Quijote” | wc

  26. GNU/LINUXOutros comandos de interesse head -5 (escreve as primeiras 5 linhas do texto) tail -11 (escreve as últimas 11 linhas do texto) head -12 | tail -1 (escreve a linha 12) head -N (escreve as primeiras N linhas do texto) tail -N (escreve as últimas N linhas do texto) head -N | tail -1 (escreve a N linha)

  27. GNU/LINUX Quinta práctica Objectivo: Criar um ficheiro executável, chamado “linha.x”, que escreva a linha do texto que lhe digamos. cat ElQuijote.txt | ./linha.x 5 (escreve a linha 5 do texto) Solução: head -$1 | tail -1

  28. GNU/LINUX Sexta práctica Objectivo: Criar um ficheiro executável, chamado “linhas.x”, que escreva as linhas do texto que lhe digamos. cat ElQuijote.txt | ./linhas.x 10 3 escreve as 3 últimas linhas até chegar à linha 10 (de 8 a 10) cat ElQuijote.txt | ./linhas.x 33 10 escreve as 10 últimas linhas até chegar à linha 33 (de 24 a 33) Solução: head -$1 | tail -$2

  29. GNU/LINUX Séptima práctica Objectivo: melhorar o “linhas.x” para criar linhas2.x cat ElQuijote.txt | ./linhas2.x 3 10 escreve da linha 3 à linha 10 cat ElQuijote.txt | ./linhas2.x 10 33 escreve da linha 10 à linha 33 Solução: ((N = $2 - $1 + 1)) head -$2 | tail -$N

  30. GNU/LINUX Séptima práctica Outra maneira de fazer linhas2.x ((N = $2 - $1 + 1)) linhas.x $2 $N Colocade “linhas.x” num directório /bin

  31. GNU/LINUX Mais práticas Podedes praticar mais em: http://aurelio.net/shell/apostilha-introducao-shell.pdf http://es.tldp.org/Manuales-LuCAS/AA_Linux_colegio-1.1/AA_Linux_colegio-1.1-html/x3772.htm http://www.ppgia.pucpr.br/~maziero/ensino/sei/shell-bash-basico.html http://www.openslack.org/~piterpk/artigos/aposhell.ps

  32. GNU/LINUX Comandos mais interessantes para processamento de texto cat : concatena diversos arquivos. tac : idem, mas inverte a ordem das linhas. more : permite a paginação. tr : troca de caracteres entre dois conjuntos. head : seleciona as "n" linhas iniciais. tail : seleciona as "n" linhas finais. wc : conta o número de linhas, palavras e bytes. sort : ordena as linhas segundo critérios ajustáveis. uniq : elimina linhas repetidas, deixando uma soa linha. sed : para operações complexas de strings (trocas, etc). grep : selecciona linhas contendo uma determinada expressão. cut : selecciona colunas do fluxo de entrada. rev : reverte a ordem dos caracteres de cada linha.

More Related