Terminal de Comandos - Shell Linux

De Pontão Nós Digitais
Revisão de 19h17min de 12 de dezembro de 2009 por Felipehistory (discussão | contribs)

Terminal konsole ativo no Debian Lenny fazendo uso do programa top

Este artigo traz uma lista de comandos básicos usados para controlar alguns dos programas essenciais dos sistemas GNU/Linux. Aprenda-os e você conseguirá usar seu sistema de modo muito mais fácil, útil e rápido, resolvendo problemas ou criando soluções para facilitar seu trabalho.

Todo comando é necessariamente uma ordem a um programa que compõe o sistema e todo comando, desde o mais simples ao mais complexo, nos sistemas GNU/Linux atua dizendo o que um determinado programa deve ou não deve fazer, daí o nome comando.

Vamos usar como exemplo o interpretador de comandos Bash. O bash é um interpretador de comandos, uma espécie de tradutor entre o sistema operacional e o usuário, normalmente conhecido como shell. Permite a execução de seqüências de comandos direto no prompt do sistema ou escritas em arquivos de texto, conhecidos como shell scripts.

O sistema usado como modelo é o Debian Lenny com interface gráfica gnome. Para usar o interpretador de comandos em um sistema com interface gráfica, você poderá proceder de três maneiras. Escolha a forma:

  • Tecle alt + F2 e digite gnome-terminal. Um prompt de comandos irá se abrir;
  • Menu do sistemas vá para “aplicações” > “acessórios” > “terminal”;
  • Tecle ctrl + alt + F1(ou F2, F3...até F6. Para voltar ao modo gráfico tecle F7).


É importante lembrar que boa parte dos comandos aqui descritos só podem ser executados com permissão de root.

Você pode testar os comandos a seguir acompanhando os passos de demonstração e se por ventura algo não sair como esperado, você pode solicitar ajuda no Fórum. Basta fazer o cadastro de usuário.

Legenda das Categorias dos Comandos:

Rede-icon2.png - Comandos usados para controle e/ou exibição de informações dos serviços de rede do sistema.
Terminal.png - Outros comandos diversos.
Sistema-icon.png - Comandos usados para controle do sistema e/ou para exibição de informações a respeito do atual estado do sistema.
Editor-texto90px.png - Comandos usados para controle e uso de arquivos de texto.
Usuario-e-grupos.png - Comandos usandos para controle de usuários e grupos.

Lista Comandos GNU/Linux - A-Z
Cat. Comando Exemplo de uso

Usuario-e-grupos.png

addgroup – o comando addgroup adiciona um novo grupo no sistema.

root@debian-servidor:/# addgroup teste
Adding group `teste' (GID 1003) ...
Concluído.
root@debian-servidor:/#
Usuario-e-grupos.png adduser – o comando adduser adiciona um novo usuário ao sistema.
root@debian-servidor:/# adduser jose
Adding user 'jose' ...
Adding new group `jose' (1004) ...
Adding new user `jose' (1003) with group 'jose' ...
Creating home directory `/home/jose' ...
Copying files from `/etc/skel' ...
Digite a nova senha UNIX: *****
Redigite a nova senha UNIX: ******
passwd: senha atualizada com sucesso
Modificando as informações de usuário para jose
Informe o novo valor ou pressione ENTER para aceitar o padrão
       Nome Completo []: José Silva
       Número da Sala []:
       Fone de Trabalho []:
       Fone Doméstico []:
       Outro []:
Is the information correct? [Y/n] y
root@debian-servidor:/#
Editor-texto90px.png

cat – o comando cat é usado para ler arquivos de texto. Ele imprime na tela todo conteúdo de um arquivo de texto.

root@debian-servidor:/# cat /etc/apt/sources.list
# Midia
deb cdrom:[Debian GNU/Linux 5.0.0 _Lenny_ - Official i386 DVD Binary-1 20090214-16:54]/ lenny contrib main
#Internet
deb http:// security.debian.org/ lenny/updates contrib main
deb-src http:// security.debian.org/ lenny/updates contrib main
deb http:// ftp.br.debian.org/debian lenny main contrib non-free
deb-src http:// ftp.br.debian.org/debian lenny main contrib non-free
deb-src http:// ftp.br.debian.org/debian-multimedia/ stable main
deb http:// ftp.br.debian.org/debian-multimedia/ stable main
root@debian-servidor:/#
Sistema-icon.png

cd – o comando cd muda o atual diretório de uso do prompt de comandos. Ele é usado da seguinte forma:

# cd + /nome_do_diretório

1° Exemplo – indo do diretório raiz para o diretório /home:

root@debian-servidor:/# cd home
root@debian-servidor:/home#

2° Exemplo – indo do diretório /home para o diretório /etc/init.d:

root@debian-servidor:/home# cd /etc/init.d
root@debian-servidor:/etc/init.d# 

obs: note que para ir do diretório raiz / ao diretório /home não foi necessário colocar a barra em frente ao nome home. Entretanto para ir do diretório /home ao diretório /etc/init.d foi necessário colocar barra / antes do caminho do diretório etc/init.d. Por que isso ocorre? Bem, isto acontece porque toda vez que se quer ir para um diretório localizado dentro do diretório atual do prompt não é necessário colocar a barra antes do nome do primeiro diretório.

Usuario-e-grupos.png

chfn – o comando chfn muda as informações de qualquer usuário. Para usá-lo, basta digitar:

# chfn [nome_do_usuário]

Opções:

# chfn [opção] [nome_do_usuário]

-f = muda o nome completo do usuário;
-r = muda o número da sala do usuário;
-w = altera o número de telefone de trabalho do usuário;
-h = altera o número de telefone residencial do usuário;
-o = altera o outro possível contato telefônico do usuário.

root@debian-servidor:/etc/init.d# chfn jose
Modificando as informações de usuário para jose
Informe o novo valor ou pressione ENTER para aceitar o padrão
       Nome Completo [jose]: José da Silva Sauro
       Número da Sala []: Sala 2
       Fone de Trabalho []: (11) 2424-2424
       Fone Doméstico []: (11) 2323-2323
       Outro []: (11) 9988-9988
root@debian-servidor:/etc/init.d#
Sistema-icon.png

chmod – o comando chmod altera permissões de diretórios e de arquivos. Existe três principais tipos de permissão que um arquivo pode ter. (1) Permissão de leitura, (2) permissão de escrita e (3) permissão de execução.
Existem também três concessões de permissão. (1) Permissão ao usuário criador do arquivo, (2) permissão do grupo ao qual pertence aquele arquivo e (3) permissão a todos os demais usuários.
Para usá-lo com seus atributos é possível usar tanto letras como o modo numérico-octal para permissões. O modo octal usa números de 0 (zero) a 7 (sete). O modo alfabético usa letras para designar as permissões, sendo 'r' leitura, do Inglês 'read', 'w' gravação - do Inglês 'write' e 'x' - do Inglês 'execute'.
O comando é composto por:

chmod [atributos] [nome_do_arquivo]

Atributos do modo octal:
Para arquivos (-)
0 - (zero) permissão negada
1 - permissão de execução
2 - permissão de gravação
3 - permissão de gravação e execução
4 - permissão de leitura
5 - permissão de leitura e execução
6 - permissão de leitura e gravação
7 - soma de todas as permissões

Para diretórios (d)
0 - (zero) permissão negada
1 - permissão para entrar no diretório
2 - permissão para gravar dentro do diretório
3 - permissão de entrar e gravar no diretório
4 - permissão para listar o conteúdo do diretório
5 - permissão de listar e entrar no diretório
6 - permissão de listar e gravar no diretório
7 - soma de todas as permissões

Antes de testar o comando chmod, criamos um arquivo de texto chamado teste.txt na pasta /home/nosdigitais. Com o comando ls -l podemos observar as primeiras letras que indicam quais são as permissões concedidas a esse arquivo no ato de sua criação.

root@debian-servidor:/home/nosdigitais# ls -l
-rw-r--r-- 1 root        root   0 Ago  9 01:17 teste.txt

Este arquivo possui então permissão de leitura, indicado pela letra r, e permissões de escrita, indicado pela letra w, ao usuário criador do arquivo (-rw-r--r--). E possui permissão de leitura aos integrantes do grupo ao qual pertence o arquivo (-rw-r--r--) e a mesma permissão aos demais usuários do sistema (-rw-r--r--). Vamos modificar essas permissões, deixando o arquivo com permissão total a todos os usuários do sistema.

root@debian-servidor:/home/nosdigitais# chmod 777 teste.txt

Vejamos como ficaram as permissões:

root@debian-servidor:/home/nosdigitais# ls -l
-rwxrwxrwx 1 root        root   65 Ago  9 01:17 teste.txt

Note que a linha que demonstra os atuais atributos do aquivo teste.txt contém um pequeno traço - no início para indicar que se trata de um arquivo e não de um diretório. Logo em seguida, há um conjunto de nove letras, sequencialmente dispostas.

- rwx rwx rwx

Isto significa que todas as concessões de permissão foram concedidas a todos os usuários do sistema.

A permissão de leitura r, a permissão de escrita w e a permissão de execução x foram concedidas ao criador do arquivo, ao grupo do arquivo e a todos os demais usuários do sistema.

Vamos mudar novamente as permissões deste arquivo, desta vez usando as letras ao invés dos números, dando permissão apenas de leitura a todos os usuários.

root@debian-servidor:/home/nosdigitais# chmod ugo-x teste.txt

Veja como ficaram as permissões do arquivo:

root@debian-servidor:/home/nosdigitais# ls -l
---x--x--x 1 root        root     65 Ago  9 01:17 teste.txt
Terminal.png

clear – o comando clear limpa a tela do terminal de comandos.

Ao usar o comando clear todas as mensagens escritas da tela do terminal são apagadas, ficando a tela do terminal limpa. Este comando não apaga nenhum arquivo, nenhum texto, ele apenas limpa a tela do terminal para melhorar a visualização. Veja o antes e o depois. Antes:

---x--x--x 1 root   root     0 Ago  9 01:17 teste.txt
root@debian-servidor:/home/nosdigitais# oot@debian-servidor:/home/nosdigitais# cat  
/etc/apt/sources.list
bash: oot@debian-servidor:/home/nosdigitais#: Arquivo ou diretório não encontrado
root@debian-servidor:/home/nosdigitais# # Midia
root@debian-servidor:/home/nosdigitais# oot@debian-servidor:/home/nosdigitais# cat
/etc/apt/sources.list
bash: oot@debian-servidor:/home/nosdigitais#: Arquivo ou diretório não encontrado
root@debian-servidor:/home/nosdigitais# exit
exit
nosdigitais@debian-servidor:~$ clear

Depois:

nosdigitais@debian-servidor:~$





 
Sistema-icon.png

cp – o comando cp é usado para copiar arquivos e diretórios. Seu uso principal se dá da seguinte maneira:

# cp [/arquivo_de_origem] [/arquivo_de_destino]

Vamos copiar o arquivo teste.txt que está situado na pasta /home/nosdigitais para a pasta /home/nosdigitais/Desktop.

root@debian-servidor:/home/nosdigitais# cp /home/nosdigitais/teste.txt /home/nosdigitais/Desktop

Veja que uma cópia do arquivo foi colocada em /home/nosdigitais/Desktop:

root@debian-servidor:/home/nosdigitais# ls /home/nosdigitais/Desktop
teste.txt
root@debian-servidor:/home/nosdigitais#
Sistema-icon.png

date – o comando date retorna o ano, o mês, o dia, a hora, os minutos e os segundos do instante em que é usado.

root@debian-servidor:/home/nosdigitais# date
Dom Ago  9 16:48:58 BRT 2009
Usuario-e-grupos.png

deluser – o comando deluser é usado para apagar usuários cadastrados no sistema.

root@debian-servidor:/home/nosdigitais# deluser jose
Removing user `jose' ...
Concluído.
root@debian-servidor:/home/nosdigitais#
Sistema-icon.png df
Sistema-icon.png dmesg
Rede-icon2.png dnsdomainname
Sistema-icon.png du
Sistema-icon.png echo
Sistema-icon.png find
Sistema-icon.png finger
Sistema-icon.png free
Editor-texto90px.png grep
Usuario-e-grupos.png groupdel
Usuario-e-grupos.png groups
Sistema-icon.png halt
Editor-texto90px.png head
Sistema-icon.png hostname
Usuario-e-grupos.png id
Rede-icon2.png ifconfig
Rede-icon2.png ifdown
Rede-icon2.png ifup
Sistema-icon.png jobs
Sistema-icon.png kill
Sistema-icon.png killall
Sistema-icon.png killall5
Editor-texto90px.png less
Editor-texto90px.png ln
Sistema-icon.png locate
logname
ls
lsmod
logname
logname
logname
logname
logname
logname
logname
logname
logname
logname
logname
logname
logname
logname
logname
logname
logname
logname
logname
logname
logname

1 - Nos sistemas GNU/Linux, chama-se de permissões os atributos que um arquivo têm em relação a sua possibilidade de uso pelo criador/dono do arquivo, por integrantes de grupos cujo arquivo possa pertencer ou mesmo por usuários em geral. Para visualizar as permissões de um arquivo é possível utilizar o comando ls.