Linux Comandos Básicos

    Dentro de um sistema operacional Linux, muitas vezes ficamos um pouco confusos , principalmente quem migrou de uma plataforma Windows e estava ( ou está)
viciado em aplicativos com interfaces gráficas.
A idéia desta página é explicar um pouco sobre o terminal o suficiente para o usuário se localizar e conseguir realizar suas tarefas.

    Quando você loga em um sistema Linux, você utiliza um usuário e isso é mostrado para você logo de cara no terminal :



Para navegar entre as pastas dos sistema
vc usa o comando cd e usa a tecla TAB para
completar o caminho da sua digitação.

A tecla TAB lista os complementos possíveis de acordo com a
digitação que foi efita anteriormente
as teclas de setas para cima e para baixo mostram os comandos que já
foram inseridos no terminal

No Linux existem terminais emulados , como
este mostrado ao lado e terminais normais, que rodam
independetemente do ambiente gráfico estar sendo executado ou não
para alternar entre terminais normais digite Ctrl + Alt + F1 até F6
onde F1 é o primeiro terminal , F2 segundo terminal , etc..
O sétimo terminal F7 é reservado para o ambiente gráfico.

Cada usuário possui na sua confogureção o seu terminal padrão
normalmente é utilizado o bash ou o sh.

exemplos de terminais emulados são :
xterm , gnome-terminal e konsole

flavio@MSI-preview:~$  na realidade quer dizer :usuário flavio logado no computador MSI-preview
o ~ significa a localização , no caso é /home/flavio , onde o
/
é a raiz do sistema , ou para quem veio do Windows - o C:/ a pasta home é a pasta
que abriga as pastas de cada usuário da máquina, é como se fosse uma cidade de abriga as casas dos usuários.

    No linux, o usuário só tem direitos totais dentro de sua pasta , ou seja o usuário flávio só têm direitos de leitura, escrita e execução ou permissão para
a modifcação destes atributos em arquivos que forem criados por ele dentro de sua pasta local  : /home/flavio no caso.

    Para navegar entre os diretórios utilizamos o comando cd - change directory se digitamos cd.. vamos um nível acima , por exemplo estando na pasta /home/flavio
e digitando cd.. vou para a pasta /home. Para visualizar as pastas e os arquivos utlizamos o comando ls, semelhante a um dir no Windows.
para executar um arquivo digitamos: ./arquivo por exemplo para executar  um arquivo script digite : ./script

    Para mover-se de uma pasta até a outra pode-se digitar o caminho inteiro. Ex: para ir até o arquivo menu.lst que fica dentro de uma pasta grub , que fica dentro
de uma pasta boot que fica dentro da raiz /, não precisa ficar digitando um comando por vez, pode digitar o caminho ineiro, independente de onde vc esteja no sistema.
ficaria assim: cd gedit /boot/grub/menu.lst (suponhamos q você queira editar o arquivo menu.lst com o editor de textos gedit.)
    A maioria dos comandos linux possui uma ajuda no terminal , bem como manuais ,etc.
    Ex: para consultar o manual do comando chmod digite no terminal:
    $ man chmod
    Para sair digite q e para navegar utilize as setas , ou o page up - page down.
    Temos também o comando info, no caso :
    $ info chmod
    Existem também editores de texto como o nano e o vim, para chamar os editores é só digitar
    $ nano e para o vim $ vi , para ajuda de como utlizá-los use as páginas de manual man nano e man vi bem como o info nano e info vi

Para sair das páginas de manual tecle "q"
para navegar nas páginas de manual utilize as teclas PageUp e PageDown
    

O usuário root


    Já dissemos que os usuários têm poderes limitaos, e estão restritos aos seus diretórios, mas existe um usuário todo-poderoso no sistema:
o root, é uma espécie de administrador do sistema, alguns comandos são de uso exclusivo do root e ele possui por acesso a leitura ,escrita e modificação
de atributos de pastas e aqruivos por padrão.Normalmente o usuário root não é muito utlizado no di-a-dia, pois possuindo tantos privilégios, o uso frequente do root
pode ser uma ameação a segurança do sistema.
    Quando o usuário root está logado no terminal ele muda um pouco de aparência:

    


    Agora ao invés do cifrão ($) , temos a cerquilha (#), o que indica que o susário que está logado é o usuário root.
    Assim quando aparecer um comando para digitação como este:
    $ winecfg
    Significa que tal comando deverá ser digitado como usuário normal do sistema, pois foi colocado o cifrão na frente do comando.Agora:
    # ifconfig
    Significa que tal comando deverá ser digitado como root, pois foi utilizada a cerquilha.

O comando su
    O comando su é utilizado para trocar para o usuário root, para executar determinada tarefa.Ex:

flavio1@MSI-preview:~$ su
Password:
root@MSI-preview:/home/flavio1#


  Assim , ele vai pedir a senha o usuário root, e ao inserir esta senha você está logado como root permancendo no mesmo diretório onde está
no meu caso o meu diretório home : /home/flavio1

  Outra maneira de invocar o usuário root é utilizar-se de outros terminais :(Lembre-se que uma distribuição Linux, possui por padrão seis terminais
habilitados (pode ter até 64 , porém os demais são desabilitaos para economizar memória), os terminais do 1 até o 6 são ativos por padrão, sendo que o primeiro é usado
para carregar o sistema e a partir daí passar para o modo gráfico e o sétimo é utilizado pelo modo gráfico.Você pode comprovar isso segurando a teclas Ctrl + Alt + F1.
onde F1 significa terminal 1 F2 terminal 2 e assim por diante.
  Para retornar ao modo gráfico vá para o terminal gráfico : Ctrl + Alt + F7.
  Assim , para usar o usuário root , basta abrir outro terminal Ex: Ctrl + Alt + F2
  O terminal vai pedir o login, digite o usuário desejado ( no caso o root) e a senha (no caso a senha de root).Vc estará logado no terminal do usuário root, como usuário root, para comprovar use o comando pwd.
  Para sair digite exit

o comando sudo

     O comando sudo permite que um usuario faça alguma coisa como se fosse outro usuário, por exemplo:
     O usuário manoel deixou um terminal aberto e logado por ele,quando um outro usuário  (José) que passava pelo local percebeu e lembrou que havia se
esquecido de realizar uma tarefa importante, quando viu o terminal aberto foi utilizá-lo, porém ao perceber que o terminal estava logado com outro usuário (no caso o Manoel) o josé digitou :
sudo jose , imediatamente o sistema pediu a senha de login de jose, ele forneceu e o terminal que antes estava logado com o usuario manoel, passou a estar logado como jose, o jose fez a tarefa que necessitava e depois digitou exit e o terminal voltou a estar logado com o susuario manoel.
   Se o nome de usuario for omitido, o sistema adota o usuário root e pede a senha do mesmo.(caso o usuário seja membro do grupo admin ou sudo, conforme veremos a seguir:)


   Se o usuário estiver cadastrado no arquivo sudoers, o usuário ao fornecer a sua senha passa a ter poderes de root para aquela sessão.
   Algumas distribuições usam o comando visudo, para incluir usuários que possam usar o comando sudo, pois na prática se um usuário pode utilizar o comando sudo, ele é um
usuário com poderes administrativos no computador, da mesma forma que o usuário root.
  Evidentemente, o comando visudo deverá ser executado como root:

# visudo
aparecerá então um editor de texto, (neste caso foi o nano) para a edição do arquivo sudoers:

 
GNU nano 2.0.7            File: /etc/sudoers.tmp                             

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root ALL=(ALL) ALL

# Uncomment to allow members of group sudo to not need a password
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=NOPASSWD: ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL


esta é a tela que apareceu no terminal ,podemos perceber que trata-se de uma edição
do arquivo sudoers, cuja localização completa é  /etc/sudoers

Lendo o arquivo percebemos que todos os usuários que são membros do grupo admin, ou do grupo sudo
podem ganhar privilégios administrativos.Tome muito cuidado ao editar este arquivo, para não dar privlégios administrativos
para grupos ou usuários que não devem possuir estes privilégios.Digite CTRL + X para sair do nano.

  Existem ainda outras distribuições que utilizam-se de ferramentas gráficas  para atribuir poderes administrativos aos usuários como o Ubuntu.
  No caso do Ubuntu, você pode atribuir poderes administrativos através da seguinte maneira :System -> Administração -> Usuários e Grupos 
  Caso você prefira utilizar um terminal :

 $ users-admin  ou se preferir como root : # users-admin , ou ainda utilizando o comando sudo : $ sudo users-admin
 
 Se vc utilizou o comando como um usuário comum ( Através do Menu System -> Administração -> Usuários e Grupos ou $ users-admin  ) aparecerá a
seguinte tela :

    


  Para utilizar você deverá clicar em desbloquear (Unlock)e o sistema pedirá a sua senha
claro que o seu usuário precisará estar cadastrado como administrador do computador
Agora se você digitou o comando users-admin como usuário root ou através do comando sudo, não será necessário
clicar em desbloquear, o aplicativo já esatrá pronto para ser utilizado.
   Para alterar as configurações , basta selecionar um usuário .Depois clique em Properties, e verifique as permissões do usuário
 clicando na aba User Privileges conforme mostra a figura :

   Perceba que está assinalado a opção "administer the system" ou seja,
este é um usuário administrador do computador.Para inserir novos usuários, ou alterar
Os privilégios dos usuários este aplicativo , (users-admin )pode ajudar bastante.
Você também pode gerenciar os grupos, adicionando ou removendo membros destes grupos
basta clicar em Manage Groups, para mexer nessas configurações.
   Cada usuário possui um grupo no Linux, que geralmente possui o seu nome.
quando determinado cria um arquivo ou diretório, o arquivo fica vinculado ao grupo do usuário.

   Por padrão um usuário no linux possui acesso de leitura-e-escrita somente no seu diretório e seus
subdiretórios Ex: /home/flávio é o diretório do usuário flavio e todos os outros subdiretórios
também ( tudo o que estiver dentro do diretório /home/flavio.O usuário possui
somente permissão de leitura nos outros diretórios do computador.
   Se um usuário cria um arquivo, por exemplo o usuário flavio criou o arquivo
teste.txt, este arquivo fica vinculado ao grupo do usuário.
   Para entender melhor vamos a um exemplo prático, utilizando
o comando ls que é semelhante ao dir do MS-DOS com o complemento -lA
que dá uma listagem com mais informações.

   Então vamos dar uma olhada, nas permissões e grupos conforme nosso exemplo :

flavio1@MSI-preview:~$ ls -lA
total 3623796
drwx------  4 flavio1 flavio1       4096 2010-07-16 18:35 .adobe
drwxrwxrwx 22 flavio  flavio        4096 2010-02-27 22:50 Apostilas
-rw-r--r--  1 flavio  flavio  3704684544 2010-01-05 00:00 arcanjo_eb.iso
drwxrwxrwx  2 flavio  flavio        4096 2009-11-07 15:05 ASUSPS5B
-rw-r--r--  1 flavio1 flavio1        363 2009-01-23 18:36 Avi_mpg_or_vob
-rw-r--r--  1 flavio1 flavio1        334 2009-01-22 18:19 avi to DVD
-rw-------  1 flavio1 flavio1       1969 2010-07-23 23:07 .bash_history
-rw-r--r--  1 flavio1 flavio1        220 2010-07-14 18:41 .bash_logout
-rw-r--r--  1 flavio1 flavio1       3115 2010-07-14 18:41 .bashrc
drwxr-xr-x  5 flavio1 flavio1       4096 2010-07-16 20:17 .cache
 
O comando ls é semelhante a um dir, listando os arquivos e diretórios de uma determinada localidade (pasta)
do computador, que no nosso caso é o diretório home do usuário.
A opção -lA faz com sejam listados todos os arquivos , mesmos aqueles que são ocultos (no linux, os
arquivos são ocultos quando iniciam por um ponto, como em .bash_history, que é um arquivo oculto que mostra o históricos dos comandos
executados no terminal), bem como se o referido arquivo é um diretório, qual é o proprietário a qual grupo pertence, e quias são as permissões relativas a este arquivo (ou diretório)

Exemplo : na primeira linha temos a pasta .adobe, que é uma pasta oculta pois o seu nome inicia com um ponto,
a letra d no início da linha indica que é um diretório (ou uma pasta), a letra r indica que o dono do arquivo possui permissão de
leitura da pasta a letra w indica que o dono do arquivo possui permissão para escrita e a letra x indica que o dono possui
permissão de execução da pasta.A seguir são mostradas as permissões para o grupo , ou seja , qualquer membro do grupo ao qual a pasta
.adobe terá as seguintes permissões sobre ela: - não dá permissão para leitura, - não dá permissão para escrita, - não dá permissão para execução.
Por último seguem as permissões para todos os demais (que são iguais as permissões do grupo), ou seja sem permissão para leitura, escrita ou execução.
O próximo número : 4, indica quantos subníveis ainda existem a partir daquela pasta no máximo.

Ainda seguindo na linha, o comando ainda mostra quem é o dono do arquivo, no caso é flavio1, e qual é o grupo que pertence o
arquivo no caso o grupo é flavio1. ainda são mostrados o tamanho do arquivo , 4096 (em bytes)  a data de criação no formato AAA-MM-DD
(ano, mês e dia, o que corresponde a 16/07/2010 ) e o horário da última modificação - 18:35 .e por último o nome do arquivo
no caso .adobe.

As mesmas informações poem ser obtidas graficamente.Ex: vá em Places -> Home Folder, ou se preferir pelo terminal execute:

$ nautilus

deverá aparecer uma imagem como esta :

 

   clique em View e marque a opção "Show hidden files"
Todos os arquivos ocultos vão aparecer, agora procure
a pasta .adobe, do nosso exemplo e clique com o botão direito
e marque a opção Properties (Propriedades), aparecerá uma
janela com algumas abas, a primeira (Basic) dará o nome e a localização
a segunda Emblems e a terceira Permissions trará o proprietário,
o grupo e as permissões da pasta, compare com as informações
obtidas através do comando ls -lA


   


Executando um arquivo no Linux

    Para se executar um arquivo no Linux, primeiramente o arquivo deve possuir permissôes de execução.
    Normalmente um arquivo possui somente permissão de Leitura e escrita para o proprietário (normalmente o criador do arquivo), permissão somente leitura
para o grupo ao qual esta vinculado e somente leitura para os demais.Para se adicionar permissão de execução do arquivo deve se utilizar o comando:

    
# chmod +x arquivo_a_ser_executado

   O símbolo cerquilha "#", indica que deve ser utilizado o usuário root, ou também poderá ser usado o comando sudo:

$ sudo chmod +x arquivo_a_ser_executado

o comando chmod altera as permissões do arquivo,trabalhando
de maneira semelhante ao atrib do MS-DOS  retrando ou atribuindo permissões do arquivo.
Neste exemplo estou adicionando (+) a permissão de execução (x) para o arquivo.

Agora para executar basta digitar :
 
$  ./arquivo_a_ser_executado




 
Comments