Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

sábado, 23 de abril de 2011

Android o sistema do futuro...


Introdução

Apesar do início tímido, o Android logo começou a crescer rapidamente, saindo da situação incipiente que ocupava em 2008 para o posto de um dos sistemas dominantes nos smartphones high-end e tablets. Com exceção da Apple, da Nokia e da Microsoft (que por motivos óbvios têm preferido alavancar seus próprios sistemas), praticamente todos os outros grandes fabricantes possuem projetos relacionados ao Android, que vão de tablets, smartphones e smartbooks a robôs de limpeza. Com tantos projetos em curso, é de se esperar que o Android continue se popularizando nos próximos anos, com uma grande chance de se tornar a plataforma dominante para dispositivos móveis.
Ao falar no Android é impossível deixar de relacionar o sistema ao Google, que apesar de ser mais conhecido por causa do mecanismo de buscas, do Gmail e do AdSense, investe nas mais diversas áreas, de painéis solares a novos algoritmos de inteligência artificial. Em 2005 decidiram entrar também no ramo dos smartphones, adquirindo a Android Inc., uma pequena empresa de desenvolvimento de sistemas embarcados, dando origem aos boatos de que o Google estaria trabalhando no "Google Phone".
Quando foi finalmente divulgado, em 2007, o projeto acabou se revelando bem mais ambicioso que o originalmente previsto. Ao invés de estarem simplesmente trabalhando em um modelo específico de smartphone, anunciaram um sistema operacional open-source (http://code.google.com/android/), baseado em Linux, que pode ser usado também em outros dispositivos.
Apesar de ter começado como um projeto particular, a partir de novembro de 2007 o desenvolvimento dos componentes open-source foi transferido para a Open Handset Alliance, uma fundação sem fins lucrativos, que, além do Google, inclui algumas dezenas de fabricantes de aparelhos, empresas de telefonia e desenvolvimento de softwares.
O Android é, sob diversos ângulos, uma antítese do iPhone. Enquanto a Apple optou por manter um controle estrito sob sua plataforma, controlando tanto o hardware quanto o software, impondo restrições aos desenvolvedores e controlando a distribuição dos aplicativos, o Google optou por seguir o caminho oposto, criando um sistema aberto e incentivando a criação de aplicativos para a plataforma, inclusive com prêmios em dinheiro.
m7b1dd6e5
Grande parte da estratégia em torno do Android é centrada no desenvolvimento de aplicativos por parte de outras empresas e programadores independentes. O Google entendeu que, assim como nos desktops, as plataformas de smartphones estão se consolidando e o mais importante passou a ser os aplicativos e não apenas o hardware ou as funções básicas do sistema. Tendo isso em mente, faz sentido que, sendo o último a entrar no mercado, o Google tenha investido pesado, montando uma grande equipe de desenvolvimento, investindo em contatos com fabricantes e na divulgação do sistema e incentivando a participação externa.
Enquanto a Apple tenta restringir os desenvolvedores, com medo de que aplicativos ruins possam prejudicar a imagem da plataforma, o Google adotou uma atitude liberal, disponibilizando as ferramentas e deixando que a coisa flua naturalmente. Você mesmo pode baixar o SDK nohttp://developer.android.com e começar a estudar o sistema usando seu próprio PC, sem nem mesmo precisar de um smartphone baseado na plataforma.
m129c3c5d
Entra em cena, então, o Android Market, que faz o papel de canal de distribuição, assumindo a função que no mundo Apple pertence à AppStore. Ele serve como um repositório central de softwares para a plataforma, permitindo que eles sejam instalados rapidamente. Em julho de 2010 o Android Market já atingiu a marca de 100.000 aplicativos, um número que deve continuar crescendo rapidamente.

Desenvolvimento e o Android Market

Embora a ideia geral seja que aplicativos sejam compatíveis com todos os dispositivos baseados no Android, esta é uma ideia impossível de implementar na prática, já que cada aplicativo exige uma versão mínima do sistema para rodar, além de casos de aplicativos com requerimentos específicos (como para telas WXGA, que não rodam nos aparelhos com telas HVGA). Prevendo isso, o cliente leva em conta as características do aparelho sobre o qual está rodando, exibindo apenas os aplicativos compatíveis com ele.
m2b5f1c67
Como de praxe, os aplicativos disponíveis vão desde aplicativos realmente inovadores e uteis, até mini-aplicativos especializados que se limitam a mostrar alguma informação específica, passando por todos os tipos de jogos e inutilidades, que se dividem entre aplicativos gratuitos e pagos. Infelizmente (agosto de 2010), os aplicativos pagos ainda não estão disponíveis no Brasil, mas nada impede que os aplicativos desejados sejam instalados manualmente.
Está disponível também o App Inventor, uma plataforma de desenvolvimento rápido, baseada na Open Blocks Java library do MIT, que oferece blocos de código com ações pré-programadas que podem ser "encaixados" para criar aplicativos funcionais em poucos minutos, combinando as funções disponíveis. Conforme programa, um demo é automaticamente mostrado em um aparelho conectado na porta USB, o que permite que você teste as funções enquanto desenvolve e no final transfira o aplicativo finalizado automaticamente:
m5abbebb3
A disponibilidade do App Inventor representa uma democratização da plataforma, já que permite que usuários com pouco ou quase nenhum conhecimento de programação possam desenvolver aplicativos simples para satisfazer as necessidades do dia-a-dia, sem depender unicamente dos aplicativos do Android Market.
Naturalmente, nem tudo são flores, já que embora os componentes básicos da plataforma (o kernel, o middleware baseado no Apache e os componentes da interface com o usuário) sejam abertos, o Google mantém o controle sobre o acesso ao Android Market e sobre os aplicativos que permitem acesso aos serviços do Google (Gmail, Maps, etc.). O controle sobre o Android Market é um aspecto importante da estratégia para evitar a fragmentação da plataforma (já que permite que o Google pressione os fabricantes e desenvolvedores em torno do desenvolvimento de softwares que sigam os padrões e rodem em diversos dispositivos, evitando o florescimento de aplicativos limitados, que rodam em apenas um ou alguns poucos modelos), mas por outro lado causa atritos com os fabricantes de aparelhos e operadoras e deixa muita gente com uma pulga atrás da orelha. Isso tem levado ao aparecimento de forks do sistema destinados a mercados específicos.
Um bom exemplo é o "OPhone", desenvolvido por fabricantes Chineses, onde os aplicativos proprietários do Google são substituídos por aplicativos que se integram com serviços locais. O OPhone não oferece acesso ao Android Market, que é substituído por pequenas coleções de aplicativos oferecidas pelas operadoras locais e por pacotes instados localmente. Isso faz com que, embora compartilhe dos mesmos componentes básicos, o "OPhone" seja muito diferente do Android em termos de uso prático.
60a51c35
Outro aspecto significativo é que embora o uso dos componentes open-source do sistema seja livre, os fabricantes de aparelhos ainda precisam pagar licenças pelo uso dos componentes proprietários e precisem aderir às normas definidas pelo Google para uso do sistema. É uma situação similar à de muitas distribuições Linux comerciais, onde você pode usar livremente os pacotes abertos, mas precisa pagar uma licença de uso pelo pacote completo, devido à presença de alguns componentes proprietários. O Google ganha também dinheiro com os acessos aos serviços (e a exibição de anúncios) e com comissões sobre as vendas de aplicativos através do Android Market.
Além da questão do licenciamento, existem também exigências com relação a componentes. Com exceção de acordos específicos, todos os dispositivos devem ter tela touch-screen, câmera, bluetooth e GPS. Aparelhos sem algum destes componentes não recebem o carimbo de compatibilidade e consequentemente não podem oferecer acesso ao Android Market (pelo menos não legalmente), como é o caso de muitos tablets e celulares de baixo custo made in China.
Do ponto de vista do usuário também existem algumas restrições, já que o sistema roda em modo user-space, onde você não tem acesso à pastas do sistema nem permissões para alterar muitas configurações (seguindo o exemplo, seria como usar o Ubuntu com uma conta regular de usuário, sem acesso ao sudo), não pode regravar o firmware com imagens que não tenham sido assinadas pelo fabricante e assim por diante. Na maioria dos aparelhos é possível obter acesso root usando exploits disponibilizados pela comunidade, mas já existem casos de aparelhos com proteções de hardware contra o feito, como o no caso do Motorola Droid X, que embora tenha sido rapidamente quebrada, indica que a maioria dos fabricantes não são exatamente simpáticos à ideia.
Em outras palavras, embora o sistema seja predominantemente open-source, o sistema está longe de ser completamente aberto (sem contar as proteções incluídas nos aparelhos) por isso é importante pesquisar sobre a disponibilidade de exploits para obter acesso de root e de versões modificadas das ROMs antes de se decidir pela compra de um modelo específico.
Além do Android Market (http://www.android.com/market/), existem também lojas menores que oferecem aplicativos para a plataforma, oferecendo opções para os desenvolvedores que tiveram seus aplicativos rejeitados, ou querem um canal para vender aplicativos sem o pagamento de comissões. Dois exemplos são o http://andappstore.com e o http://slideme.org/. É possível também instalar aplicativos localmente através do comando "adb install", disponível no SDK.

Entendendo o sistema

O primeiro aparelho comercial baseado no Android foi o HTC G1, lançado em outubro de 2008, que foi baseado no Android 1.5 e posteriormente atualizado para o 1.6 (a mesma versão que é ainda usada em muitos tablets e em alguns smartphones recentes, como no caso do diminuto Sony X10 Mini). O G1 não foi um aparelho particularmente bem-recebido, já que era volumoso e o sistema de deslizamento do teclado era frágil e tendia a apresentar problemas com o uso, mas ele oferecia uma configuração bastante sólida para a época, com um processador Qualcomm MSM7201A (ARM11) de 528 MHz, tela HVGA (480x320) sensível ao toque, teclado QWERTY deslizante, câmera de 3.2 MP, Wi-Fi, Bluetooth, GPS e suporte a 3G com HSDPA:
m33b61af0
Embora oficialmente o G1 tenha ficado estacionado no Android 1.6, é possível atualizá-lo para o 2.1 (e em breve também para o 2.2) através do Cyanogen (http://www.cyanogenmod.com/), permitindo que ele continue prestando bons serviços.
O Android oferece suporte a várias resoluções de tela, o que permite que aparelhos com telas HVGA ou até mesmo QVGA (320x240) convivam com aparelhos maiores, com telas WVGA (800x480) ou até mesmo maiores que isso. Telas de alta resolução são uma grande melhoria com relação ao acesso web e visualização de e-mails e documentos, já que não apenas tornam o texto e gráficos muito mais legíveis, mas também permitem que uma pessoa com boa visão consiga ler diretamente a maioria das páginas, sem precisar dar zoom no texto:
m2355c647
Para quem está acostumado a navegar em aparelhos com o S60, com suas telas QVGA, a diferença é realmente muito grande.
Embora a navegação possa ser perfeitamente feita unicamente através de toques sobre a tela (a partir do Android 2.2 está disponível inclusive o suporte a multitouch, com gestos para zoom e outras funções), quase todos os aparelhos oferecem também um trackpoint ou direcional, que permite rolar a página e navegar entre os links sem o risco de clicá-lo. Ele não é um recurso obrigatório, mas é bastante desejável. Em alguns modelos (como no HTC Desire), ele é substituído por um sensor óptico ou por um pequeno touchscreen, que oferecem mais precisão e permitem rolar páginas longas mais rapidamente:
m707bcb91
Embora existam modelos com teclados físicos, como no caso do Motorola Milestone (Droid), a grande maioria dos modelos sacrificam o teclado em favor de um design mais fino, como no caso do Samsung Galaxy S, que combina um processador ARM Cortex A8 de 1.0 GHz, câmera de 5 MP e tela AMOLED de 800x480 em um aparelho com apenas 9.9 mm de espessura, mais fino que um Nokia E71:
210ea588
Vendo a foto é fácil perceber por que os teclados físicos estão se tornando cada vez mais raros, já que com uma tela de 3.7" ou mais não existe espaço para adicionar um teclado no painel frontal e o uso de um teclado deslizante adiciona geralmente pelo menos 4 mm na espessura do aparelho, além de encarecê-lo e torná-lo mais frágil mecanicamente.
Via de regra, todos os aparelhos com o Android devem oferecer tela touchscreen, câmera, Bluetooth e receptor GPS, já que estes são pré-requisitos para o uso dos aplicativos do Google e acesso ao Android Market. Combinados com o suporte a 3G e Wi-Fi, que são também padrão atualmente, temos configurações bastante poderosas.
A falta do teclado físico é parcialmente amenizada pela variedade de teclados via software que estão disponíveis, que incluem versões com suporte a multitouch (inaugurado pelo Droid X) e também versões "swipe", onde você pode deslizar os dedos de uma tecla a outra, sem precisar tirá-los do teclado:
66e73613
Invariavelmente, os teclados virtuais resultam em mais erros de digitação, mas eles por outro lado oferecem melhores possibilidades de personalização (o teclado pode oferecer teclas ".com", smiles, etc. de acordo com o aplicativo, que não são possíveis em um teclado físico) e parte dos erros podem ser corrigidos automaticamente com a ajuda do corretor ortográfico. Com a evolução dos métodos de entrada, já chegamos a um ponto em que muitos preferem usar os teclados virtuais a usar um teclado físico mediano, como o do Motorola Milestone, por exemplo.
O grande problema de aparelhos grandes com tela touchscreen é que é praticamente impossível usá-los com apenas uma mão, como é possível nos telefones com teclados numéricos e em modelos como o Nokia E71/E63 e os BlackBerry. Em outras palavras, eles são muito bons para navegar na web, ver fotos, assistir vídeos, rodar jogos, etc., mas são menos eficientes na aplicação básica: fazer e receber chamadas.
Isso tem levado ao surgimento de aparelhos que combinam telas QVGA ou HVGA touchscreen com um teclado e direcional, como no caso do Kogan Agora Smart, que oferece um design similar ao dos antigos Motorola Q:
m5f1945de
Este é um perfil de aparelho que vai agradar apenas a quem usa o aparelho predominantemente para a troca de mensagens, já que uma tela tão pequena elimina grande parte das vantagens da plataforma, mas pode ser que eventualmente este formato se torne comum entre modelos de médio e baixo custo, já que a tela menor reduz o custo de produção.

Os aplicativos e interface

Em vez de rodar aplicativos nativos, escritos em C ou outra linguagem, o Android utiliza predominantemente aplicativos compilados como bytecode, que são executados dentro de uma máquina virtual Java (a Davilk). Isso sacrifica parte do desempenho (e reduz a eficiência energética, resultando em um maior consumo de energia), mas em troca oferece grandes ganhos em termos de portabilidade, já que permite que a mesma biblioteca de softwares seja usada em diversas arquiteturas de processadores. A penalidade de desempenho introduzida pela máquina virtual explica o grande ganho de desempenho de aplicativos no Android 2.2 em relação às versões anteriores, devido às muitas otimizações na JVM.
A principal exceção fica por conta dos aplicativos desenvolvidos através do Google Native Development Kit (NDK), que permite o uso de componentes escritos em C ou C++. Ele é geralmente utilizado por aplicativos complexos, que demandam todo o desempenho disponível (como no caso do port do Firefox para o Android) e precisam atender a um conjunto de normas bem mais rigorosas, para que seja preservada a compatibilidade com diversos dispositivos.
A interface do Android é bastante simples, composta por um conjunto de painéis deslizantes (você pode ajustar o número de painéis usados nas configurações: 1, 3, 7, etc.), que são alternados rolando a tela para o lado, similar ao iPhone. Os painéis podem ser usados tanto por atalhos para aplicativos quanto por widgets, permitindo que você agrupe todas as funções mais usadas. É possível também criar pastas:
m5b661ccc

72a74510140f8ab1

O acesso aos demais aplicativos é feito através do menu deslizante, que seve como uma vala comum para todos os aplicativos instalados. Como um usuário médio acaba instalando mais de 30 aplicativos, ele logo se transforma em um lugar bagunçado, em que você não vai querer ir com muita frequência. Em vez de passar 30 segundos procurando cada vez que quiser abrir qualquer aplicativo, é mais eficiente arrastar os mais usados para a área de trabalho.
Como não temos um mouse com três botões, como em um desktop, muitas das funções ao acessadas através de toques longos, que assumem a função de segundo botão. Com um toque longo sobre a área de trabalho você acessa o menu de personalização (adicionar widgets, trocar o papel de parede, etc.) e com um toque longo sobre o botão home você acessa a lista de aplicativos abertos, por exemplo.
m7bf1eb5f
A grande maioria dos aparelhos baseados no Android utilizam telas touchscreen capacitivas (como no iPhone), em vez das tradicionais telas resistivas. Por uma lado isso é muito bom, já que as telas capacitivas podem ser usadas direto com os dedos, resultando em uma interação muito mais natural, mas por outro faz com que você não tenha muita precisão ao clicar nos elementos da interface, já que não é possível usar as unhas ou uma caneta como nas telas capacitivas.
Isso faz com que a interface e os aplicativos sejam projetados para mostrar botões e menus de opções desproporcionalmente grandes. Ao usar a orientação horizontal, a tela WVGA do Motorola Milestone mostra apenas três ou quatro opções dentro de um menu de seleção, por exemplo. Este é um fator que causa estranheza para quem vem do Symbian ou do Windows Mobile, onde a área da tela é melhor aproveitada.
775bce03
O Android usa um sistema peculiar de gerenciamento de aplicativos, onde os aplicativos abertos continuam ativos depois de voltar à tela inicial, e são fechados apenas quando o sistema precisa de recursos. Por um lado isso melhora o desempenho aparente do sistema, já que com os aplicativos frequentemente usados acabam ficando o tempo todo carregados na memória, tornando o chaveamento entre eles muito rápido. O principal problema é que a ausência de um mecanismo para fechar aplicativos manualmente abre margem para que aplicativos mal-desenvolvidos continuem a usar processamento, memória ou tráfego de dados continuamente, sem que o usuário que outra forma de fechá-los que não seja um reset.
Isso levou ao aparecimento de aplicativos como o "Advanced Task Killer", que permite matar aplicativos manualmente. Entretanto, a versão 2.2 do Android removeu as chamadas que permitem que um aplicativo finalize outros, tornando estes aplicativos inoperantes e trazendo de volta o problema.
Ao usar um clique longo sobre qualquer ícone no desktop, a aba do painel deslizante se transforma em uma lixeira, permitindo que você o delete. Entretanto isso apenas remove o ícone na área de trabalho, sem desinstalar o aplicativo. Para realmente removê-lo, é preciso acessar o "Configurações > Aplicativos > Gerenciar aplicativos".
Por default, o sistema mantém os dados sincronizados entre os aplicativos, baixando e-mails automaticamente, mantendo-o conectado aos clientes de IM configurados e assim por diante. Naturalmente, isso pode consumir um generoso volume e dados, sem falar no uso da bateria, por isso muitos preferem desativar a função enquanto estão fora da cobertura da rede wireless. A forma mais prática de fazer isso é manter o widget de controle de energia na tela principal, ativando e desativando a função de sincronismo automático conforme desejado.
m35d0a1e
Todas as notificações do sistema são agrupadas na barra superior, que segue um conceito similar à barra do Gnome. O menu de notificações é aberto ao arrastar a barra para baixo e inclui opções de ações como ler e-mails, mudar o modo de conexão da porta USB e assim por diante. Ela é bastante prática, mas em compensação possui a desvantagem de ficar sempre visível, roubando espaço útil da tela. Apenas alguns aplicativos (como o OperaMini) oferecem a opção de operar em modo de tela cheia, escondendo a barra.


Instalando aplicativos locais

Por default, os aparelhos baseados no Android suportam apenas a instalação de pacotes através do Android Market, mas é perfeitamente possível instalar pacotes baixados manualmente, bem como aplicativos que por algum motivo não foram marcados como compatíveis com o seu aparelho (como o OperaMini no Motorola Milestone).
7887333d
A maneira mais simples é usar o Sideload, um pequeno aplicativo disponível no http://forum.androidcentral.com/showthread.php?p=236589, que automatiza a tarefa. Além da versão Windows, ele está disponível para Linux e Os X (http://forum.androidcentral.com/android-applications/24362-sideload-wonder-machine-linux-mac.html).
Para usá-lo, acesse as configurações do aparelho e marque a opção "Aplicativos > Fontes desconhecidas" e em seguida a opção "Aplicativos > Desenvolvimento > Depuração USB". Esta segunda opção é usada também por várias ferramentas do SDK, permitindo que o aparelho receba comandos pela porta USB.
Por default, ao ser conectado na porta USB o aparelho entra em modo de transferência de dados, permitindo o acesso aos arquivos no cartão de memória. Para permitir a instalação de softwares, é necessário clicar no ícono do USB na barra de notificações e mudar a opção para "Nenhum", colocando-o em modo de comando:
m3c42ee15
Feitos estes passos, o uso do Sideload é surpreendentemente simples. No Windows está disponível uma interface que copia o arquivo selecionado para a pasta "payload" e em seguida executa o script de instalação, enquanto no Linux o script é chamado diretamente:
m7f8f9a7f
Outra opção é o Droid Explorer, que está disponível no http://de.codeplex.com/releases/view/48865.

Linux parte I - Diretórios e Comandos

Estrutura de diretórios
A identificação dos objetos de um sistema de arquivos Linux é c onhecida como inode. Ele carrega as informações onde o objeto está localizado no disco, informações de segurança, data de criação e a última modificação dentre outras informações.
Quando criamos um sistema de arquivos no Linux, cada dispositivo tem um número finito de inodes que será diretamente proporcional ao número de arquivos que este dispositivo poderá acomodar.
Comparando com o Windows, a organização dos diretórios do Linux é pouco mais complexa, porém você vai perceber que é a maneira correta conforme for lendo e entendendo.
Estrutura de diretórios do Linux.
  1. /            -       Diretório raiz.
  2. /bin -      Diretório onde estão os arquivos  executáveis e comandos essenciais do sistema.
  3. /boot -      Diretório onde estão os arquivos necessários para iniciar o sistema. Aqui é onde fica localizada a imagem do Kernel do Linux.
  4. /dev -      Diretório onde estão os arquivos de dispositivos do sistema, como discos, cd-roms, terminais etc.
  5. /etc -      Diretório onde estão localizados os arquivos de configuração do sistema.
  6. /home -     Diretório que geralmente é usado  pelos usuários.
  7. /lib -      Diretório onde estão localizadas as bibliotecas essenciais ao sistema, utilizadas pelos programas em /bin e módulos do Kernel.
  8. /mnt -     Diretório vazio. Este diretório geralmente é utilizado para pontos de montagem de dispositivos.
  9. /proc -     Diretório que possui informações do Kernel e de processos.
  10. /opt -     Diretório onde estão localizados os aplicativos instalados que não venham com o Linux.
  11. /root -     Diretório do superusuários(root). Em algumas distribuições ele pode ou não estar presente.
  12. /sbin -      Diretório onde estão os arquivos essenciais do sistema, como aplicativos, utilitários para administração do sistema. Normalmente   só o superusuário(root) tem acesso aos arquivos.
  13. /tmp -      Diretório de arquivos temporários.
  14. /usr -      Diretório de arquivos pertencentes aos usuários e a segunda maior hierarquia de diretórios no Linux.
  15. /var -       Diretório onde são guardadas informações variáveis ao sistema, como arquivos de logs etc...

Primeiros Contatos

Onde digitar os comandos, login e logout da shell, comandos de ajuda e referências.
  1. dmesg – Mensagens de inicialização
  2. id – Mostra o usuário atual
  3. man – Ajuda sobre algum comando, assunto ou arquivo de configuração
  4. info – Ajuda sobre algum comando, assunto ou arquivo de configuração
Comandos para Manipulação de Arquivos
Um tutorial sobre vários dos comandos necessários para lidar com arquivos e diretórios no Linux.
  1. pwd – Exibe o diretório atual
  2. cd – Navegando entre diretórios
  3. ls – Listar arquivos
  4. mkdir – Cria um diretório
  5. rmdir – Remove um diretório vazio
  6. cp – Cópia de arquivos e diretórios
  7. mv – Move ou renomeia arquivos e diretórios
  8. rm – Remove arquivos e diretórios
  9. find – Procura arquivos
  10. ln – Cria links entre arquivos
  11. cat – Exibe o conteúdo de um arquivo
  12. headtail – Mostra o começo e fim de um arquivo
  13. moreless – Visualiza arquivos por páginas
  14. file – Indica o tipo de arquivo
  15. touch – Muda timestamps
Compactação e Descompactação
Mostra os formatos básicos de arquivos compactados e como lidar com eles no Linux.
  1. tar – Agrupando arquivos
  2. gzip, bzip2 – Compactando arquivos
  3. zip, rar – Outros formatos de arquivos compactados
Comandos de Tratamento de Texto
Os comandos para tratar do conteúdo dos arquivos. Procurar, substituir, juntar, cortar…
  1. sort – Ordena um arquivo alfabeticamente
  2. uniq – Elimina linhas repetidas
  3. grep – Procura texto e expressões dentro de um arquivo
  4. paste – Combina arquivos em um só
  5. cut – Separa um arquivo por campos e imprime apenas partes especificadas
  6. tr – Transforma caracteres
  7. sed – Filtragem e Transformação de Conteúdo
Permissões
Além de mostrar como funcionam as permissões dos arquivos no Linux, ensina a utilizar os comandos que tratam das permissões.
  1. chown – Modifica os donos de arquivos e diretórios
  2. chmod – Modifica as permissões dos arquivos e diretórios
  3. umask – Visualiza e muda a máscara padrão de permissões
Processos
Como funciona a execução dos programas no Linux e como tratá-los.
  1. ps – Listar processos
  2. top – Lista processos em tempo real
  3. pstree – Mostra processos em forma de árvore hierárquica
  4. kill, killall – Envia um sinal ao processo (MATA!)
  5. Prioridades de Processos – Como os comandos podem ter prioridades no sistema
  6. nice, renice – Configura prioridades de CPU de um comando ou processo
  7. lsof – Listar arquivos abertos por processos
Comandos de Informações do Sistema
  1. date – Mostra a data e hora do sistema
  2. cal – Mostra um calendário amigável
  3. df – Mostra informações de espaço em disco
  4. du – Mostra espaço em disco usado por diretórios
  5. fdisk, sfdisk – Informações sobre partições
  6. hdparm – Informações detalhadas sobre HDs
  7. free – Informações sobre memória
  8. swapon – Informações sobre memória virtual (swap)
  9. cat /proc/cpuinfo – Informações sobre o processador
  10. uname – Informações de versão do kernel, arquitetura e outros
  11. lspci – Mostra informações sobre dispositivos PCI
  12. lsusb – Mostra informações sobre dispositivos USB
Cópias Remotas de Arquivos
Como transferir arquivos entre máquinas em uma rede, de forma segura e prática. Boa informação também para backups.
  1. ssh e scp – Cópias remotas com o SSH
  2. wget, lftp – Cópias de arquivos e espelhos via HTTP/FTP
  3. rsync – Sincronização de arquivos entre servidores
DPKG – Debian Package Manager
Como lidar com os pacotes de programas que encontramos por aí na Internet, ou nos CDs das distribuições Linux? Quais os processos para instalar, remover e atualizar programas que estão no formato DPKG?
  1. dpkg -i – Instala pacotes
  2. dpkg -r – Desinstala pacotes
  3. dpkg -l – Lista pacotes instalados
  4. dpkg -p – Mostra informações sobre um pacote
  5. dpkg -L – Lista os arquivos instalados de um pacote
RPM – RPM Package Manager
  1. rpm -i – Instala pacotes
  2. rpm -U – Atualiza pacotes
  3. rpm -e – Remove pacotes
  4. rpm -q – Consulta um pacote
  5. rpm -qa – Lista todos os pacotes instalados
  6. rpm -qi – Mostra informações sobre um pacote
  7. rpm -ql – Lista os arquivos instalados de um pacote
  8. rpm -V – Faz uma verificação de integridade em pacotes
Gerenciador de pacotes: apt
Utilizado em distribuições Debian, Ubuntu e seus derivados para instalar e remover programas.
  1. apt-get update – Atualiza a lista de pacotes dos repositórios
  2. apt-cache search – Procura um pacote por palavras
  3. apt-get install – Instala pacotes de programas
  4. apt-get remove – Remove pacotes de programas do sistema
  5. apt-get upgrade – Atualiza todos os pacotes do sistema
  6. apt-get dist-upgrade – Atualiza a versão da distribuição e todos seus pacotes
  7. apt-get moo – Invoca os poderes da vaca
Gerenciador de pacotes: yum
Utilizado em distribuições Fedora, Red Hat e seus derivados para instalar e remover programas.
  1. yum search – Procura um pacote por palavras
  2. yum install – Instala pacotes de programas
  3. yum remove – Remove pacotes de programas do sistema
  4. yum update – Atualiza os pacotes do sistema
  5. yum check-update – Verifica se há atualizações de pacotes disponíveis
  6. yum list – Lista todos os pacotes instalados e disponíveis no repositório
  7. yum list available – Lista os pacotes disponíveis para instalação
  8. yum grouplist – Lista os grupos de pacotes instalados e disponíveis no repositório
  9. yum groupinstall – Instala grupos de pacotes
  10. yum groupremove – Remove grupos de pacotes do sistema