<h2><imgsrc="../../images/apps-images/cli-app-icon_64.png"alt="cli-app-icon_64.png"width="64"height="64"/>Aplicaciones de línea de comandos específicas de Haiku</h2>
<p>Todas las aplicaciones de línea de comandos incluidas con Haiku están en <spanclass="path">/boot/system/bin/</span>. Las aplicaciones de línea de comandos propias o instaladas adicionalmente deberían ir en esa ubicación también, o en <spanclass="path">~/config/bin</span>, cuando se instalen desde un paquete .hpkg. De otra forma también puede ubicarlas en <spanclass="path">/boot/system/non-packaged/bin/</span> o en <spanclass="path">~/config/non-packaged/bin/</span>. Todas estas ubicaciones son parte de la variable PATH y por lo tanto serán encontradas automáticamente.<br/>
La siguiente no es una lista exhaustiva de las aplicaciones CLI específicas de Haiku. Solo sirve para destacar algunas de las más útiles para darle una pequeña muestra. Anímese a explorar lo qué hay en las carpetas <spanclass="path">bin/</span> por su cuenta. Al ejecutar una aplicación con el parámetro <tt>--help</tt>, se muestra el uso del comando y todas sus opciones.</p>
<aid="cli-attributes"name="cli-attributes">Relacionados con los atributos: <spanclass="cli">listattr</span>, <spanclass="cli">catattr</span>, <spanclass="cli">addattr</span>, <spanclass="cli">rmattr</span>, <spanclass="cli">copyattr</span></a></h3>
<p>Estos comandos son utilizados para mostrar, leer, añadir o eliminar atributos de ficheros. Recuerde que estos metadatos sólo están disponibles actualmente en los volúmenes formateados como BFS. ¡Mover los ficheros a otro sistema de ficheros eliminará todos los atributos!<br/>
Todos estos comandos están descritos en el tema <ahref="../attributes.html#attributes-terminal">Atributos en la Terminal</a>.</p>
<aid="cli-index"name="cli-index">Relacionados con el indexado: <spanclass="cli">lsindex</span>, <spanclass="cli">mkindex</span>, <spanclass="cli">reindex</span>, <spanclass="cli">rmindex</span></a></h3>
<p>Con estos comandos se puede listar, crear, reindexar y eliminar atributos del índice de BFS. Todo volumen tiene su propio índice, recuérdelo cuando copie ficheros de un volumen a otro.<br/>
<aid="cli-pkg"name="cli-pkg">Administración de paquetes: <spanclass="cli">package</span>, <spanclass="cli">pkgman</span></a></h3>
<p>La orden <spanclass="cli">package</span> se utiliza para administrar paquetes HPKG. Vea el artículo <ahref="https://www.haiku-os.org/guides/daily-tasks/install-applications">Instalación de aplicaciones</a> (en inglés) para aprender sobre los aspectos básicos. Normalmente la herramienta <ahref="https://github.com/haikuports/haikuports/wiki">haikuporter</a> es utilizada para crear paquetes automáticamente a partir de "recetas".</p>
<p>Se utiliza <spanclass="cli">pkgman</span> para buscar, instalar, actualizar y desinstalar paquetes. Los repositorios de paquetes pueden ser añadidos, eliminados y sus listas de paquetes pueden ser refrescados. Un tipo de actualización especial se invoca con el parametro <tt>full-sync</tt>: es más agresivo y también permite regresar a versiones anteriores o elimina paquetes, de ser necesario.<br/>
Para más detalles sobre un parametro, añada "--help", por ejemplo, <tt>pkgman search --help</tt>.</p>
<aid="cli-scripting"name="cli-scripting">Comandos útiles de scripting</a></h3>
<p>Aquí se muestran unas pocas herramientas en línea de comandos que son especialmente útiles para scripting (ver también el tema <ahref="../bash-scripting.html">Bash y Scripting</a>).</p>
<tdvalign="top"><p><spanclass="cli">alert</span> invoca una ventana de alerta típica con un ícono predefinido, texto explicatorio y hasta tres botones. Devolverá el título del botón presionado y un estado de salida (iniciando con 0). Por ejemplo, el siguiente cuadro es creado con la siguiente orden:</p>
<tdvalign="top"><p><spanclass="cli">filepanel</span> muestra un panel de abrir o guardar y permite al usuario escoger un archivo o ubicación. Recibirá como valor devuelto la ruta del archivo o carpeta elegida. Hay varios parametros disponibles, por ejemplo, uno para establecer la carpeta inicial, un título de ventana, un nombre predeterminado para guardar o restricciones sobre los tipos de archivos permitidos. Este es un ejemplo de </p>
<tdvalign="top"><p><spanclass="cli">hey</span> es una pequeña herramienta auxiliar que envía BMessages a aplicaciones y muestra su respuesta. Puede ser utilizado para crear <i>scripts</i> de aplicaciones, por ejemplo controlar un programa por "control remoto" desde un script o la línea de comandos. Su uso es algo complejo... <ahref="https://www.haiku-os.org/blog/humdinger/2017-11-05_scripting_the_gui_with_hey/">La entrada en el blog de Humdinger</a> es una buena introducción, y gracias a la Biblia del BeOS de Scot Hacker, hay un <ahref="http://www.birdhouse.org/beos/bible/bos/ch_scripting6.html">tutorial de hey</a> mucho más amplio por Chris Herborth.</p>
<tdvalign="top"><p><spanclass="cli">notify</span> muestra un panel de notificación con un mensaje. Hay varios parametros que se describen cuando invoca <spanclass="cli">notify --help</span>. Una notificación también se puede usar para mostrar el progreso de alguna acción. Cuando lo hace, es importante poner un <i>messageID</i> y que lo use siempre cuando actualice el progreso (es un flotante entre 0.0 y 1.0 que se muestra como porcentaje). En caso contrario verá varios paneles de notificación si actualiza más rápido que el tiempo de espera establecido.<br/>
<tdvalign="top"><p><spanclass="cli">query</span> es la versión de la línea de comandos del panel Buscar. De hecho, una manera rápida de generar el término de búsqueda es crear una consulta en el panel Buscar, luego cambiarse a <spanclass="menu">por fórmula</span> (by formula), añadir comillas (<tt>"</tt>) en frente y luego pegar la cadena completa después de su orden <spanclass="cli">query</span> en la Terminal o en su <i>script</i>.</p>
<td><p><spanclass="cli">checkfs</span> es una herramienta importante para revisar su sistema de archivos por errores. Simplemente añada un nombre de volumen como <spanclass="path">/Haiku</span> o una ruta de dispositivo y ejecutará a través de cada archivo y corregirá inconsistencias cuando sea posible.</p>
<tdvalign="top"><p><spanclass="cli">desklink</span> puede instalar un ícono en la bandeja de la Barra de Escritorio para cualquier archivo, carpeta, consulta o aplicación. También ofrece la opción de proveer un menú contextual cuando da un clic con el botón derecho para ejecutar acciones especiales. Por ejemplo, puede intentar añadir esto a la aplicación de intérprete de comandos <spanclass="app">Captura de pantalla</span> (screenshot) con varias opciones (la "<tt>\</tt>" en la primera línea sólo es para lograr una nueva línea en la Terminal):</p>
<tdvalign="top"><p><spanclass="cli">diskimage</span> le permite registrar un archivo normal como un dispositivo de disco. Por ejemplo, puede registrar una imagen anyboot de Haiku, montarla en el Tracker y copiar, editar o quitar archivos de ahí antes de usarla como origen en el Instalador.</p>
<tdvalign="top"><p>El launch_daemon inicia todo tipo de servicios y aplicaciones al arrancar. Para algunos se les dirige a reiniciarlos en caso que hubieran cerrado. Si no quiere que eso suceda – por ejemplo, en caso que quiera poner a prueba un Tracker modificado – entonces usaría <spanclass="cli">launch_roster</span> para detener (<tt>stop</tt>) el reinicio de la aplicación previo a cerrarla. De manera similar, puede iniciarla de nuevo (<tt>start</tt>) o lograr averiguar información sobre ella (<tt>info</tt>). El parámetro <tt>log</tt> muestra un historial de todos los eventos relacionados con launch_daemon.<br/>
Si se invoca sin ningún parámetro, <spanclass="cli">launch_roster</span> despliega una lista de todos las aplicaciones y servicios que estan bajo su control.<br/>
Por ejemplo, la siguiente orden detendrá el re-lanzamiento de la Barra de Escritorio:</p>
<tdvalign="top"><p>La orden <spanclass="cli">mountvolume</span> es preferida por muchos para montar discos y particiones locales, porque su formato de uso es muy fácil: sólo debe invocarlo con el nombre de la partición y eso es todo. Ingrese la orden junto a <tt>--help</tt> para conocer más opciones.</p>
<p>La orden <spanclass="cli">mount</span> puede montar adicionalmente discos remotos utilizando un sistema de archivos de red, como NFS4. Puede especificar el sistema de archivos a usarse con el parámetro <tt>-t</tt> y luego la ubicación remota con el parámetro <tt>-p</tt>. Como parámetro de sistema de archivos, puede usar cualquiera de los que encuentre en <spanclass="path">/system/add-ons/kernel/file_system</span> (y las jerarquías de archivos correspondientes bajo <spanclass="path">~/config</span> o "<spanclass="path">non-packaged</span>"). También debe crear una carpeta como punto de montaje. A continuación se muestra un ejemplo:</p>
<tdvalign="top"><p><spanclass="cli">open</span> es una útil pequeña herramienta. Con ella puede abrir cualquier archivo con su aplicación preestablecida, o iniciar una aplicación específica por su firma sin la necesidad de saber su ruta exacta. También funciona con direcciones URL e incluso con directorios "virtuales"<tt>.</tt> para el directorio actual y <tt>..</tt> para el directorio padre, abriendo la carpeta en el Tracker.</p>
<tdvalign="top"><p>Un Disco RAM, o ramdisk, es como un disco duro que se ejecuta únicamente en la memoria de la computadora. Eso la hace muy rápido pero también volatil, porque su contenido se desvanece cuando apaga la computadora, o se cuelga o si hay un apagón.<br/>
Para crear un ramdisk de 1 GiB, formatearlo con el nombre "RAMses" y montarlo, debe ingresar la siguiente orden en la Terminal o crear un <i>script</i> con lo siguiente:</p>
<p>Nota: Cuando esté creando un ramdisk, la orden <spanclass="cli">ramdisk</span> muesstra la ruta al mismo. Si crea varios discos, la ruta <spanclass="path">/dev/disk/virtual/ram/0/raw</span> cambiará!</p>
<p>Para conservar el contenido, al menos si no hay una calamidad como un apagón, etc., un ramdisk se puede configurar para leer/escribir una imagen al disco duro. Para eso, debe proveer un archivo del tamaño deseado de donde será leído cada vez que inicie su ramdisk, y donde se escriba cada vez que lo desmonte. Para crear un archivo de imagen "RAMimage" de 500MiB y luego formatearlo, ingrese lo siguiente:</p>
<p>Es muy importante que siempre desmonte su ramdisk de manera limpia, ya sea desde el Tracker o con la orden <spanclass="cli">unmount /RAMimage</span>, de lo contrario los cambios no se escribirán de vuelta en el archivo imagen!</p>