Um dos primeiros grandes impactos de quem resolve aventurar-se no mundo Linux, é justamente a estrutura de diretórios (pastas, no Windows).
Pra começarmos a entender, é essencial citar que o diretório raiz no linux, é representado por uma barra ( / ).
A estrutura dos sistemas linux e unix, segue um padrão, denominado FHS (Filesystem Hierarchy Standard) - Padrão para sistema de arquivos hierárquico.
Abaixo, segue a estrutura básica desta hierarquia, aqui listados em ordem alfabética:
/bin = Arquivos executáveis essenciais para o sistema.
/boot = Arquivos do gerenciador de inicialização, incluindo a imagem do kernel.
/dev = Arquivos usados para acessar dispositivos existentes na máquina.
/etc = Arquivos de configuração do computador.
/home = Diretório que contém os arquivos dos usuários. Cada usuário recebe um subdiretório em /home. Ex.: Usuário Marcos ==> /home/marcos.
/lib = Bibliotecas compartilhadas do sistema.
/media = Ponto de montagem de dispositivos removíveis. (Pendrives, por exemplo).
/mnt = Ponto de montagem temporário.
/proc = Diretório que não existe "fisicamente" no disco. O Kernel aloca este diretório virtualmente, e nele são abrigados arquivos de informação do kernel e dos processos da máquina. Diversos programas acessam o /proc para obter informações importantes, como por exemplo, tipo de CPU instalada.
/root = Diretório "home" do super usuário root.
/sbin = Arquivos executáveis essenciais para administração do sistema.
/usr = Conhecido como hierarquia secundária. Contém dados compartilhados pelos usuários e seu acesso é geralmente "somente leitura".
/var = Arquivos variáveis, como logs.
Diretório lost+found:
Implementado a menos tempo no FHS, este diretório contém arquivos essenciais de recuperação de sistema, em caso de falhas no sistema de arquivos. Por isso, cada partição possui uma pasta "lost+found".
Linux na marra!
segunda-feira, 11 de junho de 2012
sexta-feira, 8 de junho de 2012
[EXTRA] O sudo
O comando sudo é utilizado para que um usuário comum obtenha privilégios de outro usuário, em geral, do usuário root. Isto permita a execução de tarefas administrativas dentro de sistema, de maneira controlável pelo administrador. O nome sudo vem de "Substitute User DO - Fazer substituido usuário" ou "Super User DO - Fazer como super usuário".
O arquivo de configuração das permissões do sudo é o /etc/sudoers, e apenas o root pode alterá-lo. Nele, está configurado quais usuários podem utilizar o sudo, em que máquinas podem fazê-lo e quais comandos podem executar através dele.
Algumas distros desabilitam o super usuário (root) e exigem o uso do sudo para executar tarefas administrativas. Ex.: Ubuntu.
O arquivo de configuração das permissões do sudo é o /etc/sudoers, e apenas o root pode alterá-lo. Nele, está configurado quais usuários podem utilizar o sudo, em que máquinas podem fazê-lo e quais comandos podem executar através dele.
Algumas distros desabilitam o super usuário (root) e exigem o uso do sudo para executar tarefas administrativas. Ex.: Ubuntu.
Os Terminais Virtuais
Um terminal virtual (console) são o teclado e a tela conectados ao computador. É uma nova sessão, totalmente independente de outras.
O GNU/Linux, por ser multi-usuário, permite o uso de vários terminais virtuais ao mesmo tempo conectados local ou remotamente.
O linux suporta até 63 terminais, porém apenas 06 ficam disponíveis a principio, para economizar memória RAM.
Os terminais são nomeados da seguinte forma no linux: ttyN (sendo N o número do terminal).
Alternando entre os terminais:
Por padrão, o linux utiliza o terminal tty7 para carregar o modo gráfico. Para trocarmos de terminal, basta segurarmos a tecla Alt + F* (onde * é o número do terminal desejado). Por exemplo: Alt+F2 alterna para terminal tty2. Se desejarmos voltar para o modo gráfico, basta teclarmos Alt+F7.
O GNU/Linux, por ser multi-usuário, permite o uso de vários terminais virtuais ao mesmo tempo conectados local ou remotamente.
O linux suporta até 63 terminais, porém apenas 06 ficam disponíveis a principio, para economizar memória RAM.
Os terminais são nomeados da seguinte forma no linux: ttyN (sendo N o número do terminal).
Alternando entre os terminais:
Por padrão, o linux utiliza o terminal tty7 para carregar o modo gráfico. Para trocarmos de terminal, basta segurarmos a tecla Alt + F* (onde * é o número do terminal desejado). Por exemplo: Alt+F2 alterna para terminal tty2. Se desejarmos voltar para o modo gráfico, basta teclarmos Alt+F7.
Os usuários no Linux
O GNU/Linux é um S.O. multiusuário, o que significa que vários usuários podem conectar-se ao mesmo tempo.
Existem 03 tipos de usuários no linux.
-Usuários comuns: São usuários que podem conectar-se normalmente ao sistema, porém sem privilégios de administração. Possuem, geralmente, um diretório base, onde ficarão armazenados seus arquivos: /home/nomedousuário. É como a pasta C:\Documents and Settings\Usuario do Windows.
-Usuários de sistema: São contas que pertencem exclusivamente ao sistema, que ás utiliza para diversas configurações e ações. Estas contam não se conectam e não possuem diretórios base.
-Usuário root (Super Usuário): É o usuário com plenos poderes administrativos no sistema. O root tem permissão de acesso e execução á todos os diretórios e programas, e é o único que pode executar algumas funções. Também é o responsável por atribuir ou negar permissões aos usuários comuns. Seu diretório base é o "/root".
No shell, os usuários comuns são diferenciados do usuário root pelo último carácter impresso na linha digitável antes do cursor.
Ex.: marcos@debian~$ (o "$" indica que "marcos" é um usuário comum do sistema).
debian ~# (o "#" indica que estamos logados como super usuário (root).
Podemos trocar de usuários no shell, através do comando su (switch user).
$ su - (Altera a sessão para o usuário root).
$ su - antonio (Altera a sessão para o usuário antonio).
DICA: Sempre crie senhas fortes para o usuário root, afim de proteger o sistema.
Existem 03 tipos de usuários no linux.
-Usuários comuns: São usuários que podem conectar-se normalmente ao sistema, porém sem privilégios de administração. Possuem, geralmente, um diretório base, onde ficarão armazenados seus arquivos: /home/nomedousuário. É como a pasta C:\Documents and Settings\Usuario do Windows.
-Usuários de sistema: São contas que pertencem exclusivamente ao sistema, que ás utiliza para diversas configurações e ações. Estas contam não se conectam e não possuem diretórios base.
-Usuário root (Super Usuário): É o usuário com plenos poderes administrativos no sistema. O root tem permissão de acesso e execução á todos os diretórios e programas, e é o único que pode executar algumas funções. Também é o responsável por atribuir ou negar permissões aos usuários comuns. Seu diretório base é o "/root".
No shell, os usuários comuns são diferenciados do usuário root pelo último carácter impresso na linha digitável antes do cursor.
Ex.: marcos@debian~$ (o "$" indica que "marcos" é um usuário comum do sistema).
debian ~# (o "#" indica que estamos logados como super usuário (root).
Podemos trocar de usuários no shell, através do comando su (switch user).
$ su - (Altera a sessão para o usuário root).
$ su - antonio (Altera a sessão para o usuário antonio).
DICA: Sempre crie senhas fortes para o usuário root, afim de proteger o sistema.
Introdução ao Shell
Shell é o interpretador de comandos do linux. Uma boa analogia, seria o prompt do MS-DOS... Porém o shell é muito mais potente.
Existem vários shells. No linux, o padrão é o bash. São exemplos de shell: csh, tcsh, zsh, ksh.
O shell nada mais é do que um módulo que permite a interação entre o usuário e o S.O. através de comandos. Provê também uma linguagem simples de programação que permite a criação de pequenos programas, conhecidos como Shell Scripts (algo como os arquivos .bat do Windows).
Alguns comandos básicos no shell
DICA: As setas para cima e para baixo do teclado podem ser utilizadas para repetir comandos já digitados, porém no começo é aconselhável digitar os comandos para ir habituando-se á eles.
$ cd
Comando "Change Directory". Serve para abrir ou mudar de diretório (pasta).
Comando "Change Directory". Serve para abrir ou mudar de diretório (pasta).
Ex.: $ cd /home (abra a pasta home).
$ ls
Lista o conteúdo de um diretório.
$ pwd
Mostra na tela o diretório atual.
$ history
Lista dos últimos comandos digitados.
$ mkdir
Cria um novo diretório.
$ rmdir
Remove um diretório vazio.
$ du
Exibe o tamanho do diretório em disco.
$ rm
Apaga arquivos.
DICA: É possivel obter mais detalhes sobre os comandos através de seu manual. Para fazer isso, basta digitar o comando "man" seguido do comando do qual deseja obter detalhes.
Ex.: $ man ls
Estrutura do Linux
O sistema operacional GNU/Linux, pode ser dividido em algumas camadas básicas:
1- Hardware: Dispositivos físicos disponiveis para uso.
2- Kernel Linux: O núcleo do sistema operacional. O kernel é a camada mais próxima do nível de hardware. Tem por função interagir diretamente com a parte física da máquina, interpretando as solicitações (comandos) das camadas acima de seu nível.
3- Sistema Operacional: Tem a função de abrigar os aplicativos das camadas superiores.
4- Terminais virtuais: No linux são nomeados como ttyN (sendo N o número do terminal). É onde são executados comandos por nós humanos e traduzidos para a linguagem de máquina.
5- Display Manager (DM): Gerencia os logins dos usuários e definem o ambiente gráfico á ser utilizado na sessão.
6- Desktop Environment: O Gerenciador de janelas. Tem a função de deixar o ambiente "usuárioXmáquina" mais intuitivo e agradável.
1- Hardware: Dispositivos físicos disponiveis para uso.
2- Kernel Linux: O núcleo do sistema operacional. O kernel é a camada mais próxima do nível de hardware. Tem por função interagir diretamente com a parte física da máquina, interpretando as solicitações (comandos) das camadas acima de seu nível.
3- Sistema Operacional: Tem a função de abrigar os aplicativos das camadas superiores.
4- Terminais virtuais: No linux são nomeados como ttyN (sendo N o número do terminal). É onde são executados comandos por nós humanos e traduzidos para a linguagem de máquina.
5- Display Manager (DM): Gerencia os logins dos usuários e definem o ambiente gráfico á ser utilizado na sessão.
6- Desktop Environment: O Gerenciador de janelas. Tem a função de deixar o ambiente "usuárioXmáquina" mais intuitivo e agradável.
Distribuições Linux
Desde quando Linus Torvalds liberou o kernel linux e o projeto GNU passou a utilizá-lo (ambos sob a GPL), têm surgido cada vez mais "versões" de S.O. utilizando o GNU/Linux como base. Estas "versões" são chamadas de distribuições, ou "distros".
Exemplos são o Debian, o RedHat, o Ubuntu, o Mint... São centenas. Cada uma com uma filosofia diferente.
Existem dois tipos de distribuições:
-From Scratch: Distribuições desenvolvidas do zero, utilizando-se apenas o kernel linux e alguns aplicativos GNU. Todo restante é desenvolvido de forma particular áquela distro.
Ex.: Slackware, Debian, Redhat...
-Provenientes: São distros que utilizam as ferramentas prontas das distros "from scratch", visando atingir seus objetivos mais rapidamente.
Ex.: Ubuntu, Fedora, Slax...
As distros estão distribuidas também em duas categorias:
-Corporativas, que são mantidas por empresas privadas, as quais vendem suporte ao seu sistema.
Ex.: RedHat, Suse, Mandriva.
-Livres, mantidas por comunidades de colaboradores ao redor do mundo.
Ex.: Ubuntu, Debian, Slackware...
O motivo de existirem tantas distros, é justamente a liberdade que a GPL fornece de poder adaptar o sistema livremente ás suas necessidades.
Exemplos são o Debian, o RedHat, o Ubuntu, o Mint... São centenas. Cada uma com uma filosofia diferente.
Existem dois tipos de distribuições:
-From Scratch: Distribuições desenvolvidas do zero, utilizando-se apenas o kernel linux e alguns aplicativos GNU. Todo restante é desenvolvido de forma particular áquela distro.
Ex.: Slackware, Debian, Redhat...
-Provenientes: São distros que utilizam as ferramentas prontas das distros "from scratch", visando atingir seus objetivos mais rapidamente.
Ex.: Ubuntu, Fedora, Slax...
As distros estão distribuidas também em duas categorias:
-Corporativas, que são mantidas por empresas privadas, as quais vendem suporte ao seu sistema.
Ex.: RedHat, Suse, Mandriva.
-Livres, mantidas por comunidades de colaboradores ao redor do mundo.
Ex.: Ubuntu, Debian, Slackware...
O motivo de existirem tantas distros, é justamente a liberdade que a GPL fornece de poder adaptar o sistema livremente ás suas necessidades.
Assinar:
Postagens (Atom)