Cesar H. Kállas - opensrc@gmx.net

Curso GNU/Linux

Realização

CAECOMP

Puc Campinas – 2004

Capítulo 4

Comandos Básicos	3

Convenção	3

Comandos Internos	3

Comandos Externos	3

Obtendo Ajuda	3

man	4

info	4

whatis	4

Comandos de Navegação	4

cd	5

pwd	5

ls ou dir	5

Comandos para iniciar, reinicializar ou desligar o computador	5

logout	6

exit	6

reboot	6

halt	6

shutdown	6

Comandos para manipulação de arquivos e diretórios	6

touch	6

rm	6

mkdir	6

rmdir	6

mv	6

cp	6

ln	7

Comandos para localização de arquivos	7

find	7

whereis	7

Comandos do terminal, data e hora	7

clear	7

date	8

cal	8

Comandos para informações do sistema	8

uname	8

free	8

df	8

du	9

w - who	9

last	9

dmesg	9

Comandos para administração	9

passwd	9

adduser	9

useradd	9

userdel	10

chmod	10

chown	10

chgrp	10

Montagem de sistemas de arquivos	10

mount	10

umount	10

Compactação de arquivos	11

tar	11

Compactar em tar.gz	11

Compactar em tar.bz2	11

Descompactar tar.gz	11

Descompactar tar.bz2	11

zip	11

Compactar em zip	11

Descompactar zip	11

Ambiente gráfico	11

X Window	12

O Servidor X	12

O gerenciador de Janelas	12

A aplicação cliente	12

Configuração do Servidor X	14

Iniciando o X	14

Alterando gerenciador de janelas	14

KDE	15

Comandos Básicos

Existem vários comandos no Sistema Operacional Linux/Unix, em relação a eles podemos destacar dois tipos:

Convenção

Quando o shell do usuário for procedido do caracter #, significa que o mesmo é o superusuário root, e comando somente poderá ser executado por ele. Exemplo: [root@linux root]#

Quando o shell do usuário for procedido do caracter $, significa que o mesmo é um usuário comum, e comando poderá ser executado por qualquer usuário. Exemplo: [chk@linux chk]$

Comandos Internos

São aqueles que são interpretados pelo Shell (exemplo: bash). Quando o Shell é carregado na memória, seus comandos passam a ser residentes também na memória e reconhecidos pelo interpretador de comandos. A vantagem desses tipos de comandos é a velocidade, já que não precisam ser consultados no disco e não criam processos. Exemplo: cd , kill .

Comandos Externos

São comandos que ficam no próprio disco rígido, normalmente em /bin e /sbin . São a maioria dos comandos Linux. Exemplo: ls ,ps, rm .

Obtendo Ajuda

São úteis quando o usuário necessita de mais informações sobre o comando e suas opções.

A dica básica, é sempre colocar --help na frente de cada comando.

man usage: man [-adfhktwW] [section] [-M path] [-P pager] [-S list] [-m system] [-p string] name ... Obtém informações de manuais do sistema(páginas de manual). Para sair digite <q>. Exemplo: $ man ls

info Usage: info [OPTION]... [MENU-ITEM...] Exibe informações de um comando. Para sair pressiona <q>. Exemplo: $ info cd $ info
whatis usage: whatis keyword ... Consulta um banco de dados no sistema. Esse banco de dados deve ser atualizado sempre que possível com o comando makewhatis (com root). É um comando que fornece uma ajuda mais simplificada. Exemplo: $ whatis ls

Comandos de Navegação

cd usage: cd [-L|-P] [dir] Muda de diretório. Exemplos: $ cd Vai para o diretório home do usuário, pode-se usar cd ~ $ cd /etc Entra no diretório diretório etc localizado na raiz. $ cd faculdade Entra no diretório faculdade. $ cd .. Vai para o diretório anterior ao atual.
pwd usage: pwd [-PL] Exibe o caminho do diretório atual. Exemplo: $ pwd
ls ou dir usage: ls [OPÇÃO]... [ARQUIVO]... Exibe o conteúdo dos diretórios. Exemplo: $ ls $ ls -a (exibe arquivos oculos) $ ls -l (mostra informações de permissões de arquivos e diretórios) $ ls -r (mostra em ordem alfabética inversa)

Comandos para iniciar, reinicializar ou desligar o computador

logout usage: logout Termina a sessão do usuário. Exemplo: $ logout
exit usage: exit Encerra o shell de comandos corrente. Exemplo: $exit
reboot usage: reboot [-n] [-w] [-d] [-f] [-i] [-p] Reinicializa o computador. Tente também CTRL + ALT + DEL . Exemplo: $ reboot
halt usage: halt [-n] [-w] [-d] [-f] [-i] [-p] Desliga o computador Exemplo: $ halt
shutdown usage: shutdown [-akrhfnc] [-t secs] time [warning message] Usado para reiniciar ou desligar o computador. Exemplo: shutdown -h now (desliga) - shutdown -r now (reinicia)

Comandos para manipulação de arquivos e diretórios

touch usage: touch [-acm] MMDDhhmm[YY] FILE Atualiza a última data de acesso ao arquivo. Caso o arquivo não exista, será criado vazio. Exemplo: $ touch linux.txt
rm usage: rm [OPÇÃO]... ARQUIVO... Remove arquivos ou diretórios com arquivos dentro. Exemplo: $ rm linux.txt $ rm -rf diretório/ (-r é para apagar recursivamente e -f para não pedir confirmação)
mkdir usage: mkdir [OPÇÃO] DIRETÓRIO... Cria diretórios. Exemplo: $ mkdir exercicios
rmdir usage: rmdir [OPÇÃO]... DIRETÓRIO... Remove diretórios vazios. Para diretórios cheios veja rm. Exemplo: $ rmdir exercicios
mv usage: mv [OPÇÃO]... FONTE DESTINO Move ou renomeia arquivos e diretórios. Exemplos: $ mv linux.txt /etc ( move linux.txt para o diretório etc dentro da raiz / ) $ mv linux.txt redhat.txt (renomeia o arquivo linux.txt para redhat.txt )
cp usage: cp [OPÇÃO]... FONTE DESTINO Copia um ou mais arquivos. Exemplo: cp linux.txt /home/tux/ (copia o arquivo linux.txt para o diretório tux dentro do home)
ln usage: ln [OPÇÃO]... ALVO [NOME_LINK] ou: ln [OPÇÃO]... ALVO... DIRETÓRIO ou: ln -d [OPÇÃO]... --target-directory=DIRETÓRIO ALVO... Cria um link para o DESTINO específico com NOME_DE_LINK opcional. Se existir mais de um DESTINO, o último parâmetro deve ser um diretório; cria links em DIRETÓRIO para cada DESTINO. Cria links por padrão, ou simbólicos com --symbolic. Quando criando links, cada DESTINO deve existir. Pense em link como atalho. Exemplos: $ ln /home/usuario/linux.txt /etc/redhat.txt (o arquivo redhat.txt terá o mesmo conteúdo do linux.txt, mas se você apagar qualquer deles, o outro permanecerá) $ ln -s /etc/passwd usuarios.txt (link simbólico)

Comandos para localização de arquivos

find usage: find [caminho...] [expressão] Localiza arquivos. Exemplo: $ find /usr -name linux* (localiza no diretório usr todos arquivos que começam com linux)
whereis usage: whereis [ -sbmu ] [ -SBM dir ... -f ] nome... Localiza arquivo binário, e a página do manual. Exemplo: $ whereis licq

Comandos do terminal, data e hora

clear usage: clear Limpa a tela (modo texto) do terminal atual. Exemplo: $ clear

date usage: date [OPÇÃO]... [+FORMATO] Exibe e altera data e hora do sistema. Exemplo: $ date # date -s “17:54” (altera a hora para 17:54) # date MMDDHHmmAAAA (altera data completa - Mês, Dia, Hora, minuto, Ano)
cal usage: cal [-13smjyV] [[month] year] Mostra calendário da data atual do sistema. Exemplos: $ cal (mostra calendário do mês corrente) $ cal MM AAAA (mostra data do Mês e Ano descritos)

Comandos para informações do sistema

uname usage: uname [OPÇÃO]... Retorna informações do sistema e do hardware utilizado, inclusive versão do kernel. Exemplo: $ uname -a (opção -a para exibir todas informações)
free usage: free [-b|-k|-m] [-o] [-s delay] [-t] [-V] Informa tamanho e quantidade utilizada de memória ram e swap pelo sistema. Exemplo: $ free -m (exibe informações em megabytes -m)
df usage: df [options] [file...] Exibe informações sobre partições montadas no sistema. Tamanho utilizado, total, livre e aonde está montado. Exemplo: $ df -h (opção -h para melhor visualização)
du usage: du [OPÇÃO]... [ARQUIVO]... Retorna tamanho utilizado no disco pelo arquivo ou diretório. Exemplo: $ du -h /etc (retorna tamanho total do diretório etc, com a opção -h de human visible)
w ou who usage: w -hlsufV [user Exibe usuários conectados no sistema. Exemplo: $ w ou $ who
last usage: last [-num | -n num] [-f file] [-R] [-x] [-o] [username..] [tty..] Exibe lista com últimos acessos de usuários ao sistema. Exemplo: $ last
dmesg usage: dmesg [-c] [-n level] [-s bufsize] Mostra detalhes sobre a útlima inicialização do sistema. Exemplo: $ dmesg

Comandos para administração

passwd usage: passwd [-f|-s] [name] Troca senha do usuário. Exemplo: $ passwd
adduser usage: adduser [login] Cria novo usuário, use também useradd. Exemplo: # adduser joao
useradd usage: useradd [-u uid [-o]] [-g group] [-G group,...] [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] name Exemplo: #useradd joao -u 11 -g users -d /home/joao -s /bin/shell -p senha
userdel usage: userdel [-r] name Apaga usuário do sistema. Exemplo: # userdel joao
chmod usage: chmod [OPÇÃO]... MODO[,MODO]... ARQUIVO... Troca permissões de cada arquivo (rwx). Exemplo: $ chmod +rwx linux.txt (dá permissão para todos usuários para ler, escrever e executar o linux.txt) $ chmod u-rw slackware.sh (retira permissão do dono do slackware.sh, ler e escrever) $ chmod a+r internet.conf (permite que todos leiam o internet.conf) $ chmod g-x licq (retira a permissão de executar o licq, para o grupo)
chown usage: chown [OPÇÃO]... DONO[:[GRUPO]] ARQUIVO.. Muda dono do arquivo. Exemplo: $ chown joao internet.txt ( joao passa a ser o dono do arquivo internet.txt)
chgrp usage: chgrp [OPÇÃO]... GRUPO ARQUIVO... Muda grupo do arquivo. Para vários grupos, use a vírgula. Exemplo: $ chgrp users internet.txt (internet.txt passa a ser do grupo users)

Montagem de sistemas de arquivos

mount usage: mount [-fnrsvw] [-t vfstype] [-o options] device dir Monta sistema de arquivos e mídias. (cdrom, disquete, outra partição) Exemplo: # mount /dev/hdc /mnt/cdrom
umount usage: umount -a [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts] Desmonta sistema de arquivo. Exemplo: # umount /dev/hdc

Compactação de arquivos

tar usage: tar [OPÇÃO]... [ARQUIVO]... Compacta e descompacta arquivos. Veja as opções do tar com a opção -–help. Exemplos: Compactar em tar.gz $ tar cvzf NOME.tar.gz arquivo.txt (ou diretório) Compactar em tar.bz2 $ tar cvjf NOME.tar.bz2 arquivo.txt (ou diretório) Descompactar tar.gz $ tar xvzf NOME.tar.gz Descompactar tar.bz2 $ tar xvjf NOME.tar.bz2
zip Compactar em zip $ zip NOME.zip arquivo.txt (ou diretório) Descompactar zip $ unzip NOME.zip

Ambiente gráfico

Desde o início do desenvolvimento do UNIX, o Unix era considerado um Sistema Operacional, forte robusto e muito estável, mas havia um grande problema, ele rodava apenas em modo texto, isto é, para um usuário com poucos conhecimentos no assunto ficaria impossível utilizar este Sistema Operacional.

Este problema em especial já foi resolvido. Hoje, há muitos programas para leitura de notícias, como o tin e o knews , que oferecem uma interface gráfica (GUI) intuitiva e fácil de usar.

X Window

É um sistema gráfico de janelas que roda em uma grande faixa de computadores, máquinas gráficas e diferentes tipos de máquinas e plataformas Unix. Pode tanto ser executado em máquinas locais como remotas através de conexão em rede.

No Linux, o modo gráfico (X Window) é dividido em três componentes: o servidor gráfico, o gerenciador de janelas e a aplicação.

O Servidor X - É o programa que controla a exibição dos gráficos na tela, mouse e teclado. Ele se comunica com os programas cliente através de diversos métodos de comunicação.

O servidor X pode ser executado na mesma máquina que o programa cliente esta sendo executado de forma transparente ou através de uma máquina remota na rede. No Linux o servidor X da maior parte das distribuições é o Xfree86 (gratuito), apesar de existirem outros, inclusive comerciais.

O gerenciador de Janelas - É o programa que controla a aparência da aplicação. Os gerenciadores de janelas (window managers) são programas que atuam entre o servidor X e a aplicação. Você pode alternar de um gerenciador para outro sem fechar seus aplicativos.

Existem vários tipos de gerenciadores de janelas disponíveis no mercado entre os mais conhecidos posso citar o Window Maker (feito por um Brasileiro), o After Step, Gnome, KDE, twm (este vem por padrão quando o servidor X é instalado), Enlightenment, IceWm, etc. A escolha do seu gerenciador de janelas é pessoal, depende muito do gosto de cada pessoa e dos recursos que deseja utilizar.

A aplicação cliente - É o programa sendo executado. (navegador de internet, editor de texto, etc).

Esta organização do ambiente gráfico X traz grandes vantagens de gerenciamento e recursos no ambiente gráfico Linux, uma vez que tem estes recursos você pode executar seus programas em computadores remotos, mudar totalmente a aparência de um programa sem ter que fecha-lo (através

Configuração do Servidor X

Durante a instalação do Linux o servidor X éconfigurado, porém às vezes é necessário refinar as configurações iniciais, ou mesmo reconfigurá lo novamente, devido à configuração inicial ter sido incorreta.

Também pode ser necessário reconfigurá lo ao efetuar alterações no hardware da máquina, como troca de teclado, mouse, placa de vídeo ou monitor, por outros de características diferentes dos anteriormente instalados.

Além disso, pode ser necessário corrigir o posicionamento da janela dentro da tela, principalmente se o computador é utilizado com outros sistemas operacionais, para evitar ajustes no monitor de vídeo a cada vez que se alterne entre o modo texto e o modo gráfico, ou entre o Linux e outros sistemas operacionais.

As configurações do sistema X Window ficam armazenadas no arquivo XF86Config o qual geralmente está localizado em /usr/X11R6/lib/X11 ou em /etc/X11. Para auxiliar na tarefa de configuração do X Window, foram desenvolvidos alguns programas, dentre os quais podemos citar o Xconfigurator, xf86config, o XF86Setup e mais recentemente, o xf86cfg.

Iniciando o X

O sistema gráfico X pode ser iniciado de duas maneiras:

Automática - Usando o programa xdm que é um programa que roda no ambiente gráfico X e apresenta uma tela pedindo nome e senha para entrar no sistema (login). Após entrar no sistema, o X executará um dos gerenciadores de janelas configurados.

Para isso, edite o arquivo /etc/inittab e mude a linha

# Default runlevel. (Do not set to 0 or 6)

id:3:initdefault:

para

# Default runlevel. (Do not set to 0 or 6)

id:5:initdefault:

Manual - Através do comando startx, ou xstart . Neste caso o usuário deve entrar com seu nome e senha para entrar no modo texto e então executar um dos comandos acima. Após executar um dos comandos acima, o servidor X será iniciado e executará um dos gerenciadores de janelas configurados no sistema.

Alterando gerenciador de janelas

Para alterar qual gerenciador de janelas você deseja iniciar basta digitar o comando switchdesk gerenciador, aonde gerenciador pode ser kde, gnome, fluxbox etc.

Uma segunda maneira de fazer isso é criando um arquivo .xinitrc no diretório do seu usuário e colocando dentro do arquivo a linha: exec starkde ou exec fluxbox (para iniciar respectivamente os gerenciadores de janela).

KDE

Em Outubro de 1996, o programador alemão Matthias Ettrich, criador do LyX, iniciou o desenvolvimento do KDE com uma mensagem na USENET. Logo depois, dois outros programadores interessados na coisa começaram a planejar e programar partes do novo projeto. Um ano depois, o gerenciador de janelas, o gerenciador de arquivos, o emulador de terminal, o sistema de ajuda e a ferramenta de configuração da tela foram liberados para alfa- e beta-teste, e provaram ser relativamente estáveis.

Os desenvolvedores e usuários interessados comunicam-se por várias listas de discussão, listadas na seção Contactando os autores. Se você quiser ajudar, por favor faça-o! Nós ainda estamos procurando por ajudantes.

O KDE é software livre, sob a Licença Pública Geral GNU (GPL), que é incluída com cada componente do KDE. Você pode copiar e distribuir o KDE e seus componentes a seu gosto, desde que você sempre inclua o código-fonte completo. Veja a seção Licença Pública Geral GNU (GPL) no Apêndice para maiores detalhes.

O site principal do KDE é http://www.kde.org. Lá você pode encontrar todas as informações relativas ao KDE, incluindo anúncios, soluções de problemas (bugs), informações de desenvolvimento, guias de estilo, uma quantidade considerável de documentação (inclusive a versão mais nova deste livro), e muito mais. Para atualizações de software, queira visitar nosso site FTP, ftp://ftp.kde.org ou use um "mirror" (espelho) se existir um mais perto de você.

O diretório unstable (instável) sempre contém softwares novos, mas em estado de teste, e que talvez nem compilem. Se você estiver procurando por componentes mais estáveis, queira olhar o diretório stable (estável), onde nós colocamos versões beta e definitivas dos componentes.

Se você estiver interessado em desenvolver aplicações para o KDE, você deve visitar também o servidor da Troll Tech (http://www.troll.no), que oferece grande volume de informação sobre a biblioteca Qt, utilizada pelo KDE. Para trabalhos de desenvolvimento, também é recomendável juntar-se à lista de discussão dos desenvolvedores.

3

2003-10-26T20:00:08