Confira os principais comandos, atalhos e flags que você pode usar que irão quebrar um galhão para você!
Mostrando postagens com marcador LPI. Mostrar todas as postagens
Mostrando postagens com marcador LPI. Mostrar todas as postagens
sábado, 7 de setembro de 2013
segunda-feira, 20 de maio de 2013
segunda-feira, maio 20, 2013 por Unknown
No comments
Para ficar mais fácil a organização dos posts sobre o guia da LPI vou postar um índice, para centralizar os posts e facilitar as buscas. E lembrando, estamos apenas na metade do guia para a prova 101. Isso quer dizer que além de terminarmos este guia ainda teremos outro com os conteúdos para a prova 102, para dai sim poder tirar a LPI 1.
- Introdução
- Um Pouco de Teoria sobre Linux
- Conhecendo a Shell
- Atalhos e Ajuda
- Aventuras pelo terminal
- LS e muito mais
- FHS e Hierarquia de Diretórios
- Comandos avançados em linux
- Administração da Shell
- Comandos avançados de filtragem
- Editores de Texto
- Gerenciando Pacotes I
- Gerenciando Pacotes II
- Gerenciando Pacotes III
E por em quanto era isso! Estude e revise tudo isso que já já vamos continuar com o guia.
Até a próxima!
sábado, 18 de maio de 2013
sábado, maio 18, 2013 por Unknown
No comments
E vamos a ultima parte do assunto "Gerenciando pacotes". Aqui vamos ver como compilar códigos e instalar pacotes do modo mais complicado, direto do código fonte.
Configure
Em geral, sempre que pegamos o código fonte de um programa ele virá com um aplicativo chamadoconfigure que irá executar uma verificação em seu sistema a fim de verificar se ele dispõe de todos os componentes básicos para uma compilação bem sucedida.
Uma vez que o processo de configure for encerrado com sucesso, ele ira gerar um arquivo chamadoMakefile, contém instruções de compilação e instalação entre outras.
A Makefile é estruturada em seções; cada uma delas realiza alguma tarefa específica. Em geral essas Makefiles vêm com pelo menos três seções padrão: default, install e clean. Algumas podem vir com test ou check ou alguma outra que o desenvolvedor ache relevante. Por isso devemos sempre ler a documentação do programa.
A forma de utilização da Makefile é, simplesmente, utilizar o comando make com o nome de alguma das seções. Se nenhuma for especificada, ele irá executar a seção default.
Exemplo prático: Vamos instalar o nmap
Primeiro de tudo temos que ver se temos já instalados todos os pacotes necessários para manipular esse tipo de instalação, eles são: make, gcc, g++, bzip2, gzip e unzip. Se você não tiver eles instalados use o seguinte comando:
Após instalado esses pacotes vamos fazer o download do nmap com o comando wget:
Assim que o comando acima terminar vamos descompactar o pacote com o comando tar:
DICA: Tem um pacote diferente e não sabe como descompactar? Segue abaixo o comando para os principais tipos de compactação:
zip: gunzip nomedoarquivo.zip
rar: unrar x nomedoarquivo.rar
tar: tar -xvf nomedoarquivo.tar
tar.gz: tar -vzxf nomedoarquivo.tar.gz
bz2: bunzip nomedoarquivo.bz2
tar.bz2: tar -jxvf nomedoarquivo.tar.bz2
Agora com tudo pronto vamos iniciar os procedimentos. Uma pratica que deve ser feito antes de qualquer instalação é ler os arquivos README e INSTALL. Outra coisa muito importante é rodar o comando com a flag "help" ativa para ver quais opções podemos usar:
Neste caso para variar um pouco vou instalar sem a interface gráfica zenmap:
Se tudo deu certo então vamos ao Makefile. Se algum erro ocorrer, leia atentamente a mensagem de erro, veja o que faltou, volte e instale:
Se nenhum erro ocorreu vamos em frente. Se um erro ocorrer faça a mesma coisa que antes:
Pronto! Se você chegou até aqui é porque o programa foi instalado com êxito. Para fazer um teste rode o nmap para ver se está funcionando.
Também comentei ali em cima sobre algumas outras opções disponíveis no comando make, vamos a elas então. A opção clean remove tudo o que não vai mais ser usado que foi gerado ou usado pelo processo de instalação e a opção uninstall remove o programa que acabamos de instalar.
Viu nem era tão difícil assim! A maioria das pessoas se apavora quando um dos três métodos mostrados aqui da errado, porque normalmente ela só sabe aquele. Mas vimos aqui que nenhum dos três é uma coisa impossível então é bom saber os três não só para o exame, isso pode salvar seu dia quando se deparar com uma situação que o pacote não instala por algum motivo e você necessita de outro modo de instalá-lo.
Eu fico por aqui e o próximo post vai ser sobre um dos mais interessantes e indispensáveis de todo o guia, a configuração de rede no linux.
Bons estudos e até a próxima!
Configure
Em geral, sempre que pegamos o código fonte de um programa ele virá com um aplicativo chamadoconfigure que irá executar uma verificação em seu sistema a fim de verificar se ele dispõe de todos os componentes básicos para uma compilação bem sucedida.
Uma vez que o processo de configure for encerrado com sucesso, ele ira gerar um arquivo chamadoMakefile, contém instruções de compilação e instalação entre outras.
Makefile
A Makefile é estruturada em seções; cada uma delas realiza alguma tarefa específica. Em geral essas Makefiles vêm com pelo menos três seções padrão: default, install e clean. Algumas podem vir com test ou check ou alguma outra que o desenvolvedor ache relevante. Por isso devemos sempre ler a documentação do programa.
A forma de utilização da Makefile é, simplesmente, utilizar o comando make com o nome de alguma das seções. Se nenhuma for especificada, ele irá executar a seção default.
Exemplo prático: Vamos instalar o nmap
Primeiro de tudo temos que ver se temos já instalados todos os pacotes necessários para manipular esse tipo de instalação, eles são: make, gcc, g++, bzip2, gzip e unzip. Se você não tiver eles instalados use o seguinte comando:
aptitude install make gcc g++ bzip2 gzip unzip
wget http://nmap.org/dist/nmap-5.51.tar.bz2
Assim que o comando acima terminar vamos descompactar o pacote com o comando tar:
tar xvjf nmap-5.51.tar.bz2 -C /usr/local
DICA: Tem um pacote diferente e não sabe como descompactar? Segue abaixo o comando para os principais tipos de compactação:
zip: gunzip nomedoarquivo.zip
rar: unrar x nomedoarquivo.rar
tar: tar -xvf nomedoarquivo.tar
tar.gz: tar -vzxf nomedoarquivo.tar.gz
bz2: bunzip nomedoarquivo.bz2
tar.bz2: tar -jxvf nomedoarquivo.tar.bz2
Agora com tudo pronto vamos iniciar os procedimentos. Uma pratica que deve ser feito antes de qualquer instalação é ler os arquivos README e INSTALL. Outra coisa muito importante é rodar o comando com a flag "help" ativa para ver quais opções podemos usar:
cd /usr/local/nmap-versao
vim README
vim INSTALL
./configure --help
Neste caso para variar um pouco vou instalar sem a interface gráfica zenmap:
./configure --without-zenmap
Se tudo deu certo então vamos ao Makefile. Se algum erro ocorrer, leia atentamente a mensagem de erro, veja o que faltou, volte e instale:
make
Se nenhum erro ocorreu vamos em frente. Se um erro ocorrer faça a mesma coisa que antes:
make install
Pronto! Se você chegou até aqui é porque o programa foi instalado com êxito. Para fazer um teste rode o nmap para ver se está funcionando.
Também comentei ali em cima sobre algumas outras opções disponíveis no comando make, vamos a elas então. A opção clean remove tudo o que não vai mais ser usado que foi gerado ou usado pelo processo de instalação e a opção uninstall remove o programa que acabamos de instalar.
Viu nem era tão difícil assim! A maioria das pessoas se apavora quando um dos três métodos mostrados aqui da errado, porque normalmente ela só sabe aquele. Mas vimos aqui que nenhum dos três é uma coisa impossível então é bom saber os três não só para o exame, isso pode salvar seu dia quando se deparar com uma situação que o pacote não instala por algum motivo e você necessita de outro modo de instalá-lo.
Eu fico por aqui e o próximo post vai ser sobre um dos mais interessantes e indispensáveis de todo o guia, a configuração de rede no linux.
Bons estudos e até a próxima!
sábado, maio 18, 2013 por Unknown
No comments
E ai galera!
Como pelo menos 50% da equipe do Blog está estudando para tirar a LPI a indicação não poderia ser outra coisa. A algum tempo eu comecei a rever meus estudos e resolvi comprar o livro LPIC-1 Study Guide da Sybex, um livro bem técnico, com bons exemplos e exercícios para reproduzir na prática.
Optei por este livro porque como eu já tenho o conhecimento e só preciso rever alguns pontos, não tenho a necessidade de ter um livro mais didático, mais simplificado. Outro ponto interessante é os programas de acompanhamento que pode-se baixar no site da Sybex com exercícios, simulados e outras dicas que podem ajudar tanto no estudo quanto dicas para a prova. Mas o principal motivo de ter escolhido este foi por não ter encontrado o livro LPI Linux Certification in a Nutshell que eu acreditava que era melhor, mas este está suficiente para meus estudos.
O livro traz muitos exemplos de onde cada um dos tópicos e ferramentas vão ser usados no dia a dia e é separado por capítulos, sendo cada capítulo um tópico do exame, e esses capítulos estão separados em duas sessões, a sessão sa prova 101 e da prova 102, ambas obrigatórias para a certificação.
Para quem consegue ler em inglês fica a dica de comprar na Amazon, eles entregam no Brasil e livros não são taxados nem retidos na receita, sem falar que são muito mais baratos, por exemplo este eu paguei US$ 30,00, coisa que aqui varia de R$ 80,00 a R$ 149,00.
Mais informações do livro no site da Amazon.
Como pelo menos 50% da equipe do Blog está estudando para tirar a LPI a indicação não poderia ser outra coisa. A algum tempo eu comecei a rever meus estudos e resolvi comprar o livro LPIC-1 Study Guide da Sybex, um livro bem técnico, com bons exemplos e exercícios para reproduzir na prática.

Optei por este livro porque como eu já tenho o conhecimento e só preciso rever alguns pontos, não tenho a necessidade de ter um livro mais didático, mais simplificado. Outro ponto interessante é os programas de acompanhamento que pode-se baixar no site da Sybex com exercícios, simulados e outras dicas que podem ajudar tanto no estudo quanto dicas para a prova. Mas o principal motivo de ter escolhido este foi por não ter encontrado o livro LPI Linux Certification in a Nutshell que eu acreditava que era melhor, mas este está suficiente para meus estudos.
O livro traz muitos exemplos de onde cada um dos tópicos e ferramentas vão ser usados no dia a dia e é separado por capítulos, sendo cada capítulo um tópico do exame, e esses capítulos estão separados em duas sessões, a sessão sa prova 101 e da prova 102, ambas obrigatórias para a certificação.
Para quem consegue ler em inglês fica a dica de comprar na Amazon, eles entregam no Brasil e livros não são taxados nem retidos na receita, sem falar que são muito mais baratos, por exemplo este eu paguei US$ 30,00, coisa que aqui varia de R$ 80,00 a R$ 149,00.
Mais informações do livro no site da Amazon.
sábado, maio 18, 2013 por Unknown
No comments
Vamos a mais um post sobre o guia da LPI. De uns tempos para cá vim diminuindo a quantidade de posts e os que eu postava acabavam sendo notícias. Estou prestes a tirar a certificação ACMT ( Apple Certified Mac Technician ) e isto está consumindo muito meu tempo, mas assim que passar volto ao nível de posts de antes.
Neste post vamos continuar de onde paramos no post anterior, vamos continuar trabalhando com pacotes, mas dessa vez não vai ser tão automático como no post passado, vamos ver neste post como manipular os pacotes do Debian (dpkg) e os pacotes RedHat (rpm).
Antes de começar, vou deixar uma dica: Na certificação os dois são cobrados então não conheça apenas dpkg ou apenas rpm, possivelmente em algum momento da sua vida você vai precisar dos dois, nem que seja só para a prova :).
O DPKG é um programa que é a base do Sistema de Gerenciamento de Pacotes para distribuições GNU/Linux baseadas em Debian.
O DPKG é uma ferramenta em linguagem de baixo nível. Front ends de alto nível são exigidos para buscar pacotes em lugares remotos ou ajudar no solucionamento de conflitos nas dependências dos pacotes. Para esta finalidade, o Debian fornece o aptitude e o apt-get vistos no post anterior.
O RPM RedHat Package Manager - é um sistema de gerenciamento de pacotes para sistemas GNU/Linux baseados em RedHat. Ele instala, atualiza, desinstala e verifica softwares. Originalmente desenvolvido pela RedHat Linux, é agora usado por muitas distribuições como Novell - Suse que possui sua própria versão de RPM.
Uma vantagem que o RPM possui sobre DPKG é que possui algumas ferramentas de verificação criptográfica com o GPG e o md5, além de verificação de integridade dos arquivos já instalados.
- Verificar informações de um pacote:
OBS: A flag usada é a letra "i" maiúscula, cuidado!
- Verificar se um pacote está instalado no sistema:
OBS: A flag usada é a letra "L" minúscula, cuidado!
- Verificar qual pacote foi responsável por instalar um binário:
- Verificar o status do pacote instalado:
- Instalar um pacote:
- Localizar onde estão instalados os arquivos do pacote:
- Remover um pacote:
- Apagar arquivos de configuração:
- Verificar o que será instalado com um certo pacote:
- Ver informações de um pacote não instalado:
- Instalar um pacote:
- Verificar os arquivos instalados:
- Verificar quais arquivos que foram instalados pelo pacote:
- Testar o que será efetuado ao remover um pacote:
- Removendo um pacote:
- Atualizar a versão de algum programa:
- Verificar a integridade de todos os pacotes instalados no sistema:
E chegamos ao fim de mais uma parte. Para mais informações sobre os comandos recomendo ler os manuais do comando e um bom livro sobre linux/LPI, por que esse tipo de conteúdo é bem complexo. No próximo post, vamos a última parte um pouco mais a fundo, compilando códigos e criando binários.
Bons estudos!
Neste post vamos continuar de onde paramos no post anterior, vamos continuar trabalhando com pacotes, mas dessa vez não vai ser tão automático como no post passado, vamos ver neste post como manipular os pacotes do Debian (dpkg) e os pacotes RedHat (rpm).
Antes de começar, vou deixar uma dica: Na certificação os dois são cobrados então não conheça apenas dpkg ou apenas rpm, possivelmente em algum momento da sua vida você vai precisar dos dois, nem que seja só para a prova :).
Pacotes dpkg
O DPKG é um programa que é a base do Sistema de Gerenciamento de Pacotes para distribuições GNU/Linux baseadas em Debian.
O DPKG é uma ferramenta em linguagem de baixo nível. Front ends de alto nível são exigidos para buscar pacotes em lugares remotos ou ajudar no solucionamento de conflitos nas dependências dos pacotes. Para esta finalidade, o Debian fornece o aptitude e o apt-get vistos no post anterior.
Pacotes rpm
O RPM RedHat Package Manager - é um sistema de gerenciamento de pacotes para sistemas GNU/Linux baseados em RedHat. Ele instala, atualiza, desinstala e verifica softwares. Originalmente desenvolvido pela RedHat Linux, é agora usado por muitas distribuições como Novell - Suse que possui sua própria versão de RPM.
Uma vantagem que o RPM possui sobre DPKG é que possui algumas ferramentas de verificação criptográfica com o GPG e o md5, além de verificação de integridade dos arquivos já instalados.
Exemplos práticos
Debian
- Verificar informações de um pacote:
dpkg -I <pacote>
OBS: A flag usada é a letra "i" maiúscula, cuidado!
- Verificar se um pacote está instalado no sistema:
dpkg -l <programa>
dpkg -l | grep <programa>
OBS: A flag usada é a letra "L" minúscula, cuidado!
- Verificar qual pacote foi responsável por instalar um binário:
dpkg -S <caminho_completo_para_o_binário>)
dpkg -S $(which <binário>)
- Verificar o status do pacote instalado:
dpkg -s <pacote>
- Instalar um pacote:
dpkg -i <pacote>
- Localizar onde estão instalados os arquivos do pacote:
dpkg -L <pacote>
- Remover um pacote:
dpkg -r <pacote>
- Apagar arquivos de configuração:
dpkg -P <pacote>
RedHat
- Verificar o que será instalado com um certo pacote:
rpm -qp <pacote>--<versao>.rpm
- Ver informações de um pacote não instalado:
rpm -qpi <pacote>--<versao>.rpm
- Instalar um pacote:
rpm -ih --percent <pacote>--<versao>.rpm
- Verificar os arquivos instalados:
rpm -qa <pacote>
- Verificar quais arquivos que foram instalados pelo pacote:
rpm -ql <pacote>
- Testar o que será efetuado ao remover um pacote:
rpm -e --test <pacote>
- Removendo um pacote:
rpm -e <pacote>
- Atualizar a versão de algum programa:
rpm -Uh <pacote>-<versao>.rpm
- Verificar a integridade de todos os pacotes instalados no sistema:
rpm -Va
E chegamos ao fim de mais uma parte. Para mais informações sobre os comandos recomendo ler os manuais do comando e um bom livro sobre linux/LPI, por que esse tipo de conteúdo é bem complexo. No próximo post, vamos a última parte um pouco mais a fundo, compilando códigos e criando binários.
Bons estudos!
sábado, maio 18, 2013 por Unknown
No comments
Faaaaaala galera!
Depois de um tempo parado com essa série achei um tempinho para voltar a escrever sobre isso. Vamos dar continuidade ao nosso exclusivo Guia da LPI. No post de hoje vamos ver o básico do gerenciamento de pacotes, o que é um gerenciador de pacotes, como instalar e desistalar um pacote e muito mais confere ai!
Basicamente muito superficialmente um pacote é um programinha. Calma vou explicar melhor, um pacote é um conjunto de binários pré compilados, bibliotecas e arquivos de configuração que são instalados no sistema operacional e que acrescentam algum serviço a esse sistema.
Aqui nós vamos precisar dividir em duas etapas, porque obviamente existem duas categorias de pacotes base, as distros baseadas em Debian usam pacotes com a extensão .deb e as distros baseadas em RedHat usam a extensão .rpm.
Para falar bem a verdade, nos dias de hoje só quem tem bastante tempo sobrando (que é raro) que acaba instalando pacotes "na mão", se podemos facilitar e poupar tempo para quê complicar né?
O gerenciador de pacotes é o cara que vai fazer todo o trabalho para nós de instalar, atualizar ou remover um pacote. Tudo isso fica complicado de fazer manualmente por que diferente do que você está acostumado a usar no Windows instalar algum serviço aqui não depende apenas do binário que precisamos, também precisamos estar atentos se nosso sistema tem todas as bibliotecas e outros arquivos que este binário pode chamar. Esse conjunto de arquivos chamamos normalmente dedependências.
A função do gerenciador é pesquisar por um pacote, baixar caso nosso objetivo seja instalar este pacote, pesquisar todas as dependências e já baixar junto o que falta, e por ultimo instalar e colocar cada coisa no seu lugar. Para sistemas baseados no Debian temos o gerenciador "aptitude" ou "apt-get" e já para sistemas baseados em RedHat temos o "yum".
Então aqui nos dividimos. Sabendo isso vamos ver primeiro como funciona em distros Debian e depois como funciona em distros RedHat.
Para gerenciarmos os pacotes no Debian, primeiramente devemos selecionar os repositórios para isso editaremos o arquivo “/etc/apt/sources.list”.
O arquivo “/etc/apt/sources.list” contém os locais onde o “APT” encontrará os pacotes, a versão da distribuição que será verificada (stable, testing, unstable) e a seção que será copiada (main, non-free, contrib, non-US). Por exemplo:
Após modificar esse arquivo você deve usar o comando aptitude update ou apt-get update para atualizar a lista.
Estes comandos sincronizam a lista de pacotes disponíveis para instalação nos servidores remotos, com uma lista local. Ter uma lista local agiliza bastante na hora de procurar por um pacote.
- aptitude search [argumento]: Procurar um pacote.
- apt-cache search [argumento]: Procurar um pacote.
- aptitude show [pacote]: Mostra informações de um pacote.
- apt-cache show [pacote]: Mostra informações de um pacote.
- aptitude install [pacote]: Instalar um pacote.
- apt-get install [pacote]: Instalar um pacote.
- aptitude remove [pacote]: Remover um pacote.
- apt-get remove [pacote]: Remover um pacote.
- aptitude purge [pacote]: Remover um pacote e suas dependências.
- apt-get autoremove --purge [pacote]: Remover um pacote e suas dependências.
- aptitude upgrade: Atualizar todos os pacotes instalados.
- apt-get upgrade: Atualizar todos os pacotes instalados.
- aptitude safe-upgrade: Atualização da distro.
O yum funciona de modo semelhante ao aptitude, claro com suas diferenças, começando pelo repositório que se encontra em "/etc/yum.repos.d", e dentro deste arquivo a organização também muda, veja um exemplo:
- yum search [pacote]: Pesquisar por um pacote.
- yum info [pacote]: Obter informações do pacote.
- yum install [pacote]: Instalar um pacote.
- yum remove [pacote]: Remover um pacote.
- yum erase [pacote]: Remover um pacote.
- yum update: Atualiza pacotes instalados.
E era isso por hoje! Recomendo que faça uns testes e brinque um pouco com os pacotes que no próximo post vamos nos aprofundar um pouco mais nisso. ;)
Até lá!
Depois de um tempo parado com essa série achei um tempinho para voltar a escrever sobre isso. Vamos dar continuidade ao nosso exclusivo Guia da LPI. No post de hoje vamos ver o básico do gerenciamento de pacotes, o que é um gerenciador de pacotes, como instalar e desistalar um pacote e muito mais confere ai!
O que é um pacote?
Basicamente muito superficialmente um pacote é um programinha. Calma vou explicar melhor, um pacote é um conjunto de binários pré compilados, bibliotecas e arquivos de configuração que são instalados no sistema operacional e que acrescentam algum serviço a esse sistema.
Aqui nós vamos precisar dividir em duas etapas, porque obviamente existem duas categorias de pacotes base, as distros baseadas em Debian usam pacotes com a extensão .deb e as distros baseadas em RedHat usam a extensão .rpm.
O gerenciador de pacotes
Para falar bem a verdade, nos dias de hoje só quem tem bastante tempo sobrando (que é raro) que acaba instalando pacotes "na mão", se podemos facilitar e poupar tempo para quê complicar né?
O gerenciador de pacotes é o cara que vai fazer todo o trabalho para nós de instalar, atualizar ou remover um pacote. Tudo isso fica complicado de fazer manualmente por que diferente do que você está acostumado a usar no Windows instalar algum serviço aqui não depende apenas do binário que precisamos, também precisamos estar atentos se nosso sistema tem todas as bibliotecas e outros arquivos que este binário pode chamar. Esse conjunto de arquivos chamamos normalmente dedependências.
A função do gerenciador é pesquisar por um pacote, baixar caso nosso objetivo seja instalar este pacote, pesquisar todas as dependências e já baixar junto o que falta, e por ultimo instalar e colocar cada coisa no seu lugar. Para sistemas baseados no Debian temos o gerenciador "aptitude" ou "apt-get" e já para sistemas baseados em RedHat temos o "yum".
Então aqui nos dividimos. Sabendo isso vamos ver primeiro como funciona em distros Debian e depois como funciona em distros RedHat.
Debian
Para gerenciarmos os pacotes no Debian, primeiramente devemos selecionar os repositórios para isso editaremos o arquivo “/etc/apt/sources.list”.
O arquivo “/etc/apt/sources.list” contém os locais onde o “APT” encontrará os pacotes, a versão da distribuição que será verificada (stable, testing, unstable) e a seção que será copiada (main, non-free, contrib, non-US). Por exemplo:
deb-src http://security.debian.org/squeeze/updates main contrib
Após modificar esse arquivo você deve usar o comando aptitude update ou apt-get update para atualizar a lista.
Estes comandos sincronizam a lista de pacotes disponíveis para instalação nos servidores remotos, com uma lista local. Ter uma lista local agiliza bastante na hora de procurar por um pacote.
Vamos ver alguns comandos:
- aptitude search [argumento]: Procurar um pacote.
- apt-cache search [argumento]: Procurar um pacote.
- aptitude show [pacote]: Mostra informações de um pacote.
- apt-cache show [pacote]: Mostra informações de um pacote.
- aptitude install [pacote]: Instalar um pacote.
- apt-get install [pacote]: Instalar um pacote.
- aptitude remove [pacote]: Remover um pacote.
- apt-get remove [pacote]: Remover um pacote.
- aptitude purge [pacote]: Remover um pacote e suas dependências.
- apt-get autoremove --purge [pacote]: Remover um pacote e suas dependências.
- aptitude upgrade: Atualizar todos os pacotes instalados.
- apt-get upgrade: Atualizar todos os pacotes instalados.
- aptitude safe-upgrade: Atualização da distro.
RedHat
O yum funciona de modo semelhante ao aptitude, claro com suas diferenças, começando pelo repositório que se encontra em "/etc/yum.repos.d", e dentro deste arquivo a organização também muda, veja um exemplo:
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1
E agora os comandos básicos:
- yum search [pacote]: Pesquisar por um pacote.
- yum info [pacote]: Obter informações do pacote.
- yum install [pacote]: Instalar um pacote.
- yum remove [pacote]: Remover um pacote.
- yum erase [pacote]: Remover um pacote.
- yum update: Atualiza pacotes instalados.
E era isso por hoje! Recomendo que faça uns testes e brinque um pouco com os pacotes que no próximo post vamos nos aprofundar um pouco mais nisso. ;)
Até lá!
sábado, maio 18, 2013 por Unknown
No comments
Olá pessoal!
Continuando com nosso guia, no post de hoje vamos falar sobre o maior divisor de águas do Linux. O que separa os administradores experientes do resto. Muitos usuários e administradores iniciantes tem um pavor mortal de editores de texto no terminal. A maioria usa a desculpa de que "é muito complexo" ou "posso fazer muito mais e mais rápido em um editor gráfico". Mas ai que se enganam, o terminal pode parecer complicado, mas depois de algum tempo percebe-se que ele agiliza e muito o processo de acessar e editar um arquivo de configuração.
Existem vários editores de texto no terminal, cada um com suas características, cabendo a você escolher o que lhe agradar mais. Veremos os principais:
• vi - Sem dúvida nenhuma o editor mais famoso de todos os tempos, presente em quase todas as distribuições;
• vim - Uma versão melhorada do “vi”, “Vim” significa “VImproved” e traz diversas facilidades sem perder os conceitos originais do “vi”;
• nano - Editor padrão de muitas distribuições como Debian , CentOS esse editor é diferente do “vim” e é muito fácil de ser usado;
• pico - Muito parecido com o “nano”, este está presente nas distribuições Slackware e Gentoo;
• mcedit - Editor muito fácil e completo. Seu grande diferencial é a possibilidade da utilização do mouse, mesmo no ambiente textual;
• ed - O editor de textos mais simples no mundo Unix, o “ed” é um editor de linha para terminais aonde não é possível abrir uma janela de edição;
• emacs - Poderoso editor de "tudo", o “emacs” também é muito conhecido no mundo GNU/LINUX por fazer muitas coisas diferenciadas de um editor de texto;
Neste post vou me focar no editor mais comum, de minha preferência e cobrado no exame, o vim, mas falaremos brevemente de outros.
O nano é um editor bem simples, no momento que você chamar o editor, ele deixará uma tela branca com um rodapé na parte inferior como a imagem abaixo:

Vamos ver alguns comandos do nano, mas antes de começar tenha em mente que ^G por exemplo quer dizer CTRL + G.
• ^G Get Help - Apresenta uma tela de ajuda para os mais diversos comandos e uma breve explicação sobre o editor;
• ^X Exit - Sai do editor, lembrando que se o arquivo não estiver salvo, essa opção irá te pedir para salvá-lo;
• ^O WriteOut - Salva ou sobrescreve um arquivo;
• ^J Justify - Justifica o arquivo inteiro;
• ^R Read File - Importa um arquivo;
• ^W Where Is - Procura por uma ocorrência dentro do arquivo;
• ^Y Prev Page - Move o cursor para pagina anterior;
• ^V Next Page - Move o cursor para próxima pagina;
• ^K Cut Text - Corta a linha em que o cursor está posicionado;
• ^U UnCut Text - Cola a linha recortada na posição atual do cursor
• ^C Cur Pos - Mostra informações sobre a posição do cursor;
• ^T To Spell - Ativa a correção ortográfica. É necessário ter o comando “spell” instalado para que isso funcione;
O vi, editor mais básico do GNU/Linux, está presente em praticamente todas as versões do sistema, mesmo aquelas que eram instaladas em apenas 1 disquete. Hoje em dia, as distros usam uma versão mais completa do vi, o Vim (Vi iMproved). O Vim tem 2 modos de interação com os arquivos: o modo de visualização e o modo de edição. Por exemplo, para fazermos uma alteração simples num certo arquivo, precisamos abri-lo, o vim iniciará em modo de visualização, devemos mudar para o modo de edição, editar tudo o que necessitamos, voltar para o modo de visualização, salvar e sair. Por esse motivo os administradores não gostam do editor, aparentemente parece ser muito complexo, mas essas funções de edição são relativamente fáceis.
A grande maioria dos serviços em “Unix” são configurados através de arquivos de configuração, o “vim”não seria diferente. Seu arquivo de configuração fica localizado em “/etc/vim/vimrc”. Para configurar o seu editor de textos, basta descomentar as funcionalidades desejadas, e copiar o arquivo para o seu“home” como “.vimrc”.
Vejamos agora alguns comandos básicos para manipular arquivos com o vim:
Comandos básicos de inserção de texto:
i - Insere texto antes do cursor;
a - Insere texto depois do cursor;
r - Substitui texto no início da linha onde se encontra o cursor;
A - Insere texto no final da linha onde se encontra o cursor;
o - Adiciona linha abaixo da linha atual;
O - Adiciona linha acima da linha atual;
Ctrl + h - Apaga o último caractere.
Comandos básicos de movimentação:
Ctrl+f - Move o cursor para a próxima tela;
Ctrl+b - Move o cursor para a tela anterior;
H - Move o cursor para a primeira linha da tela;
M - Move o cursor para o meio da tela;
L - Move o cursor para a última linha da tela;
h - Move o cursor um caractere à esquerda;
j - Move o cursor para a próxima linha;
k - Move o cursor para linha anterior;
l - Move o cursor um caractere à direita;
w - Move o cursor para o início da próxima palavra;
W - Move o cursor para o início da próxima palavra, separadas por espaço;
b - Move o cursor para o início da palavra anterior;
B - Move o cursor para o início da palavra anterior, separadas por espaço;
0(zero) - Move o cursor para o início da linha atual;
^ - Move o cursor para o primeiro caractere não branco da linha atual;
$ - Move o cursor para o final da linha atual;
nG - Move o cursor para a linha “n”;
:n - Move o cursor para a linha “n”;
gg - Move o cursor para a primeira linha do arquivo;
G - Move o cursor para a última linha do arquivo.
Comandos básicos para localizar texto:
/palavra - Busca pela palavra ou caractere em todo o texto;
?palavra - Move o cursor para a ocorrência anterior da palavra;
n - Repete o último comando / ou ?;
N - Repete o último comando / ou ?, na direção reversa;
Ctrl+g - Mostra o nome do arquivo, o número da linha atual e o total de linhas.
Comandos básicos para alteração de texto:
x - Deleta o caractere que está sob o cursor;
dw - Deleta a palavra, da posição atual do cursor até o final;
dd - Deleta a linha atual, e copia o conteúdo para área de transferência;
D - Deleta a linha a partir da posição atual do cursor até o final;
:A,Bd - Deleta da linha A até a linha B, copia para área de transferência;
rx - Substitui o caractere sob o cursor pelo especificado em x;
u - Desfaz a última modificação ;
U - Desfaz todas as modificações feitas na linha atual;
J - Une a linha corrente a próxima;
yy - Copia 1 linha para a área de transferência;
yNy - Copia N linhas para a área de transferência;
p - Cola o conteúdo da área de transferência;
Np - Cola N vezes o conteúdo da área de transferência;
cc - Apaga o conteúdo da linha, e copia para área de transferência;
cNc - Apaga o conteúdo de N linhas, e copia para área de transferência;
:%s/string1/string2/g - Substitui "string1"por "string2".
Comandos para salvar o texto:
:wq ou :x - Salva o arquivo e sai do editor;
:w nome_do_arquivo - Salva o arquivo corrente com o nome especificado;
:w! nome_do_arquivo - O mesmo que :w, mas forçando sobrescrita;
:q - Sai do editor;
:q! - Sai do editor sem salvar as alterações realizadas.
Antes que você desista, saiba que você não precisa saber todos esses comandos para o exame, não se preocupe. Normalmente no exame são cobrados apenas os comandos para iniciar edição, copias, salvar e sai, o resto é mais por quesito de otimização e curiosidade.
E para finalizar, podemos deixar o vim com uma cara mais amigável. O arquivo vimrc contém algumas opções de customização do vim, nas distros baseadas em Debian esse arquivo se encontra em “/etc/vim/vimrc” e nas outras se encontra em “/etc/vimrc”. Dentro desse arquivo vamos colocar as seguintes linhas:
Com essas 4 linhas deixamos o texto com as linhas numeradas, texto colorido e grifar as buscas encontradas.
E com isso acabamos por aqui os editores de texto. Não vou comentar os outros por que não uso e não serão cobrados na LPI, mas fica a dica caso queira conhecer, recomendo fortemente o uso do vim não só para prestar o exame, mas o nano é uma boa pedida também. Parece ser difícil, mas com um pouco de estudo sobre verá que não tem nada de tão complicado e facilitará muito sua vida.
Eu fico por aqui, mas os estudos continuam!
Até a próxima!
Continuando com nosso guia, no post de hoje vamos falar sobre o maior divisor de águas do Linux. O que separa os administradores experientes do resto. Muitos usuários e administradores iniciantes tem um pavor mortal de editores de texto no terminal. A maioria usa a desculpa de que "é muito complexo" ou "posso fazer muito mais e mais rápido em um editor gráfico". Mas ai que se enganam, o terminal pode parecer complicado, mas depois de algum tempo percebe-se que ele agiliza e muito o processo de acessar e editar um arquivo de configuração.
Existem vários editores de texto no terminal, cada um com suas características, cabendo a você escolher o que lhe agradar mais. Veremos os principais:
• vi - Sem dúvida nenhuma o editor mais famoso de todos os tempos, presente em quase todas as distribuições;
• vim - Uma versão melhorada do “vi”, “Vim” significa “VImproved” e traz diversas facilidades sem perder os conceitos originais do “vi”;
• nano - Editor padrão de muitas distribuições como Debian , CentOS esse editor é diferente do “vim” e é muito fácil de ser usado;
• pico - Muito parecido com o “nano”, este está presente nas distribuições Slackware e Gentoo;
• mcedit - Editor muito fácil e completo. Seu grande diferencial é a possibilidade da utilização do mouse, mesmo no ambiente textual;
• ed - O editor de textos mais simples no mundo Unix, o “ed” é um editor de linha para terminais aonde não é possível abrir uma janela de edição;
• emacs - Poderoso editor de "tudo", o “emacs” também é muito conhecido no mundo GNU/LINUX por fazer muitas coisas diferenciadas de um editor de texto;
Neste post vou me focar no editor mais comum, de minha preferência e cobrado no exame, o vim, mas falaremos brevemente de outros.
Nano
O nano é um editor bem simples, no momento que você chamar o editor, ele deixará uma tela branca com um rodapé na parte inferior como a imagem abaixo:

Vamos ver alguns comandos do nano, mas antes de começar tenha em mente que ^G por exemplo quer dizer CTRL + G.
• ^G Get Help - Apresenta uma tela de ajuda para os mais diversos comandos e uma breve explicação sobre o editor;
• ^X Exit - Sai do editor, lembrando que se o arquivo não estiver salvo, essa opção irá te pedir para salvá-lo;
• ^O WriteOut - Salva ou sobrescreve um arquivo;
• ^J Justify - Justifica o arquivo inteiro;
• ^R Read File - Importa um arquivo;
• ^W Where Is - Procura por uma ocorrência dentro do arquivo;
• ^Y Prev Page - Move o cursor para pagina anterior;
• ^V Next Page - Move o cursor para próxima pagina;
• ^K Cut Text - Corta a linha em que o cursor está posicionado;
• ^U UnCut Text - Cola a linha recortada na posição atual do cursor
• ^C Cur Pos - Mostra informações sobre a posição do cursor;
• ^T To Spell - Ativa a correção ortográfica. É necessário ter o comando “spell” instalado para que isso funcione;
Vim
O vi, editor mais básico do GNU/Linux, está presente em praticamente todas as versões do sistema, mesmo aquelas que eram instaladas em apenas 1 disquete. Hoje em dia, as distros usam uma versão mais completa do vi, o Vim (Vi iMproved). O Vim tem 2 modos de interação com os arquivos: o modo de visualização e o modo de edição. Por exemplo, para fazermos uma alteração simples num certo arquivo, precisamos abri-lo, o vim iniciará em modo de visualização, devemos mudar para o modo de edição, editar tudo o que necessitamos, voltar para o modo de visualização, salvar e sair. Por esse motivo os administradores não gostam do editor, aparentemente parece ser muito complexo, mas essas funções de edição são relativamente fáceis.
A grande maioria dos serviços em “Unix” são configurados através de arquivos de configuração, o “vim”não seria diferente. Seu arquivo de configuração fica localizado em “/etc/vim/vimrc”. Para configurar o seu editor de textos, basta descomentar as funcionalidades desejadas, e copiar o arquivo para o seu“home” como “.vimrc”.
Vejamos agora alguns comandos básicos para manipular arquivos com o vim:
Comandos básicos de inserção de texto:
i - Insere texto antes do cursor;
a - Insere texto depois do cursor;
r - Substitui texto no início da linha onde se encontra o cursor;
A - Insere texto no final da linha onde se encontra o cursor;
o - Adiciona linha abaixo da linha atual;
O - Adiciona linha acima da linha atual;
Ctrl + h - Apaga o último caractere.
Comandos básicos de movimentação:
Ctrl+f - Move o cursor para a próxima tela;
Ctrl+b - Move o cursor para a tela anterior;
H - Move o cursor para a primeira linha da tela;
M - Move o cursor para o meio da tela;
L - Move o cursor para a última linha da tela;
h - Move o cursor um caractere à esquerda;
j - Move o cursor para a próxima linha;
k - Move o cursor para linha anterior;
l - Move o cursor um caractere à direita;
w - Move o cursor para o início da próxima palavra;
W - Move o cursor para o início da próxima palavra, separadas por espaço;
b - Move o cursor para o início da palavra anterior;
B - Move o cursor para o início da palavra anterior, separadas por espaço;
0(zero) - Move o cursor para o início da linha atual;
^ - Move o cursor para o primeiro caractere não branco da linha atual;
$ - Move o cursor para o final da linha atual;
nG - Move o cursor para a linha “n”;
:n - Move o cursor para a linha “n”;
gg - Move o cursor para a primeira linha do arquivo;
G - Move o cursor para a última linha do arquivo.
Comandos básicos para localizar texto:
/palavra - Busca pela palavra ou caractere em todo o texto;
?palavra - Move o cursor para a ocorrência anterior da palavra;
n - Repete o último comando / ou ?;
N - Repete o último comando / ou ?, na direção reversa;
Ctrl+g - Mostra o nome do arquivo, o número da linha atual e o total de linhas.
Comandos básicos para alteração de texto:
x - Deleta o caractere que está sob o cursor;
dw - Deleta a palavra, da posição atual do cursor até o final;
dd - Deleta a linha atual, e copia o conteúdo para área de transferência;
D - Deleta a linha a partir da posição atual do cursor até o final;
:A,Bd - Deleta da linha A até a linha B, copia para área de transferência;
rx - Substitui o caractere sob o cursor pelo especificado em x;
u - Desfaz a última modificação ;
U - Desfaz todas as modificações feitas na linha atual;
J - Une a linha corrente a próxima;
yy - Copia 1 linha para a área de transferência;
yNy - Copia N linhas para a área de transferência;
p - Cola o conteúdo da área de transferência;
Np - Cola N vezes o conteúdo da área de transferência;
cc - Apaga o conteúdo da linha, e copia para área de transferência;
cNc - Apaga o conteúdo de N linhas, e copia para área de transferência;
:%s/string1/string2/g - Substitui "string1"por "string2".
Comandos para salvar o texto:
:wq ou :x - Salva o arquivo e sai do editor;
:w nome_do_arquivo - Salva o arquivo corrente com o nome especificado;
:w! nome_do_arquivo - O mesmo que :w, mas forçando sobrescrita;
:q - Sai do editor;
:q! - Sai do editor sem salvar as alterações realizadas.
Antes que você desista, saiba que você não precisa saber todos esses comandos para o exame, não se preocupe. Normalmente no exame são cobrados apenas os comandos para iniciar edição, copias, salvar e sai, o resto é mais por quesito de otimização e curiosidade.
E para finalizar, podemos deixar o vim com uma cara mais amigável. O arquivo vimrc contém algumas opções de customização do vim, nas distros baseadas em Debian esse arquivo se encontra em “/etc/vim/vimrc” e nas outras se encontra em “/etc/vimrc”. Dentro desse arquivo vamos colocar as seguintes linhas:
# vim /etc/vim/vimrc
set number
syntax on
set hlsearch
Com essas 4 linhas deixamos o texto com as linhas numeradas, texto colorido e grifar as buscas encontradas.
E com isso acabamos por aqui os editores de texto. Não vou comentar os outros por que não uso e não serão cobrados na LPI, mas fica a dica caso queira conhecer, recomendo fortemente o uso do vim não só para prestar o exame, mas o nano é uma boa pedida também. Parece ser difícil, mas com um pouco de estudo sobre verá que não tem nada de tão complicado e facilitará muito sua vida.
Eu fico por aqui, mas os estudos continuam!
Até a próxima!
sábado, maio 18, 2013 por Unknown
No comments
Seguindo com o guia da certificação LPI, vamos ver hoje alguns comandos para filtragem de dados e saídas de outros comandos. Podemos usar este tipo de comando para receber apenas os dados que precisamos ou até mesmo receber dados únicos para usá-los em scripts.
grep
O comando grep procura palavras ou expressões específicas dentro de um arquivo. O comando mostra na tela apenas as linhas do arquivo que contém a expressão procurada.
Por exemplo, vamos pegar apenas a linha do root no arquivo /etc/passwd:
grep root /etc/passwd
Este comando vai retornar algo assim:
root:x:0:0:root:/root:/bin/bash
Podemos também utilizar a flag -v para retornar todas as linhas que não contém a expressão procurada.
Outras flags interessantes:
-i - Ignora diferença entre maiúsculas e minúsculas
-n - Mostra o número da linha encontrada
-A [n] - Mostra n linhas depois
-B [n] - Mostra n linhas antes
egrep
Similar ao grep, mas um pouco mais avançado. Alguns usos para o egrep:
Encontrar uma linha que contenha "user" ou "root":
egrep "root|user" /etc/passwd
Procurar por linhas que contenham a palavra Debian ou debian:
egrep [dD]ebian /etc/passwd
Procurar por linhas que começam com a letra “b”:
egrep ^b /etc/passwd
Procurar por linhas que terminam com a palavra “false”:
egrep false$ /etc/passwd
fgrep
Ao utilizar o fgrep toda operação de expressão regular será ignorada, tornando o
processo de localização muito mais rápido. Visualize o conteúdo do arquivo /etc/shadow:
cat /etc/shadow
Agora visualize apenas as linhas que contenham o caracter $:
fgrep $ /etc/shadow
sed
O comando sed é utilizado para procurar e substituir padrões em texto, mostrando o resultado em stdout. No sed, a expressão fica circunscrita entre barras(/). Por exemplo: Deletar as linhas comentadas do arquivo “/etc/fstab:
sed -i ’/^#/d' /etc/fstab
-e - Executa a expressão e comando a seguir.
ˆ - início de linha
# - string de busca
A letra d ao lado da expressão regular é um comando sed, que indica a exclusão de linhas contendo o respectivo padrão. Para substituir uma string, utilize a opção -s: Substitua todos os caracteres "#" por "@"em /etc/fstab:
sed -e s ’/#/@/’ /etc/fstab
Substitua agora os caracteres “/” por “@” :
sed -e s ’/\//@/’ /etc/fstab
Observe que você tem que escapar o caracter “/”, pois este é o separador dos campos.
Ou mais fácil, utilize outro separador de campos:
sed -e s ’|/|@|’ /etc/fstab
cut e awk
O comando “cut” pode ser muito útil para conseguir listagens a partir de arquivos com separadores de colunas definidos. Por exemplo, para conseguir o nome de todos os usuários da máquina, ou seja, a primeira coluna do arquivo “/etc/passwd” e também seu uid , cujo delimitador de colunas é o sinal “:”, podemos usar o comando:
cut -f1 ,3 -d: --output-delimiter=" " /etc/passwd > /root/uid
Onde:
-f - coluna
1,3 - coluna 1 e 3
-d - delimitador
--output-delimiter - delimitador da saída do comando
Para o mesmo exemplo acima, agora utilizando o awk:
awk -F : ’{print $1," ",$4} ’/etc/passwd > /root/uid
Onde:
-F - delimitador
print - imprime o valor da coluna especificada
$1 - coluna1
$4 - coluna4
“ “ - delimitador da saída do comando
join e paste
O comando “join” (unir), concatena registros de dois arquivos de texto baseado em índices comuns entre os registros.
Por exemplo, podemos unir os arquivos /root/uid e /root/gid, onde o índice em comum é o nome do usuário. Para isso usamos o seguinte comando:
join /root/uid /root/gid
O comando “paste”, junta os arquivos na saída padrão. Diferente do “join”, ele joga os dois arquivos lado-a-lado.:
paste /root/uid /root/gid
E por hoje é isso!
Fique ligado no blog que não estamos nem na metade do guia da LPI 1.
sexta-feira, 17 de maio de 2013
sexta-feira, maio 17, 2013 por Unknown
No comments
Olá pessoal!
Neste post, vamos ver alguns comandos, variáveis, arquivos e definições para administrarmos todos os parâmetros na nossa shell. Veja aqui como personalizar a sua shell para tirar o máximo proveito do seu terminal e atender suas necessidades.
As variáveis da “shell” têm o mesmo objetivo das variáveis que conhecemos na área da computação, ou seja, são áreas de memória que podem conter dados que serão utilizados por diversos programas. Quando estamos falando de variáveis em “shell” não precisamos nos preocupar em declará-las nem mesmo definir o seu tipo. Em “shell”, uma variável é definida simplesmente atribuindo-se um valor a ela. Por exemplo, se queremos ter em algum local na memória armazenado por algum motivo o número "35", basta declarar uma variável da seguinte maneira:
Podemos usar este tipo de variável, chamada escalar, para armazenar tanto números quanto caracteres.
Para acessar ou referenciar as variáveis, precisamos usar o símbolo do cifrão ( $ ) antes do nome da variável. O exemplo abaixo escreve o conteúdo da variável na tela:
O comando “echo” é usado para imprimir algo na tela ou direcionar para um arquivo. Isso é bastante útil para automação. Na linha de comando o “echo” é útil para inspecionar variáveis de ambiente, que são parâmetros guardados em memória e que definem o ambiente em uso.
OBS: Não é obrigatório o uso de palavras maiúsculas no nome das variáveis, mas é uma prática muito recomendada para padronização.
Quando falamos em variáveis em “shell” temos que ter em mente a divisão entre variáveis locais e de ambiente (ou globais). A diferença entre elas é que uma variável local tem visibilidade restrita, apenas ao escopo ao qual ela foi definida, e uma variável de ambiente tem visibilidade não só no escopo em que foi definida mas também em ambientes derivados.
A única diferença técnica entre variáveis locais e de ambiente é a forma de sua definição. Para definir uma variável local, basta atribuir um valor a um nome de variável. Para definir uma variável de ambiente o procedimento adiciona o comando “export” antes da definição. Abaixo mostramos exemplos de definição de variável local e de ambiente:
Para remover uma variável, use o comando unset.
Para estas variáveis ficarem permanente para todos e funcionar em qualquer terminal deve-se colocar em um dos arquivos:
Algumas variáveis importantes:
EDITOR -> define o editor que abrirá um programa que chama o editor padrão. No debian, conseguimos fazer a alteração do editor através do comando update-alternatives –config editor.
TMOUT -> tempo em segundos de inatividade para deslogar automaticamente.
HOME -> home do usuário atual.
HISTSIZE -> tamanho do histórico de comandos.
PATH -> define quais diretórios pesquisar e a ordem na qual eles são pesquisados para encontrar um determinado comando.
Um recurso do “shell” que facilita muito a vida do usuário é a definição de “aliases”. Imagine que um usuário gosta de utilizar o comando “ls” sempre com os parâmetros“--color -h -l”. O que seria dele se toda vez que fosse executá-lo tivesse que escrever o comando com todos os parâmetros?! Para resolver esse tipo de situação, basta criar um “alias” para o comando “ls” que defina que cada vez que o usuário digitar um simples “ls” ele será sucedido pelas opções definidas, e o que será executado será o comando “ls --color -h -l”. Para criarmos esse “alias”, basta usarmos o comando abaixo:
Caso você precise desabilitar um alias use o comando unalias alias_criado. E para ver todos os alias basta digitar o comando alias.
Quando uma “bash” é executada como uma “shell” de “login” interativo ela lê e executa o arquivo“/etc/profile”, se ele existir. Esse arquivo deve conter as configurações gerais que se aplicam a todos os usuários do sistema. Após ler o “/etc/profile”, ela irá procurar por um dos arquivos:
Esses arquivos estão na “home” do usuário, executando o primeiro que estiver disponível e tiver permissão de leitura. Além desses, executa também o arquivo “/.bashrc”. Perceba que esses são arquivos ocultos, pois estão precedidos por um (.). Quando a “bash” estiver sendo terminada (usuário fazendo logout), o arquivo “/.bash_logout” será lido e executado, caso ele exista. Através deste arquivo, podemos automatizar procedimentos como por exemplo limpar a tela ao se “deslogar” do sistema. Quando uma “bash” é chamada mas não é uma “shell de login”, o arquivo chamado será apenas o“/.bashrc”.
Os arquivos “/etc/issue” e “/etc/motd” são usados para mostrar mensagens para os usuários e não interferem na parte operacional do sistema. A diferença entre os arquivos “/etc/issue” e “/etc/motd”, é que o primeiro exibe uma mensagem para o usuário antes que o mesmo faça “login” no sistema, enquanto o segundo exibe uma mensagem após o usuário se “logar” no sistema. Há ainda o arquivo“/etc/issue.net”, que contém a mensagem exibida em “logins” remotos.
E ficamos por aqui, no próximo post vamos ver um assunto que assusta muitos usuários linux, os editores de texto no terminal.
Neste post, vamos ver alguns comandos, variáveis, arquivos e definições para administrarmos todos os parâmetros na nossa shell. Veja aqui como personalizar a sua shell para tirar o máximo proveito do seu terminal e atender suas necessidades.
As variáveis da “shell” têm o mesmo objetivo das variáveis que conhecemos na área da computação, ou seja, são áreas de memória que podem conter dados que serão utilizados por diversos programas. Quando estamos falando de variáveis em “shell” não precisamos nos preocupar em declará-las nem mesmo definir o seu tipo. Em “shell”, uma variável é definida simplesmente atribuindo-se um valor a ela. Por exemplo, se queremos ter em algum local na memória armazenado por algum motivo o número "35", basta declarar uma variável da seguinte maneira:
VARIAVEL1=35
Podemos usar este tipo de variável, chamada escalar, para armazenar tanto números quanto caracteres.
Para acessar ou referenciar as variáveis, precisamos usar o símbolo do cifrão ( $ ) antes do nome da variável. O exemplo abaixo escreve o conteúdo da variável na tela:
echo $VARIAVEL1
O comando “echo” é usado para imprimir algo na tela ou direcionar para um arquivo. Isso é bastante útil para automação. Na linha de comando o “echo” é útil para inspecionar variáveis de ambiente, que são parâmetros guardados em memória e que definem o ambiente em uso.
OBS: Não é obrigatório o uso de palavras maiúsculas no nome das variáveis, mas é uma prática muito recomendada para padronização.
Variáveis Locais e Globais
Quando falamos em variáveis em “shell” temos que ter em mente a divisão entre variáveis locais e de ambiente (ou globais). A diferença entre elas é que uma variável local tem visibilidade restrita, apenas ao escopo ao qual ela foi definida, e uma variável de ambiente tem visibilidade não só no escopo em que foi definida mas também em ambientes derivados.
A única diferença técnica entre variáveis locais e de ambiente é a forma de sua definição. Para definir uma variável local, basta atribuir um valor a um nome de variável. Para definir uma variável de ambiente o procedimento adiciona o comando “export” antes da definição. Abaixo mostramos exemplos de definição de variável local e de ambiente:
# LOCAL =" sem export na frente "
# export GLOBAL =" com export na frente "
Para remover uma variável, use o comando unset.
Para estas variáveis ficarem permanente para todos e funcionar em qualquer terminal deve-se colocar em um dos arquivos:
/etc/profile
/etc/environment
Algumas variáveis importantes:
EDITOR -> define o editor que abrirá um programa que chama o editor padrão. No debian, conseguimos fazer a alteração do editor através do comando update-alternatives –config editor.
TMOUT -> tempo em segundos de inatividade para deslogar automaticamente.
HOME -> home do usuário atual.
HISTSIZE -> tamanho do histórico de comandos.
PATH -> define quais diretórios pesquisar e a ordem na qual eles são pesquisados para encontrar um determinado comando.
Alias
Um recurso do “shell” que facilita muito a vida do usuário é a definição de “aliases”. Imagine que um usuário gosta de utilizar o comando “ls” sempre com os parâmetros“--color -h -l”. O que seria dele se toda vez que fosse executá-lo tivesse que escrever o comando com todos os parâmetros?! Para resolver esse tipo de situação, basta criar um “alias” para o comando “ls” que defina que cada vez que o usuário digitar um simples “ls” ele será sucedido pelas opções definidas, e o que será executado será o comando “ls --color -h -l”. Para criarmos esse “alias”, basta usarmos o comando abaixo:
alias ls = ’ls --color -h -l’
Caso você precise desabilitar um alias use o comando unalias alias_criado. E para ver todos os alias basta digitar o comando alias.
Login
Quando uma “bash” é executada como uma “shell” de “login” interativo ela lê e executa o arquivo“/etc/profile”, se ele existir. Esse arquivo deve conter as configurações gerais que se aplicam a todos os usuários do sistema. Após ler o “/etc/profile”, ela irá procurar por um dos arquivos:
~/.bash_profile
~/.bash_login
~/.profile
Esses arquivos estão na “home” do usuário, executando o primeiro que estiver disponível e tiver permissão de leitura. Além desses, executa também o arquivo “/.bashrc”. Perceba que esses são arquivos ocultos, pois estão precedidos por um (.). Quando a “bash” estiver sendo terminada (usuário fazendo logout), o arquivo “/.bash_logout” será lido e executado, caso ele exista. Através deste arquivo, podemos automatizar procedimentos como por exemplo limpar a tela ao se “deslogar” do sistema. Quando uma “bash” é chamada mas não é uma “shell de login”, o arquivo chamado será apenas o“/.bashrc”.
Os arquivos “/etc/issue” e “/etc/motd” são usados para mostrar mensagens para os usuários e não interferem na parte operacional do sistema. A diferença entre os arquivos “/etc/issue” e “/etc/motd”, é que o primeiro exibe uma mensagem para o usuário antes que o mesmo faça “login” no sistema, enquanto o segundo exibe uma mensagem após o usuário se “logar” no sistema. Há ainda o arquivo“/etc/issue.net”, que contém a mensagem exibida em “logins” remotos.
E ficamos por aqui, no próximo post vamos ver um assunto que assusta muitos usuários linux, os editores de texto no terminal.
sexta-feira, maio 17, 2013 por Unknown
No comments
Depois de um tempo parado com essa série e com meus estudos por falta de tempo, agora vou voltar a estudar e criar posts sobre Linux, voltado para a certificação LPI 1. No post de hoje vamos ver alguns comandos avançados no terminal, todos eles de altíssima relevância e cobrados no exame. Mais específicamente vamos ver comandos de busca e manipulação de entradas e saídas de comandos com alguns operadores.
Vamos começar pelos comandos localizadores. Existem uma série de comandos úteis para localizar todo o tipo de arquivo no sistema. Vejamos os principais:
A sintaxe do comando find é find [diretório] [opções/expressão].
Algumas flags interessantes:
- name [expressão]: Procura pela [expressão] definida nos nomes de arquivos e diretórios processados.
- maxdepth [num]: Limita a recursividade de busca na árvore de diretórios. Por exemplo, limitando a 1, a busca será feita apenas no diretório especificado e não irá incluir nenhum subdiretório.
- amin [num]: Procura por arquivos que foram acessados [num] minutos atrás. Caso seja antecedido por “-”, procura por arquivos que foram acessados entre [num] minutos atrás e o momento atual.
- atime [num]: Procura por arquivos que foram acessados [num] dias atrás. Caso seja antecedido por “-”, procura por arquivos que foram acessados entre [num] dias atrás e a data atual.
- uid [num]: Procura por arquivos que pertençam ao usuário com o “uid 1000” [num].
- user [nome]: Procura por arquivos que pertençam ao usuário “aluno” [nome].
- perm [modo]: Procura por arquivos que possuem os modos de permissão [modo]. Os [modo] de permissão podem ser numérico (octal) ou literal.
- size [num]: Procura por arquivos que tenham o tamanho [num]. O tamanho é especificado em bytes. Você pode usar os sufixos k, M ou G para representar o tamanho em Quilobytes, Megabytes ou Gigabytes, respectivamente. O valor de [num] Pode ser antecedido de “+” ou “-” para especificar um arquivo maior ou menor que [num].
- type [tipo]: Procura por arquivos do [tipo] especificado. Os seguintes tipos são aceitos: b - bloco; c - caractere; d - diretório; p - pipe; f - arquivo regular; l - “link” simbólico; s - “socket”.
Outra forma de procurar por arquivos e/ou diretórios e executar um comando é através do comando xargs que obtém como a entrada a saída ok do comando antes do pipe e envia como stdin do próximo comando, no caso o ls -ld:
O comando time permite medir o tempo de execução de um programa:
Outro método de busca é o comando locate, mas este em específico não faz a busca recursivamente, e sim por uma base de dados. Então, antes de usar esse comando você precisa atualizar a base de dados com o comando:
Pode ser que a primeira vez ele demore um pouco, porque ele está varrendo, verificando e catalogando todos os arquivos do disco. A sintaxe do comando é bem simples, apenas o comando e o que você pretende procurar.
A saída do comando acima será parecida com:
Antes de vermos os operadores de redirecionamento e os comandos, vamos a um pouco de teoria que pode ser necessário. O Linux tem três fluxos de dados, Entrada (INPUT), Saída (OUTPUT) e, Diagnósticos e Erros.
Por padrão, a entrada de dados é pelo teclado, e a saída é na tela. Normalmente erros também são mostrados na tela. Normalmente é utilizado alguns termos para identificar essas entradas e saídas padrões. São elas: 0 - Entrada de dados, representada por “stdin” (Standard Input); 1 - Saída de dados, representada por “stdout” (Standard Output); 2 - Saída de erros, representada por “stderr” (Standard Error).
> (maior): Direciona a saída do comando para um arquivo, substituindo o seu conteúdo, caso o arquivo já exista;
>> (maior-maior): Direciona a saída do comando para um arquivo, adicionando o texto ao final do arquivo, caso ele já exista;
< (menor): Passa o conteúdo do arquivo como argumento para o comando;
2> (dois-maior): Direciona as saídas de erro geradas pelo programa para um arquivo, substituindo seu conteúdo, caso o arquivo já exista;
2>> (dois-maior-maior): Direciona as saídas de erro geradas pelo programa para um arquivo, adicionando o texto ao final do arquivo, caso ele já exista;
2>&1 (dois-maior-e-um): Direciona as saídas de erro para a saída do comando, no caso para STDOUT;
&> (e-maior): Direciona todas as saídas (normal e de erro) para um arquivo, substituindo seu conteúdo, caso ele já exista; &» (e-maior-maior): Direciona todas as saídas (normal e de erro) para um arquivo, adicionando o texto ao final do arquivo, caso ele já exista;
| (barra vertical ou pipe): Utiliza a saída do primeiro comando como argumento do segundo comando; tee: mostra saída na tela e redireciona para um arquivo ou outra localização ao mesmo tempo;
<<: marca o fim de um bloco.
tee: Este comando permite que a saída seja exibida na tela e ao mesmo tempo redirecionada a um arquivo. Caso o arquivo não exista será criado um arquivo.
dd: O comando dd dos sistemas baseados em Linux e Unix, é um programa para copiar e converter arquivos de um local para outro, servindo até para clonar dispositivos ou áreas de discos fixos ou removíveis como CD(s), DVD(s), disquetes, HD(s), dispositivos USB entre outros. A sintaxe do comando é dd if=<origem> of=<destino>.
wc: A maioria dos arquivos de configuração no Unix é separada em linhas, temos este comando para contar as linhas de um arquivo. Este comando indica quantas linhas, palavras e caracteres tem um arquivo. Caso queira apenas ver a contagem de linhas use a flag -l, para contagens de palavras a flag -w e para a contagem de caracteres use a flag -c.
split: Usado para dividir um determinado arquivo em arquivos menores.
file: Informa o tipo do arquivo.
who: Determina quais usuários estão logados no sistema.
w: Mostra tempo que o sistema está ligado, média de carga do sistema, usuários logados.
ln: O comando ln permite criar links. Existem dois tipos de links suportados pelo Linux, os hard links e os links simbólicos. Os links simbólicos têm uma função parecida com os atalhos do Windows: eles apontam para um arquivo, mas se o arquivo é movido para outro diretório, o link fica quebrado. Os hard links por sua vez são semelhantes aos atalhos do OS/2 da IBM, eles são mais intimamente ligados ao arquivo e são alterados junto com ele. Se o arquivo muda de lugar, o link é automaticamente atualizado. Isto é possível porque nos sistemas de arquivos usados pelo Linux cada arquivo possui um código de identificação (chamado de inode), que nunca muda. O sistema sabe que o arquivo renomeado é o mesmo do atalho simplesmente procurando-o pelo inode ao invés do nome.
stat: Um inode é, na realidade, uma estrutura de dados que possui informações sobre um determinado arquivo ou diretório como, por exemplo, dono, grupo, tipo e permissão de acesso. Para sabermos essa e outras informações de um arquivo usamos o comando stat.
sort: Comando usado para organizar em ordem as linhas de um arquivo. Pode-se usar algumas flags para customizar a organização, como por exemplo, -f para ignorar caixa alta e caixa baixa, -n para classificação numerica e -r para ordem invertida.
uniq: Remove linhas duplicadas.
E era isso por hoje!
No próximo post sobre a série preparatória da certificação LPI 1 abordaremos mais um pouco de filtragem de comandos e administração da Shell. Eu fico por aqui, mas recomendo que estudem isso, pois mesmo que não prestem a prova, esse tipo de conhecimento pode fazer a diferença.
Bons estudos!
Localizadores
Vamos começar pelos comandos localizadores. Existem uma série de comandos úteis para localizar todo o tipo de arquivo no sistema. Vejamos os principais:
Find
Este comando procura por diretórios e arquivos por uma infinidade de características, por exemplo, data de criação, data de modificação, nome, tamanho, etc.A sintaxe do comando find é find [diretório] [opções/expressão].
Algumas flags interessantes:
- name [expressão]: Procura pela [expressão] definida nos nomes de arquivos e diretórios processados.
# find /etc -name*.conf
- maxdepth [num]: Limita a recursividade de busca na árvore de diretórios. Por exemplo, limitando a 1, a busca será feita apenas no diretório especificado e não irá incluir nenhum subdiretório.
# find /etc -maxdepth 1 -name*.conf
- amin [num]: Procura por arquivos que foram acessados [num] minutos atrás. Caso seja antecedido por “-”, procura por arquivos que foram acessados entre [num] minutos atrás e o momento atual.
# find ~ -amin -5
- atime [num]: Procura por arquivos que foram acessados [num] dias atrás. Caso seja antecedido por “-”, procura por arquivos que foram acessados entre [num] dias atrás e a data atual.
# find ~ -atime -10
- uid [num]: Procura por arquivos que pertençam ao usuário com o “uid 1000” [num].
# find / -uid 1000
- user [nome]: Procura por arquivos que pertençam ao usuário “aluno” [nome].
# find / -user aluno
- perm [modo]: Procura por arquivos que possuem os modos de permissão [modo]. Os [modo] de permissão podem ser numérico (octal) ou literal.
# find / -perm 644
- size [num]: Procura por arquivos que tenham o tamanho [num]. O tamanho é especificado em bytes. Você pode usar os sufixos k, M ou G para representar o tamanho em Quilobytes, Megabytes ou Gigabytes, respectivamente. O valor de [num] Pode ser antecedido de “+” ou “-” para especificar um arquivo maior ou menor que [num].
# find / -size +1 M
- type [tipo]: Procura por arquivos do [tipo] especificado. Os seguintes tipos são aceitos: b - bloco; c - caractere; d - diretório; p - pipe; f - arquivo regular; l - “link” simbólico; s - “socket”.
# find / dev - type b
Xargs
Outra forma de procurar por arquivos e/ou diretórios e executar um comando é através do comando xargs que obtém como a entrada a saída ok do comando antes do pipe e envia como stdin do próximo comando, no caso o ls -ld:
# find / etc -type d | xargs ls -ld
Time
O comando time permite medir o tempo de execução de um programa:
# time find / -name *.conf
Locate
Outro método de busca é o comando locate, mas este em específico não faz a busca recursivamente, e sim por uma base de dados. Então, antes de usar esse comando você precisa atualizar a base de dados com o comando:
# updatedb
Pode ser que a primeira vez ele demore um pouco, porque ele está varrendo, verificando e catalogando todos os arquivos do disco. A sintaxe do comando é bem simples, apenas o comando e o que você pretende procurar.
# locate howto
A saída do comando acima será parecida com:
/usr/share/doc/python2.4-xml/howto.cls
/usr/share/doc/python2.4-xml/xml-howto.tex.gz
/usr/share/doc/python2.4-xml/xml-howto.txt.gz
/usr/share/vim/vim64/doc/howto.txt
Redirecionamentos
Antes de vermos os operadores de redirecionamento e os comandos, vamos a um pouco de teoria que pode ser necessário. O Linux tem três fluxos de dados, Entrada (INPUT), Saída (OUTPUT) e, Diagnósticos e Erros.
Por padrão, a entrada de dados é pelo teclado, e a saída é na tela. Normalmente erros também são mostrados na tela. Normalmente é utilizado alguns termos para identificar essas entradas e saídas padrões. São elas: 0 - Entrada de dados, representada por “stdin” (Standard Input); 1 - Saída de dados, representada por “stdout” (Standard Output); 2 - Saída de erros, representada por “stderr” (Standard Error).
Operadores e Comandos
> (maior): Direciona a saída do comando para um arquivo, substituindo o seu conteúdo, caso o arquivo já exista;
>> (maior-maior): Direciona a saída do comando para um arquivo, adicionando o texto ao final do arquivo, caso ele já exista;
< (menor): Passa o conteúdo do arquivo como argumento para o comando;
2> (dois-maior): Direciona as saídas de erro geradas pelo programa para um arquivo, substituindo seu conteúdo, caso o arquivo já exista;
2>> (dois-maior-maior): Direciona as saídas de erro geradas pelo programa para um arquivo, adicionando o texto ao final do arquivo, caso ele já exista;
2>&1 (dois-maior-e-um): Direciona as saídas de erro para a saída do comando, no caso para STDOUT;
&> (e-maior): Direciona todas as saídas (normal e de erro) para um arquivo, substituindo seu conteúdo, caso ele já exista; &» (e-maior-maior): Direciona todas as saídas (normal e de erro) para um arquivo, adicionando o texto ao final do arquivo, caso ele já exista;
| (barra vertical ou pipe): Utiliza a saída do primeiro comando como argumento do segundo comando; tee: mostra saída na tela e redireciona para um arquivo ou outra localização ao mesmo tempo;
<<: marca o fim de um bloco.
tee: Este comando permite que a saída seja exibida na tela e ao mesmo tempo redirecionada a um arquivo. Caso o arquivo não exista será criado um arquivo.
dd: O comando dd dos sistemas baseados em Linux e Unix, é um programa para copiar e converter arquivos de um local para outro, servindo até para clonar dispositivos ou áreas de discos fixos ou removíveis como CD(s), DVD(s), disquetes, HD(s), dispositivos USB entre outros. A sintaxe do comando é dd if=<origem> of=<destino>.
wc: A maioria dos arquivos de configuração no Unix é separada em linhas, temos este comando para contar as linhas de um arquivo. Este comando indica quantas linhas, palavras e caracteres tem um arquivo. Caso queira apenas ver a contagem de linhas use a flag -l, para contagens de palavras a flag -w e para a contagem de caracteres use a flag -c.
split: Usado para dividir um determinado arquivo em arquivos menores.
file: Informa o tipo do arquivo.
who: Determina quais usuários estão logados no sistema.
w: Mostra tempo que o sistema está ligado, média de carga do sistema, usuários logados.
ln: O comando ln permite criar links. Existem dois tipos de links suportados pelo Linux, os hard links e os links simbólicos. Os links simbólicos têm uma função parecida com os atalhos do Windows: eles apontam para um arquivo, mas se o arquivo é movido para outro diretório, o link fica quebrado. Os hard links por sua vez são semelhantes aos atalhos do OS/2 da IBM, eles são mais intimamente ligados ao arquivo e são alterados junto com ele. Se o arquivo muda de lugar, o link é automaticamente atualizado. Isto é possível porque nos sistemas de arquivos usados pelo Linux cada arquivo possui um código de identificação (chamado de inode), que nunca muda. O sistema sabe que o arquivo renomeado é o mesmo do atalho simplesmente procurando-o pelo inode ao invés do nome.
stat: Um inode é, na realidade, uma estrutura de dados que possui informações sobre um determinado arquivo ou diretório como, por exemplo, dono, grupo, tipo e permissão de acesso. Para sabermos essa e outras informações de um arquivo usamos o comando stat.
sort: Comando usado para organizar em ordem as linhas de um arquivo. Pode-se usar algumas flags para customizar a organização, como por exemplo, -f para ignorar caixa alta e caixa baixa, -n para classificação numerica e -r para ordem invertida.
uniq: Remove linhas duplicadas.
E era isso por hoje!
No próximo post sobre a série preparatória da certificação LPI 1 abordaremos mais um pouco de filtragem de comandos e administração da Shell. Eu fico por aqui, mas recomendo que estudem isso, pois mesmo que não prestem a prova, esse tipo de conhecimento pode fazer a diferença.
Bons estudos!
quarta-feira, 15 de maio de 2013
quarta-feira, maio 15, 2013 por Unknown
No comments
Fala pessoal! Vamos continuar com nossas aventuras pelo Linux. O post de hoje será sobre uma coisa que poucos que usam linux sabem. Todos deveriam saber pelo menos o básico da hierarquia do Linux para entender como ele funciona, e esse conteúdo é muito cobrado no exame.
Então vamos lá! Você já deve ter notado que seu Linux tem muitos diretórios com nomes esquisitos na raiz do sistema, cada um desses diretórios tem seus arquivos e funções, todos eles seguindo os padrões definidos pela FHS (Filesystem Hierarchy Standard). Toda essa organização e padronização serve para manter a compatibilidade entre as versões e distros Linux que temos por ai. Esse FHS é o que permite que um software escrito para uma distro pode ser executado em qualquer outra distro sem problemas.
Atualmente, o ”FHS” está na sua versão 2.3, e é mantido pelo “Free Standard Group", uma organização sem fins lucrativos formada por grandes empresas como HP, IBM, RedHat e Dell.
Antes de seguir com o conteúdo fica uma dica que talvez todos já saibam. O Linux é case sensitive. Isso quer dizer que um arquivo chamado “Teste” é diferente de um chamado “TESTE” e os dois são diferentes de um terceiro chamado “teste”.
A árvore de diretórios do Linux é parecida com essa:
Desses todos diretórios, 14 são obrigatórios, vejamos abaixo mais informações sobre eles:
/ - O barra é o diretório raiz do sistema. É o ponto inicial da Hierarquia, todos os outros diretórios, conhecidos como subdiretórios, ficam dentro do “/”.
bin - O bin é onde ficam guardados os comandos do sistema. Quando você digita o comando ls, por exemplo, o Linux procura esse arquivo dentro do diretório /bin.
boot - Neste diretório que ficam os arquivos necessários para a inicialização do sistema.
dev - Aqui ficam os arquivos de dispositivos. Ein? Sim isso mesmo, o Linux trata TUDO como um arquivo, mouse, teclado, etc, para ele tudo é um arquivo.
etc - O diretório /etc é o diretório dos arquivos de configuração do sistema. Aqui encontramos arquivos de configuração da maioria dos serviços.
lib - Como o nome sugere, o /lib é onde são guardados as bibliotecas e módulos do kernel.
media - Aqui são montados os dispositivos removíveis no sistema, como por exemplo pendrives, HD’s, CD’s e etc.
mnt - DIretório para a montagem temporária de sistema de arquivos como compartilhamentos de arquivos Windows e GNU/Linux.
opt - Comumente utilizado por softwares proprietários ou que não fazem parte oficialmente da distro.
sbin - Similar ao /bin, mas este contém ferramentas e comandos administrativos utilizados apenas por usuários “root”.
srv - Diretório para dados de serviços fornecidos pelo sistema, como por exemplo servidor web e ftp.
tmp - Esse é bem comum e sugestivo. Diretório de arquivos temporários. Tudo que tem que ficar em algum lugar até uma operação acabar cai aqui.
usr - O diretório “/usr” contém programas que não são essenciais ao sistema e que seguem o padrão GNU/Linux, como, por exemplo, navegadores, gerenciadores de janelas, etc.
var - O diretório “/var” contém arquivos de dados variáveis. Por exemplo logs e filas de impressão.
proc - O “/proc” é um diretório virtual, mantido pelo kernel, onde encontramos a configuração atual do sistema, dados estatísticos, dispositivos já montados, interrupções, endereços e estados das portas físicas, dados sobre as redes, etc.
sys - Bem similar ao “/proc”, o conteúdo é praticamente o mesmo, mas de uma forma organizacional melhor, para administradores.
home - Home não é um diretório necessário para o funcionamento do sistema, não precisa necessariamente ter esse nome, algumas distros customizam esse nome. Esse é o diretório que recebe os arquivos pessoais dos usuários.
root - Similar ao “/home”, mas mantém os arquivos do super usuário.
E era isso!
Ficamos por aqui, até a próxima e bons estudos!
Então vamos lá! Você já deve ter notado que seu Linux tem muitos diretórios com nomes esquisitos na raiz do sistema, cada um desses diretórios tem seus arquivos e funções, todos eles seguindo os padrões definidos pela FHS (Filesystem Hierarchy Standard). Toda essa organização e padronização serve para manter a compatibilidade entre as versões e distros Linux que temos por ai. Esse FHS é o que permite que um software escrito para uma distro pode ser executado em qualquer outra distro sem problemas.
Atualmente, o ”FHS” está na sua versão 2.3, e é mantido pelo “Free Standard Group", uma organização sem fins lucrativos formada por grandes empresas como HP, IBM, RedHat e Dell.
Antes de seguir com o conteúdo fica uma dica que talvez todos já saibam. O Linux é case sensitive. Isso quer dizer que um arquivo chamado “Teste” é diferente de um chamado “TESTE” e os dois são diferentes de um terceiro chamado “teste”.
A árvore de diretórios do Linux é parecida com essa:
/
bin
cdrom
etc
lib
mnt
proc
root
var
sys
boot
dev
home
media
opt
sbin
srv
tmp
usr
Desses todos diretórios, 14 são obrigatórios, vejamos abaixo mais informações sobre eles:
/ - O barra é o diretório raiz do sistema. É o ponto inicial da Hierarquia, todos os outros diretórios, conhecidos como subdiretórios, ficam dentro do “/”.
bin - O bin é onde ficam guardados os comandos do sistema. Quando você digita o comando ls, por exemplo, o Linux procura esse arquivo dentro do diretório /bin.
boot - Neste diretório que ficam os arquivos necessários para a inicialização do sistema.
dev - Aqui ficam os arquivos de dispositivos. Ein? Sim isso mesmo, o Linux trata TUDO como um arquivo, mouse, teclado, etc, para ele tudo é um arquivo.
etc - O diretório /etc é o diretório dos arquivos de configuração do sistema. Aqui encontramos arquivos de configuração da maioria dos serviços.
lib - Como o nome sugere, o /lib é onde são guardados as bibliotecas e módulos do kernel.
media - Aqui são montados os dispositivos removíveis no sistema, como por exemplo pendrives, HD’s, CD’s e etc.
mnt - DIretório para a montagem temporária de sistema de arquivos como compartilhamentos de arquivos Windows e GNU/Linux.
opt - Comumente utilizado por softwares proprietários ou que não fazem parte oficialmente da distro.
sbin - Similar ao /bin, mas este contém ferramentas e comandos administrativos utilizados apenas por usuários “root”.
srv - Diretório para dados de serviços fornecidos pelo sistema, como por exemplo servidor web e ftp.
tmp - Esse é bem comum e sugestivo. Diretório de arquivos temporários. Tudo que tem que ficar em algum lugar até uma operação acabar cai aqui.
usr - O diretório “/usr” contém programas que não são essenciais ao sistema e que seguem o padrão GNU/Linux, como, por exemplo, navegadores, gerenciadores de janelas, etc.
var - O diretório “/var” contém arquivos de dados variáveis. Por exemplo logs e filas de impressão.
proc - O “/proc” é um diretório virtual, mantido pelo kernel, onde encontramos a configuração atual do sistema, dados estatísticos, dispositivos já montados, interrupções, endereços e estados das portas físicas, dados sobre as redes, etc.
sys - Bem similar ao “/proc”, o conteúdo é praticamente o mesmo, mas de uma forma organizacional melhor, para administradores.
home - Home não é um diretório necessário para o funcionamento do sistema, não precisa necessariamente ter esse nome, algumas distros customizam esse nome. Esse é o diretório que recebe os arquivos pessoais dos usuários.
root - Similar ao “/home”, mas mantém os arquivos do super usuário.
E era isso!
Ficamos por aqui, até a próxima e bons estudos!
quarta-feira, maio 15, 2013 por Unknown
No comments
Olá novamente leitores. Demorou um pouco mais saiu, mais um capítulo do artigo exclusivo do blog, preparatório para a certificação LPI|C. Nesta parte, vamos ver o comando LS e todas as suas propriedades quase mágicas e alguns outros comandos que não podem faltar no dia a dia de um usuário unix.
Então vamos lá, partiremos hoje do comando “ls”, que serve para listar o conteúdo dos diretórios. Um comando muito conhecido, super básico, mas junto com ele vem muitas flags e personalizações para otimizar suas listagens. Uma das flags mais usadas é a “-l” que lista o conteúdo de um modo mais detalhado, como quem criou, data de criação e outros detalhes.
Outra flag muito boa é a “-a” que lista todo o conteúdo do diretório, até mesmo os arquivos ocultos.
DICA: arquivos ocultos começam com um ponto final (.) no nome.
O uso do ls é bem parecido com os outros comandos vistos antes. Podemos utilizar tanto o comando sem um caminho específico, que listará a pasta de origem quanto passando um caminho que listará o conteúdo daquele caminho específico.
Podemos também usar os curingas que veremos a seguir:
Curingas - caracteres especiais que podem otimizar as buscas e achar arquivos semelhantes.
Segue abaixo uma lista dos curingas que podemos utilizar e alguns exemplos dos mesmos:
* -> Utilizado para um nome completo ou restante de um arquivo/diretório;
? -> Esse curinga pode substituir uma ou mais letras em determinada posição;
! -> Exclui da operação;
[padrão] -> É utilizado para referência a uma faixa de caracteres de um arquivo/diretório;
[a-z][0-9] -> Usado para trabalhar com caracteres de a até z seguidos de um caractere de 0 até 9;
[a,z][1,0] -> Usado para trabalhar com os caracteres a e z seguidos de um caractere 1 ou 0 naquela posição;
[a-z,1,0] -> Faz referência do intervalo de caracteres de a até z ou 1 ou 0 naquela posição;
[^abc] -> Faz referência a qualquer caracter exceto a, b e c .
{padrão} -> Expande e gera strings para pesquisa de padrões de um arquivo/diretório;
X {ab,01} -> Faz referência a sequência de caracteres Xab ou X01;
X {a-e,10} -> Faz referência a sequência de caracteres Xa Xb Xc Xd Xe X10.
Exemplos:
touch curriculo{1,2,3}.txt curriculo{4,5}.new -> Cria os arquivos curriculo1.txt, curriculo2.txt, curriculo3.txt, curriculo4.new e curriculo5.new.
ls -ld /* n -> Buscar no diretório raiz ”/ “ todos os diretórios que terminem com a letra “n”.
ls * new * -> Listar todos os arquivos do diretório que tenham “new” no nome.
ls *. txt -> Listar todos os arquivos que começam com qualquer nome e terminam com “.txt”.
ls curriculo ?. txt -> Listar todos os arquivos que começam com o nome “curriculo”, tenham qualquer caractere no lugar do curinga, e terminem com “.txt”.
Antes de seguir em frente, use a sua criatividade e pratique um pouco o uso dos curingas, poderão fazer diferença mais a frente.
Próximos comandos, não vamos levar muito tempo neles, pois não são difíceis e como você já conhece os manuais pode se aprofundar mais neles depois. O primeiro deles é para criar diretórios, o mkdir. Nada de novo por aqui, a sintaxe do comando é o mesmo dos anteriores, comando + nome_do_diretório.
E o outro comando é para desfazer o anterior, o rm. Este comando pode remover tanto arquivos como diretórios, mas se você tentar remover um diretório retornará um erro, dizendo que é um diretório ou que tem coisas dentro. Para isso você precisa usar 2 flags a “-r” e “-f”, para remover recursivamente e forçar a remoção, respectivamente. Cuidado quando for remover algo, esse processo é irreversível. Caso o diretório esteja vazio, outra opção para a remoção é o comando rmdir.
Sim, não poderíamos esquecer destes. Também comandos muito simples, começando por cópias, é possível copiar arquivos e diretórios para outros lugares do sistema, basta usar a sintaxe cp arquivo_ou_caminho_origem arquivo_ou_caminho_destino. Caso seu objetivo seja copiar pastas inteiras você vai precisar da flag “-R” para copiar seu conteúdo recursivamente.
Já para mover um diretório, usamos o comando mv, do mesmo modo que o comando citado acima, de um diretório para outro, e a pasta/arquivo será movida com sucesso. Agora que vem a curiosidade: Sabia que se eu mover um arquivo de um diretório para ele mesmo e mudar o nome do arquivo destino eu acabo renomeando o arquivo inicial. Para facilitar vai ai um exemplo:
O arquivo que antes se chamava teste agora passa a se chamar teste1, simples assim.
E por hoje fico por aqui, pratique esses comandos, pois além de cobrados no exame são de grande ajuda, praticamente essenciais.
Até a próxima!
Então vamos lá, partiremos hoje do comando “ls”, que serve para listar o conteúdo dos diretórios. Um comando muito conhecido, super básico, mas junto com ele vem muitas flags e personalizações para otimizar suas listagens. Uma das flags mais usadas é a “-l” que lista o conteúdo de um modo mais detalhado, como quem criou, data de criação e outros detalhes.
Outra flag muito boa é a “-a” que lista todo o conteúdo do diretório, até mesmo os arquivos ocultos.
DICA: arquivos ocultos começam com um ponto final (.) no nome.
O uso do ls é bem parecido com os outros comandos vistos antes. Podemos utilizar tanto o comando sem um caminho específico, que listará a pasta de origem quanto passando um caminho que listará o conteúdo daquele caminho específico.
Podemos também usar os curingas que veremos a seguir:
Curingas - caracteres especiais que podem otimizar as buscas e achar arquivos semelhantes.
Segue abaixo uma lista dos curingas que podemos utilizar e alguns exemplos dos mesmos:
* -> Utilizado para um nome completo ou restante de um arquivo/diretório;
? -> Esse curinga pode substituir uma ou mais letras em determinada posição;
! -> Exclui da operação;
[padrão] -> É utilizado para referência a uma faixa de caracteres de um arquivo/diretório;
[a-z][0-9] -> Usado para trabalhar com caracteres de a até z seguidos de um caractere de 0 até 9;
[a,z][1,0] -> Usado para trabalhar com os caracteres a e z seguidos de um caractere 1 ou 0 naquela posição;
[a-z,1,0] -> Faz referência do intervalo de caracteres de a até z ou 1 ou 0 naquela posição;
[^abc] -> Faz referência a qualquer caracter exceto a, b e c .
{padrão} -> Expande e gera strings para pesquisa de padrões de um arquivo/diretório;
X {ab,01} -> Faz referência a sequência de caracteres Xab ou X01;
X {a-e,10} -> Faz referência a sequência de caracteres Xa Xb Xc Xd Xe X10.
Exemplos:
touch curriculo{1,2,3}.txt curriculo{4,5}.new -> Cria os arquivos curriculo1.txt, curriculo2.txt, curriculo3.txt, curriculo4.new e curriculo5.new.
ls -ld /* n -> Buscar no diretório raiz ”/ “ todos os diretórios que terminem com a letra “n”.
ls * new * -> Listar todos os arquivos do diretório que tenham “new” no nome.
ls *. txt -> Listar todos os arquivos que começam com qualquer nome e terminam com “.txt”.
ls curriculo ?. txt -> Listar todos os arquivos que começam com o nome “curriculo”, tenham qualquer caractere no lugar do curinga, e terminem com “.txt”.
Antes de seguir em frente, use a sua criatividade e pratique um pouco o uso dos curingas, poderão fazer diferença mais a frente.
Próximos comandos, não vamos levar muito tempo neles, pois não são difíceis e como você já conhece os manuais pode se aprofundar mais neles depois. O primeiro deles é para criar diretórios, o mkdir. Nada de novo por aqui, a sintaxe do comando é o mesmo dos anteriores, comando + nome_do_diretório.
E o outro comando é para desfazer o anterior, o rm. Este comando pode remover tanto arquivos como diretórios, mas se você tentar remover um diretório retornará um erro, dizendo que é um diretório ou que tem coisas dentro. Para isso você precisa usar 2 flags a “-r” e “-f”, para remover recursivamente e forçar a remoção, respectivamente. Cuidado quando for remover algo, esse processo é irreversível. Caso o diretório esteja vazio, outra opção para a remoção é o comando rmdir.
Copiando, colando, movendo e renomeando
Sim, não poderíamos esquecer destes. Também comandos muito simples, começando por cópias, é possível copiar arquivos e diretórios para outros lugares do sistema, basta usar a sintaxe cp arquivo_ou_caminho_origem arquivo_ou_caminho_destino. Caso seu objetivo seja copiar pastas inteiras você vai precisar da flag “-R” para copiar seu conteúdo recursivamente.
Já para mover um diretório, usamos o comando mv, do mesmo modo que o comando citado acima, de um diretório para outro, e a pasta/arquivo será movida com sucesso. Agora que vem a curiosidade: Sabia que se eu mover um arquivo de um diretório para ele mesmo e mudar o nome do arquivo destino eu acabo renomeando o arquivo inicial. Para facilitar vai ai um exemplo:
mv teste teste1
O arquivo que antes se chamava teste agora passa a se chamar teste1, simples assim.
E por hoje fico por aqui, pratique esses comandos, pois além de cobrados no exame são de grande ajuda, praticamente essenciais.
Até a próxima!
quarta-feira, maio 15, 2013 por Unknown
No comments
Fala pessoal!
Vamos seguir em frente com mais alguns comandos de terminal que vão nos ajudar na caminhada até a LPI|C.
No post passado, falamos um pouco sobre o comando history, vou começar por um comando que serve para encontrar comandos dentro do history. Esse comando se chama “fc”. Qualquer comando no ambiente texto pode ser usado sozinho ou com as famosas flags, propriedades específicas que você pode adicionar ao comando. Vamos a alguns exemplos:
fc -l - Listar todos os comandos guardados no history
fc -l 2 6 - Listar apenas os que estiverem entre o segundo e o sexto
fc -l -20 - Listar apenas os 20 ultimos comandos no history
fc -l h - Listar todos os comandos que começam com “h”
Para mais informações de uma lidinha no manual do comando digitando man fc.
Seguindo em frente, vamos passar para alguns comandos que sem dúvida serão necessárias a todos os dias. Comandos para desligar o sistema e deslogar usuários.
Existem 3 modos de deslogar um usuario do sistema, podemos usar o comando logout ou o exit.Também podemos usar a combinação de teclado CTRL + D.
Para desligar o sistema também existem 3 (muito mais que isso) comandos que desempenham essa função. Uma coisa que acontece bastante no linux é um comando ser desenvolvido para uma função e ter mais de uma utilidade, como por exemplo o comando cat que não foi feito específicamente para listar arquivos, e o comando mv para renomear, mas falaremos mais deles em outras oportunidades, vamos aos comandos então. Os comandos halt e poweroff sozinhos desligam o sistema. Temos também o comando shutdown que tem a função de desligar e reiniciar o sistema, mas para isso ele precisa de duas flags: a ação (desligar ou reiniciar) e o tempo (em minutos). Pode-se também deixar uma mensagem no terminal avisando que o sistema será desligado. Vamos a alguns exemplos:
shutdown -r 10 - Reiniciar o sistema em 10 minutos
shutdown -h now - Desligar o sistema agora
shutdown -h 5 O sistema será desligado em 10 minutos - Desliga o sistema em 5 minutos e manda a mensagem para todos os outros usuarios logados
shutdown -c - Cancela o desligamento
Já que falamos sobre reinício no meio desses comandos, saiba que tem também o comando reboot e o atalho de teclado CTRL + ALT + DEL que também reiniciam o sistema.
Pronto! Já conhecemos os comandos para desligar o computador quando necessário, estamos prontos (ou não) para dar nossos primeiros passos na exploração do sistema. Veremos agora alguns comandos do dia-a-dia, esses comandos serão muito usados, sem eles não será possível fazer muita coisa no sistema.
pwd - O comando pwd mostra o diretório corrente. Em qual pasta do sistema você está.
ls - O comando ls lista o conteúdo de diretórios, podendo ser mais de um ou nenhum, neste segundo caso a listagem será do diretório atual.
cd - o comando cd é utilizado para mudar de diretórios.
Vamos ver alguns exemplos para facilitar um pouco a vida dos que ainda podem não ter entendido:
ls - Listando diretório atual
ls /etc - Listando o diretório etc
ls -a - Listar todos os arquivos do diretório atual, inclusive os ocultos
cd ~ - Ir para o diretório home do usuario logado
cd / - Ir para a raiz do sistema, para o início da árvore de diretórios
cd /etc - Ir para o diretório etc dentro da raiz
cd .. - Subir um nível na árvore de diretório
cd - - Voltar ao diretório anterior
cd /usr/share/doc - Ir para o diretório doc, dentro de share, dentro de usr, dentro da raiz do sistema
cd ../../ - Subir 2 níveis na arvore de diretórios
Ficamos por aqui por hoje, no próximo texto veremos como e onde obter ajuda no próprio sistema. Até a próxima!
Vamos seguir em frente com mais alguns comandos de terminal que vão nos ajudar na caminhada até a LPI|C.
No post passado, falamos um pouco sobre o comando history, vou começar por um comando que serve para encontrar comandos dentro do history. Esse comando se chama “fc”. Qualquer comando no ambiente texto pode ser usado sozinho ou com as famosas flags, propriedades específicas que você pode adicionar ao comando. Vamos a alguns exemplos:
fc -l - Listar todos os comandos guardados no history
fc -l 2 6 - Listar apenas os que estiverem entre o segundo e o sexto
fc -l -20 - Listar apenas os 20 ultimos comandos no history
fc -l h - Listar todos os comandos que começam com “h”
Para mais informações de uma lidinha no manual do comando digitando man fc.
Seguindo em frente, vamos passar para alguns comandos que sem dúvida serão necessárias a todos os dias. Comandos para desligar o sistema e deslogar usuários.
Existem 3 modos de deslogar um usuario do sistema, podemos usar o comando logout ou o exit.Também podemos usar a combinação de teclado CTRL + D.
Para desligar o sistema também existem 3 (muito mais que isso) comandos que desempenham essa função. Uma coisa que acontece bastante no linux é um comando ser desenvolvido para uma função e ter mais de uma utilidade, como por exemplo o comando cat que não foi feito específicamente para listar arquivos, e o comando mv para renomear, mas falaremos mais deles em outras oportunidades, vamos aos comandos então. Os comandos halt e poweroff sozinhos desligam o sistema. Temos também o comando shutdown que tem a função de desligar e reiniciar o sistema, mas para isso ele precisa de duas flags: a ação (desligar ou reiniciar) e o tempo (em minutos). Pode-se também deixar uma mensagem no terminal avisando que o sistema será desligado. Vamos a alguns exemplos:
shutdown -r 10 - Reiniciar o sistema em 10 minutos
shutdown -h now - Desligar o sistema agora
shutdown -h 5 O sistema será desligado em 10 minutos - Desliga o sistema em 5 minutos e manda a mensagem para todos os outros usuarios logados
shutdown -c - Cancela o desligamento
Já que falamos sobre reinício no meio desses comandos, saiba que tem também o comando reboot e o atalho de teclado CTRL + ALT + DEL que também reiniciam o sistema.
Pronto! Já conhecemos os comandos para desligar o computador quando necessário, estamos prontos (ou não) para dar nossos primeiros passos na exploração do sistema. Veremos agora alguns comandos do dia-a-dia, esses comandos serão muito usados, sem eles não será possível fazer muita coisa no sistema.
pwd - O comando pwd mostra o diretório corrente. Em qual pasta do sistema você está.
ls - O comando ls lista o conteúdo de diretórios, podendo ser mais de um ou nenhum, neste segundo caso a listagem será do diretório atual.
cd - o comando cd é utilizado para mudar de diretórios.
Vamos ver alguns exemplos para facilitar um pouco a vida dos que ainda podem não ter entendido:
ls - Listando diretório atual
ls /etc - Listando o diretório etc
ls -a - Listar todos os arquivos do diretório atual, inclusive os ocultos
cd ~ - Ir para o diretório home do usuario logado
cd / - Ir para a raiz do sistema, para o início da árvore de diretórios
cd /etc - Ir para o diretório etc dentro da raiz
cd .. - Subir um nível na árvore de diretório
cd - - Voltar ao diretório anterior
cd /usr/share/doc - Ir para o diretório doc, dentro de share, dentro de usr, dentro da raiz do sistema
cd ../../ - Subir 2 níveis na arvore de diretórios
Ficamos por aqui por hoje, no próximo texto veremos como e onde obter ajuda no próprio sistema. Até a próxima!
quarta-feira, maio 15, 2013 por Unknown
No comments
Seguindo nosso guia para a LPI, vamos ver algumas coisas que vão aumentar sua produtividade e podem ser cobradas na prova. Vamos começar com atalhos. O terminal tem muitos atalhos de teclado interessantes, vamos a eles, desde o básico até os mais complexos.
Back Space - Apagar caractere a esquerda do cursor
Delete - Apagar um caractere a direita do cursor
Home - Ir para o começo da linha de comando
End - Ir para o final da linha de comando
CTRL + A - Mover o cursor para o inicio da linha de comandos
CTRL + E - Mover o cursor para o fim da linha de comando
CTRL + U - Apagar o que estiver a esquerda do cursor
CTRL + Y - O conteúdo do comando anterior, ou qualquer outro texto pode ser colado com este comando, similar ao CTRL + V dos editores de texto
CTRL + K - Apaga o que estiver a direita do cursor, pode ser colado com o comando acima também
CTRL + L - Atalho do comando clear, limpa a tela
CTRL + C - Abrir a linha de comando na posição atual do cursor, usado para encerrar programas que estejam usando o terminal
CTRL + D - Atalho do comando exit, sai da shell
CTRL + R - Localizar comando anterior, após o comando digitar o que deseja procurar
!! - Executar o ultimo comando
! + NÚMERO - Executar um comando específico do histórico
Agora que já sabemos alguns atalhos importantes vamos voltar a atenção para os tópicos relacionados a ajuda. O sistema operacional GNU/Linux tem uma vasta biblioteca de documentação e tópicos de ajuda para auxiliar o usuario. Caso você precise de ajuda por não saber usar um comando, ou desconhecer um comando que realize a função que você quer, primeiro de tudo pergunte ao Linux se ele não sabe.
Existem vários métodos para encontrar a resposta para sua dúvida, o primeiro deles são os How-to’s.Os How-to’s, conhecidos também como cookbook’s são documentos de ajuda, comandos e textos explicativos para auxiliar o usuario em algumas funções, como por exemplo, configurar um firewall. Estes documentos podem ser encontrados em /usr/share/doc.
Caso isso tudo não resolva o problema vamos para a segunda sugestão. Os manuais dos comandos. Pode-se acessar um manual de como usar um certo comando utilizando o comando man nome_do_comando, por exemplo man ls.
Continua a dúvida? Vamos mais a fundo! Temos também as documentações dos comandos, que conta com tudo o que já vimos até agora e mais um pouco. Para termos acesso a essas informações vamos precisar de alguns comandos para localizar a informação correta. Veremos esses comandos a seguir.
O primeiro deles é o comando help, que tras uma versão resumida do comando man, mostrando normalmente como usar o comando e quais flags o comando aceita. Esse comando só irá funcionar com comandos internos do sistema, comandos nativos da distribuição. Exemplo: help type
Para comandos externos usamos o comando e setamos a flag --help, que faz a mesma função do comando acima.
Mas e se por acaso eu não sei o nome do comando? Simples, use o comando apropos e informe para ele o que você deseja fazer em uma palavra chave, por exemplo, se eu estivesse precisando de um editor de texto em ambiente texto e não soubesse o nome do comando eu poderia usar o seguinte comando: apropos editor. Outra possibilidade para conseguir chegar no mesmo resultado é usando a flag -k do comando man.
O comando apropos busca por paginas de manuais e descrições de maneira genérica, caso queremos algo mais específico utilizamos o comando whatis, como por exemplo, whatis vim. Poderia resolver isso com o comando man, utilizando a flag -f.
Para que esses comandos todos funcionem, primeiro precisamos rodar um outro comando para atualizar o banco de dados que os comandos acessam para encontrar as informações. Se estiver em uma distro Debian use o comando catman, e se estiver em uma distro CentOS utilize o makewhatis -v.
Voltando um pouco para o comando man, ele tem mais algumas coisinhas que temos que saber, essas coisinhas são os níveis. O comando man é subdividido em 9 níveis. É possível que um certo comando tenha mais de um manual, que, dependendo das permissões do usuario ele mostra um ou outro. Para forçar a visualização do manual basta usar a sintaxe man nível comando, por exemplo, man 5 passwd. Os manuais são categorizados da seguinte forma:
man 1 - Programas executáveis e comandos da shell
man 2 - Funções providas pelo Kernel
man 3 - Funções como bibliotecas do sistema
man 4 - Arquivos de dispositivos
man 5 - Arquivos de configuração
man 6 - Jogos
man 7 - Pacotes variados
man 8 - Comandos de administração do sistema (root)
man 9 - Rotinas do Kernel
Seguindo com nossos comandos, vamos ver outro comando. Este para quando já sabemos o nome do comando e só queremos dar uma olhadinha rápida no que ele faz. Para isso usamos o comando info, seguindo o exemplo, info vim.
Saindo um pouco da nossa busca por ajuda, outra coisa que podemos buscar também é a localização do binário (executável) de um certo comando, utilizando o comando whereis, por exemplo, whereis cat. Outro comando que desempenha essa função é o comando which, que tem a mesma sintaxe do comando whereis, a diferença é que o which retorna apenas o binário, e o whereis retorna além do binário, os manuais, comandos de configuração entre outros.
E ficamos por aqui!
Um passo mais perto do nosso objetivo!
Até a próxima pessoal!
Back Space - Apagar caractere a esquerda do cursor
Delete - Apagar um caractere a direita do cursor
Home - Ir para o começo da linha de comando
End - Ir para o final da linha de comando
CTRL + A - Mover o cursor para o inicio da linha de comandos
CTRL + E - Mover o cursor para o fim da linha de comando
CTRL + U - Apagar o que estiver a esquerda do cursor
CTRL + Y - O conteúdo do comando anterior, ou qualquer outro texto pode ser colado com este comando, similar ao CTRL + V dos editores de texto
CTRL + K - Apaga o que estiver a direita do cursor, pode ser colado com o comando acima também
CTRL + L - Atalho do comando clear, limpa a tela
CTRL + C - Abrir a linha de comando na posição atual do cursor, usado para encerrar programas que estejam usando o terminal
CTRL + D - Atalho do comando exit, sai da shell
CTRL + R - Localizar comando anterior, após o comando digitar o que deseja procurar
!! - Executar o ultimo comando
! + NÚMERO - Executar um comando específico do histórico
Agora que já sabemos alguns atalhos importantes vamos voltar a atenção para os tópicos relacionados a ajuda. O sistema operacional GNU/Linux tem uma vasta biblioteca de documentação e tópicos de ajuda para auxiliar o usuario. Caso você precise de ajuda por não saber usar um comando, ou desconhecer um comando que realize a função que você quer, primeiro de tudo pergunte ao Linux se ele não sabe.
Existem vários métodos para encontrar a resposta para sua dúvida, o primeiro deles são os How-to’s.Os How-to’s, conhecidos também como cookbook’s são documentos de ajuda, comandos e textos explicativos para auxiliar o usuario em algumas funções, como por exemplo, configurar um firewall. Estes documentos podem ser encontrados em /usr/share/doc.
Caso isso tudo não resolva o problema vamos para a segunda sugestão. Os manuais dos comandos. Pode-se acessar um manual de como usar um certo comando utilizando o comando man nome_do_comando, por exemplo man ls.
Continua a dúvida? Vamos mais a fundo! Temos também as documentações dos comandos, que conta com tudo o que já vimos até agora e mais um pouco. Para termos acesso a essas informações vamos precisar de alguns comandos para localizar a informação correta. Veremos esses comandos a seguir.
O primeiro deles é o comando help, que tras uma versão resumida do comando man, mostrando normalmente como usar o comando e quais flags o comando aceita. Esse comando só irá funcionar com comandos internos do sistema, comandos nativos da distribuição. Exemplo: help type
Para comandos externos usamos o comando e setamos a flag --help, que faz a mesma função do comando acima.
Mas e se por acaso eu não sei o nome do comando? Simples, use o comando apropos e informe para ele o que você deseja fazer em uma palavra chave, por exemplo, se eu estivesse precisando de um editor de texto em ambiente texto e não soubesse o nome do comando eu poderia usar o seguinte comando: apropos editor. Outra possibilidade para conseguir chegar no mesmo resultado é usando a flag -k do comando man.
O comando apropos busca por paginas de manuais e descrições de maneira genérica, caso queremos algo mais específico utilizamos o comando whatis, como por exemplo, whatis vim. Poderia resolver isso com o comando man, utilizando a flag -f.
Para que esses comandos todos funcionem, primeiro precisamos rodar um outro comando para atualizar o banco de dados que os comandos acessam para encontrar as informações. Se estiver em uma distro Debian use o comando catman, e se estiver em uma distro CentOS utilize o makewhatis -v.
Voltando um pouco para o comando man, ele tem mais algumas coisinhas que temos que saber, essas coisinhas são os níveis. O comando man é subdividido em 9 níveis. É possível que um certo comando tenha mais de um manual, que, dependendo das permissões do usuario ele mostra um ou outro. Para forçar a visualização do manual basta usar a sintaxe man nível comando, por exemplo, man 5 passwd. Os manuais são categorizados da seguinte forma:
man 1 - Programas executáveis e comandos da shell
man 2 - Funções providas pelo Kernel
man 3 - Funções como bibliotecas do sistema
man 4 - Arquivos de dispositivos
man 5 - Arquivos de configuração
man 6 - Jogos
man 7 - Pacotes variados
man 8 - Comandos de administração do sistema (root)
man 9 - Rotinas do Kernel
Seguindo com nossos comandos, vamos ver outro comando. Este para quando já sabemos o nome do comando e só queremos dar uma olhadinha rápida no que ele faz. Para isso usamos o comando info, seguindo o exemplo, info vim.
Saindo um pouco da nossa busca por ajuda, outra coisa que podemos buscar também é a localização do binário (executável) de um certo comando, utilizando o comando whereis, por exemplo, whereis cat. Outro comando que desempenha essa função é o comando which, que tem a mesma sintaxe do comando whereis, a diferença é que o which retorna apenas o binário, e o whereis retorna além do binário, os manuais, comandos de configuração entre outros.
E ficamos por aqui!
Um passo mais perto do nosso objetivo!
Até a próxima pessoal!
quarta-feira, maio 15, 2013 por Unknown
No comments
E vamos para mais um post do guia para a LPI, nosso foco hoje será a interface de texto, mais conhecida como shell.
Linux sem shell é a mesma coisa que não ter nada. Grande parte do arsenal do linux está no terminal, por ele que vamos fazer a maioria das nossas brincadeiras pelo sistema.
As instruções, ou comandos que vamos digitar na shell serão interpretadas diretamente pelo kernel. Não precisam de todo o ambiente do sistema para processar e retornar suas funções, por isso que dizem que o terminal funciona melhor que o próprio sistema.
Primeiramente, saiba que existem vários tipos de shell, mas a que vamos nos focar é na padrão do GNU/Linux, o Bash.
Antes de sairmos digitando comandos como malucos precisamos saber mais alguns detalhes. Existem 2 tipos de usuarios, os usuarios normais do sistema e o super usuário, conhecido no mundo linux comoroot. Normalmente, por limitação do sistema ou por boas práticas, utiliza-se sempre o usuário normal no dia-a-dia, e em casos que o usuario normal não consiga resolver que apelamos para o root. Não usamos o root para tudo por que? Simples, o super usuario tem plenos poderes sobre tudo e todos. Imagine o que um comando errado poderia causar se fosse usado apenas o root.
Se você prestar a atenção na sua shell (se for a bash) tera algo assim:
ou
Com essa linha que sempre aparece no terminal (novamente, nesse formato é no Bash) podemos conseguir algumas informações básicas sobre nossa maquina. Como o nome do usuario corrente, o nome da maquina e um sinal, que pode ser # (tralha, jogo da velha, hashtag ou sustenido, dependendo da sua idade) ou $ (cifrão). O # quer dizer que estamos falando de um super usuario, e o $ é um usuario normal. Para usar a shell não tem grandes misterios, apenas digite o comando, suas opções de personalização e de Enter para confirmar. Simples! Agora vamos a algumas funcionalidades:
History - Os comandos de terminal são armazenados num historico temporário. O linux tem um arquivo que guarda os ultimos comandos digitados no terminal. Para visualiza-los basta digitar o comando “history”. Outro modo de acessar o historico de comandos é com as setas do teclado para cima e para baixo.
Scroll do terminal - Precisa voltar para ver a saída de algum comando que foi digitado antes mas já saiu da tela? E a rolagem do mouse não está funcionando no ambiente texto? Não tem problema! Podemos subir e descer as paginas no terminal com os atalhos Shift + Page Up e Shift + Page Down, respectivamente.
Mudar entre terminais virtuais - Nada impede que se use vários terminais ao mesmo tempo, como já comentei por aqui. Para alternarmos entre um terminal e outro basta usar a combinação de teclas Alt + F1 até F7, podendo variar para mais ou para menos, dependendo da distribuição.
Mudando nível de usuário - Caso precise (ou queira só para ver como é) usar alguma coisa que somente o super usuario tenha permissão, você pode elevar seus privilégios com o comando “su”. Logo depois do comando você deverá fornecer a senha do root. Caso consiga autenticar verá que o símbolo da shell muda para #, sinalizando que está com um super usuario. Também pode-se utilizar o comando su para se logar como outro usuario, mesmo não sendo root. Caso seja root o comando não pedirá a senha ao tentar se logar a um usuario normal. Para fazer isso usamos a sintaxe “su -nomedousuario”. Utilizamos o sinal de menos (-) para carregar as variáveis locais do usuario (falaremos disso mais para frente), e o nome do usuario a qual queremos nos logar.
Quem sou eu? - Temos aqui um comando muito útil, principalmente para um administrador que precisa sempre verificar com que tipo de permissões está. O comando “whoami” mostra com qual usuario você está no momento. Já o comando “who am i” (perceba que este com espaços) mostra com qual usuario eu me loguei nessa sessão.
Configurando o teclado - Uma das coisas que mais atrapalha no ambiente texto é a configuração de teclado. Nem sempre o teclado vai estar corretamente configurado. Para abrir o configurador de teclado utilize o comando “dpkg-reconfigure keyboard configuration”. Uma interface semi-gráfica se abrirá, escolha o layout de teclado que mais lhe agradar e logo depois de sair deste comando precisa-se reiniciar o serviço para que as alterações tenham efeito. Para isso temos o comando “/etc/init.d/keyboard-setup restart”. Todos esses comandos e procedimentos de teclado são exclusivos para distros baseadas no debian. Para as outras distros, usamos o comando “system-config-keyboard” para alterar o layout.
Mouse no terminal - Se mesmo depois de tudo isso você ainda precisa de mouse não se preocupe, tem como! Para isso, você precisa baixar e instalar o pacote gpm. Você pode usar o comando “apt-get install gpm” em distros Debian e o comando “yum install gpm” nas baseadas em Cent OS (falaremos de instalações mais adiante).
E chegamos ao fim de mais um post da série. Agora cada vez mais prático e mais aprofundado. Prepare-se ;)
Linux sem shell é a mesma coisa que não ter nada. Grande parte do arsenal do linux está no terminal, por ele que vamos fazer a maioria das nossas brincadeiras pelo sistema.
As instruções, ou comandos que vamos digitar na shell serão interpretadas diretamente pelo kernel. Não precisam de todo o ambiente do sistema para processar e retornar suas funções, por isso que dizem que o terminal funciona melhor que o próprio sistema.
Primeiramente, saiba que existem vários tipos de shell, mas a que vamos nos focar é na padrão do GNU/Linux, o Bash.
Antes de sairmos digitando comandos como malucos precisamos saber mais alguns detalhes. Existem 2 tipos de usuarios, os usuarios normais do sistema e o super usuário, conhecido no mundo linux comoroot. Normalmente, por limitação do sistema ou por boas práticas, utiliza-se sempre o usuário normal no dia-a-dia, e em casos que o usuario normal não consiga resolver que apelamos para o root. Não usamos o root para tudo por que? Simples, o super usuario tem plenos poderes sobre tudo e todos. Imagine o que um comando errado poderia causar se fosse usado apenas o root.
Se você prestar a atenção na sua shell (se for a bash) tera algo assim:
seuusuario@suamaquina: ~#
ou
seuusuario@suamaquina: ~$
Com essa linha que sempre aparece no terminal (novamente, nesse formato é no Bash) podemos conseguir algumas informações básicas sobre nossa maquina. Como o nome do usuario corrente, o nome da maquina e um sinal, que pode ser # (tralha, jogo da velha, hashtag ou sustenido, dependendo da sua idade) ou $ (cifrão). O # quer dizer que estamos falando de um super usuario, e o $ é um usuario normal. Para usar a shell não tem grandes misterios, apenas digite o comando, suas opções de personalização e de Enter para confirmar. Simples! Agora vamos a algumas funcionalidades:
History - Os comandos de terminal são armazenados num historico temporário. O linux tem um arquivo que guarda os ultimos comandos digitados no terminal. Para visualiza-los basta digitar o comando “history”. Outro modo de acessar o historico de comandos é com as setas do teclado para cima e para baixo.
Scroll do terminal - Precisa voltar para ver a saída de algum comando que foi digitado antes mas já saiu da tela? E a rolagem do mouse não está funcionando no ambiente texto? Não tem problema! Podemos subir e descer as paginas no terminal com os atalhos Shift + Page Up e Shift + Page Down, respectivamente.
Mudar entre terminais virtuais - Nada impede que se use vários terminais ao mesmo tempo, como já comentei por aqui. Para alternarmos entre um terminal e outro basta usar a combinação de teclas Alt + F1 até F7, podendo variar para mais ou para menos, dependendo da distribuição.
Mudando nível de usuário - Caso precise (ou queira só para ver como é) usar alguma coisa que somente o super usuario tenha permissão, você pode elevar seus privilégios com o comando “su”. Logo depois do comando você deverá fornecer a senha do root. Caso consiga autenticar verá que o símbolo da shell muda para #, sinalizando que está com um super usuario. Também pode-se utilizar o comando su para se logar como outro usuario, mesmo não sendo root. Caso seja root o comando não pedirá a senha ao tentar se logar a um usuario normal. Para fazer isso usamos a sintaxe “su -nomedousuario”. Utilizamos o sinal de menos (-) para carregar as variáveis locais do usuario (falaremos disso mais para frente), e o nome do usuario a qual queremos nos logar.
Quem sou eu? - Temos aqui um comando muito útil, principalmente para um administrador que precisa sempre verificar com que tipo de permissões está. O comando “whoami” mostra com qual usuario você está no momento. Já o comando “who am i” (perceba que este com espaços) mostra com qual usuario eu me loguei nessa sessão.
Configurando o teclado - Uma das coisas que mais atrapalha no ambiente texto é a configuração de teclado. Nem sempre o teclado vai estar corretamente configurado. Para abrir o configurador de teclado utilize o comando “dpkg-reconfigure keyboard configuration”. Uma interface semi-gráfica se abrirá, escolha o layout de teclado que mais lhe agradar e logo depois de sair deste comando precisa-se reiniciar o serviço para que as alterações tenham efeito. Para isso temos o comando “/etc/init.d/keyboard-setup restart”. Todos esses comandos e procedimentos de teclado são exclusivos para distros baseadas no debian. Para as outras distros, usamos o comando “system-config-keyboard” para alterar o layout.
Mouse no terminal - Se mesmo depois de tudo isso você ainda precisa de mouse não se preocupe, tem como! Para isso, você precisa baixar e instalar o pacote gpm. Você pode usar o comando “apt-get install gpm” em distros Debian e o comando “yum install gpm” nas baseadas em Cent OS (falaremos de instalações mais adiante).
E chegamos ao fim de mais um post da série. Agora cada vez mais prático e mais aprofundado. Prepare-se ;)
quarta-feira, maio 15, 2013 por Unknown
No comments
Sempre quando se fala de linux se vem o argumento “software livre”, mas você sabia que por trás disso existe uma instituição e algumas normas reguladoras para essa liberdade?
Sim, existe! Richard Stallman fundou a “FSF - Free Software Foundation” que criou e mantém a licença “GNU GPL - GNU General Public License”. Acredito que se você está estudando linux já deve ter ouvido algo sobre esses nomes e siglas, se não ouviu, ouvirá muito por ai. :)
Então vamos lá, essas normas são divididas em 4, veja-as abaixo:
0- Liberdade para rodar o programa para quaisquer propósitos;
1- Liberdade para estudar como o programa trabalha e adaptá-lo às suas necessidades. Ter acesso ao código fonte é essencial para isso;
2- Liberdade de redistribuir cópias de forma que você possa ajudar outras pessoas;
3- liberdade para melhorar o programa e disponibilizar as melhorias para o público, de forma que toda a comunidade possa se beneficiar. Ter acesso ao código fonte é essencial também para isso.
Para mais informações sobre as GPL’s visite os sites dos mantenedores.
Outra coisa muito importante. Vamos ver, de um jeito bem simples, como funciona um linux de baixo do capô. Veja na imagem abaixo como é dividido e organizado o sistema linux e suas variantes.
Começando de baixo para cima, temos a primeira camada que é o Hardware. Acredito que não preciso explicar que o hardware são as todas aquelas plaquinhas, chips e circuitos de dentro da sua máquina.
Subindo um pouco mais temos os drivers de dispositivos. Se você vem do Windows sem dúvida que já teve problemas com esses carinhas. A função dos drivers é realizar a comunicação entre o Hardware e o Kernel (já chegaremos lá), são basicamente instruções para que o sistema consiga entender e operar alguma coisa que você espetou na sua máquina, como se fosse um pequeno manual para o sistema saber como aquilo funciona e como e quando ele deve se comunicar com a peça em questão.
Mais um passo a cima, temos o famoso Kernel. O Kernel é o núcleo do sistema. É o responsável por interpretar todas requisições feitas a partir de uma aplicação, e com essas requisições feitas interagir com o hardware, desempenhando alguma função em todas as operações que rolam num computador, por menor que sejam.
Mas só o kernel não é o suficiente para termos um sistema operacional. Ainda precisamos de alguma artimanha para o usuário poder interagir com esse tal de kernel. Para isso temos o Sistema Operacional de fato, e dentro dele algumas coisas bem interessantes que vamos ver a seguir. Essa camada tem como função auxiliar e abrigar todos os aplicativos das camadas superiores. Segundo Linus Torvalds essa “layer” não deve ser notada pelo usuário final. Algumas coisas que temos que levar em conta quando falamos de sistema operacional: tty’s, DM’s e Desktop Environment’s. Neste ponto já sabemos (ou deveríamos saber) que o linux é um sistema multi usuario. Podemos ter vários usuarios conectados no mesmo servidor, cada um desempenhando suas funções independentemente do que os outros estão fazendo. Para isso usamos os tty’s. Cada usuario que se conecta abrirá uma sessão. Esse seção é conhecida como Terminal Virtual (tty). As ”tty’s” interpretam os comandos dados por um humano e convertem os mesmos para uma linguagem que a máquina entenda.
Próximo tópico dentro do sistema que deve ser levado em conta é a DM. Não, não é as Direct Messages do Twitter, DM quer dizer Display Manager. A função do DM é gerenciar os logins no sistema e escolher qual ambiente gráfico deve ser executado para cada usuario. Os mais conhecidos são o KDM (KDE Display Manager), GDM (GNOME Display Manager) e o XDM (X Display Manager).
Seguindo a linha de raciocínio, vamos para o último ponto relevante de hoje. Vamos falar de Desktop Environment, ou em português, Ambiente de Trabalho. Esse é a carinha bonita que o usuario final vai ver. É onde todos os programas e aplicativos que necessitam de interface gráfica são abrigados.
Estamos quase chegando no final da nossa teoria. Você pode lembrar da época de escola onde dizia “mas para que eu ou usar isso tudo?” e deve ter feito essa pergunta em quanto lia todo esse texto. Eu lhes digo porque saber isso, para a prova. Esses conceitos podem cair no seu teste então fique ligado. Outro motivo é que entendendo como a coisa funciona fica mais fácil de assimilar os próximos conteúdos.
Eu fico por aqui hoje. Prometo que os próximos posts terão algo de prática.
Sim, existe! Richard Stallman fundou a “FSF - Free Software Foundation” que criou e mantém a licença “GNU GPL - GNU General Public License”. Acredito que se você está estudando linux já deve ter ouvido algo sobre esses nomes e siglas, se não ouviu, ouvirá muito por ai. :)
Então vamos lá, essas normas são divididas em 4, veja-as abaixo:
0- Liberdade para rodar o programa para quaisquer propósitos;
1- Liberdade para estudar como o programa trabalha e adaptá-lo às suas necessidades. Ter acesso ao código fonte é essencial para isso;
2- Liberdade de redistribuir cópias de forma que você possa ajudar outras pessoas;
3- liberdade para melhorar o programa e disponibilizar as melhorias para o público, de forma que toda a comunidade possa se beneficiar. Ter acesso ao código fonte é essencial também para isso.
Para mais informações sobre as GPL’s visite os sites dos mantenedores.
Outra coisa muito importante. Vamos ver, de um jeito bem simples, como funciona um linux de baixo do capô. Veja na imagem abaixo como é dividido e organizado o sistema linux e suas variantes.

Começando de baixo para cima, temos a primeira camada que é o Hardware. Acredito que não preciso explicar que o hardware são as todas aquelas plaquinhas, chips e circuitos de dentro da sua máquina.
Subindo um pouco mais temos os drivers de dispositivos. Se você vem do Windows sem dúvida que já teve problemas com esses carinhas. A função dos drivers é realizar a comunicação entre o Hardware e o Kernel (já chegaremos lá), são basicamente instruções para que o sistema consiga entender e operar alguma coisa que você espetou na sua máquina, como se fosse um pequeno manual para o sistema saber como aquilo funciona e como e quando ele deve se comunicar com a peça em questão.
Mais um passo a cima, temos o famoso Kernel. O Kernel é o núcleo do sistema. É o responsável por interpretar todas requisições feitas a partir de uma aplicação, e com essas requisições feitas interagir com o hardware, desempenhando alguma função em todas as operações que rolam num computador, por menor que sejam.
Mas só o kernel não é o suficiente para termos um sistema operacional. Ainda precisamos de alguma artimanha para o usuário poder interagir com esse tal de kernel. Para isso temos o Sistema Operacional de fato, e dentro dele algumas coisas bem interessantes que vamos ver a seguir. Essa camada tem como função auxiliar e abrigar todos os aplicativos das camadas superiores. Segundo Linus Torvalds essa “layer” não deve ser notada pelo usuário final. Algumas coisas que temos que levar em conta quando falamos de sistema operacional: tty’s, DM’s e Desktop Environment’s. Neste ponto já sabemos (ou deveríamos saber) que o linux é um sistema multi usuario. Podemos ter vários usuarios conectados no mesmo servidor, cada um desempenhando suas funções independentemente do que os outros estão fazendo. Para isso usamos os tty’s. Cada usuario que se conecta abrirá uma sessão. Esse seção é conhecida como Terminal Virtual (tty). As ”tty’s” interpretam os comandos dados por um humano e convertem os mesmos para uma linguagem que a máquina entenda.
Próximo tópico dentro do sistema que deve ser levado em conta é a DM. Não, não é as Direct Messages do Twitter, DM quer dizer Display Manager. A função do DM é gerenciar os logins no sistema e escolher qual ambiente gráfico deve ser executado para cada usuario. Os mais conhecidos são o KDM (KDE Display Manager), GDM (GNOME Display Manager) e o XDM (X Display Manager).
Seguindo a linha de raciocínio, vamos para o último ponto relevante de hoje. Vamos falar de Desktop Environment, ou em português, Ambiente de Trabalho. Esse é a carinha bonita que o usuario final vai ver. É onde todos os programas e aplicativos que necessitam de interface gráfica são abrigados.
Estamos quase chegando no final da nossa teoria. Você pode lembrar da época de escola onde dizia “mas para que eu ou usar isso tudo?” e deve ter feito essa pergunta em quanto lia todo esse texto. Eu lhes digo porque saber isso, para a prova. Esses conceitos podem cair no seu teste então fique ligado. Outro motivo é que entendendo como a coisa funciona fica mais fácil de assimilar os próximos conteúdos.
Eu fico por aqui hoje. Prometo que os próximos posts terão algo de prática.
terça-feira, 14 de maio de 2013
terça-feira, maio 14, 2013 por Unknown
No comments
Olá pessoal! Estamos de volta! \o/
Voltamos, e agora com um domínio descente e com uma média de pageviews incrível. Aos poucos será introduzido algumas novidades para melhorar mais e mais nosso conteúdo. Irei dar foco, num primeiro momento a um guia de estudos super detalhado para a certificação LPI|C. Resolvi desenvolver esse guia por que estou me preparando para esta, minha primeira certificação.
Pretendo fazer as provas 101, 102, 201 e 202, constituindo assim os 2 níveis da LPI. Pretendo em um futuro próximo fazer o teste 303, LPI nível 3, com especialização em segurança. Então, este guia vai servir de estudo e prática para me preparar para os testes e um bom auxílio para quem está querendo prestar este teste também.
Este post servirá de índice para o guia que está por vir. Mas antes vamos a uma breve descrição de o que é a LPI:
“O LPI é reconhecido como a primeira organização do mundo a defender e ajudar o uso profissional do Linux, Open Source e Free Software através de certificação profissional. Os exames de certificação do LPI são aplicados em milhares de lugares no mundo, em vários idiomas e com o apoio de empresários, fabricantes e instrutores.”
Fonte: http://www.lpibrasil.com.br
Já sabemos o que é de fato a LPI, outra coisa importante que precisamos saber é quais são os conteúdos que são cobrados nos testes. Então vamos a eles:
101
102
Ufa! Tudo isso que deve-se saber para prestar as provas para a LPI 1, sim, apenas a primeira certificação da LPI. Mais adiante falaremos da LPI 2, primeiro vamos estudar para a 1 para depois se preocupar com a 2.
Nos próximos posts confira cada um desses tópicos, uma explicação basica, algumas dicas e algumas atividades propostas para se dar bem nas provas.
Por em quanto ficamos por aqui. Aguarde que logo logo continua. :)
Voltamos, e agora com um domínio descente e com uma média de pageviews incrível. Aos poucos será introduzido algumas novidades para melhorar mais e mais nosso conteúdo. Irei dar foco, num primeiro momento a um guia de estudos super detalhado para a certificação LPI|C. Resolvi desenvolver esse guia por que estou me preparando para esta, minha primeira certificação.
Pretendo fazer as provas 101, 102, 201 e 202, constituindo assim os 2 níveis da LPI. Pretendo em um futuro próximo fazer o teste 303, LPI nível 3, com especialização em segurança. Então, este guia vai servir de estudo e prática para me preparar para os testes e um bom auxílio para quem está querendo prestar este teste também.
Este post servirá de índice para o guia que está por vir. Mas antes vamos a uma breve descrição de o que é a LPI:
“O LPI é reconhecido como a primeira organização do mundo a defender e ajudar o uso profissional do Linux, Open Source e Free Software através de certificação profissional. Os exames de certificação do LPI são aplicados em milhares de lugares no mundo, em vários idiomas e com o apoio de empresários, fabricantes e instrutores.”
Fonte: http://www.lpibrasil.com.br
Já sabemos o que é de fato a LPI, outra coisa importante que precisamos saber é quais são os conteúdos que são cobrados nos testes. Então vamos a eles:
101
- Determinar e configurar preferências de hardware
- Conhecer e manipular o sistema de boot
- Manipular o sistema de Reboot, Runlevels e Shutdown
- Conhecer e manipular as partições do sistema
- Instalar e manipular um gerenciador de boot (GRUB e GRUB 2)
- Conhecer e manipular compartilhamentos
- Instalação de pacotes em ambiente Debian e Red Hat (dpkg e rpm)
- Utilizar os gerenciadores de pacotes em ambiente Debuan e Red hat (apt, aptitude e yum)
- Conhecer e manipular a linha de comando (isso deveria estar lá em cima xD)
- Processar textos e usar filtros no terminal
- Gerenciar arquivos pelo ambiente texto
- Manipular redirecionamentos
- Criar, monitorar e finalizar processos
- Modificar prioridades de execução de processos
- Realizar buscas em ambiente texto
- Realizar manipulações básicas com o editor de texto VI
- Manipular e manter a integridade de sistemas de arquivos
- Controlar a montagem de sistemas de arquivos
- Criar quotas de disco
- Manipular permissões de arquivos
- Conhecer e manipular Hard Links e Symbolic Links
102
- Customizar o ambiente da shell
- Criar scripts simples
- Gerenciamento básico de bancos SQL
- Instalar e configurar o X11
- Instalar e configurar um gerenciador de janelas (kdm, gdm e xdm)
- Configurações de acessibilidade
- Gerenciar usuarios e grupos
- Automatizar funções administrativas (CRON)
- Localização e internacionalização
- Gerenciando sistema de data (NTP)
- Gerenciando logs
- Agentes de transfêrencia de emails
- Gerenciando impressões e impressoras
- Fundamentos de protocolos de internet (TCP/IP)
- Configuração básica de redes
- Resolução de problemas básico em redes
- Configurando cliente DNS
- Gerenciando tarefas administrativas de segurança
- Conhecer e manipular criptografia
Ufa! Tudo isso que deve-se saber para prestar as provas para a LPI 1, sim, apenas a primeira certificação da LPI. Mais adiante falaremos da LPI 2, primeiro vamos estudar para a 1 para depois se preocupar com a 2.
Nos próximos posts confira cada um desses tópicos, uma explicação basica, algumas dicas e algumas atividades propostas para se dar bem nas provas.
Por em quanto ficamos por aqui. Aguarde que logo logo continua. :)
terça-feira, maio 14, 2013 por Unknown
No comments
Então, vamos lá, para um assunto que chama muito a atenção na nossa área, a certificação.
Mas antes de mais nada, o que é uma certificação? Perguntando para nossa amiga wikipedia conseguimos isso:
“Certificação é a declaração formal de “ser verdade”, emitida por quem tenha credibilidade e tenha autoridade legal ou moral. Ela deve ser formal, isto é, deve ser feita seguindo um ritual e ser corporificada em um documento. A certificação deve declarar ou dar a entender, explicitamente, que determinada coisa, status ou evento é verdadeiro. Deve também ser emitida por alguém, ou alguma instituição, que tenha fé pública, isto é, que tenha credibilidade perante a sociedade. Essa credibilidade pode ser instituída por lei ou decorrente de aceitação social.”
Traduzindo isso para nosso ramo, basicamente, um profissional certificado é aquele profissional que se propôs a um teste em alguma instituição de grande renome e esta instituição o declara como um profissional altamente capacitado para aquela devida função mediante aprovação do mesmo.
Hoje em dia fala-se muito em certificação. Alguns chegam ir mais além, dizendo que certificação deve substituir uma graduação normal como Ciências da Computação, Sistemas da Informação, entre outros. É usado como argumento, para reforçar esse ponto, que as certificações vão direto ao ponto, diferente das faculdades que preparam o profissional para todas as possíveis situações. Outro aspecto notável é o aumento da procura de profissionais certificados para funções específicas, como nosso caso pentest.
Não podemos deixar de lembrar também que praticamente todas as certificações tem valor global, diferente de um diploma de graduação que, não são todos reconhecidos mundialmente.
Mas esse ponto de vista vai de cada um, não vamos discutir isso hoje. Para os interessados em alguma certificação de pentest ou algo do tipo, existe uma vasta gama de instituições que podem prover o seu tão sonhado certificado, dando um belo upgrade no seu currículo. Vamos falar aqui sobre as principais e mais conhecidas de hoje em dia.
LPI – Linux Professional Institute
O Linux Professional Institute é uma organização sem fins lucrativos, sediada na California – USA e constituída em 1999 pela comunidade Linux e desenvolve de forma acessível um programa de certificação em sistemas GNU/Linux reconhecido internacionalmente por empresas, empregadores e profissionais de TI. Seu objetivo é criar um padrão global de certificação em ambientes Linux. A LPI é dividida em níveis, atualmente contando com nível 1, 2 e 3. Cada nível representa uma certificação, sendo a nível 1 mais simples e a nível 3 a mais complexa e completa, representando assim uma sequencia lógica crescente. Muito procurada hoje em dia por profissionais de todo o mundo que querem se especializar em Linux. Empresas também estão começando a aderir, cada vez mais, a soluções se software livre, Uma LPI hoje em dia pode fazer muita diferença.
Para mais informações visite o site oficial da LPI: www.lpi.org
CISCO
Outra gigante, também com um sistema de formação em 3 níveis (CCNA, CCNP e CCIE), chama a atenção. Sem dúvida, nos dias de hoje, as certificações CISCO estão em primeiro lugar aos olhos das empresas e profissionais do ramo. Como seus produtos, as certificações cisco são um pouco mais abrangentes que as outras. Seu objetivo é formar profissionais altamente capacitados para operar sistemas de redes independente do ambiente. Por isso e outros motivos que ela é tão procurada. A CISCO tem certificações mais específicas para interessados apenas em segurança da informação, são elas CCSP e CCSE.
Para mais informações visite o site oficial da CISCO: www.cisco.com
Microsoft
A Microsoft tem um programa de certificação e treinamento super amplo, não vamos cobrir todo ele, mas resumindo, tem certificações para praticamente todos os softwares e soluções que eles prestam. Vamos falar apenas das principais, as 4 mais procuradas e conhecidas. São elas: Microsoft Certified Professional (MCP), Microsoft Certified Desktop Support Technician (MCDST), Microsoft Certified Systems Administrator (MCSA) e Microsoft Certified Systems Engineer (MCSE). Todas elas, seguindo o padrão, divididas em 3 níveis. Muito boas também e muito bem vistas pelo mercado. Uma certificação que com certeza vai dar um enorme diferencial no seu currículo.
Para mais informações visite o site oficial da Microsoft: www.microsoft.com
CEH – Certified Ethical Hacker
Agora a coisa começa a ficar boa, estamos chegando no ponto. A CEH é uma das certificações da Ec-concil, sem dúvida a mais conhecida certificação de pentest da atualidade. Sonho de muitos, inclusive desse que escreve. Conhecida pelo alto nível de profissionalismo, técnica e ética que forma seus profissionais a CEH é um divisor de águas, em muitos casos empresas temem em contratar profissionais que se dizem experts em segurança, não deve ser fácil para um administrador de empresas confiar todo o sistema e infraestrutura da empresa para alguém que tem apenas a própria palavra de competência. A CEH acaba com isso, pois o nível de conhecimento e seriedade, como já diz o nome, que essa certificação trás é imenso. Uma certificação de grande peso mas não é a unica, o instituto Ec-concil conta com outras certificações, todas de grande peso e valor e todas voltadas para o mercado de segurança pessoal e empresarial.
Para mais informações visite o site da Ec-concil: www.eccouncil.org
Offensive Security
Mais uma empresa focada apenas em certificações de segurança e em nível bem próximo da CEH. A Offensive Security conta com 5 certificações de segurança. Mesmo não tendo toda a fama das outras não deixa de ser uma certificação respeitada, muito popular pelo seus cursos preparatórios para a certificação. Marcando presença em todos os eventos de segurança ao redor do globo. Pode não ter todo o glamour de uma CEH, mas por isso não tem o valor financeiro de uma CEH, então fica a dica caso o dinheiro esteja curto por ai, não vá ficar parado.
Mais informações no site da Offensive Security: www.offensive-security.com
Mas não é só isso!
Existem muitas outras certificações por ai, como a Systems Security Certified Practitioner (SSCP), a Certified Information Systems Auditor (CISA), a Global Information Assurance Certification (GIAC), CompTIA Security+ e muitas outras.
Então a dica final para você que busca uma qualificação nessa área de atuação é pesquisar qual vai te trazer mais benefícios e sucesso em seu caminho, uma escolha certa aqui pode lhe trazer bons resultados em pouco tempo.
E para terminar com chave de ouro, minha escolha foi a LPI 1 e 2, a CEH e a ACMT (Apple) que já estou encaminhando, e tudo indica que este ano chegará por ai.
Assinar:
Comentários (Atom)







