<p>Всі додатки командної стрічки, що постачаються з Haiku знаходяться або в <spanclass="path">/boot/system/bin</span>або в
<spanclass="path">/boot/common/bin</span>. Ваші власні або додатково встановлені <spanclass="path">~/config/bin</span>. Всі ці розташування є частиною змінної PATH і тому автоматично знаходяться.<br/>
Нижче наведений список не є вичерпним списком всіх специфічних додатків командної стрічки Haiku, а лише спробою виділення найкорисніших, що можливо вам смакуватимуть. Спробуйте ознайомитись з тим що є у теці <spanclass="path">bin/</span> на свій розсуд. Виконання програми з параметром <tt>--help</tt> показує використання команди і всіх її можливих варіантів.</p>
<p>Дані команди використовуються для відображення, зчитування, додавання та видалення атрибутів файлів. Пам'ятайте, що ці мета-дані в даний час доступні тільки на томах відформатованих у BFS. Переміщення файлів на інші файлові системи видалить всі атрибути!<br/>
Всі ці команди описано в розділі <ahref="../attributes.html#attributes-terminal">Атрибути у Терміналі</a>.</p>
<p>Цими командами ви перераховуєте, виконуєте, переиндексовуєте та видаляєте атрибути BFS індексу. Кожен том має власний індекс, пам'ятайте, це при копіюванні файлів з одного тому на інший.<br/>
Ці команди описані в розділі <ahref="../index.html">Index</a>.</p>
<aid="cli-pkg"name="cli-pkg">Стосовно обслуговування пакетів: <spanclass="cli">package</span>, <spanclass="cli">pkgman</span></a></h3>
<p>Команда <spanclass="cli">package</span> використовується для обслуговування пакетів HPKG. Подивіться на розділ <ahref="https://www.haiku-os.org/guides/daily-tasks/install-applications">Встановлення програм</a> для вивчення основ. Зазвичай інструмент <ahref="https://github.com/haikuports/haikuports/wiki">haikuporter</a> використовується для створення так званих рецептів для автоматичного складання пакетів.</p>
<p><spanclass="cli">pkgman</span> використовується для пошуку, установки, оновлення і видалення пакетів. Дозволяє додавати, видаляти сховища пакетів та освіжати їх списки. Особливий вид поновлення викликається з параметром <tt>full-sync</tt>: Він є агресивніший та дозволяє при необхідності відновлювати старі версії і видаляти пакети.<br/>
Для деталізації параметру вводять "--help", наприклад, <tt>pkgman search --help</tt>.</p>
<aid="cli-scripting"name="cli-scripting">Використання команд скриптування</a></h3>
<p>Ось кілька інструментів командного рядка, які особливо корисні для написання сценаріїв (дивись також розділ <ahref="../bash-scripting.html">Bash and Scripting (Bash і створення сценаріїв)</a>).</p>
<tdvalign="top"><p><spanclass="cli">alert</span> викликає вікно з типовим попередженням з наперед визначеною іконкою та пояснювальним текстом з трьома кнопками. Вона повертає назву натиснутої кнопки і стан виходу (починаючи з 0). Як приклад це зроблено у стрічці:</p>
<tdvalign="top"><p><spanclass="cli">filepanel</span> відображає панель завантаження або збереження файла і дозволяє користувачеві вибрати файл або місце розташування. Як результат ви отримаєте обраний файл або шлях папки. Є кілька параметрів, доступних, наприклад, для встановлення початкової теки, заголовка вікна, типового імені при збереженні або обмеженні дозволених типів файлів. Приблизно ось так</p>
<tdvalign="top"><p><spanclass="cli">hey</span> крихітний допоміжний інструмент, який посилає BMessages до програм і видає їхню відповідь. Він може бути використаний для виконання сценаріїв додатків, тобто "дистанційного керування" програмою зі сценарію або командного рядка. Його використання трохи складніше... Дякуємо за BeOS Bible Скоту Хакеру та прекрасний <ahref="http://www.birdhouse.org/beos/bible/bos/ch_scripting6.html">hey підручник</a>Крісу Херботу.</p>
<tdvalign="top"><p><spanclass="cli">query</span> is the commandline version of the Find panel. In fact, a quick way to generate the search term is to build a query in the Find panel, switch to <spanclass="menu">by formula</span>, add double quotes (<tt>"</tt>) in front and back and paste the whole string after your <spanclass="cli">query</span> command in Terminal or your script.</p>
<td><p><spanclass="cli">checkfs</span> is an important tool to check for errors in your file system. Simply add a volume name like <spanclass="path">/Haiku</span> or device path and it'll run through every file and correct inconsistencies where possible.</p>
<tdvalign="top"><p><spanclass="cli">desklink</span> can install an icon for any file, folder, query or application in the Deskbar tray. It also offers the option to provide a context menu when right-clicking an icon to execute special actions. As an example, try this to add the commandline app <spanclass="app">screenshot</span> with various options (the "<tt>\</tt>" in the first line is just for the line break in Terminal):</p>
<tdvalign="top"><p><spanclass="cli">diskimage</span> 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.</p>
<tdvalign="top"><p>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 <spanclass="cli">launch_roster</span> to <tt>stop</tt> the re-starting of the application before quitting it. Similarly, you can <tt>start</tt> it again or get <tt>info</tt> about it. Without parameter, <spanclass="cli">launch_roster</span> lists all apps/services that are under its control.<br/>
For example, this will stop the re-launching of the Deskbar:</p>
<tdvalign="top"><p><spanclass="cli">mountvolume</span> 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 <tt>--help</tt> for more options.</p>
<p><spanclass="cli">mount</span> can additionally mount remote disks by using a network filesystem, like NFS4. You specify the used filesystem with the <tt>-t</tt> parameter and the remote location with the <tt>-p</tt> parameter. As filesystem parameter you can use anything you find in <spanclass="path">/system/add-ons/kernel/file_system</span> (and corresponding file hierarchies under <spanclass="path">~/config</span> or "<spanclass="path">non-packaged</span>", of course). You also have to create a folder as mountpoint. Here's an example:</p>
<preclass="terminal">mkdir -p /DiskStation
mount -t nfs4 -p "192.168.178.3:volume1" /DiskStation</pre></td></tr>
<tdvalign="top"><p><spanclass="cli">open</span> 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 <tt>.</tt> for the current directory and <tt>..</tt> for the parent, opening the folder in Tracker.</p>
<tdvalign="top"><p>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.<br/>
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:</p>
<preclass="terminal">ramdisk create -s 1gb
mkfs -q -t bfs /dev/disk/virtual/ram/0/raw RAMses
mountvolume RAMses</pre>
<p>Note: When creating a ramdisk, the <spanclass="cli">ramdisk</span> command prints out the path to it. If you create several disks, that path <spanclass="path">/dev/disk/virtual/ram/0/raw</span> will change!</p>
<p>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:</p>
<p>From now on, you start the ramdisk like this:</p>
<preclass="terminal">ramdisk create RAMimage
mountvolume RAMimage</pre>
<p>It's very important to always cleanly unmount you ramdisk, either from Tracker or with <spanclass="cli">unmount /RAMimage</span>, or the changes won't be written back to the image file!</p>