Para Gente Nueva en FreeBSD y UNIX(R) | Portal de documentación de FreeBSD
Description: Introducción para gente que es nueva tanto en FreeBSD como en UNIX(R)
Keywords: Introduction,basics,FreeBSD,UNIX

# Para Gente Nueva en FreeBSD y UNIX(R)

This translation may be out of date. To help with the translations please access the FreeBSD translations instance.

Marcas registradas

FreeBSD es una marca registrada de la Fundación FreeBSD

IBM, AIX, OS/2, PowerPC, PS/2, S/390, y ThinkPad son marcas registradas de International Business Machines Corporation en los Estados Unidos de América, otros países, o ambos.

Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media y Windows NT son marcas registradas o marcas comerciales de Microsoft Corporation en los Estados Unidos de América y/o otros países.

Motif, OSF/1, y UNIX son marcas registradas y IT DialTone y The Open Group son marcas comerciales de The Open Group en los Estados Unidos de América y otros países.

Muchos de los nombres usados por los fabricantes y vendedores para diferenciar sus productos son designados como marcas comerciales. Allí donde estos nombres aparezcan en este documento y el Proyecto FreeBSD fuera consciente de la alegación de marca comercial, los nombres tienen a continuación el símbolo “™” o “®”.

Resumen

¡Enhorabuena por instalar FreeBSD! Esta introducción es para gente nueva en FreeBSD y en UNIX® - así que se comienza con lo básico.

## 1. Iniciar sesión y salir

Inicia sesión (cuando ves `login:`) como un usuario que has creado durante la instalación o como `root`. (Tu instalación de FreeBSD ya tendrá una cuenta para `root`; quien puede ir a cualquier sitio y hacer de todo, incluyendo borrar ficheros esenciales, así que ¡ten cuidado!) Los símbolos % y # en lo que sigue significan prompt (el tuyo podría ser diferente), con % indicando un usuario ordinario y # para indicar `root`.

Para cerrar sesión (y obtener un nuevo prompt `login:`) teclea

    # exit

tantas veces como sea necesario. Sí, presiona `enter` después de los comandos y recuerda que UNIX® distingue entre mayúsculas y minúsculas - `exit`, no `EXIT`.

Para apagar el ordenador, escribe

    # /sbin/shutdown -h now

O para reiniciar, escribe

    # /sbin/shutdown -r now

o

    # /sbin/reboot

También puedes reiniciar con `Ctrl`+`Alt`+`Delete`. Dale un poco de tiempo para que haga su trabajo. Es equivalente a `/sbin/reboot` en versiones recientes de FreeBSD y es mucho, mucho mejor que presionar el botón de reset. No quieres tener que reinstalar esto ¿verdad?

## 2. Agregar un Usuario con Privilegios de Root

Si no creaste un usuario cuando instalaste el sistema y por lo tanto has iniciado sesión como `root`, probablemente deberías crear uno ahora con

    # adduser

La primera vez que usas `adduser`, podría preguntar por algunos valores por defecto para guardarlos. Podrías querer hacer que el shell por defecto fuera csh(1), si sugiere que el valor por defecto es `sh`. De lo contrario, simplemente presiona enter para aceptar cada valor por defecto. Estos valores por defecto se salvan en /etc/adduser.conf, un fichero que se puede editar.

Imagina que creas un usuario `jack` con nombre completo Jack Benimble. Asigna a `jack` una contraseña si la seguridad (incluso si son niños cerca que podrían acceder al teclado) es un problema. Cuando te pregunte si quieres invitar a `jack` a otros grupos, teclea `wheel`

    Login group is "jack". Invite jack into other groups: wheel

Esto hará posible iniciar sesión como `jack` y usar el comando su(1) para convertirse en `root`. Después ya no serás reprendido nunca más por iniciar sesión como `root`.

Puedes salir de `adduser` en cualquier momento tecleando `Ctrl`+`C`, y al final tendrás la oportunidad de aprobar el nuevo usuario o simplemente teclear `n` para no hacerlo. Podrías querer crear un segundo usuario de forma que cuando edites los ficheros de inicio de sesión de `jack` tengas un repuesto en caso de que algo salga mal.

Una vez hecho esto, utiliza `exit` para volver al prompt de login e inicia sesión como `jack`. En general, es una buena idea hacer todo el trabajo que sea posible como un usuario ordinario que no tiene el poder - y el riesgo - de `root`.

Si ya has creado un usuario y quieres que el usuario sea capaz de hacer `su` a `root`, puedes iniciar sesión como `root` y editar el fichero /etc/group, añadiendo `jack` a la primera línea (el grupo `wheel`). Pero primero necesitas practicar con vi(1), el editor de texto - o usa el editor de texto ee(1), más sencillo y que viene instalado en versiones recientes de FreeBSD.

Para eliminar un usuario, utiliza `rmuser`.

## 3. Echando un vistazo

Inicie sesión como un usuario normal, eche un vistazo y pruebe algunos comandos que accederán a las fuentes de ayuda e información de FreeBSD.

Aquí se describen algunos comandos y lo que hacen:

`id`

  ¡Te dice quién eres!

`pwd`

  Te muestra dónde estás—el directorio de trabajo actual.

`ls`

  Lista los archivos en el directorio actual.

`ls -F`

  Lista los ficheros en el directorio actual con un * después de los ficheros ejecutables, un `/` después de los directorios, y una `@` después de los enlaces simbólicos.

`ls -l`

  Muestra los archivos en formato largo: tamaño, fecha, permisos.

`ls -a`

  Lista ficheros ocultos "dot" junto a los demás. Si eres `root`, los ficheros "dot" se muestran sin necesidad de usar la opción `-a`.

`cd`

  Cambia directorios. `cd ..` vuelve hacia atrás un nivel; fíjate en el espacio después de `cd`. `cd /usr/local` va a ese directorio. `cd ~` va al directorio home del usuario que ha iniciado sesión, por ejemplo, /usr/home/jack. Prueba `cd /cdrom`, y luego `ls`, para ver si tu CDROM está montado y funcionando.

`less filename`

  Te permite ver el fichero (llamado filename) sin cambiarlo. Prueba `less /etc/fstab`. Teclea `q` para salir.

`cat filename`

  Muestra filename por pantalla. Si es muy largo y sólo puedes ver la última parte, presiona `ScrollLock` y utiliza `up-arrow` para moverte hacia atrás; puedes usar `ScrollLock` también con páginas del manual. Presiona `ScrollLock` de nuevo para salir. Podrías querer probar `cat` en algunos de los ficheros dot en tu directorio home-`cat .cshrc`, `cat .login`, `cat .profile`.

Notarás que hay alias en .cshrc para algunos de los comandos `ls` (son muy útiles). Puedes crear otros alias editando .cshrc. Puedes poner estos alias disponibles para todos los usuarios del sistema poniéndolos en el fichero de configuración de `csh` a nivel de sistema, en /etc/csh.cshrc.

## 4. Obteniendo ayuda e información

Aquí hay algunas fuentes de ayuda. Text significa algo que escojas tú y que teclees-normalmente un comando o un nombre de fichero.

`apropos text`

  Todo lo que contenta la cadena text en la `base de datos whatis`.

`man text`

  La página del manual para text. La mayor fuente de documentación de los sistemas UNIX®. `man ls` te dirá de qué forma se puede usar `ls`. Presiona `Enter` para moverte por el texto, `Ctrl`+`B` para volver atrás una página, `Ctrl`+`F` para avanzar, `q` o `Ctrl`+`C` para salir.

`which text`

  Te dice dónde se encuentra el comando text en el path del usuario.

`locate text`

  Todas las rutas donde se encuentra la cadena text.

`whatis text`

  Te dice lo que hace el comando text y cuál es su página de manual. Teclear `whatis *` te dará información acerca de todos los binarios en el directorio actual.

`whereis text`

  Encuentra el fichero text, devolviendo su ruta completa.

Podrías querer probar a usar `whatis` en algunos comandos útiles y comunes como `cat`, `more`, `grep`, `mv`, `find`, `tar`, `chmod`, `chown`, `date`, and `script`. `more` te permite leer una página cada vez como hace en DOS, por ejemplo, `ls -l | more` o `more filename`. El * funciona como un wildcard, por ejemplo, `ls w*` mostrará todos los ficheros que empiezan por `w`.

¿Algunos de estos no funcionan muy bien? Tanto locate(1) como whatis(1) dependen de una base de datos que se reconstruye semanalmente. Si tu máquina no va a estar encendida durante el fin de semana (y ejecutando FreeBSD), podrías querer ejecutar estos comandos de mantenimiento diariamente, semanalmente, y mensualmente de vez en cuando. Ejecútalos como `root` y, de momento, dale tiempo a que termine cada uno antes de empezar con el siguiente.

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

Si te cansas de esperar, presiona `Alt`+`F2` para ir a otra consola virtual e iniciar sesión de nuevo. Después de todo, es un sistema multiusuario y multitarea. De todas formas estos comandos probablemente mostrarán mensajes en la pantalla mientas se ejecutan; puedes teclear `clear` en el prompt para limpiar la pantalla. Una vez que han terminado, podrías mirar en /var/mail/root y /var/log/messages.

Ejecutar dichos comandos es parte de la administración del sistema-y como único usuario de un sistema UNIX®, tú eres el único administrador. Virtualmente todo lo que necesitas hacer como `root` es administración del sistema. Estas responsabilidades no están bien cubiertas incluso en esos libros gordos de UNIX®, que parecen dedicar mucho espacio a desplegar menús en gestores de ventanas. Podrías querer obtener uno de los dos libros líderes en administración de sistemas, bien Evi Nemeth et.al.'s UNIX System Administration Handbook (Prentice-Hall, 1995, ISBN 0-13-15051-7)-la segunda edición con la cubierta roja; o Æleen Frisch’s Essential System Administration (O’Reilly & Associates, 2002, ISBN 0-596-00343-9). Yo uso Nemeth.

## 5. Editando texto

Para configurar tu sistema, necesitas editar ficheros de texto. La mayoría de ellos estarán en el directorio /etc; y necesitarás hacer `su` a `root` para poder cambiarlos. Puedes usar el sencillo `ee`, pero a la larga merece la pena aprender `vi`. Hay un tutorial excelente de vi en /usr/src/contrib/nvi/docs/tutorial, si tienes instaladas los fuentes del sistema.

Antes de editar un fichero, probablemente deberías hacer una copia de seguridad. Imagina que quieres editar /etc/rc.conf. podrías utilizar `cd /etc` para ir al directorio /etc y hacer:

    # cp rc.conf rc.conf.orig

Esto copiaría rc.conf a rc.conf.orig, y después copiarías rc.conf.orig a rc.conf para recuperar el original. Pero sería incluso mejor mover (renombrar) y luego copiarlo de vuelta:

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

porque `mv` conserva la fecha y propietario originales del fichero. Ahora ya puedes editar rc.conf. Si quieres recuperar el original, harías `mv rc.conf rc.conf.myedit` (asumiendo que quieres mantener la versión editada) y luego

    # mv rc.conf.orig rc.conf

para dejar las cosas como estaban.

Para editar un fichero, escribe

    # vi filename

Muévete por el texto con las teclas de dirección. `Esc` (la tecla de escape) pone a `vi` en modo comando. Aquí hay algunos comandos:

`x`

  borra la letra que se encuentre en la posición del cursor

`dd`

  elimina la línea entera (incluso si no aparece por completo en la pantalla)

`i`

  inserta texto en la posición del cursor

`a`

  inserta texto después del cursor

Una vez que tecleas `i` o `a`, ya puedes introducir texto. `Esc` te lleva de vuelta all modo comando donde puedes teclear

`:w`

  para guardar los cambios en el disco y continuar con la edición

`:wq`

  para grabar y salir

`:q!`

  para salir sin grabar los cambios

`/text`

  para mover el cursor a text; `/` `Enter` (la tecla enter) para encontrar la siguiente instancia de text.

`G`

  para ir al final del archivo

`nG`

  para ir a la línea n en el fichero, donde n es un número

`Ctrl`+`L`

  para recargar la pantalla

`Ctrl`+`b` y `Ctrl`+`f`

  ir hacia atrás y hacia adelante una pantalla, como se hace con `more` y `view`.

Practica con `vi` en tu directorio home creando un nuevo fichero con `vi filename` y añadiendo y borrando texto, guardando el fichero y abriéndolo de nuevo. `vi` es una caja de sorpresas porque es en realidad bastante complicado y a veces ejecutas un comando sin querer que hará algo que no esperas. (A algunas personas en realidad les gusta `vi` - es más potente que EDIT en DOS- investiga sobre `:r`). Usa `Esc` una o más veces para asegurarte de que estás en modo comando y continúa a partir de ahí cuando tengas problemas, guarda frecuentemente con `:w` y usa `:q!` para salir y empezar de nuevo (desde tu último `:w`) cuando lo necesites.

Ahora ya puedes usar `cd` para moverte a /etc, hacer `su` a `root`, usar `vi` para editar el fichero /etc/group y añadir un usuario al grupo `wheel` de forma que tenga privilegios de root. Simplemente añade una coma y el nombre del usuario al final de la primera línea del fichero, presiona `Esc` y usa `:wq` para escribir el fichero en disco y salir. Efectivo al instante. (No pusiste un espacio después de la coma, ¿verdad?)

## 6. Otros comandos útiles

`df`

  muestra el espacio en disco y los sistemas de archivos montados.

`ps aux`

  muestra procesos en ejecución. `ps ax` es una forma más compacta.

`rm filename`

  elimina filename.

`rm -R dir`

  elimina el directorio dir y todos sus subdirectorios-¡cuidado!

`ls -R`

  lista ficheros en el directorio actual y todos los subdirectorios; He usado una variante, `ls -AFR > where.txt` para obtener una lista de todos los ficheros en / y (separadamente) /usr antes de que aprendiera mejores formas de encontrar ficheros.

`passwd`

  para cambiar la contraseña del usuario (o la contraseña de `root`)

`man hier`

  página del manual sobre el sistema de ficheros UNIX®

Usa `find` para localizar filename en /usr o cualquiera de sus subdirectorios con

    % find /usr -name "filename"

Puedes usar * como un comodín en `"filename"` (que debería ir entre comillas). Si le pides a `find` buscar en / en lugar de /usr buscará los ficheros en todos los sistemas de ficheros montados, incluidos el CDROM y la partición DOS.

Un libro excelente que explica comandos UNIX® y utilidades es Abrahams & Larson, Unix for the Impatient (2nd ed., Addison-Wesley, 1996). También hay mucha información sobre UNIX® en Internet.

## 7. Próximos pasos

Ahora ya deberías tener las herramientas que necesitas para moverte y editar ficheros de forma que puedas poner todo en funcionamiento. Hay mucha información en el FreeBSD handbook (que está probablemente en tu disco duro) y en El sitio web de FreeBSD. Hay una gran variedad de paquetes y ports en el CDROM así como en el sitio web. El handbook te dice más sobre cómo usarlos (obtener el paquete si existe, con `pkg add packagename` donde packagename es el nombre del paquete). El CDROM tiene listas de paquetes y ports con breves descripciones en cdrom/packages/index, cdrom/packages/index.txt, y cdrom/ports/index, con descripcones completas en /cdrom/ports/*/*/pkg/DESCR, donde * representa subdirectorios de tipos de programas y nombres de programas respectivamente.

Si encuentras el manual demasiado sofisticado (con el comando `lndir` y el resto) acerca de instalar los ports desde el CDROM, esto es lo que normalmente funciona:

Localiza el port que deseas, por ejemplo, `kermit`. Habrá un directorio para él en el CDROM. Copia el subdirectorio a /usr/local (un buen lugar para el software que instales y que debería estar disponible para todos los usuarios) con:

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

Esto debería resultar en un subdirectorio /usr/local/kermit que tiene todos los ficheros que están en el subdirectorio `kermit` del CDROM.

A continuación, si aún no existe, crea el directorio /usr/ports/distfiles usando el comando `mkdir`. Ahora busca en el directorio /cdrom/ports/distfiles un archivo que tenga el nombre del port que quieres. Copia ese archivo a /usr/ports/distfiles; en las versiones más recientes, puedes omitir este paso, FreeBSD lo hará por ti. En el caso de `kermit`, no existe el distfile.

Después usa `cd` para ir al subdirectorio /usr/local/kermit que tiene el fichero Makefile. Teclea

    # make all install

Durante este proceso el port se conectará por FTP para obtener cualquier fichero comprimido que necesite y que no encontró en el CDROM o en /usr/ports/distfiles. Si no tienes la red funcionando todavía y no había fichero para el port en /cdrom/ports/distfiles, tendrás que obtener el distfile utilizando otra máquina y copiarlo a /usr/ports/distfiles. Lee Makefile (con `cat` o `more` o `view`) para averiguar dónde ir (el sitio maestro) para obtener el fichero y saber cuál es su nombre. (¡Utiliza transferencias binarias!) Después vuelve a /usr/local/kermit, encuentra el directorio que contiene el fichero Makefile, y teclea `make all install`.

## 8. Tu entorno de trabajo

Tu shell es la parte más importante de tu entorno de trabajo. Ese shell interpreta los comandos que escribes en la línea de comandos y, por lo tanto, se comunica con el resto del sistema operativo. También puedes escribir shell scripts, que consisten en una serie de comandos que se ejecutarán sin intervención.

Con FreeBSD vienen dos shells instalados: `csh` y `sh`. `csh` es bueno para trabajar en línea de comando, pero los scripts deberían escribirse en `sh` (o `bash`). Puedes averiguar qué shell tienes tecleando `echo $SHELL`.

El shell `csh` está bien, pero `tcsh` hace todo lo de `csh` y más. Te permite recordar comandos con las flechas de dirección y editarlos. Tiene auto completado de ficheros con el tabulador (`csh` utiliza `Esc`), y te permite cambiar al último directorio en el que estuviste con `cd -`. El prompt también es mucho más fácil de cambiar en `tcsh`. Hace la vida mucho más fácil.

Aquí tiene los 3 pasos necesarios para instalar una nueva shell:

1. Instala el shell como un port o paquete, tal como harías con cualquier otro port o paquete.

2. Utiliza `chsh` para cambiar tu shell a `tcsh` permanentemente, o teclea `tcsh` en el prompt para cambiar tu shell sin iniciar una nueva sesión.

| Puede ser peligroso cambiar el shell de `root` a algo que no sea `sh` o `csh` en versiones antiguas de FreeBSD y muchas otras versiones de UNIX®; podrías no tener un shell que funcione cuando el sistema te pone en modo usuario único. El solución es usar `su -m` para convertirse en `root`, lo que te dará un `tcsh` como `root` porque el shell es parte del entorno. Puedes hacer que esto sea permanente añadiéndolo un alias a tu .tcshrc con:
    alias su su -m

Cuando `tcsh` se inicia, leerá los ficheros /etc/csh.cshrc y /etc/csh.login, como hace `csh`. También leerá .login en tu directorio home así como .cshrc a menos que proporciones un .tcshrc. Esto lo puedes hacer simplemente copiando .cshrc a .tcshrc.

Ahora que tienes instalado `tcsh` puedes ajustar tu prompt. Puedes encontrar los detalles en la página de manual de `tcsh`, pero aquí tienes una línea para poner en tu .tcshrc que te dirá cuántos comandos has tecleado, qué hora es, y en qué directorio estás. También utiliza un `>` si eres un usuario ordinario y un `#` si eres `root`, pero tcsh lo hará de todos modos:

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

Debería de ir en el mismo lugar que la línea del prompt actual, si existiera, o debajo de "if($?prompt) then" si no existiera. Comenta la línea antigua; siempre podrá volver a usar el método antiguo si lo prefieres. No olvides los espacios y las comillas. Puedes forzar la relectura del archivo .tcshrc escribiendo `source .tcshrc`.

Puedes obtener un listado de las otras variables de entorno que han sido configuradas ejecutando `env` en el prompt. El resultado mostrará tu editor predeterminado, paginador y tipo de terminal, entre muchas otras. Un comando útil si inicias sesión desde una ubicación remota y no puedes ejecutar un programa porque el terminal no es capaz de hacerlo es `setenv TERM vt100`.

## 9. Otros

Como `root`, puedes desmontar el CDROM con `/sbin/umount /cdrom`, sacarlo de la unidad, insertar otro, y montarlo con `/sbin/mount_cd9660 /dev/cd0a /cdrom` asumiendo que cd0a es el nombre de la unidad para tu CDROM. Las versiones más recientes de FreeBSD te permiten montar el CDROM con tan sólo `/sbin/mount /cdrom`.

Utilizar el sistema de archivos live-el segundo disco de los CDROM de FreeBSD- es útil si tienes un espacio limitado. El contenido del sistema de archivos live varía de una versión a otra. Puedes probar a jugar a los juegos que hay en el CDROM. Esto implica usar el comando `lndir`, que se instala junto al sistema de ventanas X (X Window System), para informar al resto de programas dónde encontrar los archivos necesarios, dado que se encuentran en /cdrom en lugar de /usr y sus subdirectorios, que es donde se espeara que estén. Lee `man lndir`.

## 10. Comentarios Bienvenidos

Si utilizas esta guía, me interesaría saber qué partes no han quedado del todo claras y qué echas en falta y piensas que debería incluirse, y si te fue útil . Gracias a Eugene W. Stark, profesor de ciencias de la computación en SUNY-Stony Brook y a John Fieber por sus útiles comentarios.

Annelise Anderson, andrsn@andrsn.stanford.edu

Last modified on: 8 de septiembre de 2022 by Fernando Apesteguía