cli-app-icon_64.pngAplicaciones de línea de comandos específicas de Haiku

Ubicación:/boot/system/bin/
/boot/system/non-packaged/bin/
~/config/bin/
~/config/non-packaged/bin/


Todas las aplicaciones de línea de comandos incluidas con Haiku están en /boot/system/bin/. Las aplicaciones de línea de comandos propias o instaladas adicionalmente deberían ir en esa ubicación también, o en ~/config/bin, cuando se instalen desde un paquete .hpkg. De otra forma también puede ubicarlas en /boot/system/non-packaged/bin/ o en ~/config/non-packaged/bin/. Todas estas ubicaciones son parte de la variable PATH y por lo tanto serán encontradas automáticamente.
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 bin/ por su cuenta. Al ejecutar una aplicación con el parámetro --help, se muestra el uso del comando y todas sus opciones.

index Relacionados con los atributos: listattr, catattr, addattr, rmattr, copyattr

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!
Todos estos comandos están descritos en el tema Atributos en la Terminal.

index Relacionados con el indexado: lsindex, mkindex, reindex, rmindex

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.
Estos comandos están descritos en el tema Índice.

index Administración de paquetes: package, pkgman

La orden package se utiliza para administrar paquetes HPKG. Vea el artículo Instalación de aplicaciones (en inglés) para aprender sobre los aspectos básicos. Normalmente la herramienta haikuporter es utilizada para crear paquetes automáticamente a partir de "recetas".

Se utiliza pkgman 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 full-sync: es más agresivo y también permite regresar a versiones anteriores o elimina paquetes, de ser necesario.
Para más detalles sobre un parametro, añada "--help", por ejemplo, pkgman search --help.

index Comandos útiles de scripting

Aquí se muestran unas pocas herramientas en línea de comandos que son especialmente útiles para scripting (ver también el tema Bash y Scripting).

alert

alert 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:

alert --idea "FantasticApp(tm) installed successfully! \
Would you like a link to it?" "On Desktop" "In Deskbar" "No thanks"

cli-alert.png

filepanel

filepanel 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

filepanel -s -t "Save your logfile" -d ~/config/settings -n Fantastic.log

ejemplo de resultado de orden filepanel

hey

hey es una pequeña herramienta auxiliar que envía BMessages a aplicaciones y muestra su respuesta. Puede ser utilizado para crear scripts de aplicaciones, por ejemplo controlar un programa por "control remoto" desde un script o la línea de comandos. Su uso es algo complejo... La entrada en el blog de Humdinger es una buena introducción, y gracias a la Biblia del BeOS de Scot Hacker, hay un tutorial de hey mucho más amplio por Chris Herborth.

notify

notify muestra un panel de notificación con un mensaje. Hay varios parametros que se describen cuando invoca notify --help. Una notificación también se puede usar para mostrar el progreso de alguna acción. Cuando lo hace, es importante poner un messageID 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.
Un ejemplo:

notify --type progress --group "--group" --title "--title" --icon /boot/home/bebook.hvif \
--messageID MyMessageID --progress .75 "Keep waiting"

cli-notification.png

query

query 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 por fórmula (by formula), añadir comillas (") en frente y luego pegar la cadena completa después de su orden query en la Terminal o en su script.

waitfor

waitfor es una buena forma de esperar a que un hilo o aplicación particular inicie o termine.

index Otras ordenes

checkfs

checkfs es una herramienta importante para revisar su sistema de archivos por errores. Simplemente añada un nombre de volumen como /Haiku o una ruta de dispositivo y ejecutará a través de cada archivo y corregirá inconsistencias cuando sea posible.

desklink

desklink 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 Captura de pantalla (screenshot) con varias opciones (la "\" en la primera línea sólo es para lograr una nueva línea en la Terminal):

 desklink "cmd=Active window (2s):/bin/screenshot --window --border --delay 2" \
"cmd=Remove replicant:desklink --remove=screenshot" /bin/screenshot

cli-alert.png

diskimage

diskimage 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.

launch_roster

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 launch_roster para detener (stop) el reinicio de la aplicación previo a cerrarla. De manera similar, puede iniciarla de nuevo (start) o lograr averiguar información sobre ella (info). El parámetro log muestra un historial de todos los eventos relacionados con launch_daemon.
Si se invoca sin ningún parámetro, launch_roster despliega una lista de todos las aplicaciones y servicios que estan bajo su control.
Por ejemplo, la siguiente orden detendrá el re-lanzamiento de la Barra de Escritorio:

launch_roster stop x-vnd.be-tskb

mountvolume
mount

La orden mountvolume 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 --help para conocer más opciones.

La orden mount 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 -t y luego la ubicación remota con el parámetro -p. Como parámetro de sistema de archivos, puede usar cualquiera de los que encuentre en /system/add-ons/kernel/file_system (y las jerarquías de archivos correspondientes bajo ~/config o "non-packaged"). También debe crear una carpeta como punto de montaje. A continuación se muestra un ejemplo:

mkdir -p /DiskStation
mount -t nfs4 -p "192.168.178.3:volume1" /DiskStation

open

open 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". para el directorio actual y .. para el directorio padre, abriendo la carpeta en el Tracker.

ramdisk

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.
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 script con lo siguiente:

ramdisk create -s 1gb
mkfs -q -t bfs /dev/disk/virtual/ram/0/raw RAMses
mountvolume RAMses

Nota: Cuando esté creando un ramdisk, la orden ramdisk muesstra la ruta al mismo. Si crea varios discos, la ruta /dev/disk/virtual/ram/0/raw cambiará!

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:

dd if=/dev/zero of=RAMimage bs=500M count=1
mkfs -q -t bfs /dev/disk/virtual/ram/0/raw RAMimage

De ahora en adelante, puede iniciar el ramdisk de la siguiente manera:

ramdisk create RAMimage
mountvolume RAMimage

Es muy importante que siempre desmonte su ramdisk de manera limpia, ya sea desde el Tracker o con la orden unmount /RAMimage, de lo contrario los cambios no se escribirán de vuelta en el archivo imagen!