Traducerea acestei pagini nu este completă încă. Până când va fi, părțile incomplete utilizează originalul în limba engleză.

cli-app-icon_64.pngAplicații în linia de comandă specifice Haiku

Locație:/boot/system/bin/
~/config/bin/
~/config/non-packaged/bin/


Toate aplicațiile în linie de comandă trimise cu Haiku sunt în /boot/system/bin/. Aplicațiile dvs. sau aplicațiile adiționale vor apărea acolo de asemenea, sau în ~/config/bin/, când sunt instalate dintr-un pachet .hpkg. Altfel le puteți pune în /boot/system/non-packaged/bin/ sau ~/config/non-packaged/bin/. Toate aceste locații sunt parte a variabilei PATH și sunt prin urmare găsite automat.
Următoarea nu este o listă exhaustivă a tuturor aplicațiilor CLI specifice Haiku, ea servește doar ca să se evidențieze câteva dintre cele mai utile pentru a vă oferi un gust. Simțiți-vă încurajat să explorați ce este în dosarele bin/ pe cont propriu un pic. Executarea unei aplicații cu parametrul --help arată utilizarea comenzii și toate opțiunile ei variate.

index Legate de atribute: listattr, catattr, addattr, rmattr, copyattr

Aceste comenzi sunt utilizate pentru afișarea, citirea, adăugarea sau eliminarea atributelor fișierelor. Nu uitați că aceste date meta sunt disponibile în prezent doar pe volume formatate BFS. Mutarea fișierelor pe alte sisteme de fișiere va elimina toate atributele!
Toate aceste comenzi sunt discutate în subiectul Atribute în Terminal.

index Legate de index: lsindex, mkindex, reindex, rmindex

Cu aceste comenzi, listați, construiți, reindexați, și eliminați atribute la indexul BFS-ului. Fiecare volum are indexul lui, nu uitați asta când copiați fișiere de pe un volum pe altul.
Aceste comenzi sunt discutate în subiectul Index.

index Legate de gestionarea de pachete: package, pkgman

Comanda package este utilizată pentru a administra pachete HPKG. Uitați-vă la articolul Instalarea de aplicații pentru a învăța bazele. De obicei unealta haikuporter este utilizată automat pentru a crea pachete din așa numite rețete.

pkgman este utilizat pentru a căuta, instala, actualiza și dezinstala pachete. Depozitele de pachete pot fi adăugate, eliminate și pot să aibă listele lor de pachete actualizate. Un tip special de actualizare este invocată cu parametrul full-sync: este mai agresiv și de asemenea retrogradează sau elimină pachete, dacă este necesar.
Pentru mai multe delalii pentru un parametru, aplicați "--help", de ex. pkgman search --help

index Comenzi de scripting utile

Iată câteva comenzi utile din linia de comandă care sunt în special utilizate pentru scriptare (vedeți și subiectul Bash și Scriptare).

alert

alert conjurează fereastra de alertă tipică cu o iconiță predefinită, text explicativ și până la trei butoane. Aceasta va returna titlul butonului apăsat și o stare de ieșire (începând cu 0). De exemplu, aceasta este făcută din linia:

alert --idea "FantasticApp(tm) instalat cu succes! \
Doriți o legătură către acesta?" "Pe Desktop" "În Deskbar" "Nu mulțumesc"

cli-alert.png

filepanel

filepanel afișează un panou de fișier de încărcare sau de salvare și permite utilizatorului să aleagă un fișier sau o locație. Ca valoare de returnare veți primi fișierul ales sau calea către un dosar. Există mai mulți parametri disponibili, de exemplu pentru a începe un director, un titlu de fereastră, un nume implicit când se salvează sau există restricții la tipul de fișiere permise. Acesta este un exemplu de

filepanel -s -t "Salvează logfile" -d ~/config/settings -n Fantastic.log

cli-filepanel.png

hey

hey este o unealtă mică de ajutor care trimite BMessages la aplicații și scrie pe ecran mesajul lor. Poate fi utilizat pentru scriptarea de aplicații, adică „controlarea de la distanță” a unui program de la un script sau de la linia de comandă. Utilizarea acestuia e puțin mai complexă... postul de pe blogul lui Humdinger servește ca o bună introducere, și grație Bibliei BeOS a lui Scott Hacker, există o variantă mult mai cuprinzătoare a tutorialului hey de Chris Herborth.

notify

notify arată un panou de înștiințare cu un mesaj. Există diferite parametri care sunt descriși când apelați notify --help. O înștiințare poate fi de asemenea folosită când arătați progresul unei acțiuni. Când faceți acest lucru, e important să stabiliți un messageID și să îl utilizați tot timpul când actualizați progresul (un float între 0.0 și 1.0 care este tipărit ca un procent). Altfel veți vedea mai multe panouri de notificare dacă actualizați mai rapid decât timpul de terminare stabilit.
Un exemplu:

notify --type progress --group "--grup" --title "--titlu" --icon /boot/home/bebook.hvif \
--messageID MyMessageID --progress .75 "Continuați să așteptați"

cli-notification.png

query

query este versiunea în linie de comandă a panoului Caută. De fapt, o metodă rapidă de la genera un termen de căutare este să construiți o interogare în panoul Caută, comutați la by formula, adăugați citate duble (") în față și în spate și lipiți tot șirul după comanda query în Terminal sau în script.

waitfor

waitfor este o metodă bună de a aștepta pornirea sau oprirea unei aplicații sau fir de execuție specific.

index Alte comenzi

checkfs

checkfs este o unealtă importantă pentru verificarea de erori în sistemul de fișiere. Adăugați un nume de volum ca /Haiku sau o cale către un dispozitiv și va trece prin fiecare fișier și va corecta incoerențe acolo unde este posibil.

desklink

desklink poate instala o iconiță pentru orice fișier, dosar, interogare sau aplicație în bara Deskbar-ului. Oferă de asemenea opțiunea de a furniza un meniu contextual când dați clic dreapa pe o iconiță pentru a executa acțiuni speciale. Ca un exemplu, încercați aceasta pentru a adăuga aplicația în linie de comandă screenshot cu mai multe opțiuni ("\" în prima linie este doar pentru terminarea liniei în 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 lets you register a regular file as disk device. For example, you can register a Haiku anyboot image, mount it in Tracker and copy, edit or remove files there before using it as source in the Installer.

launch_roster

The launch_daemon starts all sorts of services and applications at boot-up. For some it was instructed to re-start them if they were quit. If you don't want that – maybe you'd like to test a modified Tracker, for example – you use launch_roster to stop the re-starting of the application before quitting it. Similarly, you can start it again or get info about it.c The parameter log prints out a log of all launch_daemon related events.
Without parameter, launch_roster lists all apps/services that are under its control.
For example, this will stop the re-launching of the Deskbar:

launch_roster stop x-vnd.be-tskb

mountvolume
mount

mountvolume is preferred by many to mount local partitions and disks, because its usage is so easy: just call it with the name of the partition and you're done. Try --help for more options.

mount can additionally mount remote disks by using a network filesystem, like NFS4. You specify the used filesystem with the -t parameter and the remote location with the -p parameter. As filesystem parameter you can use anything you find in /system/add-ons/kernel/file_system (and corresponding file hierarchies under ~/config or "non-packaged", of course). You also have to create a folder as mountpoint. Here's an example:

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

open

open is a very handy little tool. With it you open any file with its preferred application, or start a specific application by its signature without the need to know its exact path. It also works with URLs and even with the "virtual" directories . for the current directory and .. for the parent, opening the folder in Tracker.

ramdisk

A ramdisk is like a harddisk running only in the computer's memory. That makes it very fast but also volatile, because its contents vanishes when you shut down the computer, or it crashes or you experience a blackout.
To create a ramdisk of 1 GiB, format to the name "RAMses" and mount it, you enter this in Terminal or create a script of it:

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

Note: When creating a ramdisk, the ramdisk command prints out the path to it. If you create several disks, that path /dev/disk/virtual/ram/0/raw will change!

To preserve the contents, at least if no calamity like a blackout etc. strikes, a ramdisk can be set up to read/write an image on the harddisk. For that, you need to supply a file of the desired size that will be read from every time you start your ramdisk, and written to when you unmount it. To create an image file "RAMimage" of 500MiB and format it, do this:

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

From now on, you start the ramdisk like this:

ramdisk create RAMimage
mountvolume RAMimage

It's very important to always cleanly unmount you ramdisk, either from Tracker or with unmount /RAMimage, or the changes won't be written back to the image file!