<p>Wszystkie aplikacje wiersza poleceń dostarczone z Haiku znajdują się w katalogu <spanclass="path">/boot/system/bin/</span>. Dodatkowe aplikacje, zainstalowane z pakietów .hpkg, również tam trafiają (lub do <spanclass="path">~/config/bin/</span>). Jeśli instalujesz aplikacje spoza pakietów, możesz je umieścić w katalogach <spanclass="path">/boot/system/non-packaged/bin/</span> lub <spanclass="path">~/config/non-packaged/bin/</span> . Wszystkie powyższe lokacje zawarte są w zmiennej środowiskowej PATH, dzięki temu znajdowane są automatycznie.<br/>
Poniższa lista nie jest wyczerpującym spisem aplikacji wiersza poleceń Haiku. Ma jedynie zwrócić uwagę na kilka najbardziej użytecznych i dać pobieżne rozeznanie. Nie bój się przeglądać katalogu <spanclass="path">bin/</span> na własną rękę. Wywołanie aplikacji z parametrem <tt>--help</tt> wyświetli sposób jej użycia i dostępne opcje.</p>
<p>Powyższe komendy są używane do wyświetlania, odczytywania, dodawania i usuwania atrybutów plików. Pamiętaj, że te metadane są obecnie obsługiwane tylko na partycjach z systemem plików BFS. Przenoszenie plików do innych systemów usunie wszystkie atrybuty!<br/>
Dokładniejszy opis tych komend znajduje się w rozdziale <ahref="../attributes.html#attributes-terminal">Atrybuty w aplikacji Terminal</a>.</p>
<p>Powyższymi poleceniami wypiszesz, zapiszesz, usuniesz i zaindeksujesz ponownie atrybuty w indeksie BFS-a. Każda partycja ma swój własny, pamiętaj o tym kopiując pliki między partycjami.<br/>
Te komendy opisane są w rozdziale <ahref="../index.html">Indeks</a>.</p>
<p>Komenda <spanclass="cli">package</span> służy do zarządzania pakietami HPKG. Rzuć okiem na artykuł <ahref="https://www.haiku-os.org/guides/daily-tasks/install-applications">Instalowanie aplikacji</a> (ang.), aby nauczyć się podstaw. <ahref="https://github.com/haikuports/haikuports/wiki">Haikuporter</a> jest narzędziem zazwyczaj używanym do automatycznego budowania pakietów z tak zwanych przepisów.</p>
<p><spanclass="cli">pkgman</span> jest używany do wyszukiwania, instalowania, aktualizowania i usuwania pakietów. Również repozytoria mogą być z jego pomocą dodawane, usuwane i odświeżane. Specjalny tryb aktualizacji jest wywoływany parametrem <tt>full-sync</tt>: jest bardziej agresywny i może, w razie konieczności, usuwać lub instalować starsze wersje pakietów.<br/>
Więcej informacji o parametrze uzyskasz dodając "--help", np. <tt>pkgman search --help</tt>.</p>
<aid="cli-scripting"name="cli-scripting">Polecenia przydatne w skryptach</a></h3>
<p>Poniżej opisane jest kilka narzędzi szczególnie przydatnych w skryptach (zobacz również rozdział <ahref="../bash-scripting.html">Bash i skrypty</a>).</p>
<tdvalign="top"><p><spanclass="cli">alert</span> wyświetla typowe okno dialogowe z predefiniowaną ikoną, tekstem wyjaśniającym i do trzech przycisków. Zwraca nazwę wciśniętego przycisku i kod wyjścia (zaczynając od 0). Przykładowy wynik poniższej komendy:</p>
<tdvalign="top"><p><spanclass="cli">filepanel</span> wyświetla panel wczytywania lub zapisywania pliku i pozwala użytkownikowi wybrać plik lub lokację. Wartość zwracana to ścieżka do wybranego pliku lub katalogu. Dostępnych jest kilka opcji, m.in. wybór katalogu startowego, tytułu okna, domyślnej nazwy pliku przy zapisywaniu lub ograniczenie do określonych typów plików. Przykład:</p>
<tdvalign="top"><p><spanclass="cli">hey</span> jest prostym narzędziem, które wysyła wiadomości BMessage do aplikacji i wypisuje ich odpowiedź. Można go użyć do skryptowania aplikacji, innymi słowy „zdalnej kontroli” nad aplikacją ze skryptu lub wiersza poleceń. Sposób użycia jest odrobinę skomplikowany... <ahref="https://www.haiku-os.org/blog/humdinger/2017-11-05_scripting_the_gui_with_hey/">Wpis blogowy humdingera</a> (ang.) jest dobrym wprowadzeniem, a dzięki Scotowi Hackerowi i jego Biblii BeOS-a dostępny jest bardziej rozległy <ahref="http://www.birdhouse.org/beos/bible/bos/ch_scripting6.html">przewodnik hey</a> (ang.) Chrisa Herbortha.</p>
<tdvalign="top"><p><spanclass="cli">query</span> to odpowiednik panelu Znajdź dostępny z wiersza poleceń. W zasadzie, szybkim sposobem wygenerowania zapytania jest zbudowanie go w panelu, przełączenie na <spanclass="menu">z użyciem formuły</span>, dodanie podwójnych cudzysłowów (<tt>"</tt>) po obu stronach i wklejenie efektu tuż po poleceniu <spanclass="cli">query</span> w Terminalu lub skrypcie.</p>
<td><p><spanclass="cli">checkfs</span> jest ważnym narzędziem do sprawdzania poprawności systemu plików. Wystarczy podać nazwę partycji, np. <spanclass="path">/Haiku</span>, lub ścieżkę do urządzenia, a każdy plik zostanie przejrzany oraz, w razie możliwości, naprawiony.</p>
<tdvalign="top"><p><spanclass="cli">desklink</span> pozwala zainstalować ikonę w tacce Deskbara dla dowolnego pliku, katalogu, zapytania lub aplikacji. Umożliwia także zdefiniowanie menu kontekstowego z różnymi opcjami, dostępnego po kliknięciu prawym przyciskiem myszy na ikonie. Przykładowo, poniższe polecenie doda ikonę aplikacji wiersza poleceń <spanclass="app">screenshot</span> z menu kontekstowym (the "<tt>\\</tt>" w pierwszej linii służy zignorowaniu nowej linii):</p>
<tdvalign="top"><p><spanclass="cli">diskimage</span> pozwala zainstalować zwykły plik jako dysk. Możesz przykładowo zainstalować obraz anyboot Haiku, zamontować go w Trackerze, a następnie kopiować, edytować i usuwać z niego pliki, przed użyciem go w instalatorze.</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.c The parameter <tt>log</tt> prints out a log of all launch_daemon related events.<br/>
Without parameter, <spanclass="cli">launch_roster</span> lists all apps/services that are under its control.<br/>
<tdvalign="top"><p><spanclass="cli">mountvolume</span> jest preferowany przez wielu do montowania lokalnych partycji i dysków ze względu na łatwość obsługi: wystarczy wywołać go z nazwą partycji i gotowe! Wpisz <tt>--help</tt> po więcej opcji.</p>
<p><spanclass="cli">mount</span> może dodatkowo montować dyski sieciowe używając sieciowego systemu plików takiego jak NFS4. Używany system plików podaje się parametrem <tt>-t</tt> , a zdalną lokację parametrem <tt>-p</tt>. Jako system plików można podać wszystko z katalogu <spanclass="path">/system/add-ons/kernel/file_system</span> (oraz oczywiście z odpowiadających hierarchii <spanclass="path">~/config</span> i „<spanclass="path">non-packaged</span>”). Należy także samodzielnie stworzyć katalog będący punktem montowania. Przykład::</p>
<tdvalign="top"><p><spanclass="cli">open</span> jest bardzo przydatnym narzędziem. Przy jego pomocy można otworzyć dowolny plik używając do tego preferowanej aplikacji, lub uruchomić konkretną aplikację podając tylko jej sygnaturę, bez znajomości ścieżki do niej. open działa również z URL-ami, a nawet „wirtualnymi” katalogami <tt>.</tt> dla obecnego katalogu i <tt>..</tt> dla jego rodzica, otwierając je w Trackerze.</p>
<tdvalign="top"><p>Ramdysk jest jak twardy dysk, z tym wyjątkiem że istnieje tylko w pamięci komputera. To sprawia, że jest bardzo szybki, ale jednocześnie ulotny, ponieważ jego zawartość wyparowuje gdy komputer w dowolny sposób straci zasilanie. Aby stworzyć ramdysk o rozmiarze 1 GiB, nadać mu nazwę „RAMzes” i zamontować, należy wpisać w Terminalu lub skrypcie:</p>
<p>waga: przy tworzeniu ramdysku, polecenie <spanclass="cli">ramdisk</span> wypisuje ścieżkę do niego. Jeśli istnieje więcej takich dysków ta ścieżka <spanclass="path">/dev/disk/virtual/ram/0/raw</span> ulegnie zmianie!</p>
<p>Aby zachować zawartość ramdysku, przynajmniej w niekatastrofalnych przypadkach, można ustawić mu obraz do zapisu/odczytu na dysku twardym. W tym celu trzeba podać plik pożądanego rozmiaru, który będzie wczytany w momencie uruchomienia ramdysku i zapisany przy odmontowaniu. Aby stworzyć plik obrazu „RAMimage” o rozmiarze 500 MiB i sformatować go, wpisz:</p>
<p>Bardzo ważne jest poprawne odmontowanie dysku, z Trackera albo poleceniem <spanclass="cli">unmount /RAMimage</span>, w przeciwnym razie zmiany nie zostaną zapisane do pliku!</p>