---
authors:
  - 
    author: 'Annelise Anderson'
    email: andrsn@andrsn.stanford.edu
description: 'Introdução para iniciantes tanto no FreeBSD quanto no UNIX®'
tags: ["Introduction", "basics", "FreeBSD", "UNIX"]
title: 'Para iniciantes tanto no FreeBSD quanto no UNIX®'
trademarks: ["freebsd", "ibm", "microsoft", "opengroup", "general"]
---

= Para iniciantes tanto no FreeBSD quanto no UNIX®
:doctype: article
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumlevels: 6
:source-highlighter: rouge
:experimental:
:images-path: articles/new-users/

ifdef::env-beastie[]
ifdef::backend-html5[]
include::shared/authors.adoc[]
include::shared/mirrors.adoc[]
include::shared/releases.adoc[]
include::shared/attributes/attributes-{{% lang %}}.adoc[]
include::shared/{{% lang %}}/teams.adoc[]
include::shared/{{% lang %}}/mailing-lists.adoc[]
include::shared/{{% lang %}}/urls.adoc[]
:imagesdir: ../../../images/{images-path}
endif::[]
ifdef::backend-pdf,backend-epub3[]
include::../../../../shared/asciidoctor.adoc[]
endif::[]
endif::[]

ifndef::env-beastie[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]

[.abstract-title]
Resumo

Parabéns por instalar o FreeBSD! Esta introdução é destinada a usuários iniciantes tanto no FreeBSD quanto no UNIX(R) - então ela começa com o básico.

'''

toc::[]

[[in-and-out]]
== Logando e Deslogando

Faça login (quando você ver `login:`) com o usuário que você criou durante a instalação ou como `root`. (Sua instalação do FreeBSD já terá uma conta para o usuário `root`, o qual pode ir a qualquer lugar e fazer qualquer coisa, incluindo excluir arquivos essenciais, então tenha cuidado!) Os símbolos % e # abaixo representam o prompt (o seu pode ser diferente), sendo que o % indica um usuário comum e o # indica o usuário `root`.

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

[source, shell]
....
# exit
....

quantas vezes for necessário. Sim, pressione kbd:[enter] após os comandos e lembre-se de que o UNIX(R) é sensível a maiúsculas e minúsculas - use ``exit``, não EXIT.

Para desligar o computador, digite

[source, shell]
....
# /sbin/shutdown -h now
....

Ou para reiniciar, digite

[source, shell]
....
# /sbin/shutdown -r now
....

ou

[source, shell]
....
# /sbin/reboot
....

Você também pode reiniciar o sistema com kbd:[Ctrl+Alt+Delete]. Dê um pouco de tempo para que o sistema execute suas tarefas. Isso é equivalente a `/sbin/reboot` nas versões recentes do FreeBSD e é muito, muito melhor do que pressionar o botão de reset. Você não quer ter que reinstalar tudo, certo?

[[adding-a-user]]
== Adicionando um Usuário com Privilégios de Root

Se você não criou nenhum usuário durante a instalação do sistema e, portanto, está conectado como `root`, é provável que você queira criar um usuário agora com o seguinte comando

[source, shell]
....
# adduser
....

A primeira vez que você usa o comando `adduser`, ele pode solicitar algumas opções padrão para salvar. Você pode querer definir o shell padrão como man:csh[1] em vez de man:sh[1], se ele sugerir `sh` como padrão. Caso contrário, basta pressionar Enter para aceitar cada opção padrão. Essas opções padrão são salvas em [.filename]#/etc/adduser.conf#, um arquivo que pode ser editado.

Suponha que você crie um usuário chamado `jack` com o nome completo _Jack Benimble_. Defina uma senha para `jack` se a segurança for uma preocupação (mesmo que sejam apenas crianças por perto que possam bater no teclado). Quando o comando `adduser` perguntar se você deseja convidar `jack` para outros grupos, digite `wheel`

[source, shell]
....
Login group is "jack". Invite jack into other groups: wheel
....

Isso tornará possível fazer login como `jack` e usar o comando man:su[1] para se tornar `root`. Então, você não receberá mais repreensões por fazer login como `root`.

Você pode interromper o comando `adduser` a qualquer momento digitando kbd:[Ctrl+C], e no final você terá a chance de aprovar o novo usuário ou simplesmente digitar kbd:[n] para não aprovar. Você pode querer criar um segundo usuário para que, ao editar os arquivos de login de `jack`, você tenha um usuário reserva caso algo dê errado.

Depois de ter feito isso, use o comando `exit` para voltar ao prompt de login e faça login como `jack`. Em geral, é uma boa ideia fazer o máximo de trabalho possível como um usuário comum que não possui o poder - e o risco - de `root`.

Se você já criou um usuário e deseja que o usuário possa fazer `su` para `root`, faça login como `root` e edite o arquivo [.filename]#/etc/group#, adicionando `jack` à primeira linha (o grupo `wheel`). Mas primeiro, você precisa praticar o uso do editor de texto man:vi[1], ou usar um editor de texto mais simples, o man:ee[1], instalado em versões recentes do FreeBSD.

Para excluir um usuário, use o comando `rmuser`.

[[looking-around]]
== Explorando o Sistema

Conectado como um usuário comum, explore e experimente alguns comandos que acessarão as fontes de ajuda e informações dentro do FreeBSD.

Aqui estão alguns comandos e o que eles fazem:

`id`::
Diz quem você é!

`pwd`::
Exibe o diretório de trabalho atual.

`ls`::
Lista os arquivos presentes no diretório atual.

`ls -F`::
Lista os arquivos no diretório atual com um * após os arquivos executáveis, uma `/` após os diretórios e um `@` após os links simbólicos.

`ls -l`::
Lista os arquivos no diretório atual em formato longo, mostrando informações como tamanho, data e hora de modificação, permissões de arquivo e proprietário/grupo.

`ls -a`::
Lista todos os arquivos no diretório atual, incluindo arquivos ocultos (com ponto no início do nome). Se você estiver logado como `root`, os arquivos ocultos serão listados sem a necessidade do uso do parâmetro `-a`.

`cd`::
O comando `cd` é usado para mudar de diretório. `cd ..` volta um nível; observe o espaço após o `cd`. `cd /usr/local` navega até esse diretório. `cd ~` navega até o diretório home do usuário logado, por exemplo, [.filename]#/usr/home/jack#. Experimente o comando `cd /cdrom`, e em seguida `ls`, para descobrir se o seu CDROM está montado e funcionando.

`less _filename_`::
Permite visualizar o conteúdo de um arquivo (chamado _filename_) sem modificá-lo. Experimente o comando `less /etc/fstab`. Digite `q` para sair do modo de visualização.

`cat _filename_`::
Exibe o conteúdo do arquivo _filename_ na tela. Se o arquivo for muito longo e você conseguir visualizar apenas o final, pressione kbd:[ScrollLock] e use a tecla de seta para cima (kbd:[up-arrow]) para rolar para trás. Você também pode usar kbd:[ScrollLock] com páginas de manual (man pages). Pressione kbd:[ScrollLock] novamente para sair do modo de rolagem. Você pode experimentar o comando `cat` em alguns dos arquivos ocultos em seu diretório home, por exemplo: `cat .cshrc`, `cat .login`, `cat .profile`.

Você notará que existem aliases no arquivo [.filename]#.cshrc# para alguns dos comandos `ls` (eles são muito convenientes). Você pode criar outros aliases editando o arquivo [.filename]#.cshrc#. Você pode tornar esses aliases disponíveis para todos os usuários do sistema colocando-os no arquivo de configuração global do `csh`, o [.filename]#/etc/csh.cshrc#.

[[getting-help]]
== Obtendo ajuda e informações

Aqui estão algumas fontes úteis de ajuda. O termo _Text_ significa algo de sua escolha que você digita, geralmente um comando ou nome de arquivo.

`apropos _text_`::
Irá retornar todos os comandos e arquivos que contenham a palavra-chave especificada _text_ no `banco de dados whatis`.

`man _text_`::
A página de manual para _text_. A principal fonte de documentação para sistemas UNIX(R). `man ls` lhe dirá todas as maneiras de usar o comando`ls`. Pressione kbd:[Enter] para mover pelo texto, kbd:[Ctrl+B] para voltar uma página, kbd:[Ctrl+F] para avançar, kbd:[q] ou kbd:[Ctrl+C] para sair .

`which _text_`::
Mostra o caminho completo para o executável do comando _text_ especificado.

`locate _text_`::
Todos os caminhos onde a string _text_ é encontrada.

`whatis _text_`::
Informa o que o comando _text_ faz e sua página de manual. Digitando `whatis *` irá falar sobre todos os binários no diretório atual.

`whereis _text_`::
Localiza o arquivo _text_, fornecendo seu caminho completo.

Você pode tentar usar `whatis` em alguns comandos úteis comuns como `cat`, `more`, `grep`, `mv`, `find`, `tar`, `chmod`, `chown`, `date` , e `script`. `more` permite que você leia uma página por vez como no DOS, por exemplo, `ls -l | more` ou `more _filename_`. O * funciona como um curinga, por exemplo, `ls w*` mostrará os arquivos que começam com `w`.

Alguns deles não estão funcionando muito bem? Ambos man:locate[1] e man:whatis[1] dependem de um banco de dados que é reconstruído semanalmente. Se sua máquina não vai ficar ligada no fim de semana (e rodando o FreeBSD), você pode querer executar os comandos para manutenção diária, semanal e mensal de vez em quando. Execute-os como `root` e, por enquanto, dê a cada um tempo para terminar antes de iniciar o próximo.

[source, shell]
....
# periodic daily
saída omitida
# periodic weekly
saída omitida
# periodic monthly
saída omitida
....

Se você cansar de esperar, pressione kbd:[Alt+F2] para obter outro _virtual console_ e faça login novamente. Afinal, é um sistema multiusuário e multitarefa. No entanto, esses comandos provavelmente exibirão mensagens em sua tela enquanto estiverem sendo executados; você pode digitar `clear` no prompt para limpar a tela. Uma vez executados, você pode querer olhar para [.filename]#/var/mail/root# e [.filename]#/var/log/messages#.

Executar esses comandos faz parte da administração do sistema - e como único usuário de um sistema UNIX(R), você é seu próprio administrador de sistema. Praticamente tudo o que você precisa fazer como `root` é administração do sistema. Essas responsabilidades não são bem cobertas, mesmo nos grandes e grossos livros sobre UNIX(R), que parecem dedicar muito espaço a abrir menus em gerenciadores de janelas. Se você deseja aprofundar seus conhecimentos em administração de sistemas, pode ser útil obter um dos dois principais livros sobre o assunto. Os dois livros recomendados são "UNIX System Administration Handbook" de Evi Nemeth et al. (Prentice-Hall, 1995, ISBN 0-13-15051-7) - a segunda edição com a capa vermelha; ou "Essential System Administration" de Æleen Frisch (O'Reilly & Associates, 2002, ISBN 0-596-00343-9). Ambos os livros são excelentes recursos para administradores de sistemas e fornecem informações detalhadas sobre administração de sistemas UNIX(R). Eu usei o livro da Nemeth.

[[editing-text]]
== Editando textos

Para configurar o sistema, você precisa editar arquivos de texto. A maioria deles estará no diretório [.filename]#/etc#, e você precisará usar o comando `su` para se tornar `root` e poder alterá-los. Você pode usar o editor de texto `ee` para edição mais simples, mas a longo prazo, vale a pena aprender o editor de texto `vi`. Há um excelente tutorial sobre o vi em [.filename]#/usr/src/contrib/nvi/docs/tutorial#, se você tiver as fontes do sistema instaladas.

Antes de editar um arquivo, é recomendável fazer backup dele. Suponha que você deseje editar o arquivo [.filename]#/etc/rc.conf#. Você pode simplesmente usar o comando `cd /etc` para ir para o diretório [.filename]#/etc# e executar o seguinte comando:

[source, shell]
....
# cp rc.conf rc.conf.orig
....

Isso copiaria o arquivo [.filename]#rc.conf# para [.filename]#rc.conf.orig#, e posteriormente você poderia copiar [.filename]#rc.conf.orig# de volta para [.filename]#rc.conf# para recuperar o original. Mas uma opção ainda melhor seria mover (renomear) e depois copiar de volta:

[source, shell]
....
# mv rc.conf rc.conf.orig
# cp rc.conf.orig rc.conf
....

porque o comando `mv` preserva a data e o proprietário original do arquivo. Agora você pode editar o arquivo [.filename]#rc.conf#. Se quiser recuperar o original, você pode executar o comando `mv rc.conf rc.conf.myedit` (assumindo que você deseja preservar a versão editada) e depois executar o seguinte comando

[source, shell]
....
# mv rc.conf.orig rc.conf
....

para colocar as coisas de volta da maneira que estavam.

Para editar um arquivo, digite

[source, shell]
....
# vi filename
....

Para mover-se pelo texto, use as teclas de seta. Pressione kbd:[Esc] (a tecla de escape) para entrar no modo de comando do `vi`. Aqui estão alguns comandos:

`x`::
deleta a letra localizada onde o cursor está

`dd`::
Apaga a linha inteira (mesmo se ela estiver aparecendo quebrada na tela em varias linhas)

`i`::
Insere um texto na posição do cursor

`a`::
Insere um texto após a posição do cursor

Depois de digitar `i` ou `a`, você pode inserir texto. `Esc` coloca você de volta no modo de comando onde você pode digitar

`:w`::
para gravar suas alterações no disco e continuar editando

`:wq`::
para gravar e sair

`:q!`::
para sair do arquivo sem salvar as alterações

`/_text_`::
para mover o cursor para _text_; `/` kbd:[Enter] (a tecla enter) para encontrar a próxima ocorrência de _text_.

`G`::
para ir para o final do arquivo

`nG`::
para ir para a linha _n_ no arquivo, onde _n_ é um número

kbd:[Ctrl+L]::
para redesenhar a tela

kbd:[Ctrl+b] and kbd:[Ctrl+f]::
para voltar e avançar uma tela, como fazem o `more` e o `view`.

Pratique com `vi` no seu diretório pessoal, criando um novo arquivo com o comando `vi _nome_do_arquivo_ , adicionando e excluindo texto, salvando o arquivo e chamando-o novamente. O `vi` oferece algumas surpresas porque é realmente bastante complexo e às vezes você inadvertidamente emite um comando que fará algo que você não espera. (Algumas pessoas realmente gostam do `vi` - é mais poderoso que o EDIT do DOS - descubra sobre o `:r`.) Use kbd:[Esc] uma ou mais vezes para ter certeza de que está no modo de comando e prossiga a partir daí quando ele lhe der problemas, salve frequentemente com `:w` e use `:q!` para sair e começar de novo (a partir do último `:w`) quando precisar.

Agora você pode fazer `cd` para [.filename]#/etc#, `su` para `root`, usar `vi` para editar o arquivo [.filename]#/etc/group# e adicionar um usuário ao grupo `wheel ` para que ele tenha privilégios de root. Basta adicionar uma vírgula e o nome de login do usuário ao final da primeira linha do arquivo, pressionar kbd:[Esc] e usar `:wq` para gravar o arquivo no disco e sair. Instantaneamente eficaz. (Você não colocou um espaço após a vírgula, colocou?)

[[other-useful-commands]]
== Outros comandos úteis

`df`::
mostra o espaço dos sistemas de arquivos que estão montados.

`ps aux`::
Mostra os processos em execução. ps ax é uma forma mais simplificada.

`rm _filename_`::
remove o arquivo _filename_.

`rm -R _dir_`::
remove um diretório _dir_ e todos os subdiretórios - use com cuidado!

`ls -R`::
lista arquivos no diretório atual e todos os subdiretórios; Usei uma variante, `ls -AFR > where.txt`, para obter uma lista de todos os arquivos em [.filename]#/# e (separadamente) [.filename]#/usr# antes de encontrar maneiras melhores de encontrar arquivos.

`passwd`::
para alterar a senha do usuário (ou a senha do ``root``)

`man hier`::
página de manual no sistema de arquivos UNIX(R)

Use o `find` para localizar o arquivo [.filename]#filename# em [.filename]#/usr# ou qualquer um de seus subdiretórios com

[source, shell]
....
% find /usr -name "filename"
....

Você pode usar * como curinga em `"_filename_"` (que deve estar entre aspas). Se você disser ao `find` para procurar em [.filename]#/# ao invés de [.filename]#/usr# ele irá procurar o(s) arquivo(s) em todos os sistemas de arquivos montados, incluindo o CD-ROM e a partição DOS.

Um livro excelente que explica os comandos e utilitários do UNIX(R) é Abrahams & Larson, Unix for the Impacient (2ª ed., Addison-Wesley, 1996). Também há muitas informações sobre o UNIX(R) na Internet.

[[next-steps]]
== Próximos Passos

Você agora deve ter as ferramentas necessárias para navegar e editar arquivos, para que possa colocar tudo em funcionamento. Existe uma grande quantidade de informações no Handbook do FreeBSD (que provavelmente está no seu disco rígido) e no site do link:https://www.FreeBSD.org/[FreeBSD]. Uma ampla variedade de pacotes e ports estão no CDROM, bem como no site. O Handbook explica mais sobre como usá-los (obtenha o pacote se existir, com `pkg add _nomedopacote_`, onde nomedopacote é o nome do arquivo do pacote). O CDROM contém listas dos pacotes e ports com breves descrições em [.filename]#cdrom/packages/index#, [.filename]#cdrom/packages/index.txt#, e [.filename]#cdrom/ports/index#, e com descrições mais detalhadas em [.filename]#/cdrom/ports/\*/*/pkg/DESCR#, onde os *s representam subdiretórios de tipos de programas e nomes de programas, respectivamente.

Se você 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 você deseja, digamos o `kermit`. Haverá um diretório para ele no CDROM. Copie o subdiretório para [.filename]#/usr/local# (este é um bom lugar para softwares que você adiciona no sistema e que devem estar disponíveis para todos os usuários) com:

[source, shell]
....
# cp -R /cdrom/ports/comm/kermit /usr/local
....

Isso deve resultar em um subdiretório [.filename]#/usr/local/kermit# que contém todos os arquivos que o subdiretório `kermit` no CD-ROM possui.

Em seguida, crie o diretório [.filename]#/usr/ports/distfiles# se ele ainda não existir usando o comando `mkdir`. Agora verifique o [.filename]#/cdrom/ports/distfiles# para localizar um arquivo com um nome que indique que é o port que você deseja. Copie esse arquivo para [.filename]#/usr/ports/distfiles#; nas versões recentes, você pode pular esta etapa, pois o FreeBSD fará isso por você. No caso de `kermit`, não há distfile.

Então utilize o `cd` para ir para o subdiretório [.filename]#/usr/local/kermit# que contém o arquivo [.filename]#Makefile#. E execute

[source, shell]
....
# make all install
....

Durante esse processo, o port fará o download via FTP de quaisquer arquivos compactados que precise e que não foram encontrados no CDROM ou no diretório [.filename]#/usr/ports/distfiles#. Se você não tiver a rede funcionando ainda e não houver um arquivo para o port em [.filename]#/cdrom/ports/distfiles#, você precisará obter o distfile usando outra máquina e copiá-lo para [.filename]#/usr/ports/distfiles#. Leia o [.filename]#Makefile# (com `cat` ou `more` ou `view`) para descobrir onde obter o arquivo (o site de distribuição principal) e qual é o nome dele. (Use transferências de arquivo binário!) Em seguida, volte para [.filename]#/usr/local/kermit#, encontre o diretório com o [.filename]#Makefile# e execute o `make all install`.

[[your-working-environment]]
== Seu ambiente de trabalho

Seu shell é a parte mais importante do seu ambiente de trabalho. O shell é o que interpreta os comandos que você digita na linha de comando e, assim, se comunica com o restante do sistema operacional. Você também pode escrever scripts de shell, que consiste em uma série de comandos para serem executados sem intervenção.

Dois shells vêm instalados com o FreeBSD: `csh` e `sh`. O `csh` é bom para trabalho na linha de comando, mas os scripts devem ser escritos com `sh` (ou `bash`). Você pode descobrir qual shell você tem digitando `echo $SHELL`.

O shell `csh` é bom, mas o `tcsh` faz tudo o que o `csh` faz e muito mais. Ele permite que você recupere comandos com as teclas de seta e edite-os. Ele completa os nomes dos arquivos com a tecla de tabulação (o `csh` usa kbd:[Esc]) e permite alternar para o último diretório em que você estava com `cd -`. Também é muito mais fácil alterar seu prompt com `tcsh`. Ele torna a vida muito mais fácil.

Aqui estão os três passos para instalar um novo shell:

[.procedure]
====
. Instale o shell como um port ou um pacote, como faria com qualquer outro port ou pacote.
. Use `chsh` para alterar seu shell para `tcsh` permanentemente, ou digite `tcsh` no prompt para alterar seu shell sem fazer login novamente.
====

[NOTE]
====
Pode ser perigoso mudar o shell `root` para algo diferente de `sh` ou `csh` nas primeiras versões do FreeBSD e muitas outras versões do UNIX(R); você pode não ter um shell funcionando quando o sistema o coloca no modo de usuário único. A solução é usar `su -m` para se tornar `root`, o que lhe dará o `tcsh` como `root`, porque o shell faz parte do ambiente. Você pode torná-lo permanente adicionando-o ao seu arquivo [.filename]#.tcshrc# como um alias com:

[.programlisting]
....
alias su su -m
....

====

Quando o `tcsh` iniciar, ele lerá os arquivos [.filename]#/etc/csh.cshrc# e [.filename]#/etc/csh.login#, assim como o `csh`. Ele também lerá [.filename]#.login# em seu diretório inicial e bem como o [.filename]#.cshrc#, a menos que você forneça um [.filename]#.tcshrc#. Isso pode ser feito simplesmente copiando [.filename]#.cshrc# para [.filename]#.tcshrc#.

Agora que você instalou o `tcsh`, você pode ajustar seu prompt. Você pode encontrar os detalhes na página de manual do `tcsh`, mas aqui está uma linha para colocar no seu [.filename]#.tcshrc# que lhe dirá quantos comandos você digitou, que horas são e em qual diretório você está. Ele também produz um `>` se você for um usuário comum e um # se você for `root`, mas o tsch fará isso em qualquer caso:

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

Isso deve ir no mesmo lugar que a linha de configuração do prompt existente, se houver, ou sob "if($?prompt) then" se não. Comente a linha antiga; você sempre pode voltar para ele, se preferir. Não se esqueça dos espaços e aspas. Você pode reaplicar as opções do [.filename]#.tcshrc# digitando `source .tcshrc`.

Você pode obter uma lista das outras variáveis de ambiente que foram definidas digitando `env` no prompt. O resultado mostrará seu editor, pager e tipo de terminal padrão, entre possivelmente muitos outros. Um comando útil se você efetuar login de um local remoto e não puder executar um programa porque o terminal não é capaz é `setenv TERM vt100`.

[[other]]
== Outros

Como `root`, você pode desmontar o CDROM com `/sbin/umount /cdrom`, retirá-lo da unidade, inserir outro e montá-lo com `/sbin/mount_cd9660 /dev/cd0a /cdrom` assumindo que cd0a é o nome do dispositivo para sua unidade de CD-ROM. As versões mais recentes do FreeBSD permitem que você monte o CDROM apenas com `/sbin/mount /cdrom`.

Usar o sistema de arquivos ao vivo (live filesystem), o segundo dos discos do CDROM do FreeBSD, é útil se você tem espaço limitado. O que está no sistema de arquivos ao vivo varia de versão para versão. Você pode tentar jogar jogos do CDROM. Isso envolve o uso do `lndir`, que é instalado com o X Window System, para informar ao(s) programa(s) onde encontrar os arquivos necessários, pois eles estão em [.filename]#/cdrom# em vez de em [.filename]#/usr# e seus subdiretórios, onde são esperados. Leia `man lndir`.

[[comments-welcome]]
== Comentários são bem-vindos

Se você usou este guia, ficaria interessado em saber onde não ficou claro e o que foi deixado de fora que você acha que deveria ser incluído, e se foi útil. Meus agradecimentos a Eugene W. Stark, professor de ciência da computação da SUNY-Stony Brook, e John Fieber por seus comentários úteis.

Annelise Anderson, mailto:andrsn@andrsn.stanford.edu[andrsn@andrsn.stanford.edu]
