diff --git a/es_ES.ISO8859-1/books/handbook/basics/chapter.sgml b/es_ES.ISO8859-1/books/handbook/basics/chapter.sgml
index e3a5a3b350..c3a3b0f0fb 100755
--- a/es_ES.ISO8859-1/books/handbook/basics/chapter.sgml
+++ b/es_ES.ISO8859-1/books/handbook/basics/chapter.sgml
@@ -9,101 +9,341 @@
Chris
- Shumway
- Reescrito por
+ Shumway
+ Reescrito por
-
Conceptos Básicos de Unix
+ Conceptos básicos de Unix
- Sinópsis
- basics
+ Sinopsis
- El siguiente capítulo cubre la funcionalidad y
- órdenes básicas del sistema operativo FreeBSD.
- Mucho de este material es relevante para cualquier sistema
- operativo tipo &unix;. Si es nuevo en FreeBSD, seguramente
- querrá leer este capítulo cuidadosamente.
+ El siguiente capítulo cubrirá la funcionalidad y
+ comandos básicos del sistema operativo FreeBSD.
+ Mucho de este material es relevante para cualquier sistema
+ operativo tipo &unix;.
+ Siéntase libre de hojear este capitulo si está
+ familiarizado con el material. Si es nuevo en FreeBSD, seguramente
+ querrá leer este capítulo cuidadosamente.
- Después de leer este capítulo, usted
- sabrá:
+ Después de leer este capítulo, usted
+ sabrá:
-
-
- Cómo usar la consola virtual de
+
+
+ Cómo usar las consolas virtuales de
FreeBSD.
-
-
- Cómo trabajan los permisos de ficheros en &unix;.
-
-
-
- La disposición de archivos de sistema en &os; por
- defecto.
-
-
- Cómo montar y desmontar archivos de sistema.
-
-
- Qué son los procesos, demonios y señales.
-
-
-
- Qué es una cónsola (shell) y como cambiar el
- ambiente de su entorno (login).
-
-
- Cómo usar editores de texto basicos.
-
-
- Qué son los dispositivos y nodos de dispositivos.
-
-
-
- Qué formato binario se utiliza en &os;.
-
-
- Cómo leer los manuales para más
- información.
-
-
+
+
+ Como trabajan los permisos de archivo &unix; junto
+ con el entendimiento de las banderas de archvo en &os;.
+
+
+ La disposición de archivos de sistema en &os; por
+ defecto.
+
+
+ La organización de disco de &os;.
+
+
+ Como montar y desmontar sistemas de archivos.
+
+
+ Qué son los procesos, daemons y señales.
+
+
+ Que es un shell, como cambiar su ambiente de login por defecto.
+
+
+ Como utilizar editores de texto básicos.
+
+
+ Que son los dispositivos y nodos de dispositivos.
+
+
+ Que formato binario es utilizado bajo &os;.
+
+
+ Como leer páginas de manual para más información.
+
+
+
+
+
+
+ Consolas virtuales y terminales
+ consola virtual
+ terminales
+
+ FreeBSD puede ser utilizado de varias maneras. Una de ellas es
+ tecleando comandos en una terminal de texto. Mucha de la flexibilidad
+ y poder de un sistema operativo &unix; está inmediatamente
+ disponible al alcance de sus manos cuando usa FreeBSD de esta
+ manera. Esta sección describe que son terminales
+ y consolas, y como puede usarlas en FreeBSD.
+
+
+ La consola
+ consola
+
+ Si no ha configurado FreeBSD para iniciar automaticamente un
+ entorno gráfico durante el arranque, el sistema le
+ presentará con un prompt de entrada despues del arranque,
+ justo despues que los scripts de inicio terminen de ejecutarse.
+ Usted verá algo similar a:
+
+ Additional ABI support:.
+Local package initialization:.
+Additional TCP options:.
+
+Fri Sep 20 13:01:06 EEST 2002
+
+FreeBSD/i386 (pc3.example.org) (ttyv0)
+
+login:
+
+ Los mensajes pueden ser un poco diferentes en su sistema, pero
+ verá algo similar. Las última dos líneas son
+ las que nos interesan por el momento. La penúltima línea
+ dice:
+
+ FreeBSD/i386 (pc3.example.org) (ttyv0)
+
+ Esta línea contiene algunas partes de información
+ acerca del sistema que acaba de arrancar. Esta usted mirando una
+ consola FreeBSD, corriendo en un procesador Intel
+ o compatible de la arquitectura x86
+ Esto es lo que i386 significa. Note que
+ incluso si no está ejecutando FreeBSD en un CPU Intel 386,
+ este va a ser i386. No es el tipo de su
+ procesador, sino la arquitectura la que es
+ mostrada aquí.
+ .
+ El nombre de esta máquina (cada máquina &unix;
+ tiene un nombre) es pc3.example.org, y usted
+ está ahora mirando su consola de sistema — la
+ terminal ttyv0.
+
+ Finalmente, la última línea siempre es:
+
+ login:
+
+ Esta es la parte donde se supone que usted teclée
+ su nombre de usuario para entrar en FreeBSD.
+ La siguiente sección describe como puede hacer esto.
+
+
+
+ Entrando a FreeBSD
+
+ FreeBSD es un sistema multiusuario, multiprocesador. Esta
+ es la descripción formal que es dada usualmente a un
+ sistema que puede ser utilizado por muchas personas diferentes,
+ que simultaneamente corren muchos programas en un sola
+ máquina.
+
+ Cada sistema multiusuario necesita alguna manera para
+ distinguir a un usuario del resto. En FreeBSD
+ (y en todos los sistemas operativos tipo &unix;), esto se
+ logra requiriendo que cada usuario debe firmarse
+ en el sistema antes de poder correr programas. Cada usuario
+ tiene un nombre único (el nombre de usuario)
+ y una llave secreta, personal (la contraseña).
+ FreeBSD preguntará por estos dos antes de permitirle a
+ un usuario correr cualquier programa.
+
+ scripts de inicio
+ Justo despues que FreeBSD arranca y termina de correr sus
+ scripts de inicio
+
+ Scripts de inicio son programas que son ejecutados
+ automaticamente por FreeBSD cuando arranca. Su función
+ principal es preparar las cosas para que todo lo demás
+ se ejecute, e iniciar cualquier servicio que tenga configurado
+ para correr en segundo plano haciendo cosas útiles.
+ , le presentará un prompt y solicitará
+ un nombre de usuario válido:
+
+ login:
+
+ Para efectos de este ejemplo, vamos a asumir que su nombre de
+ usuario es john. Teclée john
+ en este prompt y presione Enter. Se le debe presentar
+ un prompt para entrar una contraseña:
+
+ login: john
+Password:
+
+ Teclée ahora la contraseña de john
+ y presione Enter. !La contraseña no
+ produce eco! no necesita preocuparse por eso en este
+ momento. Es suficiente decir que esto es hecho por razones de
+ seguridad.
+
+ Si ha tecleado su contraseña correctamente, ya debe estar
+ firmado en FreeBSD en este momento y listo para probar todos los
+ comandos disponibles.
+
+ Debe de ver el MOTD o mensaje del día
+ seguido por un prompt de comandos (un caracter #,
+ $ o %). Esto indica
+ que se ha firmado exitosamente en FreeBSD.
+
+
+
+ Consolas múltiples
+
+ Ejecutar comandos &unix; en una consola está bien, pero
+ FreeBSD puede correr muchos programas a la vez. Tener una consola
+ donde se pueden teclear comandos puede ser un poco de desperdicio
+ cuando un sistema operativo como FreeBSD puede correr docenas de
+ programas al mismo tiempo. Aquí es donde las
+ consolas virtuales pueden ser de mucha ayuda.
+
+ FreeBSD puede ser configurado para presentarle diferentes
+ consolas virtuales. Puede cambiar de una de ellas a cualquier
+ otra consola virtual presionando un par de teclas en su teclado.
+ Cada consola tiene su propio canal de salida diferente, y FreeBSD
+ se ocupa de redireccionar correctamente la entrada del teclado y
+ la salida al monitor cuando cambia de una consola virtual a la
+ siguiente.
+
+ Combinaciones especiales de teclas han sido reservadas por
+ FreeBSD para cambiar consolas
+ Una descripción bastante técnica y correcta
+ de todos los detalles de la consola FreeBSD y los controladores de
+ teclado pueden encontrarse en las páginas de manual de
+ &man.syscons.4;, &man.atkbd.4;, &man.vidcontrol.1; y
+ &man.kbdcontrol.1;. No nos explayaremos en los detalles aquí,
+ pero el lector interesado siempre puede consultar las páginas
+ de manual para una explicación más detallada y
+ profunda de como funcionan estas cosas.
+ . Puede utilizar
+ AltF1,
+ AltF2 hasta
+ AltF8 para cambiar
+ a una consola virtual diferente en FreeBSD.
+
+ Mientras está cambiando de una consola a la siguiente,
+ FreeBSD se ocupa de salvar y restaurar la salida de pantalla. El
+ resultado es una ilusión de tener varias
+ pantallas y teclados virtuales que puede utilizar
+ para teclear comandos para que los corra FreeBSD. El programa que
+ usted lanza en una consola virtual no termina de correr cuando la
+ consola no está visible. Continúan ejecutándose
+ cuando se cambia a una consola virtual diferente.
+
+
+
+ El archivo /etc/ttys
+
+ La configuración por omisión de FreeBSD iniciará
+ con ocho consolas virtuales. Esta no es una configuración
+ estática por hardware y usted puede facilmente personalizar
+ su instalación para arrancar con más o menos consolas
+ virtuales. El número y propiedades de las consolas
+ virtuales están configurados en el archivo
+ /etc/ttys.
+
+ Puede utilizar el archivo /etc/ttys para
+ configurar las consolas virtuales de FreeBSD. Cada línea no
+ comentada en este archivo (líneas que no inician con un
+ caracter #) contiene propiedades para una sola
+ terminal o consola virtual. La versión por omisión de
+ este archivo que se encuentra en FreeBSD configura nueve consolas
+ virtuales y habilita ocho de ellas. Son las líneas que inician
+ con ttyv:
+
+ # name getty type status comments
+#
+ttyv0 "/usr/libexec/getty Pc" cons25 on secure
+# Virtual terminals
+ttyv1 "/usr/libexec/getty Pc" cons25 on secure
+ttyv2 "/usr/libexec/getty Pc" cons25 on secure
+ttyv3 "/usr/libexec/getty Pc" cons25 on secure
+ttyv4 "/usr/libexec/getty Pc" cons25 on secure
+ttyv5 "/usr/libexec/getty Pc" cons25 on secure
+ttyv6 "/usr/libexec/getty Pc" cons25 on secure
+ttyv7 "/usr/libexec/getty Pc" cons25 on secure
+ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure
+
+ Para una descripción detallada de cada columna en este
+ archivo y todas las opciones que puede usar para configurar las
+ consolas virtuales, consulte la página de manual &man.ttys.5;.
+
+
+
+ Consola en modo monousuario
+
+ Una descripción detallada de lo que es modo
+ monousuario puede encontrarse en .
+ No importa que solo exista una consola cuando ejecuta FreeBSD en
+ modo monousuario. No existen consolas virtuales disponibles. Las
+ configuraciones de la consola en modo monousuario se pueden encontrar
+ también en el archivo /etc/ttys. Busque la
+ línea que inicia con console:
+
+ # name getty type status comments
+#
+# Si la consola está marcada como "insecure", entonces init preguntará
+# por la contraseña de root al entrar a modo monousuario.
+console none unknown off secure
+
+
+ Como los comentarios arriba de la línea console
+ indican, usted puede editar esta línea y cambiar
+ secure a insecure. Si hace
+ eso, cuando FreeBSD arranque en modo monousuario, todavía
+ preguntará por la contraseña de
+ root.
+
+ Tenga cuidado al cambiar esto a
+ insecure. Si olvida la
+ contraseña de root, arrancar
+ en modo monousuario está un poco involucrado. Todavía
+ es posible, pero puede ser un poco difícil para alguien
+ que no se encuentra muy cómodo con le proceso de
+ arranque de FreeBSD y los programas involucrados.
+
+ Permisos
+ UNIX
- FreeBSD, cuya raiz histórica es el UNIX BSD, tiene
- sus fundamentos basados en varios conceptos clave de UNIX. El primero, y
- más remarcado, es que FreeBSD es un sistema operativo
- multi-usuario. El sistema puede manejar varios usuarios trabajando
- todos simultáneamente y en tareas que no guardan relación
- entre sí. El sistema es el responsable de compartir y administrar
- peticiones de dispositivos de hardware, periféricos, memoria y
- tiempo de Unidad Central de Proceso (CPU) de manera equitativa para cada
- usuario.
+ FreeBSD, cuya raiz histórica es el UNIX BSD, tiene
+ sus fundamentos basados en varios conceptos clave de UNIX. El primero, y
+ más remarcado, es que FreeBSD es un sistema operativo
+ multi-usuario. El sistema puede manejar varios usuarios trabajando
+ todos simultáneamente y en tareas que no guardan relación
+ entre sí. El sistema es el responsable de compartir y administrar
+ peticiones de dispositivos de hardware, periféricos, memoria y
+ tiempo de Unidad Central de Proceso (CPU) de manera equitativa para cada
+ usuario.
+ Debido a que el sistema es capaz de soportar múltiples
+ usuarios, todo lo que el sistema administra tiene un conjunto de
+ permisos que gobiernan quién puede leer, escribir y ejecutar el
+ elemento. Estos permisos se guardan como octetos divididos en tres
+ partes: una para el propietario del archivo, otra para el grupo al que
+ el archivo pertenece, y otra para cualquier otro. Esta
+ representación numérica funciona así:
- Debido a que el sistema es capaz de soportar múltiples
- usuarios, todo lo que el sistema administra tiene un conjunto de
- permisos que gobiernan quién puede leer, escribir y ejecutar el
- elemento. Estos permisos se guardan como octetos divididos en tres
- partes: una para el propietario del archivo, otra para el grupo al que
- el archivo pertenece, y otra para cualquier otro. Esta
- representación numérica funciona así:
-
-
-
-
-
+ permisos
+
+ permisos de archivo
+
+ ValorPermiso
- Listado de Directorio
+ Listado de directorio
@@ -158,148 +398,1794 @@
+
+ ls
+
+ directorios
- Si se muestra un listado expandido de directorio mediante
- ls -l, se mostrarán en una columna los
- permisos de fichero para el propietario, grupo y todos los demás.
- Veamos como se descompone:
+ Puede utilizar el argumento de línea de comando
+ en &man.ls.1; para ver un listado
+ largo que incluye una columna con información acerca
+ de los permisos de archivo para el propietario, grupo y
+ los demás. Por ejemplo, un ls -l en
+ un directorio arbitrario puede mostrar:
+
+ &prompt.user; ls -l
+total 530
+-rw-r--r-- 1 root wheel 512 Sep 5 12:31 myfile
+-rw-r--r-- 1 root wheel 512 Sep 5 12:31 otherfile
+-rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt
+...
+
+ Aquí está como se divide la primera columna
+ de ls -l:-rw-r--r--
- El primer carácter, de izquierda a derecha, es un
- carácter especial que indica si se trata de un archivo normal, un
- directorio, un dispositivo especial de tipo carácter o bloque, un
- socket, o cualquier otro dispositivo de pseudo-archivo. Los siguientes
- tres caracteres, expresados como rw- muestran los
- permisos para el propietario del archivo. Los siguientes tres
- caracteres, r-- muestran los permisos para el grupo
- al que el archivo pertenece. Los últimos tres caracteres,
- r--, muestran los permisos para el resto del mundo.
- Un guión indica que el permiso está desactivado. En el
- caso de este archivo, los permisos están asignados de tal manera
- que el propietario puede leer y escribir en el archivo, el grupo puede
- leer el archivo, y el resto del mundo sólo puede leer el archivo.
- De acuerdo con la tabla que se muestra más arriba, los permisos
- para este archivo serían 644, donde cada cifra
- representa las tres partes de los permisos del archivo.
+ El primer caracter (más a la izquierda) indica si
+ este archivo es un archivo regular, un directorio, un
+ dispositivo especial de caracter, un socket o cualquier otro
+ dispositivo especial pseudo-archivo. En este caso, el -
+ indica un archivo regular. Los siguientes tres caracteres,
+ rw- en este ejemplo, dan los permisos
+ para el propietario del archivo. Los siguientes tres caracteres,
+ r--, dan los permisos para el grupo al que
+ el archivo pertenece. Los últimos tres caracteres,
+ r--, dan los permisos para el resto del
+ mundo. Un guión indica que el permiso está desactivado.
+ En el caso de este archivo, los permisos están
+ asignados de tal manera que el propietario puede leer y escribir
+ en el archivo, el grupo puede leer el archivo, y el resto del
+ mundo sólo puede leer el archivo. De acuerdo con la tabla
+ de arriba, los permisos para este archivo serían 644,
+ donde cada dígito representa las tres partes de los
+ permisos del archivo.
+ Todo ésto está muy bien, pero ¿cómo
+ controla el sistema los permisos de los dispositivos? FreeBSD en
+ realidad trata la mayoría de los dispositivos hardware como un
+ archivo que los programas pueden abrir, leer y en los que pueden
+ escribir datos como si de cualquier otro archivo se tratara. Estos
+ archivos especiales de dispositivos se encuentran en el directorio
+ /dev.
- Todo ésto está muy bien, pero ¿cómo
- controla el sistema los permisos de los dispositivos? FreeBSD en
- realidad trata la mayoría de los dispositivos hardware como un
- archivo que los programas pueden abrir, leer y en los que pueden
- escribir datos como si de cualquier otro archivo se tratara. Estos
- archivos especiales de dispositivos se encuentran en el directorio
- /dev.
+ Los directorios también son tratados como archivos. Tienen
+ permisos de lectura, escritura y ejecución. El bit de
+ ejecución en un directorio tiene un significado
+ ligéramente distinto que para los archivos. Cuando un directorio
+ está marcado como ejecutable significa que se puede mirar dentro,
+ se puede hacer un cd (cambiar directorio) a él.
+ Esto también significa que dentro del directorio es posible
+ accesar archivos cuyos nombres son conocidos (sujeto, claro está,
+ a los permisos en los archivos mismos).
- Los directorios también son tratados como archivos. Tienen
- permisos de lectura, escritura y ejecución. El bit de
- ejecución en un directorio tiene un significado
- ligéramente distinto que para los archivos. Cuando un directorio
- está marcado como ejecutable significa que se puede mirar dentro,
- por ejemplo, se podría hacer un listado de ese directorio.
+ En particular, para poder realizar un listado de directorio,
+ el permiso de lectura debe ser activado en el directorio,
+ mientras que para borrar un archivo del que se conoce el
+ nombre, es necesario tener permisos de escritura y
+ ejecución en el directorio que contiene el archivo.
- Hay más permisos, pero se usan principalmente en
- circunstancias especiales como los binarios ejecutables de tipo "setuid"
- y los los directorios de tipo "sticky". Si desea más
- información acerca de los permisos de archivos y cómo
- establecerlos, asegúrese de mirar la página de manual de
- &man.chmod.1;.
+ Existen más permisos, pero se usan principalmente en
+ circunstancias especiales como los binarios ejecutables de tipo setuid
+ y los los directorios de tipo sticky. Si desea más
+ información acerca de los permisos de archivos y como
+ establecerlos, asegúrese de mirar la página de manual de
+ &man.chmod.1;.
+
+
+
+
+
+ Tom
+ Rhodes
+ Contribuido por
+
+
+
+
+ Permisos simbólicos
+ permisossymbolic
+
+ Los permisos simbólicos, algunas veces referidos como
+ expresiones simbólicas, utilizan caracteres en lugar de valores
+ octales para asignar permisos a archivos o directorios. Las expresiones
+ simbólicas utilizan la sintaxis de (quién) (acción)
+ (permisos), donde los valores siguientes están disponibles:
+
+
+
+
+
+ Opción
+ Letra
+ Representa
+
+
+
+
+
+ (quién)
+ u
+ Usuario
+
+
+
+ (quién)
+ g
+ Propietario de grupo
+
+
+
+ (quién)
+ o
+ Otro
+
+
+
+ (quién)
+ a
+ Todos (mundo)
+
+
+
+ (acción)
+ +
+ Agregar permisos
+
+
+
+ (acción)
+ -
+ Remover permisos
+
+
+
+ (acción)
+ =
+ Activar permisos explicitamente
+
+
+
+ (permisos)
+ r
+ Lectura
+
+
+
+ (permisos)
+ w
+ Escritura
+
+
+
+ (permisos)
+ x
+ Ejecución
+
+
+
+ (permisos)
+ t
+ Bit Sticky
+
+
+
+ (permisos)
+ s
+ Activar UID o GID
+
+
+
+
+
+ Estos valores son utilizados con el comando &man.chmod.1;
+ de la misma manera que los anteriores, pero con letras. Por
+ ejemplo, usted podría usar el siguiente comando para
+ bloquear a otros usuarios el acceso a FILE:
+
+ &prompt.user; chmod go= FILE
+
+ Una lista separada por comas puede brindarse cuando más
+ de un conjunto de cambios se debe realizar a un archivo. Por
+ ejemplo el siguiente comando eliminará los permisos de
+ escritura de grupo y mundo en FILE,
+ y entonces agrega permisos de ejecución para todos:
+
+ &prompt.user; chmod go-w,a+x FILE
+
+
+
+
+
+
+
+
+ Tom
+ Rhodes
+ Contribuido por
+
+
+
+
+ Banderas de archivo de &os;
+
+ Además de los permisos de archivo discutidos
+ previamente, &os; soporta el uso de banderas de
+ archivo. Estas banderas agregan un nivel de seguridad
+ y control adicional sobre archivos, pero no sobre directorios.
+
+ Estas banderas de archivo agregan un nivel de control
+ adicional sobre archivos, ayudando a asegurar que en algunos
+ casos ni siquiera root pueda eliminar
+ o alterar archivos.
+
+ Las banderas de archivo son alteradas usando la utilidad
+ &man.chflags.1;, mediante una interfaz simple. Por ejemplo,
+ para habilitar la bandera imborrable de sistema en el archivo
+ file1, escriba el siguiente comando:
+
+ &prompt.root; chflags sunlink file1
+
+ Y para dehabilitar la bandera imborrable de sistema,
+ simplemente escriba el comando previo con no
+ al frente de . Observe:
+
+ &prompt.root; chflags nosunlink file1
+
+ Para ver las banderas en este archivo, utilice
+ &man.ls.1; con las opciones :
+
+ &prompt.root; ls -lo file1
+
+
+ La salida debe verse como la siguiente:
+
+ -rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1
+
+ Varias banderas solo pueden ser agregadas o removidas
+ de archivos por el usuario root. En
+ otros casos, el propietario del archivo puede activar estas
+ banderas. Se recomienda que un administrador lea las
+ páginas de manual &man.chflags.1; y &man.chflags.2;
+ para más información.
+
-
+
Estructura de directorios
- Como FreeBSD utiliza sus sistemas de archivos (file systems) para
- determinar muchas operaciones fundamentales en el sistema, la
- jerarquía del sistema de archivos es extremadamente importante.
- Dado que la página de manual de &man.hier.7; proporciona una
- descripción completa de la estructura de directorios, no la vamos
- a repetir aquí. Para más información, puede
- consultar &man.hier.7;.
+ jerarquía de directorios
- De una especial importancia es el raiz (root) de todos los
- directorios, el directorio /. Este directorio es el primero en ser
- montado al arrancar y contiene contiene el sistema básico
- necesario a la hora de iniciar. El directorio raiz también
- contiene puntos de montaje para cualquier otro sistema de archivos que
- se desee montar.
+ La jerarquía del sistema de archivos de FreeBSD es
+ fundamental para obtener una compresión completa del
+ sistema. El concepto más importante de entender es el
+ del directorio raíz, /. Este directorio
+ es el primero en ser montado al momento de arranque y contiene
+ el sistema básico necesario para preparar al sistema
+ operativo para la operación en modo multiusuario.
+ El directorio raiz también contiene puntos de montaje
+ para cualquier otro sistema de archivos que se desee montar.
+
+ Un punto de montaje es un directorio donde se pueden injertar
+ sistemas de archivos al sistema de archivos raíz.
+ Esto es explicado con mas detalle en .
+ Los puntos de montaje estándar inlcuyen
+ /usr, /var, /tmp,
+ /mnt y /cdrom. Estos
+ directorios están usualmente referenciados a entradas en
+ el archivo /etc/fstab. /etc/fstab
+ es una tabla que sirve como referencias al sistema y contiene
+ los diferentes sistemas de archivos y sus respectivos
+ puntos de montaje. La mayoría de los sistemas de archivos
+ en /etc/fstab son montados automaticamente
+ al momento de arranque desde el script &man.rc.8;
+ a menos que contengan la opción .
+ Se pueden encontrar detalles en .
+
+ Una descripción completa de la jerarquía del
+ sistema de archivos está disponible en &man.hier.7;.
+ Por ahora, una breve revisión de los directorios
+ más comunes será suficiente.
+
+
+
+
+
+
+ Directorio
+ Descripción
+
+
+
+
+ /
+ Directorio raíz del sistema de archivos.
+
+
+
+ /bin/
+ Utilidades de usuario fundamentales tanto para el
+ ambiente monousuario como para el multiusuario.
+
+
+
+ /boot/
+ Programas y archivos de configuración utilizados
+ durante el arranque del sistema operativo.
+
+
+
+ /boot/defaults/
+ Archivos de configuración por defecto de
+ arranque; ver &man.loader.conf.5;.
+
+
+
+ /dev/
+ Nodos de dispositivo; ver &man.intro.4;.
+
+
+
+ /etc/
+ Archivos de configuración y scripts del sistema.
+
+
+
+ /etc/defaults/
+ Archivos de configuración por omisión del sistema;
+ ver &man.rc.8;.
+
+
+
+ /etc/mail/
+ Archivos de configuración para agentes de
+ transporte de correo como &man.sendmail.8;.
+
+
+
+ /etc/namedb/
+ Archivos de configuración de named;
+ ver &man.named.8;.
+
+
+
+ /etc/periodic/
+ Scripts que son ejecutados diariamente, semanalmente y
+ mensualmente vía &man.cron.8;; ver &man.periodic.8;.
+
+
+
+ /etc/ppp/
+ Archivos de configuración de ppp;
+ ver &man.ppp.8;.
+
+
+
+ /mnt/
+ Directorio vacio comunmente utilizado por administradores
+ de sistemas como un punto de montaje temporal.
+
+
+
+ /proc/
+ Sistema de archivos de procesos; ver &man.procfs.5;,
+ &man.mount.procfs.8;.
+
+
+
+ /rescue/
+ Programas enlazados estaticamente para recuperaciones
+ de emergencia; ver &man.rescue.8;.
+
+
+
+ /root/
+ Directorio home para la cuenta root.
+
+
+
+ /sbin/
+ Programas del sistema y utilidades fundamentales de
+ administración para ambientes monousuario y
+ multiusuario.
+
+
+
+ /stand/
+ Programas utilizados en un ambiente autocontenido (standalone).
+
+
+
+
+ /tmp/
+ Archivos temporales. Los contenidos de
+ /tmp usualmente NO
+ son preservados despues de un rearranque del sistema.
+ Un sistema de archivos basado en memoria es frecuentemente
+ montado en /tmp.
+ Esto puede automatizarse usando variables relacionadas a
+ tmpmfs de &man.rc.conf.5 (o con una entrada en
+ /etc/fstab; ver &man.mdmfs.8;,
+ o para FreeBSD 4.X, &man.mfs.8;).
+
+
+
+
+ /usr/
+ La mayoría de utilidades y aplicaciones de usuario.
+
+
+
+ /usr/bin/
+ Utilidades comunes, herramientas de programación y
+ aplicaciones.
+
+
+
+ /usr/include/
+ Archivos incluidos estándar de C.
+
+
+
+ /usr/lib/
+ Librerías de archivos.
+
+
+
+
+ /usr/libdata/
+ Utilidades miscelaneas de archivos de datos.
+
+
+
+ /usr/libexec/
+ Daemons de sistema y utilidades de sistema (ejecutados
+ por otros programas).
+
+
+
+ /usr/local/
+
+ Ejecutables locales, librerías, etc.
+ también usado como el destino por omisión
+ de la infraestructura de ports de FreeBSD. Dentro de
+ /usr/local, el esquema
+ general delineado por &man.hier.7; para
+ /usr debe ser utilizado. Las
+ excepciones son el directorio man, el cual está
+ directamente bajo /usr/local en
+ lugar de debajo de /usr/local/share
+ y la documentación de los ports está en
+ share/doc/port.
+
+
+
+
+ /usr/obj/
+ Arbol destino de arquitectura específica producido por
+ la construcción del árbol
+ /usr/src.
+
+
+
+ /usr/ports
+ La colección de Ports de FreeBSD (opcional).
+
+
+
+ /usr/sbin/
+ Daemons del sistema y utilidades del sistema (ejecutados por
+ usuarios).
+
+
+
+ /usr/share/
+ Archivos independientes de arquitectura.
+
+
+
+ /usr/src/
+ Archivos fuente BSD y/o local.
+
+
+
+ /usr/X11R6/
+ Ejecutables de la distribución X11R6,
+ librerías, etc (opcional).
+
+
+
+ /var/
+ Archivos multipropósito de log, temporales, en
+ tránsito y de spool. Un sistema de archivos basado
+ en memoria es montado algunas veces en
+ /var.
+ Esto puede automatizarse utilizando variables relacionadas
+ a varmfs de &man.rc.conf.5 (o con una entrada en
+ /etc/fstab; ver &man.mdmfs.8;,
+ o para FreeBSD 4.X, &man.mfs.8;).
+
+
+
+
+ /var/log/
+ Archivos de log miscelaneos del sistema.
+
+
+
+ /var/mail/
+ Archivos de buzones de correo de usuarios.
+
+
+
+ /var/spool/
+ Directorios miscelaneos del sistema de spool de impresora
+ y correo
+
+
+
+ /var/tmp/
+ Archivos temporales.
+ Los archivos son usualmente preservados despues de un
+ rearranque del sistema, a menos que
+ /var sea un
+ sistema de archivos basado en memoria.
+
+
+
+ /var/yp
+ Mapas NIS.
+
+
+
+
+
+
+
+
+
+
+ Organización de disco
+
+ La unidad más pequeña que FreeBSD utiliza para
+ encontrar archivos es el nombre de archivo. Los nombres de archivo
+ son sensibles a las mayúsculas, lo que significa que
+ readme.txt y README.TXT
+ son dos archivos separados. FreeBSD no utiliza la extensión
+ (.txt) de un archivo para determinar si el
+ archivo es un programa, o un documento o alguna otra forma de datos.
+
+ Los archivos son almacenados en directorios. Un directorio puede
+ estar vacío, o puede contener cientos de archivos. Un
+ directorio también puede contener otros directorios,
+ permitiéndole contruir una jerarquía de directorios
+ dentro de otro. Esto hace mucho más fácil la
+ organización de sus datos.
+
+ Archivos y directorios son referenciados dando el
+ nombre de archivo o de directorio, seguido por una diagonal,
+ /, seguido por cualquier otro nombre de
+ directorio que sea necesario. Si tiene un directorio
+ foo, el cual contiene el directorio
+ bar, el cual contiene el archivo
+ readme.txt, entonces el nombre completo
+ o ruta al archivo es
+ foo/bar/readme.txt.
+
+ Los directorios y archivos son almacenados en un sistema de archivos.
+ Cada sistema de archivos contiene exactamente un directorio en el nivel
+ más elevado, llamado el directorio raíz
+ para ese sistema de archivos. Este directorio raíz puede
+ entonces contener otros directorios.
+
+ Hasta ahora esto es probablemente similar a cualquier otro sistema
+ operativo que pueda haber utilizado. Existen unas cuantas diferencias;
+ por ejemplo, &ms-dos; utiliza \ para separar nombres
+ de archivo y directorio, mientras que &macos; utiliza :.
+
+ FreeBSD no utiliza letras de unidades, o otro nombre de unidad
+ en la ruta. No podría escribir c:/foo/bar/readme.txt
+ en FreeBSD.
+
+ En cambio, un sistema de archivos es designado el
+ sistema de archivos raíz. El
+ directorio raíz del sistema de archivos raíz está
+ referenciado como /. Cualquier otro sistema
+ de archivos es entonces montado bajo el
+ sistema de archivos raíz. No importa cuantos discos tenga
+ en su sistema FreeBSD, cada directorio parece ser parte del
+ mismo disco.
+
+ Suponga que tiene tres sistemas de archivos, llamdos A,
+ B y C. Cada sistema de
+ archivos tiene un directorio raíz, el cual contiene
+ otros dos directorios, llamados
+ A1, A2 (y de la misma manera
+ B1, B2 y
+ C1, C2).
+
+ Llame a A el sistema de archivos raíz.
+ Si usara el comando ls para ver el contenido de
+ este directorio vería dos subdirectorios, A1
+ y A2. El árbol de directorios se ve como
+ esto:
+
+
+
+
+
+
+
+ /
+ |
+ +--- A1
+ |
+ `--- A2
+
+
+
+ Un sistema de archivos debe ser montado en un directorio
+ en otro sistema de archivos. Ahora suponga que monta el
+ sistema de archivos B en el directorio
+ A1. El directorio raíz de
+ B reemplaza a A1,
+ y los directorios en B aparecen de
+ esta manera:
+
+
+
+
+
+
+
+ /
+ |
+ +--- A1
+ | |
+ | +--- B1
+ | |
+ | `--- B2
+ |
+ `--- A2
+
+
+
+ Cualquier archivo que esté en el directorio
+ B1 o B2 puede ser
+ alcanzado con la ruta /A1/B1 o
+ /A1/B2 según sea necesario.
+ Cualquier archivo que esté en /A1
+ ha sido temporalmente escondido. Aparecerán de nuevo
+ si B es desmontado
+ de A.
+
+ Si B ha sido montado en A2
+ entonces el diagrama se vería como este:
+
+
+
+
+
+
+
+ /
+ |
+ +--- A1
+ |
+ `--- A2
+ |
+ +--- B1
+ |
+ `--- B2
+
+
+
+ y las rutas serían /A2/B1 y
+ /A2/B2 respectivamente.
+
+ Sistemas de archivos pueden ser montados uno sobre otro. Continuando
+ el ejemplo anterior, el sistema de archivos C
+ podría ser montado sobre el directorio B1
+ en el sistema de archivos B, llevando a este
+ arreglo:
+
+
+
+
+
+
+
+ /
+ |
+ +--- A1
+ |
+ `--- A2
+ |
+ +--- B1
+ | |
+ | +--- C1
+ | |
+ | `--- C2
+ |
+ `--- B2
+
+
+
+ O C podría ser montado directamente
+ en el sistema de archivos A, bajo el directorio
+ A1:
+
+
+
+
+
+
+
+ /
+ |
+ +--- A1
+ | |
+ | +--- C1
+ | |
+ | `--- C2
+ |
+ `--- A2
+ |
+ +--- B1
+ |
+ `--- B2
+
+
+
+ Si está familiarizado con &ms-dos;, esto es similar,
+ aunque no idéntico, al comando join.
+
+ Esto normalmente no es algo de lo que necesite preocuparse.
+ Tipicamente usted crea sistemas de archivos cuando instala FreeBSD
+ y decide donde montarlos, y entonces nunca los cambie a menos que
+ agregue un disco nuevo.
+
+ Es enteramente posible tener un sistema de archivos raíz
+ extenso, y no necesitar crear otros. Existen alguas inconveniencias de
+ esta aproximación, y una ventaja.
+
+
+ Beneficios de múltiples sistemas de archivos
+
+
+ Diferentes sistemas de archivos pueden tener diferentes
+ opciones de montaje. Por ejemplo, con
+ una planeación cuidadosa, el sistema de archivos
+ raíz puede ser montado de solo-lectura, haciendole
+ a usted imposible borrar inadvertidamente o editar un archivo
+ crítico. Separando los sistemas de archivos escribibles
+ por usuarios, como /home, de otros
+ sistemas de archivos también les permite ser montados
+ nosuid; esta opción previene
+ que los bits suid/guid
+ en los ejecutables almacenados en el sistema de archivos
+ tengan efecto, mejorando posiblemente la seguridad.
+
+
+
+ FreeBSD automaticamente optimiza el esquema de archivos
+ en un sistema de archivos, dependiendo de como el sistema
+ de archivos está siendo utilizado. Así que
+ un sistema de archivos que contiene muchos archivos pequeños
+ que son escritos frecuentemente tendrá una optimización
+ diferente de uno que contenga menos y más grandes archivos.
+ Teniendo un sistema de archivos grande esta optimización
+ se desmorona.
+
+
+
+ Los sistemas de archivos de FreeBSD son muy robustos si
+ sufre una falla de electricidad. De todas maneras, una falla
+ eléctrica en un momento crítico todavía puede
+ dañar la estructura del sistema de archivos. Dividiendo
+ sus datos a través de múltiples sistemas de
+ archivos hace que sea más probable que el sistema se
+ levante, haciendole más fácil restaurar desde
+ un respaldo si fuera necesario.
+
+
+
+
+ Beneficios de un solo sistema de archivos
+
+
+ Los sistemas de archivos son de un tamaño fijo. Si crea
+ un sistema de archivos cuando instala FreeBSD y le da un tamaño
+ específico, tal vez descubra mas tarde que necesita hacer
+ la partición más grande. Esto no se logra facilmente
+ sin respaldar, recrear el sistema de archivos con el nuevo
+ tamaño y entonces restaurar los datos respaldados.
+
+
+ FreeBSD 4.4 y versiones posteriores presentan el
+ comando &man.growfs.8;, el cual hace posible incrementar
+ el tamaño del sistema de archivos al vuelo, eliminando
+ esta limitación.
+
+
+
+
+ Los sistemas de archivos están contenidos en particiones.
+ Esto no tiene el mismo significado del uso común del
+ término partición (por ejemplo, partición &ms-dos;),
+ debido a la herencia &unix; de &os;. Cada partición es
+ identificada por una letra desde a hasta
+ h. Cada partición puede contener solamente
+ un sistema de archivos, lo que significa que los sistemas de
+ archivos son usualmente descritos por su punto de montaje en la
+ jerarquía del sistema de archivos o por la letra de la
+ partición en la que están contenidos.
+
+ FreeBSD también utiliza espacio de disco
+ como espacio de intercambio (swap).
+ El espacio de intercambio le brinda a FreeBSD
+ memoria virtual. Esto le permite a
+ su computadora comportarse como si tuviera más
+ memoria de la que realmente tiene. Cuando a FreeBSD se le
+ agota la memoria mueve algunos de los datos que no están
+ siendo utilizandos en ese momento al espacio de intercambio,
+ y los mueve de regreso (moviendo alguna otra cosa) cuando
+ los necesita.
+
+ Algunas particiones tienen ciertas representaciones
+ asociadas con ellas.
+
+
+
+
+
+
+
+
+ Partición
+
+ Representación
+
+
+
+
+
+ a
+
+ Normalmente contiene el sistema de archivos raíz
+
+
+
+ b
+
+ Normalmente contiene el espacio de intercambio (swap)
+
+
+
+ c
+
+ Normalmente el mismo tamaño de la porción
+ (slice) que lo encierra. Esto le permite a utilidades que
+ necesitan trabajar en la porción entera (por ejemplo,
+ un explorador de bloques dañados) trabajar en
+ la partición c. Usted normalmente no
+ debe crear un sistema de archivos en esta partición.
+
+
+
+ d
+
+ La partición d solía
+ tener un significado especial asociado con ella, aunque
+ ahora ya no lo tiene. Hasta este día, algunas
+ herramientas pueden operar extrañamente si se
+ les pide trabajar en la partición d,
+ así que sysinstall no
+ crear´ normalmente una partición d.
+
+
+
+
+
+ Cada partición-que-contiene-un-sistema-de-archivos
+ es almacenada en lo que FreeBSD llama una porción (slice).
+ Porción es el término de FreeBSD para lo que comunmente se
+ conoce como partición, y de nuevo, esto se debe al
+ pasado &unix; de FreeBSD. Las porciones están numeradas,
+ empezando con 1, hasta 4.
+
+ slices
+ particiones
+ peligrosamente dedicadas
+
+ Los números de porción siguen al
+ nombre de dispositivo, a los que se les antepone una
+ s, iniciando en 1. Así que
+ da0s1 es la
+ primera porción en la primera unidad SCSI. Solo
+ pueden haber cuatro porciones físicas en un disco,
+ pero puede tener porciones lógicas dentro de
+ porciones físicas del tipo apropiado. Estas
+ porciones extendidas son numeradas iniciando con 5,
+ así que ad0s5
+ es la primera porción extendida en el primer
+ disco IDE. Estos dispositivos son utilizados por
+ sistemas de archivos que esperan ocupar una porción.
+
+ Prociones, unidades físicas peligrosamente
+ dedicadas, y otras unidades contienen particiones,
+ las cuales son representadas como letras desde a
+ hasta h. Esta letra es agregada al nombre
+ del dispositivo, así que
+ da0a es la partición
+ a en la primera unidad da, la cual está
+ peligrosamente dedicada.
+ ad1s3e es la quinta
+ partición en la tercera porción de la segunda
+ unidad de disco IDE.
+
+ Finalmente, cada disco en el sistema es identificado.
+ El nombre de disco inicia con un código que indica
+ el tipo de disco, luego un número, indicando que disco
+ es. A diferencia de las porciones, la numeración de
+ discos inicia en 0. Los códigos comunes que usted
+ verá están listados en
+ .
+
+ Cuando se refiere a una partición, FreeBSD requiere que
+ que también se nombre la porción y el disco que
+ contiene la partición, y al referirse a una porción
+ también debe referirse al nombre del disco. Haga esto
+ listando el nombre de disco, s (slice), el número
+ de porción y por último la letra de la partición.
+ Ejemplos se muestran en
+ .
+
+ muestra un modelo
+ conceptual del esquema de un disco que debe ayudar a aclarar las
+ cosas.
+
+ Para poder instalar FreeBSD debe primero configurar las
+ porciones del disco, luego crear particiones dentro de la
+ porción que utilizará para FreeBSD y luego crear
+ un sistema de archivos (o espacio de intercambio, swap) en
+ cada partición y decidir donde se van a montar esos
+ sistemas de archivos.
+
+
+ Códigos de dispositivos de disco
+
+
+
+
+
+
+
+ Código
+
+ Significado
+
+
+
+
+
+ ad
+
+ Disco ATAPI (IDE)
+
+
+
+ da
+
+ Disco de acceso directo SCSI
+
+
+
+ acd
+
+ CDROM ATAPI (IDE)
+
+
+
+ cd
+
+ CDROM SCSI
+
+
+
+ fd
+
+ Disco flexible
+
+
+
+
+
+
+ Muestra de nombres de disco, porción y partición
+
+
+
+
+
+
+
+
+ Nombre
+
+ Significado
+
+
+
+
+
+ ad0s1a
+
+ La primera partición (a) en
+ la primera porción (s1) en el
+ primer disco IDE (ad0).
+
+
+
+ da1s2e
+
+ La quinta partición (e) en
+ la segunda porción (s2) en el
+ segundo disco SCSI (da1).
+
+
+
+
+
+
+
+ Modelo conceptual de un disco
+
+ Este diagrama muestra como ve FreeBSD el primer disco IDE
+ en el sistema. Se asume que el disco es de 4 GB de tamaño,
+ y contiene dos porciones de 2 GB (particiones &ms-dos;). La
+ primera porción contiene un disco &ms-dos;, C:,
+ y la segunda porción contiene una instalación FreeBSD.
+ Esta instalación de ejemplo tiene tres particiones, y una
+ partición swap.
+
+ Cada una de las tres particiones tiene un sistema de archivos.
+ La partición a será utilizada
+ para el sistema de archivos raíz, e
+ para la jerarquía del directorio /var
+ y f para la jerarquía del directorio
+ /usr.
+
+
+
+
+
- Un punto de montaje es un directorio donde se pueden injertar al
- sistema de archivos raiz otros sistemas de ficheros adicionales. Los
- puntos de montaje convencionales incluyen /usr,
- /var, /mnt y
- /cdrom. Estos directorios directorios se
- corresponden habitualmente con entradas en en archivo
- /etc/fstab. /etc/fstab es una
- tabla que sirve como referencias al sistema y contiene los diferentes
- sistemas de archivos y sus respectivos puntos de montaje. La
- mayoría de los sistemas de archivos que figuran en
- /etc/fstab son montados automáticamente al
- arrancar por el guión de órdenes (script) &man.rc.8; a no
- ser que contengan la opción .
- Consúltese la página del manual &man.fstab.5; para
- más información acerca del formato del archivo
- /etc/fstab y de las opciones que se pueden
- especificar.
+
+ .-----------------. --.
+| | |
+| DOS / Windows | |
+: : > Primera porción, ad0s1
+: : |
+| | |
+:=================: ==: --.
+| | | Partición a, montada como / |
+| | > referida como ad0s2a |
+| | | |
+:-----------------: ==: |
+| | | Partición b, usada como swap |
+| | > referida como ad0s2b |
+| | | |
+:-----------------: ==: | Partición c, sin
+| | | Partición e, usada como /var > sistema de archivos, la
+| | > referida como ad0s2e | porción completa de FreeBSD,
+| | | | ad0s2c
+:-----------------: ==: |
+| | | |
+: : | Partición f, usada como /usr |
+: : > referida como ad0s2f |
+: : | |
+| | | |
+| | --' |
+`-----------------' --'
+
+
+
+
+
+
+
+ Montando y desmontando sistemas de archivos
+
+ El sistema de archivos es visualizado de una
+ mejor manera como un árbol, enraizado, como
+ lo está, en /.
+ /dev, /usr y los
+ otros directorios en el directorio raíz son ramas, las
+ cuales pueden tener sus propias ramas, como
+ /usr/local, y así sucesivamente.
+
+ sistema de archivos raíz
+ Existen varias razones para albergar algunos de
+ estos directorios en sistemas de archivos separados.
+ /var contiene los directorios
+ log/, spool/ y
+ varios tipos de archivos temporales, y como tal, puede
+ llenarse. Agotar el espacio del sistema de archivos raíz
+ no es una buena idea, así que dividiendo a /var
+ de / es frecuentemente favorable.
+
+ Otra razón común para meter ciertos árboles
+ de directorios en otros sistemas de archivos es si van a estar
+ albergados en discos físicos separados, o si son discos
+ virtuales separados, como un montaje de
+ sistema de archivos de red,
+ o unidades de CDROM.
+
+
+ El archivo fstab
+
+ sistemas de archivos
+ montado con fstab
+
+
+ Durante el proceso de arranque,
+ los sistemas de archivos listados en /etc/fstab
+ son montados automaticamente (a menos que estén
+ listados con la opción ).
+
+ el archivo /etc/fstab contiene una
+ lista de líneas del siguiente formato:
+
+ dispositivo/punto-de-montajefstypeopcionesdumpfreqpassno
+
+
+
+ dispositivo
+
+ Un nombre de dispositivo (el cual debe existir).
+
+
+
+
+ punto-de-montaje
+
+ Un directorio (el cual debe existir), en
+ donde montar el sistema de archivos.
+
+
+
+
+ fstype
+
+ El tipo de sistema de archivos para
+ pasarle a &man.mount.8;. El tipo de sistema de
+ archivos por omisión de FreeBSD es
+ ufs.
+
+
+
+
+ opciones
+
+ Ya sea para sistemas
+ de archivos de lectura-escritura, o
+ para sistemas de archivos de solo-lectura, seguido
+ de cualquier otra opción que sea necesaria.
+ Una opción común es
+ para sistemas de archivos que no son normalmente
+ montados durante la secuencia de arranque. Otras
+ opciones son listadas en la página de manual
+ &man.mount.8;.
+
+
+
+
+ dumpfreq
+
+ Esto es utilizado por &man.dump.8; para
+ determinar que sistema de archivos requiere volcado. Si
+ el campo no está declarado, se asume un valor
+ de cero.
+
+
+
+
+ passno
+
+
+ Esto determina el orden en el cual los sistemas de
+ archivos deben ser revisados. Los sistemas de archivos
+ que deben ser saltados deben tener su passno
+ en cero. El sistema de archivos raíz (el cual
+ necesita ser revisado antes que cualquier otro) debe tener
+ su passno puesto a uno, y otros
+ sistemas de archivos deben tener valores mayores a uno.
+ Si más de un sistema de archivos tiene el mismo
+ passno entonces &man.fsck.8; tratará
+ de revisar los sistemas de archivo en paralelo de ser
+ posible.
+
+
+
+
+ Consulte la página de manual de &man.fstab.5; para
+ mayor información del formato del archivo
+ /etc/fstab y las opciones que contiene.
+
+
+
+ El comando mount
+
+ sistemas de archivos
+ montaje
+
+
+ El comando &man.mount.8; es lo que se utiliza en última
+ instancia para montar sistemas de archivos.
+
+ En su forma más básica, usted usa:
+ In its most basic form, you use:
+
+
+ &prompt.root; mount dispositivopunto-de-montaje
+
+
+ Existen cantidad de opciones, como se mencionó
+ en la página de manual &man.mount.8;, pero las
+ más comunes son:
+
+
+ Opciones de montaje
+
+
+
+
+
+ Montar todos los sistemas de archivos
+ listados en /etc/fstab.
+ Excepto aquellos marcados como noauto,
+ excluidos por la bandera , o
+ aquellos que ya están montados.
+
+
+
+
+
+
+
+ Realizar todo excepto la llamada real de montaje del
+ sistema. Esta opción es útil junto
+ con la bandera para determinar
+ lo que &man.mount.8; está tratando de
+ hacer en realidad.
+
+
+
+
+
+
+
+ Forzar el montaje de un sistema de archivos
+ sucio (peligroso), o forzar la revocación
+ de accesos de escritura cuando se cambia el estatus
+ de un sistema de archivos de lectura-escritura
+ a solo-lectura.
+
+
+
+
+
+
+
+ Montar el sistema de archivos de solo-lectura.
+ Esto es idéntico a utilizar el argumento
+ ( para versiones más
+ antiguas que &os; 5.2) en la opción .
+
+
+
+
+
+ fstype
+
+
+ Montar el sistema de archivos dado con el tipo de
+ sistema de archivos dado, o montar solamente sistemas
+ de archivos del tipo dado, si se proporciona la
+ opción .
+
+ ufs es el sistema de archivos
+ raíz por omisión.
+
+
+
+
+
+
+
+ Actualizar puntos de montaje en el sistema
+ de archivos.
+
+
+
+
+
+
+
+ Arrojar mayor información.
+
+
+
+
+
+
+
+ Montar el sistema de archivos como lectura-escritura.
+
+
+
+
+ La opción toma una lista de opciones
+ separada por comas, incluyendo las siguientes:
+
+
+
+ nodev
+
+
+ No interpretar dispositivos especiales
+ en el sistema de archivos. Esto es una opción
+ de seguridad útil.
+
+
+
+
+ noexec
+
+
+ No permitir la ejecución de binarios
+ en este sistema de archivos. Esta también
+ es una opción de seguridad útil.
+
+
+
+
+ nosuid
+
+
+ No interpretar banderas setuid o setgid en el
+ sistema de archivos. Esta también es una
+ opción de seguridad útil.
+
+
+
+
+
+
+ El comando umount
+
+ sistemas de archivos
+ desmontar
+
+
+ El comando &man.umount.8; toma, como parámetro, un
+ punto de montaje, un nombre de dispositivo, o la opción
+ o .
+
+ Todas las formas toman para forzar
+ el desmontaje, y para arrojar más
+ información. Considerese advertido que usar
+ no es una buena idea generalmente. Desmontar a la fuerza
+ distemas de archivos puede congelar la computadora o dañar
+ los datos en el sistema de archivos.
+
+ y son utilizadas
+ para desmontar todos los sistemas de archivos montados,
+ posiblemente modificado por el tipo de sistema de archivos
+ listado despues de . De todas maneras
+ no trata de desmontar el sistema de
+ archivos raíz.
+
+
+
+
+ Procesos
+
+ FreeBSD es un sistema operativo multi-tarea. Esto significa que
+ parece como si más de un programa estuviera corriendo al
+ mismo tiempo. Cada programa corriendo en cualquier momento dado es
+ llamado proceso. Cada comando que usted
+ ejecuta iniciará al menos un proceso nuevo, y hay un
+ número de procesos que corren todo el tiempo, manteniendo
+ el sistema de manera funcional.
+
+ Cada proceso es individualmente identificado por un número
+ llamado ID de proceso, o PID,
+ y, como archivos, cada proceso también tiene un propietario
+ y un grupo. La información de propietario y grupo es utilizada
+ para determinar que archivos y dispositivos el proceso puede abrir,
+ usando los permisos de archivo discutidos anteriormente. La
+ mayoría de los procesos también tienen un proceso
+ padre. El proceso padre es el proceso que los inició. Por
+ ejemplo, si usted está tecleando comandos en el shell, entonces
+ el shell es un proceso, y cualquier comando que usted corre también
+ es un proceso. Cada proceso que usted corre de esta manera tendrá
+ como proceso padre a su shell. La excepción a esto es un
+ proceso especial llamado &man.init.8;. init es
+ siempre el primer proceso, así que su PID siempre es 1.
+ init es iniciado automaticamente por el kernel
+ cuando FreeBSD arranca.
+
+ Dos comandos son particularmente útiles para ver los
+ procesos en el sistema, &man.ps.1; y &man.top.1;. el comando
+ ps es utilizado para mostrar una lista
+ estática de los procesos corriendo en ese momento, y
+ puede mostrar sus PID, cuanta memoria están usando, la
+ línea de comando con la que fueron iniciados, y mucho
+ más. El comando top despliega todos
+ los procesos que se están ejecutando, y actualiza la
+ pantalla cada vez que transcurren un par de segundos, para
+ que pueda ver lo que está haciendo su computadora.
+
+ Por omisión, ps solo le muestra los comandos
+ que están corriendo y que son propiedad de usted. Por ejemplo:
+
+ &prompt.user; ps
+ PID TT STAT TIME COMMAND
+ 298 p0 Ss 0:01.10 tcsh
+ 7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
+37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
+48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi
+48730 p0 IW 0:00.00 (dns helper) (navigator-linux-)
+72210 p0 R+ 0:00.00 ps
+ 390 p1 Is 0:01.14 tcsh
+ 7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y
+ 6688 p3 IWs 0:00.00 tcsh
+10735 p4 IWs 0:00.00 tcsh
+20256 p5 IWs 0:00.00 tcsh
+ 262 v0 IWs 0:00.00 -tcsh (tcsh)
+ 270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16
+ 280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16
+ 284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc
+ 285 v0 S 0:38.45 /usr/X11R6/bin/sawfish
+
+ Como puede ver en este ejemplo, la salida de &man.ps.1; está
+ organizada en un número de columnas. PID
+ es el ID de proceso discutido anteriormente. Los PIDs son asignados
+ iniciando desde 1, hasta 99999, y dan la vuelta de regreso al
+ principio cuando se terminan los números. La columna
+ TT muestra el tty en el que el programa está
+ corriendo, y puede ser ignorado con seguridad por el momento.
+ STAT muestra el estado del programa, y de nuevo,
+ puede ser ignorado con seguridad. TIME es la
+ cantidad de tiempo que el programa ha estado corriendo en el
+ CPU—esto no es usualmente el tiempo transcurrido desde que
+ inició el programa, ya que la mayoría de los
+ programas pasan mucho tiempo esperando que sucedan cosas antes
+ de que necesiten gastar tiempo en el CPU. Finalmente,
+ COMMAND es la línea de comando que fué
+ utilizada para ejecutar el programa.
+
+ &man.ps.1; soporta un número de opciones diferentes para
+ cambiar la información que es desplegada. Uno de los conjuntos
+ más útiles es auxww.
+ despliega información acerca de todos los procesos
+ ejecutándose, no solamente los suyos.
+ despliega el nombre de usuario del propietario del proceso, así
+ como el uso de memoria. despliega información
+ acerca de los procesos daemon y provoca que
+ &man.ps.1; despliegue la línea de comando completa, en lugar
+ de truncarla cuando es muy larga para caber en la pantalla.
+
+ La salida de &man.top.1; es similar. Una sesión de ejemplo
+ se ve como esta:
+
+ &prompt.user; top
+last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10
+47 processes: 1 running, 46 sleeping
+CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle
+Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free
+Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
+
+ PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
+72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top
+ 7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14
+ 281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA
+ 296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm
+48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu
+ 175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd
+ 7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt
+...
+
+ La salida está dividida en dos secciones. La cabecera (las
+ primeras cinco líneas) muestra el PID del último proceso
+ en correr, la carga promedio del sistema (la cual es una medida de que
+ tan ocupado está el sistema), el uptime del sistema (tiempo
+ desde el último reinicio) y la hora actual. Las otras cifras
+ en la cabecera se relacionan con cuantos procesos hay en ejecución
+ (47 en este caso), cuanto se está utilizando de memoria y espacio
+ de intercambio (swap), y cuando tiempo el sistema está gastando
+ en diferentes estados de CPU.
+
+ Abajo hay una serie de columnas conteniendo información
+ similar a la salida de &man.ps.1;. De manera similar usted puede
+ ver el PID, el nombre de usuario, la cantidad de tiempo de CPU
+ tomada y el comando que fué ejecutado. &man.top.1;
+ también muestra por omisión la cantidad de espacio
+ de memoria tomada por el proceso. Esto está dividido en dos
+ columnas, una para el tamaño total y una para tamaño
+ residente—tamaño total es cuanta memoria la aplicación
+ ha necesitado y el tamaño residente es cuanto está
+ siendo utilizado realmente en ese momento. En este ejemplo puede ver
+ que &netscape; ha requerido casi
+ 30 MB de RAM, pero actualmente solo está usando
+ 9 MB.
+
+ &man.top.1; automaticamente actualiza este desplegado cada
+ dos segundos; esto puede cambiarse con la opción .
+
+
+
+ Daemons, señales y matar procesos
+
+ cuando usted corre un editor es fácil controlar el editor,
+ decirle que cargue archivos y demás. Usted puede hacer esto
+ porque el editor brinda facilidades para hacerlo, y porque el editor
+ está pegado a una terminal. Algunos
+ programas no están diseñados para ser ejecutados con
+ entradas continuas por parte del usuario, así que se desconectan
+ de la terminal a la primera oportunidad. Por ejemplo, un servidor
+ web pasa todo el día respondiendo peticiones web, normalmente
+ no necesita ninguna entrada de su parte. Los programas que transportan
+ correo electrónico de un sitio a otro son otro ejemplo de
+ esta clase de aplicación.
+
+ Llamamos a estos programas daemons. Daemons
+ eran personajes de la mitología griega; no eran ni buenos ni
+ malos, eran pequeños espíritus sirvientes que, en gran
+ medida, hicieron cosas útiles por la humanidad. Muy parecido
+ a como los servidores web y servidores de correo de hoy hacen cosas
+ útiles. Este es el por qué la mascota BSD ha sido, desde
+ hace mucho tiempo, el demonio de imagen alegre con tenis y un tridente.
+
+ Existe un acuerdo de nombrar programas que normalmente corren
+ como daemons con una d al final. BIND
+ es el daemon de nombres de internet de Berkeley (y el programa
+ que en realidad ejecuta es llamado named), el
+ programa servidor de web Apache es
+ llamado httpd, el daemon de spool de impresora de
+ línea es lpd y así sucesivamente.
+ Este es un acuerdo, no una regla pura y dura; por ejemplo, el
+ daemon principal de correo para la aplicación Sendmail
+ es llamdo sendmail, y no maild,
+ como podría imaginarse.
+
+ Algunas veces necesitará comunicarse con un proceso daemon.
+ Estas comunicaciones son llamadas señales,
+ y se puede comunicar con un daemon (o con cualquier otro proceso
+ ejecutándose) mandándole una señal. Existe un
+ número de señales diferentes que puede mandar—algunas
+ de ellas tienen un significado especial, otras son interpretadas por
+ la aplicación, y la documentación de la aplicación
+ le dirá como interpreta la señal esa aplicación.
+ Solo puede enviar una señal a un proceso del que usted es el
+ propietario. Si manda una señal a un proceso de alguien más
+ con &man.kill.1; o &man.kill.2; el permiso será denegado.
+ La excepción a esto es el usuario root,
+ que puede mandar señales a los procesos de todos.
+
+ FreeBSD también enviará señales de
+ aplicación en algunos casos. Si una aplicación
+ está mal escrita, y trata de accesar memoria que no se
+ supone que accese, FreeBSD manda al proceso la señal
+ Violación de segmento
+ (SIGSEGV). Si una aplicación ha utilizado
+ la llamada de sistema &man.alarm.3; para ser alertada despues
+ de que un periodo de tiempo haya transcurrido entonces se le
+ mandará la señal de alarma (SIGALRM),
+ y así sucesivamente.
+
+ Dos señales pueden usarse para detener un proceso,
+ SIGTERM y SIGKILL.
+ SIGTERM es la manera amable de matar un proceso;
+ el proceso puede recibir la señal,
+ darse cuenta que usted quiere que se apague, cerrar cualquier
+ archivo de log que pueda tener abierto y generalmente terminar
+ cualquier cosas que esté realizando en ese momento antes
+ de apagarse. En algunos casos un proceso puede incluso ignorar
+ a SIGTERM si se encuentra en medio de una
+ tarea que no puede ser interrumpida.
+
+ SIGKILL no puede ser ignorada por un proceso.
+ Esta es la señal No me importa lo que estás
+ haciendo, detente ahora mismo. Si manda un SIGKILL
+ a un proceso, entonces FreeBSD detendrá ese proceso ahí
+ y en ese momento
+ No del todo cierto—existen algunas cosas que no pueden
+ ser interrumpidas. Por ejemplo, si el proceso está tratando
+ de leer desde un archivo que está en otra computadora de
+ la red, y la otra computadora no está disponible por
+ alguna razón (por estar apagada, o que la red tenga un fallo),
+ entonces el proceso se dice que es ininterrumpible.
+ Eventualmente al proceso se le acabará el tiempo de
+ espera, tipicamente despues de dos minutos. Tan pronto como esto
+ ocurra el proceso será terminado.
+ .
+
+ Las otras señales que tal vez quiera utilizar son
+ SIGHUP, SIGUSR1 y
+ SIGUSR2. Estas son señales de propósito
+ general, y aplicaciones diferentes pueden hacer cosas diferentes
+ cuando se les envía.
+
+ Suponga que ha cambiado su archivo de configuración de su
+ servidor web—tal vez le gustaría decirle al servidor
+ web que re-lea su configuración. Podría detener y
+ reiniciar httpd, pero esto resultaría en
+ un período breve de suspensión del servicio de su
+ servidor web, lo cual puede ser indeseable. La mayoría de
+ los daemons están escritos para responder a la señal
+ SIGHUP releyendo su archivo de configuración.
+ Así que en lugar de matar y reiniciar httpd
+ le podría mandar la señal SIGHUP.
+ Debido a que no hay una manera estándar para responder a estas
+ señales, diferentes daemons tendrán diferente comportamiento,
+ así que asegúrese de leer la documentación para
+ el daemon en cuestión.
+
+ Las señales son enviadas utilizando el comando &man.kill.1;,
+ como lo muestra este ejemplo.
+
+
+ Enviando una señal a un proceso
+
+ Este ejemplo muestra como enviar una señal a
+ &man.inetd.8;. El archivo de configuración de
+ inetd es
+ /etc/inetd.conf e inetd
+ re-leerá este archivo de configuración cuando
+ se le envíe un SIGHUP.
+
+
+ Encuentre el ID de proceso del proceso al que quiere
+ enviarle la señal. Haga esto usando &man.ps.1; y
+ &man.grep.1;. El comando &man.grep.1; es utilizado para buscar
+ a través de la salida, buscando la cadena que se
+ especifique. Este comando es ejecutado como un usuario
+ normal y &man.inetd.8; es ejecutado como root,
+ así que las opciones se le deben
+ proporcionar a &man.ps.1;.
+
+ &prompt.user; ps -ax | grep inetd
+ 198 ?? IWs 0:00.00 inetd -wW
+
+ Entonces el PID de &man.inetd.8; es 198. En algunos casos
+ el comando grep inetd también
+ puede salir en esta salida. Esto se debe a la manera en que
+ &man.ps.1; tiene que encontrar la lista de procesos
+ ejecutándose.
+
+
+
+ Utilice &man.kill.1; para enviar la señal. Debido a que
+ &man.inetd.8; está siendo ejecutado por root
+ usted debe usar primero &man.su.1; para volverse root.
+
+ &prompt.user; su
+Password:
+&prompt.root; /bin/kill -s HUP 198
+
+ En concordancia con la mayoría de los comandos &unix;,
+ &man.kill.1; no imprimirá ninguna salida si es exitoso.
+ Si envía una señal a un proceso del que no es
+ el propietario entonces verá kill:
+ PID: Operation not permitted.
+ Si usted no teclea bien el PID puede enviar la señal a un
+ proceso distinto, lo cual puede ser malo, o, si tiene suerte,
+ habrá enviado la señal a un proceso que no est6aacute;
+ en uso actualmente, y verá kill:
+ PID: No such process.
+
+
+ ¿Por qué utilizar /bin/kill?
+
+ Muchos shells brindan el comando kill
+ como un comando incluido; esto es, el shell mandará
+ la señal directamente, en lugar de ejecutar
+ /bin/kill. Esto puede ser muy útil,
+ pero diferentes shells tienen diferentes sintaxis para
+ especificar el nombre de la señal que envía. En
+ lugar de tratar de aprederse todas ellas, puede ser más
+ simple solamente usar el comando
+ /bin/kill ...
+ directamente.
+
+
+
+
+ El envío de otras señales es muy similar,
+ solamente sustituya TERM o KILL
+ en la línea de comando según sea necesario.
+
+
+ Matar procesos aleatorios en el sistema puede ser una mala
+ idea. En particular, &man.init.8;, ID de proceso 1, es muy
+ especial. Ejecutar /bin/kill -s KILL 1 es
+ una manera rápida de apagar su sistema. Siempre
+ revise doblemente los argumentos con los que ejecuta &man.kill.1;
+ antes de presionar Enter.
+
- Intérpretes de órdenes (Shells)
+ Shells
+ shells
+ línea de comando
- En FreeBSD, gran parte del trabajo diario se realiza a través
- de un interfaz de la linea de órdenes llamado "shell". El
- principal trabajo del shell es recoger órdenes del canal de
- entrada y ejecutarlas. Muchos shells tienen también integradas
- funciones para ayudarnos en las tareas cotidianas tales como la
- manipulación de archivos, edición de líneas de
- órdenes, macros de órdenes, expansión de
- expresiones regulares en nombres de archivo y variables del sistema.
- FreeBSD viene con un conjunto de shells, como sh, el shell Bourne y csh,
- el shell C. Hay disponibles muchos otros shells en la "FreeBSD Ports
- Collection" que son mucho más potentes, como bash y tcsh.
+ En FreeBSD, mucho del trabajo diario es realizado en una
+ interfaz de línea de comandos llamada shell. El trabajo
+ principal del shell es tomar comandos de un canal de entrada
+ y ejecutarlos. Muchos shells también tienen funciones
+ integradas para ayudar con las tareas diarias como manipulación
+ de archivos, manejo de archivos con expresiones regulares,
+ edición de línea de comando, macros de comandos y
+ variables de entorno.
+ FreeBSD viene con un conjunto de shells, como sh,
+ el shell Bourne y tcsh, el shell C mejorado.
+ Hay muchos otros shells disponibles desde la colección de
+ ports de FreeBSD, tales como zsh y
+ bash.
- ¿Qué shell usar? Es cuestión de gustos. Si se
- es programador de C se puede sentir más cómodo con tcsh,
- un shell con una sintaxis similar al C. Si se proviene del mundo Linux o
- se es nuevo en el interfaz de órdenes de Unix, se puede probar
- con bash. El asunto es que cada shell posee unas propiedades
- únicas que pueden o no funcionar con el entorno de trabajo
- preferido y se ha de efectuar una elección sobre el shell a
- usar.
+ ¿Qué shell usar? es realmente una cuestión
+ de gustos. Si es un programador de C se puede sentir más
+ cómodo con un shell tipo C, como tcsh.
+ Si viene del mundo Linux o si es nuevo en la interfaz de línea
+ de comandos de &unix; puede probar con bash.
+ El punto es que cada shell posee unas propiedades únicas que
+ pueden o no funcionar con su entorno de trabajo preferido, y que
+ tiene una opción sobre el shell a usar.
- Una de las propiedades comunes de un shell es que completa los
- nombres de archivo. Dada la introducción de las primeras letras
- de una orden o del nombre de un archivo, se puede hacer que el shell
- complete automáticamente el resto de la orden o el nombre del
- archivo pulsando la tecla TAB. Aquí va un ejemplo. Supongamos
- que se tienen dos archivos llamados foobar y
- foo.bar. Se quiere borrar
- foo.bar. Lo que habría que teclear es:
- rm fo[TAB].[TAB].
+ Una de las propiedades comunes de un shell es que completa los
+ nombres de archivo. Dada la introducción de las primeras letras
+ de un comando o del nombre de un archivo, se puede hacer que el shell
+ complete automaticamente el resto del comando o nombre de archivo
+ pulsando la tecla Tab en el teclado.
+ Aquí está un ejemplo. Suponga que tiene dos archivos
+ llamados foobar y foo.bar.
+ Usted quiere borrar foo.bar. Lo que
+ habría que teclear es:
+ rm fo[Tab].[Tab].
- El shell nos mostraría rm
- foo[BEEP].bar.
+ El shell imprimiría rm
+ foo[BEEP].bar.
+ El [BEEP] es la campana de la consola, la cual es el shell
+ diciéndome que no pudo completar totalmente el nombre
+ de archivo porque hay más de una coincidencia.
+ Tanto foobar como foo.bar
+ inician con fo, pero solo se pudo completar
+ hasta foo. Si se teclea .,
+ y de nuevo Tab, entonces el shell es capaz de
+ introducir el resto del nombre de archivo por usted.
+ variables de entorno
- El [BEEP] es el pitido de consola (console
- bell): es el shell diciéndonos que fue incapaz de
- completar totalmente el nombre de archivo porque hay más de una
- coincidencia. Tanto foobar como
- foo.bar comienzan por fo, pero
- solo se pudo completar hasta foo. Si se teclea
- ., y de nuevo TAB, el shell será capaz de
- introducir el resto del nombre por nosotros.
+ Otra función del shell son las variables de entorno.
+ Las variables de entorno son parejas de valores clave almacenados
+ en el espacio de entorno del shell. Este espacio puede ser leído
+ por cualquier programa invocado por el shell y, por lo tanto,
+ contiene mucha configuración de programas. Aquí hay
+ una lista de las variables de entorno más comunes y su
+ significado:
+ variables de entorno
- Otra función del shell son las variables de entorno. Las
- variables de entorno son parejas de valores clave almacenados en el
- espacio de entorno del shell. Este espacio puede ser leído por
- cualquier programa invocado por el shell y, por tanto, en él se
- encuentra bastante información relativa a la configuración
- de programas. Lo siguiente es una lista de las variables de entorno
- más comunes y su significado:
-
-
+
@@ -311,313 +2197,581 @@
USER
- Nombre de usuario con el que se ha entrado al sistema.
+ Nombre de usuario actual en el sistema.PATH
- Lista de directorios, separada por puntos y coma, en los que
- se busca ejecutables.
+ Lista de directorios, separados por punto y coma, en los que
+ se busca ejecutables.DISPLAY
- Nombre en la red de la pantalla de X11 a la que conectarse, si
- se encuentra disponible.
+ Nombre de red de la pantalla X11 a la que conectarse,
+ si está disponible.SHELL
- El shell actual.
+ El shell actual.TERM
- El nombre del terminal del usuario. Se usa para determinar
- las posibilidades del terminal de datos.
+ El nombre de la terminal del usuario. Se usa para determinar
+ las capacidades de la terminal.TERMCAP
- Base de datos donde encontrar los códigos de
- escape necesarios para realizar diferentes funciones en el
- terminal.
+ Base de datos donde encontrar los códigos de
+ escape necesarios para realizar diferentes funciones en la
+ terminal.OSTYPE
- Tipo de sistema operativo. Por ejemplo, FreeBSD.
+ Tipo de sistema operativo. Por ejemplo, FreeBSD.MACHTYPE
- Arquitectura de la CPU en la que el sistema se
- está ejecutando.
+ Arquitectura del CPU en el que se está ejecutando
+ el sistema.EDITOR
- El editor de texto preferido por el usuario.
+ El editor de texto preferido por el usuario.PAGER
- El paginador de texto preferido por el usuario.
+ El paginador de texto preferido por el usuario.MANPATH
- Lista de directorios en los que se busca páginas de
- manual, separados por puntos y coma.
+ Lista de directorios separados por punto y coma
+ en los que se busca páginas de manual.
- Visualizar o establecer una variable de entorno difiere ligeramente
- de shell a shell. Por ejemplo, en los shells al estilo C como tcsh y
- csh, se usaría setenv para establecer y
- visualizar las variables de entorno actuales. Siguiendo el ejemplo, para
- establecer o modificar el valor de EDITOR, bajo csh o
- tcsh una orden como la siguiente establecería el valor de
- EDITOR a /usr/local/bin/emacs:
+ Bourne shells
+ Establecer una variable de entorno difiere ligeramente
+ de shell a shell. Por ejemplo, en los shells al estilo C
+ como tcsh y csh,
+ se usaría setenv para establecer
+ las variables de entorno. Bajo shells Bourne como
+ sh y bash, se
+ usaría export para establecer
+ las variables de entorno actuales. Por ejemplo, para
+ establecer o modificar la variable de entorno
+ EDITOR, bajo csh o
+ tcsh un comando como este establece
+ EDITOR a
+ /usr/local/bin/emacs:&prompt.user; setenv EDITOR /usr/local/bin/emacs
- Bajo los shells tipo Bourne (Bourne Shells):
+ Bajo shells Bourne:&prompt.user; export EDITOR="/usr/local/bin/emacs"
- También se puede hacer que la mayoría de los shells
- muestren el contenido de una variable de entorno situando el
- carácter $ delante del nombre de la variable
- desde la línea de órdenes. Por ejemplo, echo
- $TERM mostrará cualquiera que sea el valor que se le
- haya establecido a TERM, porque el shell expande el valor
- de TERM y se lo pasa al programa echo.
+ También se puede hacer que la mayoría de los shells
+ muestren el contenido de una variable de entorno situando el
+ carácter $ delante del nombre de la variable
+ desde la línea de comandos. Por ejemplo, echo $TERM
+ mostrará cualquiera que sea el valor que se le
+ haya establecido a $TERM, porque el shell expande el valor
+ de $TERM y se lo pasa al programa echo.
- Los shells manejan muchos caracteres especiales, llamados
- meta-caracteres, como representaciones especiales de datos. El mas
- común es el carácter *, que representa
- cualquier número de caracteres en un nombre de archivo. Estos
- meta-caracteres especiales se pueden usar para la expansión de
- nombres de archivos. Por ejemplo, teclear echo * es
- casi lo mismo que introducir ls porque el shell
- recoge todos los archivos que coinciden con * y se
- los pone en la línea de órdenes a echo para que los
- vea.
+ Los shells manejan muchos caracteres especiales, llamados
+ meta-caracteres, como representaciones especiales de datos. El más
+ común es el caracter *, que representa
+ cualquier número de caracteres en un nombre de archivo. Estos
+ meta-caracteres especiales se pueden usar para la expansión de
+ nombres de archivos. Por ejemplo, teclear echo * es
+ casi lo mismo que introducir ls porque el shell
+ toma todos los archivos que coinciden con * y se
+ los pone en la línea de comandos para que echo
+ los vea.
- Para evitar que el shell interprete estos caracteres especiales, se
- pueden salvar poniendo el carácter contrabarra
- (\) delante de ellos. echo $TERM
- muestra cualquiera que sea el valor establecido para el terminal que
- estamos usando. echo \$TERM muestra
- $TERM tal cual.
+ Para evitar que el shell interprete estos caracteres especiales,
+ se pueden escapar del shell anteponiéndoles un caracter
+ diagonal (\). echo $TERM imprime
+ a qué está configurada su terminal.
+ echo \$TERM imprime $TERM como
+ es.
- Cambiando de shell
-
-
- La manera más fácil de cambiar de shell es usando la
- orden chsh. Al ejecutar chsh se
- nos situará dentro del editor de texto que figure en la variable
- de entorno EDITOR o, de no estar configurada, se nos
- abrirá vi. Cámbiese la línea
- Shell: adecuadamente.
-
- También se le puede suministrar a chsh la
- opción ; ésto establecerá el
- shell por nosotros sin necesidad de entrar en el editor de texto. Por
- ejemplo, si se desea cambiar el shell a bash, lo siguiente
- realizará el ajuste:
+ Cambiando su shell
+ La manera más fácil de cambiar de shell es usando
+ el comando chsh. Ejecutando chsh
+ le colocará dentro del editor que esté configurado en
+ la variable de entorno EDITOR; no está
+ configurada, seá colocado en vi. Cambie
+ la línea Shell: para que concuerde.
+
+ También se le puede suministrar a chsh
+ la opción ; ésto establecerá el
+ shell por usted, sin necesidad de entrar en el editor de texto.
+ Por ejemplo, si se desea cambiar el shell a bash,
+ lo siguiente realizará el ajuste:
+
&prompt.user; chsh -s /usr/local/bin/bash
- Ejecutar chsh sin parámetros y cambiar el
- shell desde allí tambien funcionaría.
+ Ejecutar chsh sin parámetros y
+ editar el shell desde ahí también funciona.
- El shell que se desee usar debe figurar en el
- archivo /etc/shells. Si se ha instalado un shell
- desde la colección de ports,
- entonces esto ya se habrá realizado. Si se ha instalado
- manualmente el shell, se debe realizar el cambio pertinente.
-
- Por ejemplo, si se instaló manualmente
- bash y se situó en
- /usr/local/bin, debería hacer:
+ El shell que se desee usar debe estar
+ presente en el archivo /etc/shells.
+ Si se ha instalado un shell desde la
+ colección de ports, entonces
+ esto ya debió hacerse por usted. Si ha instalado
+ el shell manualmente, se debe realizar el cambio.
+
+ Por ejemplo, si se instaló manualmente bash
+ y lo colocó en /usr/local/bin,
+ debería hacer:&prompt.root; echo "/usr/local/bin/bash" >> /etc/shells
- Y entonces volver a ejecutar chsh.
+ Y entonces volver a ejecutar chsh.Editores de texto
- Gran parte de la configuración de FreeBSD se realiza
- modificando archivos de texto. A causa de esto, es una buena idea
- familiarizarse con un editor de texto. FreeBSD viene con unos cuantos
- como parte del sistema base y muchos más se encuentran
- disponibles en la colección de ports.
+ editores de texto
+ editores
- El editor de textos más fácil y rápido de
- aprender es uno llamado ee, cuyo nombre
- proviene del inglés "easy editor" (editor fácil). Para
- iniciar ee se debería teclear en la
- línea de órdenes ee filename, donde
- filename es el nombre del archivo que deseamos
- editar. Por ejemplo, para editar /etc/rc.conf,
- tecléese ee /etc/rc.conf. Una vez dentro de
- ee, todas las posibles órdenes para manipular las funciones del
- editor se presentan en la parte superior de la pantalla. El
- carácter acento circunflejo ^ representa a
- la tecla de control en el teclado, o sea que ^e significa pulsar
- simultáneamente la tecla control y la letra e.
- Para abandonar ee, se debe pulsar la tecla
- escape y elegir abandonar (leave) el editor. El editor preguntará
- entonces si se desean conservar los cambios si el archivo hubiera sido
- modificado.
+ Gran parte de la configuración de FreeBSD se realiza
+ modificando archivos de texto. A causa de esto, es una buena idea
+ familiarizarse con un editor de texto. FreeBSD viene con unos cuantos
+ como parte del sistema base y muchos más se encuentran
+ disponibles en la colección de ports.
- FreeBSD viene también con editores de texto mucho más
- potentes. Por ejemplo, vi como componente
- del sistema básico y emacs o
- vim como parte de la colección de
- ports. Estos editores ofrecen mucha más funcionalidad y potencia
- a expensas de un aprendizaje un poco más complicado. De cualquier
- manera, si se planea editar muchos textos, aprender un editor más
- potente como vim o
- emacs le ahorrará mucho tiempo a largo
- plazo.
+
+ ee
+
+
+ editors
+ ee
+
+ El editor de textos más sencillo y fácil de
+ aprender es uno llamado ee, cuyo nombre
+ proviene del inglés "easy editor" (editor fácil).
+ Para iniciar ee se debe teclear en la
+ línea de comandos
+ ee nombre-de-archivo
+ donde nombre-de-archivo es el nombre
+ del archivo a ser editado. Por ejemplo, para editar /etc/rc.conf,
+ teclée ee /etc/rc.conf. Una vez dentro
+ de ee, todos los comandos para manipular
+ las funciones del editor están listadas en la parte
+ superior de la pantalla. El caracter ^ representa
+ la tecla Ctrl del teclado, por lo tanto
+ ^e se expande a la combinación de teclas
+ Ctrle.
+ Para abandonar ee, presione la tecla
+ Esc, elegir abandonar (leave) el editor.
+ El editor preguntará entonces si se desean conservar los
+ cambios si el archivo hubiera sido modificado.
+
+
+ vi
+
+
+ editors
+ vi
+
+
+ emacs
+
+
+ editors
+ emacs
+
+ FreeBSD viene también con editores de texto mucho más
+ potentes, como vi, como parte del
+ sistema base, mientras que otros editores, como Emacs
+ y vim, son parte de la colección
+ de ports de FreeBSD
+ (editors/emacs y editors/vim).
+ Estos editores ofrecen mucha más funcionalidad y poder
+ a la expensa de ser un poco más complicados de aprender.
+ De cualquier manera si planea hacer mucho trabajo de edición
+ de texto, aprender un editor de texto más poderoso
+ como vim o Emacs
+ le ahorrará más tiempo a la larga.
-
+
+ Dispositivos y nodos de dispositivos
+
+ Un dispositivo es un término utilizado
+ mayormente para actividades relacionadas con hardware
+ en un sistema, incluyendo discos, impresoras, tarjetas
+ gráficas y teclados. Cuando FreeBSD arranca, la
+ mayoría de lo que FreeBSD despliega son dispositivos
+ siendo detectados. Puede mirar a través de los
+ mensajes de arranque de nuevo visualizando
+ /var/run/dmesg.boot.
+
+ Por ejemplo, acd0 es la
+ primera unidad CDROM IDE, mientras que kbd0
+ representa el teclado.
+
+ La mayoría de estos dispositivos en un sistema
+ operativo &unix; deben ser accesados a través de
+ archivos especiales llamados nodos de dispositivo, los
+ cuales se encuentran localizados en el directorio
+ /dev.
+
+
+ Creando nodos de dispositivo
+ Cuando agregue un nuevo dispositivo a su sistema, o
+ compile soporte para dispositivos adicionales, puede que
+ necesite crear uno o más nodos de dispositivo para
+ los nuevos dispositivos.
+
+
+ Script MAKEDEV
+ En sistemas sin DEVFS (esto concierne
+ a todas las versiones anteriores a FreeBSD 5.0), los
+ nodos de dispositivo son creados utilizando el script
+ &man.MAKEDEV.8; como se muestra abajo:
+
+ &prompt.root; cd /dev
+&prompt.root; sh MAKEDEV ad1
+
+
+ Este ejemplo debe crear el nodo de dispositivo
+ apropiado para la segunda unidad IDE instalada.
+
+
+
+ DEVFS Dispositivo de sistema de archivos (DEVice File System)
+
+ El dispositivo de sistema de archivos, o DEVFS,
+ brinda acceso a dispositivos del espacio de nombres del kernel en el
+ espacio de nombres del sistema de archivos global.
+ En lugar de tener que crear y modificar nodos de dispositivo,
+ DEVFS mantiene este sistema de archivos en
+ particular por usted.
+
+ Vea la página de manual &man.devfs.5;
+ para mayor información.
+
+ DEVFS es utilizado por defecto en FreeBSD 5.0 y
+ posteriores.
+
+
+
+
+
+
+ Formatos binarios
+
+ Para entender porque &os; utiliza el formato &man.elf.5;,
+ primero debe conocer un poco acerca de los tres formatos
+ de ejecutables dominantes para &unix;:
+
+
+
+ &man.a.out.5;
+
+ El formato objeto de &unix; más antiguo y
+ clásico. Utiliza una cabecera
+ corta y compacta con un número mágico al
+ inicio que es usado frecuentemente para caracterizar el
+ formato (vea &man.a.out.5; para más detalles).
+ Contiene tres segmentos cargados: .text, .data, y .bss
+ además de una tabla de símbolos y una tabla
+ de cadena.
+
+
+
+ COFF
+
+ El formato objeto de SVR3. La cabecera ahora consiste
+ de una sección de tabla, para que pueda tener más
+ y no solo las secciones .text, .data, y .bss.
+
+
+
+ &man.elf.5;
+
+ El sucesor de COFF, presentando
+ secciones múltiples y posibles valores de 32-bits
+ o 64-bits. Una gran desventaja: ELF
+ fué también diseñado asumiendo que
+ solamente existiría una ABI por cada arquitectura
+ de sistema. Esa asumción es en realidad bastante
+ incorrecta, e incluso ni en el mundo comercial SYSV (el
+ cual tiene al menos tres ABIs: SVR4, Solaris, SCO) se
+ mantiene como verdadera.
+
+ FreeBSD trata de solucionar este problema de alguna
+ manera brindando una utilidad para marcar
+ un ejecutable ELF conocido con
+ información acerca de con que ABI cumple. Vea la
+ página de manual de &man.brandelf.1; para mayor
+ información.
+
+
+
+ FreeBSD viene del campo clásico y ha
+ utilizado el formato &man.a.out.5;, una tecnología usada
+ y probada a través demuchas generaciones de liberaciones
+ BSD, hasta el inicio de la rama 3.X. Aunque era posible
+ construir y ejecutar binarios nativos ELF
+ (y kernels) en un sistema FreeBSD desde algún tiempo
+ antes de eso, FreeBSD inicialmente resistió el
+ empujón para cambiar a ELF
+ como el formato por omisión. ¿Por qué? bueno, cuando
+ el campo Linux realizó su dolorosa transición a
+ ELF, no fué tanto para escapar del
+ formato ejecutable a.out como lo fué de
+ su mecanismo de librerías compartidas inflexible basado en salto-tabla,
+ el cual hacía la construcción de librerías
+ compartidas muy difícil para proveedores y desarrolladores
+ por igual. Ya que las herramientas ELF
+ disponibles ofrecían una solución al problema de
+ librerías compartidas y eran vistas generalmente como
+ la manera de avanzar de todas maneras, el costo
+ de migración fué aceptado como necesario y se
+ realizó la transición. El mecanismo de
+ librerías compartidas de FreeBSD está basado de
+ manera más cercana al estilo de mecanismo de
+ librerías compartidas de &sunos; de Sun y, como tal, es
+ muy sencillo de utilizar.
+
+ Entonces, ¿por qué existen tantos formatos diferentes?
+
+ En el tenue, oscuro pasado, existía hardware simple.
+ Este hardware simple soportaba un sistema pequeño, simple.
+ a.out era completamente adecuado para el trabajo
+ de representar binarios en este sistema simple (un PDP-11). A
+ medida que la gente portaba &unix; desde este sistema simple,
+ retuvieron el formato a.out debido a que
+ era suficiente para los primeros portes de &unix; a arquitecturas
+ como 68k de Motorola, VAXen, etc.
+
+ Entonces algún brillante ingeniero de hardware decidió
+ que si el podía forzar al software a realizar algunos trucos
+ sucios, entonces podría rasurar algunas puertas del
+ diseño y permitirle al centro de su CPU correr más
+ rapidamente. Aunque estaba hecho para trabajar con este nuevo
+ tipo de hardware (conocido estos días como RISC),
+ a.out no estaba bien adaptado para este
+ hardware, así que varios formatos fueron desarrollados
+ para obtener un mejor desempeño de este hardware que el
+ limitado, simple formato a.out podría
+ ofrecer. Cosas como COFF, ECOFF
+ y algunos otros oscuros fueron inventados y sus limitaciones
+ fueron exploradas antes de que las cosas parecieran decidirse en
+ ELF.
+
+ Además, el tamaño de los programas estaban
+ volviendose gigantes y los discos (y la memoria física)
+ eran relativamente pequeños así que el concepto
+ de una librería compartida nació. El sistema
+ VM también se volvió más sofisticado.
+ Mientras cada uno de estos avances fué hecho utilizando
+ el formato a.out, su utilidad era reducida
+ más y más con cada opción nueva. Además,
+ la gente quería cargar dinamicamente cosas al momento
+ de ejecución, o descartar partes de su programa despues
+ que el código de inicio se ejecutara para salvar memoria
+ del núcleo y espacio de swap. Los lenguajes se volvieron
+ más sofisticados y la gente quería que el código
+ fuera llamado antes que main de manera automática. Muchos
+ hacks fueron hechos al formato a.out para
+ permitir que todas estas cosas sucedieran, y basicamente
+ funcionaron por un tiempo. Con el tiempo, a.out
+ no estaba para manejar todos estos problemas sin incrementar
+ la carga y complejidad en el código. Mientras ELF
+ resolvía muchos de estos problemas, hubiera sido doloroso
+ cambiar del sistema que basicamente funcionaba. Así que
+ ELF tuvo que esperar hasta que fué más
+ doloroso permanecer con a.out que migrar a
+ ELF.
+
+ De todas maneras, al paso del tiempo, las herramientas
+ de construcción de las que FreeBSD derivó
+ sus herramientas de construcción (el ensamblador y
+ cargador especialmente) evolucionaron en dos árboles
+ paralelos. El árbol FreeBSD agregó librerías
+ compartidas y arregló algunos errores. Las personas de
+ GNU que originalmente escribieron estos programas los
+ reescribieron y agregaron soporte más simple para
+ construir compiladores cruzados (cross compilers), enchufando
+ diferentes formatos a voluntad, y así sucesivamente.
+ Ya que mucha gente quería construir compiladores
+ cruzados con FreeBSD como blanco, estaban de mala suerte
+ debido a que las fuentes antiguas que FreeBSD tenía
+ para as y ld
+ no estaban listas para esa tarea. La nueva cadena de herramientas
+ GNU (binutils) soporta compilamiento
+ cruzado, ELF, librerías compartidas,
+ extensiones C++, etc. Además, muchos proveedores están
+ liberando binarios ELF, y es una buena
+ cosa que FreeBSD los ejecute.
+
+ ELF es más expresivo que a.out
+ y permite más extensibilidad en el sistema base.
+ Las herramientas ELF están mejor
+ mantenidas y ofrecen soporte de compilamiento cruzado, el
+ cual es importante para muchas personas.
+ ELF puede ser un poco más lento que
+ a.out, pero tratar de medirlo puede ser
+ difícil. También existen numerosos detalles
+ que son diferentes entre los dos en como mapean páginas,
+ manejan código de inicio, etc. Ninguno de estos es
+ muy importante, pero existen diferencias. Con el tiempo, el
+ soporte para a.out será eliminado
+ del kernel GENERIC, y eventualmente
+ eliminado del kernel una vez que la necesidad de ejecutar
+ programas a.out legados haya pasado.
+
+
+ Para más informaciónPáginas de manual
+ páginas de manual
- La documentación más exhaustiva de FreeBSD se
- encuentra en la forma de páginas de manual. Casi todos los
- programas del sistema vienen con un sucinto manual de referencia
- explicando el funcionamiento básico y los diferentes argumentos.
- Estos manuales pueden ser revisados con el programa man. El uso del
- programa man es sencillo:
+ La documentación más exhaustiva de FreeBSD se
+ encuentra en la forma de páginas de manual. Casi todos los
+ programas del sistema vienen con un breve manual de referencia
+ explicando el funcionamiento básico y sus diferentes argumentos.
+ Estos manuales pueden ser revisados con el comando man.
+ El uso del comando man es simple:
- &prompt.user; man command
+ &prompt.user; man comando
- command es el nombre del programa del que se
- quiere saber algo. Por ejemplo, para saber algo acerca del programa
- ls tecléese:
+ comando es el nombre del comando del
+ que desea aprender. Por ejemplo, para saber algo acerca del
+ comando ls escriba:&prompt.user; man ls
- El manual en línea está dividido en secciones
- numeradas:
+ El manual en línea está dividido en secciones
+ numeradas:
- Órdenes/programas de usuario.
+ Comandos de usuario.
- LLamadas de sistema y códigos numéricos de
- error.
-
-
- Funciones de las librerías de C.
+ Llamadas al sistema y números de error.
- Manejadores de Dispositivos.
+ Funciones en las librerías de C.
- Formatos de Archivos.
+ Controladores de dispositivo.
- Juegos y otros divertimentos.
+ Formatos de archivo.
- Información miscelánea.
+ Juegos y otras diversiones.
- Programas relativos al mantenimiento y operación del
- sistema.
+ Información miscelanea.
+
+
+
+ Comandos de mantenimiento y operación del sistema.Desarrolladores del Kernel.
-
-
- En algunos casos, el mismo epígrafe puede aparecer en
- más de una sección del manual en línea. Hay, por
- ejemplo, un programa de usuario llamado chmod y una llamada de sistema
- chmod(). En este caso se le puede especificar a man
- cuál se desea especificando la sección:
+
+ En algunos casos, el mismo tema puede aparecer en más de
+ una sección del manual en línea. Por ejemplo,
+ existe un comando de usuario chmod y una
+ llamada del sistema chmod(). En este caso,
+ se le puede decir al comando man
+ cual desea especificando la sección:&prompt.user; man 1 chmod
- Esto nos mostrará la página del manual en línea
- del programa de usuario chmod. Las referencias a una
- sección concreta del manual en línea se sitúan
- tradicionalmente entre paréntesis en la documentación
- impresa, de tal manera que &man.chmod.1; se refiere al programa de
- usuario chmod y &man.chmod.2; se refiere a la llamada
- de sistema.
+ Esto desplegará la página de manual para
+ el comando de usuario chmod. Las referencias
+ a una sección concreta del manual en línea
+ son colocadas tracicionalmente entre paréntesis
+ en la documentación escrita, por lo tanto &man.chmod.1;
+ se refiere al comando de usuario chmod y
+ &man.chmod.2; se refiere a la llamada de sistema.
- Esto está muy bien si se conoce el nombre del programa y
- simplemente se quiere saber cómo usarlo. Pero, ¿qué
- si se recuerda el nombre del programa? Se puede usar man para que
- realice una búsqueda mediante palabras clave en las descripciones
- de programas usando el argumento :
+ Esto está muy bien si se conoce el nombre del programa y
+ simplemente se quiere saber como usarlo. Pero, ¿y si no
+ puede recordar el nombre del comando? Se puede usar man para que
+ realice una búsqueda mediante palabras clave en las descripciones
+ de programas utilizando el argumento :
+
+ &prompt.user; man -k mail
- &prompt.user; man -k mail
+ Con este comando se mostrará una lista de
+ comandos que tienen la palabra clave mail
+ en sus descripciones. Esto en realidad es funcionalmente
+ equivalente a usar el comando apropos.
- Con esta orden se nos mostrará una lista de programas que
- contienen la palabra clave mail en sus descripciones.
- Ésto equivale a usar el programa apropos.
+ Así que , ¿está viendo todos esos comandos
+ elegantes en /usr/bin pero no tiene
+ ni la menor idea de lo que la mayoría de ellos hace?
+ simplemente haga:
- Si se está mirando todos esos curiosos programas que residen
- en /usr/bin y no se tiene ni puñetera idea
- de que narices hacen realmente, hágase un sencillo:
-
- &prompt.user; cd /usr/bin
+ &prompt.user; cd /usr/bin
&prompt.user; man -f *
- o
+ o
- &prompt.user; cd /usr/bin
+ &prompt.user; cd /usr/bin
&prompt.user; whatis *
- que hace exactamente lo mismo.
-
+ que hace exactamente lo mismo.
+
-
- Archivos de información GNU
+
+ Archivos de información GNU
+ Fundación de software libre
- FreeBSD incluye muchas aplicaciones y utilidades producidas por la
- Free Software Foundation (FSF). De manera adicional a las páginas
- de manual estos programas vienen con documentos de hipertexto más
- detallados, llamados archivos info, que pueden ser
- revisados con el programa info o, si se ha instalado
- emacs, el modo "info" de
- emacs.
+ FreeBSD incluye muchas aplicaciones y utilidades producidas
+ por la Fundación de software libre (FSF, Free Software
+ Foundation). De manera adicional a las páginas de manual
+ estos programas vienen con documentos de hipertexto más
+ detallados, llamados archivos info, los
+ cuales pueden ser viualizados con el comando info
+ o, si tiene instalado emacs, con
+ el modo info de emacs.
- Para usar el programa &man.info.1; simplemente
- tecléese:
+ Para utilizar el comando &man.info.1;, simplemente
+ teclée:&prompt.user; info
- Para una descripción breve, tecléese
- h. Para una referencia rápida de un programa,
- tecléese ?.
+ Para una breve introducción, teclée h.
+ Para una referencia rápida, teclée ?.