fasulinux - profjefer
Transcrição
fasulinux - profjefer
QUEM DEVE FAZER ESTE CURSO? Todos PORQUE FAZER ESTE CURSO? Conhecimento NÍVEL DO CURSO: Alfabetização FASUL GNU/LINUX Prof. Jefer www.profjefer.wordpress.com QUEM DEVE FAZER ESTE CURSO? Todos PORQUE FAZER ESTE CURSO? Conhecimento NÍVEL DO CURSO: Alfabetização PRÉ REQUISITOS: Alunos: Ser usuário de computador Infra: Internet BOA Virtual Box Repositório local das ISOs PRÉ REQUISITOS: Alunos: Ser usuário de computador Infra: Internet BOA Virtual Box Repositório local das ISOs CONTEÚDO *1 - Conhecendo um Novo Mundo 1.1 - Comunidade e Movimento OpenSource 1.2 - Licença GPL e suas Liberdades 1.3 - A Evolução do GNU/Linux 1.4 - Distribuições GNU/Linux (Famílias) 1.5 - Principais Aplicações OpenSource *2 - Profissional Linux 2.1 - Porque se tornar um profissional Linux 2.2 - Certificação Linux 2.3 - Mercado Linux CONTEÚDO *2 - Profissional Linux 2.1 - Porque se tornar um profissional Linux 2.2 - Certificação Linux 2.3 - Mercado Linux 2.4 – Eventos da Área *3 - Linux Mão na Massa 3.1 - Sistemas de Arquivos 3.2 - Estrutura de Diretórios 3.3 - Instalação Desktop (Debian like and RH family) 3.4 - Interfaces Gráficas 3.5 - Instalação Complexa de Programas 3.6 - Programas Equivalentes 3.7 - Linha de Comando Básica 3.8 - Shellzin 1 Parte CONTEÚDO *1 - Conhecendo um Novo Mundo 1.1 - Comunidade e Movimento OpenSource 1.2 - Licença GPL e suas Liberdades 1.3 - A Evolução do GNU/Linux 1.4 - Distribuições GNU/Linux (Famílias) 1.5 - Principais Aplicações OpenSource 1 - Conhecendo um Novo Mundo Linux é parte de um todo, mais precisamente, é um kernel de código-fonte aberto, que foi - e é desenvolvido - ao longo do tempo graças à colaboração voluntária de desenvolvedores de várias partes do mundo. História A história do Linux começa no ano de 1991, pelas mãos de um estudante universitário finlandês chamado Linus Torvalds. O Linux foi criado por ele, não totalmente do "zero", mas sim como uma variação do MINIX. Linus Torvalds, então com quase 20 anos, começou a estudar ciência da computação na Universidade de Helsinki, na Finlândia, em 1988. Cerca de dois anos depois, aproveitando o conhecimento que tinha e estava adquirindo sobre a linguagem C, decidiu criar a sua própria implementação de um terminal em seu recém obtido computador 80386, principalmente para acessar o servidor UNIX da instituição de ensino. Isso porque ele já havia testado o MINIX para esta finalidade, mas não estava satisfeito com os seus recursos. Kernel Kernel pode ser entendido como o núcleo do sistema operacional, isto é, como a parte essencial deste. Cabe ao kernel fazer o intermédio entre o hardware e os programas executados pelo computador. Isso significa que a junção do kernel mais os softwares que tornam o computador usável (drivers, protocolos de comunicação, entre outros), de acordo com a sua aplicação, é que formam o sistema operacional em si. Kernel MINIX O MINIX é um sistema operacional simples, criado por Andrew S. Tanenbaum, um renomado professor de computação que é conhecido pelos diversos livros que escreveu para a área. Tanenbaum disponibilizou o MINIX principalmente para servir de auxílio no ensino de computação. Trata-se de um sistema operacional simples, que exige poucos recursos de hardware e cuja primeira versão foi lançada em 1987 O MINIX também não foi escrito do "zero". Trata-se, na verdade, de um projeto baseado em um sistema operacional que tem grande participação na história da computação: o UNIX. UNIX O surgimento do UNIX se deu em 1969, como um projeto da Bell Labs, laboratório pertencente à AT&T. Mas somente em meados da década seguinte tornou-se um sistema efetivamente disponível no meio acadêmico, o que permitiu a sua evolução e o surgimento de variações. O UNIX, na verdade, começou em meados dos anos 1960 como um projeto a ser desenvolvido por um grupo de habilidosos programadores, entre eles, Ken Thompson e Dennis Ritchie: um sistema operacional de nome Multics. Multics O Multics era um projeto ambicioso, mas enfrentou vários problemas, entre eles, falta de recursos computacionais. Assim, no mesmo ano, Ken Thompson decidiu criar algo mais "realista", chamando o novo projeto de Unics. Tempos depois, o nome foi mudado para UNIX, denominação que permanece até hoje. Multics C é uma criação de Dennis Ritchie, daí o seu comprometimento com o trabalho envolvendo a linguagem e o UNIX. Por causa de seus recursos, a linguagem passou a ser utilizada em vários outros projetos mais complexos, inclusive no desenvolvimento de outros sistemas operacionais, fazendo com que o seu criador fosse reconhecido mundialmente como um dos grandes nomes da computação (infelizmente, Dennis Ritchie faleceu eum outubro de 2011). Multics C é uma criação de Dennis Ritchie, daí o seu comprometimento com o trabalho envolvendo a linguagem e o UNIX. Por causa de seus recursos, a linguagem passou a ser utilizada em vários outros projetos mais complexos, inclusive no desenvolvimento de outros sistemas operacionais, fazendo com que o seu criador fosse reconhecido mundialmente como um dos grandes nomes da computação (infelizmente, Dennis Ritchie faleceu eum outubro de 2011). *nix O UNIX teve grande aceitação não somente em universidades, mas também em ambientes corporativos, resultando no surgimento de variações diversas do sistema, como as versões BSD e o Solaris. 1.1 - Comunidade e Movimento OpenSource From: [email protected] (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: What would you like to see most in minix? Summary: small poll for my new operating system Keywords: 386, preferences Message-ID: <[email protected]> Date: 25 Aug 91 20:57:08 GMT Organization: University of Helsinki Lines: 20 Hello everybody out there using minix - 1.1 - Comunidade e Movimento OpenSource I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I've currently ported bash(1.08) and gcc(1.40), and things seem to work This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-) 1.1 - Comunidade e Movimento OpenSource Linus ([email protected]) PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(. 1.1 - Comunidade e Movimento OpenSource USENET: "um Minix melhor que o Minix" ("a better Minix than Minix"). E depois de algum tempo de trabalho no projecto, sozinho, enviou a seguinte mensagem para comp.os.minix: Você suspira pelos bons tempos do Minix-1.1, quando os homens eram homens e escreviam seus próprios "device drivers"? Você está sem um bom projecto em mãos e deseja trabalhar num S.O. que possa modificar de acordo com as suas necessidades? Acha frustrante quando tudo funciona no Minix? 1.1 - Comunidade e Movimento OpenSource Chega de noite ao computador para conseguir que os programas funcionem? Então esta mensagem pode ser exactamente para você. Como eu mencionei há um mês atrás, estou trabalhando numa versão independente de um S.O. similar ao Minix para computadores AT-386. Ele está, finalmente, próximo do estado em que poderá ser utilizado (embora possa não ser o que você espera), e eu estou disposto a disponibilizar o código-fonte para ampla distribuição. Ele está na versão 0.02... contudo eu tive sucesso ao executa bash, gcc, gnu-make, gnused, compress etc. nele. Nome Linux o nome Linux foi criado por Ari Lemmke, administrador do site ftp.funet.fi que deu esse nome ao diretório FTP onde o núcleo Linux estava inicialmente disponível. Linus inicialmente tinha-o batizado como "Freax". O Linux, por si só, é um kernel. Sozinho, um kernel não tem muita utilidade. É necessário "juntá-lo" a um conjunto de softwares para que tenhamos, efetivamente, um sistema operacional em condições de uso. É aí que o projeto GNU entra. GNU GNU é a sigla para um nome curioso: "GNU is Not UNIX (GNU Não é UNIX)". Trata-se de um projeto que teve início em 1984, pelas mãos de Richard Stallman, que queria criar um sistema compatível com UNIX, mas sem utilizar código deste. 1.2 - Licença GPL e suas Liberdades GNU General Public License (Licença Pública Geral), GNU GPL ou simplesmente GPL, é a designação da licença para software livre idealizada por Richard Matthew Stallman em 1989, no âmbito do projeto GNU da Free Software Foundation (FSF). GNU FDL, a Licença de Documentação Livre GNU. GNU LGPL, a Licença Pública Geral Menor GNU. Liberdades liberdade de executar o programa, para qualquer propósito (liberdade zero); liberdade de estudar como o programa funciona e adaptá-lo às suas necessidades (liberdade 1), sendo o acesso ao código-fonte um prérequisito para esta aspecto; liberdade de distribuir cópias de forma que você possa ajudar ao seu próximo (liberdade 2); liberdade de melhorar o programa e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (liberdade três). Novamente, aqui o acesso ao código-fonte é um pré-requisito. Stallman Richard Matthew Stallman, ou simplesmente "rms" (Manhattan, 16 de março de 1953) é um ativista, fundador do movimento software livre, do projeto GNU, e da FSF. Um aclamado programador e Hacker, seus maiores feitos incluem Emacs (e o GNU Emacs, mais tarde), o GNU Compiler Collection e o GNU Debugger. É também autor da GNU General Public License (GNU GPL ou GPL), a licença livre mais usada no mundo, que consolidou o conceito de copyleft. http://stallman.org/ http://opensource.org/ Open Source A Open Source Initiative (OSI) - Iniciativa pelo código aberto - é uma organização dedicada a promover o software de código aberto ou software livre. FSF A Free Software Foundation (FSF, Fundação para o Software Livre) é uma organização sem fins lucrativos, fundada em 04 de Outubro de1985 por Richard Stallman e que se dedica a eliminação de restrições sobre a cópia, redistribuição, estudo e modificação de programas de computadores – bandeiras do movimento do software livre, em essência. Faz isso promovendo o desenvolvimento e o uso de software livre em todas as áreas da computação mas, particularmente, ajudando a desenvolver o sistema operacional GNU e suas ferramentas. Copyleft Copyleft é uma forma de usar a legislação de proteção dos direitos autorais com o objetivo de retirar barreiras à utilização, difusão e modificação de uma obra criativa devido à aplicação clássica das normas de propriedade intelectual, exigindo que as mesmas liberdades sejam preservadas em versões modificadas. a única exigência de se poder copiar e distribuir uma obra.1 O copyleft também não proíbe a venda da obra pelo autor, mas implica a liberdade de qualquer pessoa fazer a distribuição não comercial da obra. Creative Commons http://www.ojornalista.com/2011/03/voce-sabe-o-que-e-creative-commons/ Há seis grandes licenças da Creative Commons : Atribuição - CC-BY Atribuição - Partilha nos termos da mesma licença CC BY-SA Atribuição - Proibição de realização de Obras Derivadas CC BY-ND Atribuição - Uso Não-Comercial CC-BY-NC Atribuição - Uso Não-Comercial-Partilha nos termos da mesma licença CC BY-NC-SA Atribuição - Uso Não-Comercial-Proibição de realização de Obras Derivadas CC BY-NC-ND https://creativecommons.org/ Creative Commons Apache A licença Apache (versões 1.0, 1.1 e 2.0) exige a inclusão do aviso de copyright e disclaimer, mas não é uma licença copyleft - ela permite o uso e distribuição do código fonte tanto no software open source como no proprietário. BSD A licença BSD permite que o software distribuído sob a licença, seja incorporado a produtos proprietários. Alguns exemplos notáveis são: o uso de código do BSD (funções de rede de computadores) em produtos da Microsoft, e o uso de muitos componentes do FreeBSD no sistema Mac OS X daApple Computer. The Linux Foundation http://www.linuxfoundation.org/ A Linux Foundation (LF) é uma organização sem fins lucrativos tecnologia consórcio fretado para fomentar o crescimento do Linux . Linux Internacional http://www.li.org/ Linux International, também conhecida como LI, é uma associação mundial sem fins lucrativos de corporações e outros que trabalham rumo a promoção do crescimento do Linux e do FOSS. Ela é chefiada por Jon "maddog" Hall. Free and Open Source Software (FOSS) Maddog Jon "Maddog" Hall é o Diretor Executivo da Linux International, uma associação sem fins lucrativos de empresas de grande relevância internacional na área de TI que desejam promover sistemas operacionais baseados em Linux. O apelido lhe foi dados por seus alunos na Hartford State Technical College, onde ele era Chefe do Departamento de Ciência da Computação. Segundo o próprio, ele prefere ser chamado pelo nome "maddog". O próprio Hall afirma que o apelido "vem de um tempo em que eu tinha pouco controle sobre o meu temperamento". Jon trabalha com informática desde 1969, trabalhou para a Western Electric Corporation, Aetna Life and Casualty, Bell Laboratories, Digital Equipment Corporation, VA Linux Systems, e SGI. Atualmente, ele é o CTO e embaixador da Koolu. 1.3 - A Evolução do GNU/Linux 1.4 - Distribuições GNU/Linux (Famílias) https://upload.wikimedia.org/wiki pedia/commons/1/1b/Linux_Distribu tion_Timeline.svg Evolução http://distrowatch.com/ Principais Distros Distrowatch http://distrowatch.com/dw res.php?resource=major Debian http://www.debian.org KNOPPIX http://www.knoppix.org/ Kurumin Ubuntu http://www.ubuntu.com/ Red Hat http://br.redhat.com/ CentOS http://www.centos.org/ https://fedoraproject.org/ Fedora Gentoo https://www.gentoo.org/ https://www.archlinux.org/ Arch Pacman (Package manager - gerenciador de pacotes) Arch é uma distribuição rolling release, Slackware http://www.slackware.com/ Slackware Linux é o nome da mais antiga e conhecida distribuição GNU/Linux mantida ainda em evidência. Seu criador e mantenedor, Patrick Volkerding Suse Yet another Setup Tool (YaST) Conectiva https://www.mandriva.com/br/ Mandrake URPMI Mandriva https://www.mandriva.com/br/ 1.5 - Principais Aplicações OpenSource Apache Samba Iptables Bacula Ssh Ftp Dns LDAP Squid Postgres Mysql Nubuntu http://www.backtrack-linux.org/ Backtrack Ubuntu Studio Edubuntu http://www.edubuntu.org/ Famelix http://www.puppylinux.com/ Puppy / Dizinha ... A distribuição foi desenvolvida do zero, não é baseada em nenhuma outra distribuição. http://www.stoq.com.br/ Stoq Interfaces Gráficas X Window System X.Org Server GDM KDE GNOME XFCE LXDE http://www.enlightenment.org/ Enlingthment https://unity.ubuntu.com/ UNITY http://www.enlightenment.org/ Enlingthment Blackbox 3D – Compiz Fusion https://www.youtube.com/watch?v=8q-eteqArdI https://www.youtube.com/watch?v=4QokOwvPxrE 2 Parte CONTEÚDO *2 - Profissional Linux 2.1 - Porque se tornar um profissional Linux 2.2 - Certificação Linux 2.3 - Mercado Linux 2.4 – Eventos da Área *2 - Profissional Linux Atenção, mercado de Linux está com empregos em alta Linux Foundation mostra com pesquisas recentes que a adoção do sistema operacional aberto está maior e criando oportunidades de trabalho http://www.linuxfoundation.org/publications/linux-foundation/2013-linux-jobs-report http://idgnow.uol.com.br/ti-pessoal/2013/02/21/empresas-estao-aflitas-por-talentos-em-linux-diz-relatorio/ 2.1 - Porque se tornar um profissional Linux 2.2 - Certificação Linux http://www.lpi.org/ exame 101 cobre os temas: LPI1 Junior Level Linux Certification GNU e comandos Unix Dispositivos, Sistemas de Arquivos e Padrões de Hierarquia de Filesystem (FHS) Boot, Inicialização, Shutdown e Runlevels Documentação Tarefas administrativas exame 102: Arquitetura e Hardware Instalação e Gerenciamento de Pacotes Kernel Impressão Shells, Scripts, Programação e Compilação Ambiente X Teoria sobre Redes Serviços de Rede Segurança http://www.lpi.org/ LPI2 Advanced Level Linux Certification http://www.lpi.org/ LPI3 Senior Level Linux Certification 301 Core (retires end of 2013) 302 Mixed Environment (still requires LPI-301 until the exam retires at the end of 2013) Existing Specialties: 303 Security 304 High Availability and Virtualization LPI http://www.lpibrasil.com.br/simulados Novel CLA https://www.novell.com/training/testinfo/objectives/CLA11tobj.html Access and Use man Pages Use info Pages Understand the File System Hierarchy Standard (FHS) Manage Directories with Nautilis and CLI Create and View Files Work with Files and Directories Find Files on Linux Search File Content Get to Know the Command Shells Execute Commands at the Command Line Work with Variables and Aliases Understand Command Syntax and Special Characters Use Piping and Redirection Get to Know YaST Manage the Network Configuration Information from YaST Manage Users and Group Accounts with YaST Describe Basic Linux User Security Features Manage User and Group Accounts from the Command Line Manage File Permissions and Ownership Ensure File System Security Use the Editor vi to Edit Files Manage RPM Software Packages Manage RPM Software Repositories with zypper Perform a SLES 11 Installation Describe the Linux Load Procedure Manage GRUB (Grand Unified Bootloader) Manage Runlevels Describe How the Linux Processes Work Manage Linux Processes Select the Linux File System Configure Linux File System Partitions Manage Linux File Systems Configure Logical Volume Manager (LVM) and Software Raid Set Up and Configure Disk Quotas Set Up Network Interfaces with the ip Tool Set Up Routing with the ip Tool Test the Network Connection with the Command Line Tool Configure Host Name and Name Resolution Manage RPM Software Packages Verify and Update Software Library Access Provide Secure Remote Access with OpenSSH COMPTIA LINUX certificação CompTIA Linux+ prova que o candidato pode explicar recursos fundamentais de código aberto, demonstrar conhecimento de gerenciamento de usuários, entender permissões de arquivo/configurações de software e manejar dispositivos de armazenamento local e protocolos de sistemas de redes. Red Hat Red Hat Certified Architect – RHCA A RHCA é a credencial máxima entre administradores de sistema e foi criada para líderes técnicos que trabalham em ambientes corporativos exigentes. Red Hat Red Hat Certified System Administrator ― RHCSA Uma certificação RHCSA é obtida quando um profissional de TI demonstra as habilidades em administrar os sistemas exigidas em ambientes do Red Hat® Enterprise Linux®. Um Engenheiro Certificado Red Hat® (RHCE®) com uma certificação RHCA, possui um conhecimento aprofundado e está pronto para os maiores desafios em TI. A certificação RHCA une o conhecimento de um Red Hat Certified Datacenter Specialist (RHCDS) ao conhecimento sobre segurança de serviços de redes, monitoramento de sistema e otimização do desempenho. Red Hat Red Hat Certified Engineer ― RHCE Um Red Hat® Certified Engineer (RHCE®) é um Red Hat Certified System Administrator (RHCSA) que possui as habilidades, os conhecimentos e as capacidades adicionais exigidas de um administrador do sistema sênior responsável por sistemas Red Hat Enterprise Linux®. Um RHCE é capaz de: Configurar rotas estáticas, filtragem de pacotes e tradução de endereço de rede. Configurar parâmetros de tempo de execução de kernel. Configurar um iniciador Internet Small Computer System Interface (iSCSI). Criar e entregar de relatórios sobre a utilização do sistema. Utilizar scripts shell para automatizar as tarefas de manutenção do sistema. Configurar log do sistema, incluindo log remoto. Configurar um sistema para fornecer serviços de rede, incluindo HTTP/HTTPS, protocolo FTP (FTP), sistema de arquivos de rede (NFS), protocolo SMB (SMB), protocolo SMTP (SMTP), secure shell (SSH) e protocolo NTP (NTP). Red Hat Red Hat Certified Datacenter Specialist (RHCDS) Um Red Hat® Certified Datacenter Specialist (RHCDS) é o profissional cujo status de certificação na Red Hat é válido, tendo recebido as seguintes certificações e Certificates of Expertise da Red Hat: 2.3 - Mercado Linux 2.4 – Eventos da Área X Conferência Latinoamericana de Software Livre http://softwarelivre.org/fisl14 de 16 a 18 de outubro de 2013 - Foz do Iguaçu | PR | Brasil http://2013.latinoware.org/ pt/ *3 - Linux Mão na Massa 3.1 - Sistemas de Arquivos 3.2 - Estrutura de Diretórios 3.3 - Instalação Desktop (Debian like and RH family) 3.4 - Interfaces Gráficas 3.5 - Instalação Complexa de Programas 3.6 - Programas Equivalentes 3.7 - Linha de Comando Básica 3.8 - Shellzin *3 - Linux Mão na Massa *3 - Linux Mão na Massa 3.1 - Sistemas de Arquivos ReiserFS: O ReiserFS foi criado por Hans Reiser e pela equipe de desenvolvimento da Namesys. Ele provou ser uma alternativa robusta ao Ext2. Seus bens mais importantes são a melhor utilização do espaço em disco, o melhor desempenho do acesso ao disco e uma recuperação de falhas mais rápida Ext2: tornou-se o sistema de arquivos Linux mais popular por muitos anos Ext3: foi criado por Stephen Tweedie. Confiabilidade e desempenho. # mkfs -t ext3 /dev/hda4 Reiser4: Conceito de segurança refinado 3.1 - Sistemas de Arquivos XFS: Com intenção original de ser um sistema de arquivos para o sistema operacional IRIX, a SGI iniciou o desenvolvimento do XFS no começo de 1990. Alta escalabilidade por meio do uso de grupos de alocação. Alto desempenho por meio de um eficiente gerenciamento de espaço em disco Pré-alocação para evitar a fragmentação do sistema de arquivos JFS (Journaling FileSystem) é um sistema de arquivos desenvolvido pela IBM, disponível em licença open source. SWAP: espaço reservado para troca de dados com a memória RAM. 3.2 - Estrutura de Diretórios VirtualBox ISO 3.3 - Instalação Desktop (Debian like and RH family) 3.5 - Instalação Complexa de Programas APT http://www.debian.org/doc/manuals/apt-howto/index.pt-br.html O APT busca em /etc/apt/sources.list por sua lista de origens (sources) Atualizando seu cachê de pacotes local Toda vez que você quiser instalar ou atualizar um aplicativo, você primeiramente, deverá atualizar seu cachê de pacotes. Isso assegura que você tenha as últimas informações sobre o aplicativo que você está instalando. prompt$ apt-get update Vendo os pacotes disponíveis O utilitário apt-cache permite a você buscar no cachê de pacotes local por pacotes que contém certos textos. prompt$ apt-cache search apache Este comando retornou 119 pacotes na minha máquina. Em vez de ler todas as entradas, pode-se filtrar os resultados usando o comando grep prompt$ apt-cache search apache | grep "^apache" APT http://www.debian.org/doc/manuals/apt-howto/index.pt-br.html Vendo informações de um pacote prompt$ apt-cache show nomedopacote Instalando um pacote prompt$ apt-get install nomedopacote Removendo um pacote prompt$ apt-get remove nomedopacote Mantendo seu sistema atualizado prompt$ apt-get update prompt$ apt-get upgrade Synaptic DPKG O dpkg complementa o apt-get, permitindo instalar pacotes .deb baixados manualmente. Digamos que você tenha baixado, por exemplo, o arquivo "skype_1.2.0.18-1_i386.deb", o pacote com o Skype, disponível no http://skype.com. Para instalá-lo, você usaria o comando: # dpkg -i skype_1.2.0.18-1_i386.deb YUM # vi /etc/yum.conf Yum update Yum install pacote RPM # rpm -ivh yum-2.3.2-7.noarch.rpm 3.4 - Interfaces Gráficas Extras 3.6 - Programas Equivalentes http://wiki.ubuntu-br.org/ProgramasEquivalentes 3.7 - Linha de Comando Básica http://wiki.ubuntu-br.org/ComandosBasicos cal: exibe um calendário; cat arquivo: mostra o conteúdo de um arquivo. cd diretório: abre um diretório. chmod: comando para alterar as permissões de arquivos e diretórios. clear: elimina todo o conteúdo visível 3.7 - Linha de Comando Básica cp origem destino: copia um arquivo ou diretório para outro local. date: mostra a data e a hora atual; df: mostra as partições usadas; diff arquivo1 arquivo2: indica as diferenças entre dois arquivos, du diretório: mostra o tamanho de um diretório; 3.7 - Linha de Comando Básica file arquivo: mostra informações de um arquivo; find diretório parâmetro termo: o comando find serve para localizar informações. Para isso, deve-se digitar o comando seguido do diretório da pesquisa mais um parâmetro (ver lista abaixo) e o termo da busca. Parâmetros: name - busca por nome type - busca por tipo size - busca pelo tamanho do arquivo mtime - busca por data de modificação Exemplo: find /home name tristania finger usuário: exibe informações sobre o usuário indicado; free: mostra a quantidade de memória RAM disponível; 3.7 - Linha de Comando Básica halt: desliga o computador; history: mostra os últimos comandos inseridos; id usuário: mostra qual o número de identificação do usuário especificado no sistema; kill: encerra processados em andamento. Saiba mais no artigo Processos no Linux; ls: lista os arquivos e diretórios da pasta atual; w: mostra os usuários logados atualmente no computador (útil para servidores); who: mostra quem está usando o sistema. 3.7 - Linha de Comando Básica lpr arquivo: imprime o arquivo especificado; lpq: mostra o status da fila de impressão; lprm: remove trabalhos da fila de impressão; lynx: abre o navegador de internet de mesmo nome; mv origem destino: tem a mesma função do comando cp, só que ao invés de copiar, move o arquivo ou o diretório para o destino especificado; mkdir diretório: cria um diretório, por exemplo, mkdir infowester cria uma pasta de nome infowester; passwd: altera sua senha. Para um administrador mudar a senha de um usuário, basta digitar passwd seguido do nome deste; 3.7 - Linha de Comando Básica top: exibe a lista dos processos, conforme os recursos de memória consumidos; uname: mostra informações do sistema operacional e do computador. Digite uname -a para obter mais detalhes; useradd usuário: cria uma nova conta usuário, por exemplo, useradd marvin cria o usuário marvin; userdel usuário: apaga a conta do usuário especificado; uptime: mostra a quantas horas seu computador está ligado; vi: inicia o editor de textos vi. Saiba mais aqui; whereis nome: procura pelo binário do arquivo indicado, útil para conhecer seu diretório ou se ele existe no sistema; 3.7 - Linha de Comando Básica ps: mostra os processos em execução. Saiba mais no artigo Processos no Linux; pwd: mostra o diretório em que você está; reboot: reinicia o sistema imediatamente (pouco recomendável, preferível shutdown -r now); rm arquivo: apaga o arquivo especificado; rmdir diretório: apaga o diretório especificado, desde que vazio; shutdown: desliga ou reinicia o computador, veja: shutdown -r now: reinicia o computador shutdown -h now: desliga o computador 3.7 – Permissão de Arquivos http://www.infowester.com/linuxpermissoes.php drwx------ ... 2 wester ............. 512 Jan ... 29 23:30 .. Arquivos/ -rw-rw-r-- ... 1 wester ....... 280232 Dec .. 16 22:41... notas.txt Permissão Binário Decimal r => significa permissão de leitura (read); --- 000 0 w => significa permissão de gravação (write); --x 001 1 x => significa permissão de execução (execution); -w- 010 2 - => significa permissão desabilitada. -wx 011 3 r-- 100 4 R-x 101 5 rw- 110 6 Rwx 111 7 3.7 – Permissão de Arquivos http://www.infowester.com/linuxpermissoes.php A ordem em que as permissões devem aparecer é rwx. Sendo assim, vamos entender a string do nosso exemplo dividindo-a em 4 partes: Drwx------ é um diretório (d); - o proprietário pode alterá-lo, gravá-lo e executá-lo (rwx); - o grupo não pode pode alterá-lo, gravá-lo, nem executá-lo (- - -); - os demais usuários não podem alterá-lo, gravá-lo, nem executá-lo (- - -). Gerenciamento de Processos http://www.infowester.com/linprocessos.php Comandos nice e renice nice -n -5 ntpd No exemplo, o ntpd recebe prioridade -5. Trata-se de uma prioridade alta, afinal, como já dito, quanto menor o número menor sua gentileza. 3.8 - Shellzin jefer@acer:~$ cor=azul jefer@acer:~$ echo cor Cor jefer@acer:~$ echo $cor azul 3.8 - Shellzin #!/bin/bash echo 'Nossa! Estou vivo!' 3.8 - Shellzin Tornemos então o arquivo executável: chmod +x arquivo.sh Ou chmod 755 arquivo.sh Para executar: ./arquivo.sh 3.8 - Shellzin Prompt$ HOJE=$(date) echo "Hoje é: $HOJE" Sáb Abr 24 18:40:00 BRT 2004 unset HOJE echo $HOJE Parametros.sh !/bin/bash # "basename" serve para eliminar o caminho do arquivo e mostrar # somente o último nome dele. Neste caso: parametros.sh echo "Nome do script: `basename $0`" echo "Número total de parâmetros: $#" echo "Primeiro parâmetro: $1" echo "Segundo parâmetro: $2" echo "Décimo quinto parâmetro: ${15}" echo "Todos os parâmetros: $*" Parametros.sh $ ./parametros.sh a b c d e f g h i j l m n o p q r s t u v x z Nome do script: parametros.sh Número total de parâmetros: 23 Primeiro parâmetro: a Segundo parâmetro: b Décimo quinto parâmetro: p Todos os parâmetros: a b c d e f g h i j l m n o p q r s t u vxz Shellzin Gráfico Xdialog --title "Exemplo número 2!" --center --stdout --yesno \ "Neste exemplo, vamos ver o que você quer fazer. Você deseja continuar com o programa?" \ 00 if [ $? = "0" ]; then echo "Que bom! Você continuou o programa! Parabéns!" elif [ $? = "1" ]; then echo "Você saiu do programa..." fi Shellzin Gráfico Xdialog --title "Exemplo de Menu" --center --stdout --menubox \ "Qual sua distribuição Linux favorita?" \ 20 50 0 \ 1 "Slackware" \ 2 "Debian" \ 3 "Red Hat" \ 4 "Conectiva Linux" \ 5 "Eu tenho minha própria distribuição" Gráfico #!/bin/bash kdialog --msgbox "Olá, tudo bem?" kdialog --inputbox "Canal a gravar (ex: 12)" 10 60 "12" 2> /tmp/resposta.tmp canal=`/tmp/resposta.tmp` kdialog --passivepopup "Esta janela some sozinha depois de 6 segundos." 6 & arquivo=`kdialog --getsavefilename "/home/kurumin/Desktop" \ "*.txt |Arquivos de texto"` Python $ vim helloworld.py #!/usr/bin/python # Hello world python program print "Hello World!"; $ python helloworld.py Hello World! Java $ vim helloworld.java /* Hello World Java Program */ class helloworld { public static void main(String[] args) { System.out.println("Hello World!"); } } $ javac helloworld.java $ java helloworld Fontes http://www.dimensaotech.com/2010/03/conhecendo-o-linux-%E2%80%93-parte-1/ http://www.top500.org/statistics/details/osfam/1 http://www.infowester.com/historia_linux.php