                      Aos iniciantes em FreeBSD e UNIX(R)

  Annelise Anderson

   <andrsn@andrsn.stanford.edu>

   Revisao: 3090d8e8b5

   FreeBSD is a registered trademark of the FreeBSD Foundation.

   IBM, AIX, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks of
   International Business Machines Corporation in the United States, other
   countries, or both.

   Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media and
   Windows NT are either registered trademarks or trademarks of Microsoft
   Corporation in the United States and/or other countries.

   Motif, OSF/1, and UNIX are registered trademarks and IT DialTone and The
   Open Group are trademarks of The Open Group in the United States and other
   countries.

   Many of the designations used by manufacturers and sellers to distinguish
   their products are claimed as trademarks. Where those designations appear
   in this document, and the FreeBSD Project was aware of the trademark
   claim, the designations have been followed by the "(TM)" or the "(R)"
   symbol.

   2018-12-12 15:44:46 +0000 por Edson Brandi.
   Resumo

   Parabens por instalar o FreeBSD! Esta introduc,ao e para iniciantes em
   FreeBSD e UNIX(R)-entao vamos comec,ar do basico.

   [ Documento HTML em partes / Documento HTML completo ]

     ----------------------------------------------------------------------

   Indice

   1. Logando e Deslogando

   2. Adicionando um usuario com privilegios de Root

   3. Explorando

   4. Obtendo ajuda e informac,oes

   5. Editando textos

   6. Outros comandos uteis

   7. Proximos Passos

   8. Seu ambiente de trabalho

   9. Outros

   10. Comentarios sao bem-vindos

1. Logando e Deslogando

   Entre com o usuario que voce criou na instalac,ao (quando voce visualizar
   o prompt login:) ou como root. (Sua instalac,ao do FreeBSD ja tera uma
   conta para o root; esse usuario pode ir a qualquer lugar e fazer qualquer
   coisa, incluindo deletar arquivos essenciais do sistema, entao tenha
   cuidado!) Os simbolos % e # no prompt (o seu pode ser diferente) indicam o
   tipo do usuario logado, o simbolo % indica um usuario comum e # indica que
   o usuario e root.

   Para se sair (e obter um novo login:), digite

 # exit

   quantas vezes forem necessarias. Pressione enter apos digitar os comandos,
   e lembre-se que o UNIX(R) diferencia letras maiusculas de minusculas,
   entao, digite exit, e nao EXIT.

   Para desligar o computador, digite

 # /sbin/shutdown -h now

   Ou para reiniciar, digite

 # /sbin/shutdown -r now

   ou

 # /sbin/reboot

   Voce tambem pode reiniciar com Ctrl+Alt+Delete. Aguarde um instante para a
   conclusao do processo. Esta sequencia de teclas e equivalente ao
   /sbin/reboot nas versoes recentes do FreeBSD, e claro, este procedimento e
   muito, mas muito melhor do que simplesmente pressionar o botao reset do
   seu computador. Voce nao quer ter que reinstalar o sistema, nao e mesmo?

2. Adicionando um usuario com privilegios de Root

   Se voce nao criou um usuario quando instalou o sistema operacional e esta
   logado como root, voce provavelmente deve criar um usuario com

 # adduser

   A primeira vez que voce usar o comando adduser, ele podera solicitar
   alguns padroes para salvar. Voce pode querer tornar o csh(1) no shell
   padrao ao inves do sh(1), se for sugerido o sh como padrao. Caso
   contrario, basta pressionar enter para aceitar cada padrao. Esses padroes
   sao salvos em /etc/adduser.conf, um arquivo editavel.

   Suponha que voce crie um usuario jack, o qual possui Jack Benimble como
   nome completo. De a jack uma senha se a seguranc,a (ate mesmo crianc,as ao
   redor que podem esbarrar no teclado) for um problema. Quando perguntarem
   se voce deseja convidar jack para outros grupos, digite wheel

 O grupo de login e "jack". Convide o jack para outros grupos: wheel

   Isso tornara possivel efetuar login como jack e usar o comando su(1) para
   tornar-se root. Dessa forma, voce nao sera mais repreendido por fazer
   login como root.

   Voce pode sair do adduser a qualquer momento digitando Ctrl+C, e no final
   voce tera a chance de aprovar seu novo usuario ou simplesmente digitar n
   para nao cria-lo. Voce pode querer criar um segundo novo usuario para que
   ao editar os arquivos de login do jack, voce tenha um login de reserva
   caso algo de errado.

   Depois de fazer isso, use exit para voltar a um prompt de login e efetuar
   login como jack. Em geral, e uma boa ideia fazer o maximo possivel de
   trabalho como um usuario comum que nao tenha o poder --e o risco-- do
   usuario root.

   Se voce ja criou um usuario e deseja que o usuario seja capaz de executar
   o comando su para logar-se como root, e possivel efetuar login como root e
   editar o arquivo /etc/group, adicionando jack `a primeira linha (no grupo
   wheel). Mas primeiro voce precisa praticar com o vi(1), o editor de texto
   - ou usar um editor de texto mais simples, como por exemplo, o ee(1),
   instalado em versoes recentes do FreeBSD.

   Para excluir um usuario, use o comando rmuser.

3. Explorando

   Logado como um usuario comum, explore e experimente alguns comandos que
   acessarao as fontes de ajuda e informac,oes dentro do FreeBSD.

   Aqui estao descritos alguns comandos e o que eles fazem:

   id

           Diz a voce quem voce e!

   pwd

           Mostra onde voce esta-quanto ao diretorio atual de trabalho.

   ls

           Lista os arquivos presentes no diretorio atual.

   ls -F

           Lista os arquivos do diretorio atual com um * depois dos
           executaveis, um / depois dos diretorios, e um @ depois de links
           simbolicos.

   ls -l

           Lista os arquivos em formatos estendidos-tamanho, data,
           permissoes.

   ls -a

           Lista arquivos "dot" junto com os outros. Se voce e root, os
           arquivos com nome iniciando por um "ponto" serao mostradas sem a
           opc,ao -a.

   cd

           Altera o diretorio atual de trabalho. cd .. te leva ao diretorio
           antecessor do atual; note o espac,o depois de cd. cd /usr/local te
           leva a esse mesmo diretorio. cd ~ te leva ao diretorio home do
           usuario que voce esta logado-exemplo: /usr/home/jack. Tente cd
           /cdrom, e depois ls, para saber se o CDROM esta montado e
           funcionando.

   less filename

           Te permite ver um arquivo (chamado filename) sem altera-lo. Tente
           less /etc/fstab. Digite q para sair.

   cat filename

           Exibe o conteudo do arquivo filename na tela. Se o conteudo for
           longo a ponto de que voce consiga ler apenas o final, pressione
           ScrollLock e use up-arrow para retroceder; voce pode usar
           ScrollLock em paginas de manual tambem. Pressione ScrollLock
           novamente para parar de rolar. Voce tambem pode querer
           experimentar cat em alguns arquivos com nomes iniciados por ponto
           em seu diretorio home - cat .cshrc, cat .login, cat .profile.

   Voce notara os aliases em .cshrc para alguns dos comandos ls. (Eles sao
   muito convenientes). Voce pode criar aliases ao editar .cshrc. Voce pode
   disponibilizar esses aliases para todos os usuarios do sistema,
   colocando-os no arquivo de configurac,ao global do csh localizado em
   /etc/csh.cshrc.

4. Obtendo ajuda e informac,oes

   Aqui estao algumas fontes uteis de ajuda. A palavra Texto deve ser
   substituida por algo de sua escolha-geralmente um comando ou nome de
   arquivo.

   apropos texto

           Tudo que contem a palavra texto no whatis database.

   man texto

           Exibe a pagina de manual referente ao texto. A principal fonte de
           documentac,ao para os sistemas UNIX(R). O comando man ls lhe dira
           todas as maneiras de usar o comando ls. Pressione Enter para
           percorrer o texo, Ctrl+B para voltar a pagina anterior, Ctrl+F
           para avanc,ar, q ou Ctrl+C para sair.

   which texto

           Te informa em qual local no path do usuario o comando texto e
           encontrado.

   locate texto

           Todos os paths nos quais a string texto e encontrada.

   whatis texto

           Te informa o que o comando texto faz e sua pagina de manual.
           Digitando whatis * a saida do comando te informara sobre todos os
           binarios no diretorio atual.

   whereis texto

           Encontra o arquivo texto, te informando seu path completo.

   Voce pode experimentar usar whatis em alguns comandos uteis e comuns como
   cat, more, grep, mv, find, tar, chmod, chown, date, e script. more te
   permite ler uma pagina por vez como no DOS, exemplo: ls -l | more ou more
   filename. O simbolo * funciona como um caractere curinga-exemplo: ls w*
   mostrara os arquivos que comec,am com w.

   Alguns deles nao estao funcionado muito bem? Ambos locate(1) e whatis(1)
   dependem de um banco de dados que e reconstruido semanalmente. Se a sua
   maquina nao for ficar ligada nos fins de semana (e rodando FreeBSD), voce
   pode executar os comandos a seguir para que ela execute manutenc,oes
   diarias, semanais, mensais ou apenas de vez em quando. Execute-os como
   root e de a cada comando o tempo necessario para ser finalizado antes de
   executar o proximo.

 # periodic daily
 output omitted
 # periodic weekly
 output omitted
 # periodic monthly
 output omitted

   Se voce se cansar de esperar, pressione Alt+F2 para obter outro console
   virtual, e efetue seu login novamente. Afinal, e um sistema multi-usuario
   e multitarefa. No entanto, esses comandos provavelmente irao piscar
   mensagens na tela enquanto eles estiverem em execuc,ao; voce pode digitar
   clear no prompt para limpar a tela. Uma vez executados, voce pode querer
   olhar o conteudo do /var/mail/root e do /var/log/messages.

   A execuc,ao de tais comandos faz parte da administrac,ao do sistema-e como
   usuario unico de um sistema UNIX(R), voce e seu proprio administrador de
   rede. Praticamente tudo o que voce precisa para ser root e administrar o
   sistema. Tais responsabilidades nao sao abordadas nem mesmo naqueles
   livros gigantescos de UNIX(R), os quais parecem dedicar muito espac,o para
   menus e gerenciadores de janelas. Voce pode querer obter um dos dois
   principais livros sobre administrac,ao de sistemas, pode ser o Evi Nemeth
   et.al.'s UNIX System Administration Handbook (Prentice-Hall, 1995, ISBN
   0-13-15051-7)-a segunda edic,ao com a capa vermelha; ou o livro AEleen
   Frisch's Essential System Administration (O'Reilly & Associates, 2002,
   ISBN 0-596-00343-9). Eu usei Nemeth.

5. Editando textos

   Para configurar o seu sistema, voce precisara editar arquivos de texto. A
   maioria deles estara no diretorio /etc; e voce precisara utilizar o
   comando su para acessar o usuario root do sistema e assim poder
   altera-los. Voce pode utilizar um editor de texto simples, como o ee, mas
   a longo prazo, e recomendado aprender a utilizar o editor de texto vi.
   Existe um excelente tutorial do editor de texto vi disponivel em
   /usr/src/contrib/nvi/docs/tutorial, se voce tiver o codigo fonte do
   sistema instalado.

   Antes de editar um arquivo, e recomendado criar um backup do mesmo.
   Suponha que voce queira editar o /etc/rc.conf. Voce poderia usar apenas cd
   /etc para acessar o diretorio /etc e usar o seguinte comando:

 # cp rc.conf rc.conf.orig

   Isso iria copiar rc.conf para rc.conf.orig, e apos isso voce poderia
   copiar rc.conf.orig para rc.conf para recuperar o original. Mas melhor
   ainda seria mover (renomear) e depois copiar de volta:

 # mv rc.conf rc.conf.orig
 # cp rc.conf.orig rc.conf

   porque o comando mv preserva a data original e o proprietario do arquivo.
   Agora voce pode editar o rc.conf. Se voce quiser o original de volta, voce
   deve entao executar mv rc.conf rc.conf.myedit (considerando que voce quer
   preservar sua versao editada) e entao

 # mv rc.conf.orig rc.conf

   para colocar as coisas de volta da maneira que estavam.

   Para editar um arquivo, digite

 # vi filename

   Movimente-se atraves do texto com as teclas direcionais. Esc (a tecla de
   escape) coloca o editor vi em modo de comando. Aqui estao alguns comandos:

   x

           deleta a letra localizada onde o cursor esta

   dd

           Apaga a linha inteira (mesmo se ela nao estiver por inteiro
           aparecendo na tela)

   i

           Insere um texto na posic,ao do cursor

   a

           Insere um texto apos a posic,ao do cursor

   Uma vez que voce digitou i ou a, voce pode entrar com o texto. Se voce
   pressionar Esc voce colocara novamente o editor em modo de comando, e la
   sera onde voce ira digitar

   :w

           para escrever suas alterac,oes no disco e continuar editando

   :wq

           para gravar e sair

   :q!

           para sair do arquivo sem salvar as alterac,oes

   /texto

           para mover o cursor para a primeira ocorrencia da palavra texto;
           /Enter (a tecla Enter) para encontrar a proxima ocorrencia da
           palavra texto.

   G

           para ir para o final do arquivo

   nG

           para ir para a linha n dentro do arquivo em edic,ao, onde n e um
           numero

   Ctrl+L

           para recarregar a tela

   Ctrl+b and Ctrl+f

           retrocede e avanc,a uma tela, como fazem com more e view.

   Pratique com o vi em seu diretorio home criando um novo arquivo com vi
   filename e adicionando e excluindo texto, salvando o arquivo, e o chamando
   novamente. O vi oferece algumas surpresas porque ele realmente e muito
   complexo e, `as vezes, voce ira executar um comando que fara algo que voce
   nao espera. (Algumas pessoas realmente gostam do vi- e mais poderoso que o
   DOS EDIT - saiba mais sobre o comando :r). Use Esc uma ou mais vezes para
   ter certeza de que voce esta no modo de comando e prossiga dali quando ele
   lhe der problema, salve frequentemente com :w, e use :q! para sair e
   comec,ar novamente (do seu ultimo :w) quando voce precisar.

   Agora voce pode usar o comando cd para ir para o /etc, use o comando su
   para logar como root, use o vi para editar o arquivo /etc/group, e
   adicione um usuario ao grupo wheel, assim, o usuario tera privilegios de
   root. Basta adicionar uma virgula e o nome do login do usuario ao final da
   primeira linha do arquivo, pressione Esc, e use :wq para salvar as
   alterac,oes no disco e sair. Instantaneamente eficaz. (Voce nao colocou um
   espac,o apos a virgula, colocou?)

6. Outros comandos uteis

   df

           mostra o espac,o dos sistemas de arquivos que estao montados.

   ps aux

           mostra os processos em execuc,ao. O ps ax e uma forma mais basica
           do comando.

   rm filename

           deleta o arquivo filename.

   rm -R dir

           remove o diretorio dir e todos os subdiretorios - use com cuidado!

   ls -R

           lista os arquivos no diretorio atual e em todos os subdiretorios;
           Eu usei uma variante, ls -AFR > where.txt, para obter uma lista de
           todos os arquivos no diretorio / e /usr (separadamente) antes de
           encontrar melhores maneiras de encontrar arquivos.

   passwd

           para mudar a senha do usuario (ou a senha do usuario root).

   man hier

           exibe as paginas do manual para o sistema de arquivos UNIX(R) e
           sua estrutura hierarquica.

   Use o comando find para localizar filename no diretorio /usr e nos seus
   subdiretorios:

 % find /usr -name "filename"

   Voce pode usar * como um caractere curinga em "filename" (que deve estar
   entre aspas). Se voce utilizar o comando find para procurar no / em vez de
   /usr ele procurara o(s) arquivo(s) em todos os sistemas de arquivos
   montados, incluindo o CDROM e a partic,ao DOS.

   Um excelente livro que explica os comandos e demais utilitarios do UNIX(R)
   e o Abrahams & Larson, Unix for the Impatient (Addison-Wesley, 1996,
   segunda edic,ao). Ha tambem toneladas de informac,oes na internet sobre o
   UNIX(R).

7. Proximos Passos

   Agora voce deve ter as ferramentas necessarias para explorar e editar
   arquivos, para que voce possa colocar tudo em funcionamento. Ha uma grande
   quantidade de informac,oes no Handbook do FreeBSD (que provavelmente esta
   no seu disco rigido) e no site oficial do FreeBSD. Uma grande variedade de
   pacotes e ports estao no CD-ROM e no site. O Handbook traz mais
   informac,oes sobre como usa-los (obtenha o pacote, se existir, com o
   comando pkg_add /cdrom/packages/All/packagename, onde packagename e o nome
   do pacote). O CDROM possui listas de pacotes e ports com descric,oes
   breves em cdrom/packages/index, cdrom/packages/index.txt, e
   cdrom/ports/index, e descric,oes completas em /cdrom/ports/*/*/pkg/DESCR,
   onde os *s representam subdiretorios de tipos de programas e nomes de
   programas, respectivamente.

   Se voce achar o handbook muito sofisticado (com isso do lndir e tudo mais)
   ao instalar os ports do CDROM, veja a seguir o que geralmente funciona:

   Encontre o port que voce deseja, digamos o kermit. Havera um diretorio
   para ele no CDROM. Copie o subdiretorio para /usr/local (este e um bom
   lugar para softwares que voce adicione no sistema e que devem estar
   disponiveis para todos os usuarios) com:

 # cp -R /cdrom/ports/comm/kermit /usr/local

   Isto deve resultar em um subdiretorio /usr/local/kermit que possui todos
   os arquivos que o subdiretorio kermit no CDROM possui.

   Em seguida, crie o diretorio /usr/ports/distfiles se ele ainda nao existir
   usando o comando mkdir. Agora verifique em /cdrom/ports/distfiles um
   arquivo com um nome que indique o port que voce deseja. Copie esse arquivo
   para /usr/ports/distfiles; voce pode pular esse passo em versoes recentes,
   pois o FreeBSD fara isso para voce. No caso do kermit, nao existe um
   distfile.

   Em seguida, use o comando cd para ir para o subdiretorio /usr/local/kermit
   que contem o arquivo Makefile. Digite

 # make all install

   Durante este processo, o port ira usar o FTP para obter os arquivos
   compactados de que precisa e que ele nao encontrou no CDROM ou no
   /usr/ports/distfiles. Se a sua rede ainda nao esta configurada e nao havia
   nenhum arquivo para o port em /cdrom/ports/distfiles, voce tera que pegar
   o distfile usando outra maquina e copia-lo manualmente para
   /usr/ports/distfiles. Leia o Makefile (com cat ou more ou view) para
   descobrir onde ir (o principal site de distribuic,ao) para obter o arquivo
   e o nome dele. (Use transferencias binarias de arquivos!) Em seguida volte
   para o diretorio /usr/local/kermit, encontre o diretorio com Makefile, e
   digite make all install.

8. Seu ambiente de trabalho

   Seu shell e a parte mais importante do seu ambiente de trabalho. O shell e
   o que interpreta os comandos que voce digita na linha de comando e, assim,
   se comunica com o restante do sistema operacional. Voce tambem pode
   escrever scripts de shell, que consiste em uma serie de comandos para
   serem executados sem intervenc,ao.

   Dois shells vem instalados com o FreeBSD: csh e sh. csh e bom para
   trabalhos na linha de comando, mas scripts devem ser escritos com o sh (ou
   bash). Voce pode descobrir qual shell voce utiliza executando o comando
   echo $SHELL.

   O csh e bom, mas o tcsh faz tudo que o csh faz e ainda mais. Ele permite
   recuperar comandos com as teclas de seta e edita-los. Ele permite usar a
   tecla tab para completar o nome dos arquivos (o csh usa a tecla Esc), e
   permite alternar o diretorio em que voce estava por ultimo com o comando
   cd -. E tambem e muito mais facil alterar o seu prompt com o tcsh. Ele
   tornara sua vida muito mais facil.

   Aqui estao os dois passos para instalar um novo shell:

    1. Instale o shell como um port ou um pacote, como faria com qualquer
       outro port ou pacote.

    2. Use o comando chsh para alterar permanentemente seu shell para tcsh,
       ou digite tcsh no prompt para alterar seu shell sem precisar efetuar
       login novamente.

  Nota:

   Pode ser perigoso alterar o shell do usuario root para outro diferente do
   sh ou csh nas primeiras versoes do FreeBSD e tambem em muitas outras
   versoes do UNIX(R); talvez voce nao tenha um shell funcional quando o
   sistema entrar em modo de single user. A soluc,ao e usar su -m para se
   tornar root, o que lhe dara o tcsh como root, por que o shell faz parte do
   ambiente. Voce pode tornar isso permanente adicionando-o ao seu arquivo
   .tcshrc como um alias, para isso, execute:

 alias su su -m

   Quando o tcsh e iniciado, ele le os arquivos /etc/csh.cshrc e
   /etc/csh.login, assim como o csh. Ele tambem lera o arquivo .login no seu
   diretorio home e tambem o arquivo .cshrc, a menos que voce fornec,a um
   arquivo .tcshrc. Voce pode fazer isso simplesmente copiando o .cshrc para
   .tcshrc.

   Agora que voce instalou o tcsh, voce pode ajustar o seu prompt. Voce pode
   encontrar os detalhes na pagina de manual do tcsh, mas aqui esta uma linha
   para colocar em seu .tcshrc que informara quantos comandos voce digitou,
   qual o horario atual, e em qual diretorio voce esta. Ele tambem produz um
   > se voce for um usuario comum e #se voce for root,mas o tcsh fara isso em
   qualquer caso:

   set prompt = "%h %t %~ %# "

   Isso deve ir no mesmo lugar em que esta a linha de prompt atual caso
   exista uma, ou logo abaixo de "if($?prompt) then" caso ela nao exista.
   Comente a linha antiga; voce sempre pode voltar a ela se preferir. Nao
   esquec,a os espac,os e as aspas. Voce pode forc,ar a releitura do .tcshrc
   digitando source .tcshrc.

   Voce pode obter uma listagem de outras variaveis de ambiente que estao
   configuradas digitando env no prompt. O resultado mostrara seu editor
   padrao, pager e tipo de terminal, entre possivelmente muitas outras
   variaveis. Um comando util se voce efetuar o seu login a partir de um
   local remoto e nao puder executar um programa porque o terminal nao e
   capaz de faze-lo e o setenv TERM vt100.

9. Outros

   Como root, voce pode desmontar o CDROM com o comando /sbin/umount /cdrom,
   retire-o da unidade, insira outro e monte-o com /sbin/mount_cd9660
   /dev/cd0a /cdrom considerando que cd0a e o nome do dispositivo da sua
   unidade de CDROM. As versoes mais recentes do FreeBSD permitem montar o
   CDROM apenas com o comando /sbin/mount /cdrom.

   Usar o live filesystem - o segundo dos discos de CDROM do FreeBSD - e util
   se voce tiver espac,o limitado. O que esta no live filesystem varia de
   release para release. Voce pode tentar jogar jogos a partir do CDROM. Isso
   envolve o uso do lndir, que e instalado com o X Window System, para
   informar ao(s) programa(s) onde encontrar os arquivos necessarios, porque
   eles estao no sistema de arquivos do /cdrom em vez do /usr e seus
   subdiretorios, que e onde eles devem estar. Leia o manual deste utilitario
   executando man lndir.

10. Comentarios sao bem-vindos

   Caso voce venha a usar este guia, eu estaria interessada em saber onde ele
   pode nao ter ficado claro e o que foi deixado de fora que voce acha que
   deveria ser incluido, e se ele foi util para voce. Meus agradecimentos a
   Eugene W. Stark, professor de ciencia da computac,ao na SUNY-Stony Brook,
   e tambem ao John Fieber pelos comentarios uteis.

   Annelise Anderson, <andrsn@andrsn.stanford.edu>
