Terminal

# Terminal

Deskbar: |  | Applications
Location: |  | /boot/system/apps/Terminal
Settings: |  | ~/config/settings/Terminal_settings ~/.profile - adds/overrides defaults in /boot/system/etc/profile ~/.inputrc - adds/overrides defaults in /boot/system/etc/inputrc

The Terminal is Haiku's interface to bash, the Bourne Again Shell.

Please refer to the topic on Scripting for a few links to online tutorials on working in the shell. Here, we'll concentrate on the Terminal application itself.

## Appearance

You can open as many Terminals as needed, either each in it's own window by simply launching more Terminals or with ALT N from an already running Terminal. Or you use Terminal's tabbed view and open another tab with ALT T.

A Terminal window can be resized like any other window or you use the presets from the Settings | Window Size menu. ALT ENTER toggles fullscreen mode.

Changed window size and text encoding are only kept choosing Settings | Save as default.

Settings | Preferences opens a panel where you can set font type, font size and the different text and background colors. You can save different settings as separate profiles, which on double-click open an accordingly configured Terminal.
Pressing OK will save the current settings as default.

## Bash customization

Coming from Unix, there are countless possibilities to customize the bash itself. There are two files that are especially important to the user: .profile and .inputrc
Both files can be created in the home/ folder and add or override the system defaults that are defined in /boot/system/etc/.

### .profile

The .profile is loaded every time you open a new Terminal. It sets all kinds of aliases and variables that will affect bash's behavior and appearance. You'll find many online resources that will detail all possibilities.

The Haiku/BeOS Tip Server has quite a few tips to get you started, for example:

- Customize your Terminal prompt
- More prompt customizations
- Enhancing bash
- Custom keyboard shortcuts

There are more, have a look.

### .inputrc

The .inputrc deals with keybindings. Since Haiku provides useful defaults, you probably don't have to mess with these more involved settings. If you do have special needs here, consult one of the many online resources, e.g. The GNU Readline Library.

## Keyboard shortcuts

You'll find a list of useful shortcuts in Shortcuts and key combinations.

## Hints for working with the Terminal

- Dragging a file or folder from a Tracker window into the Terminal will insert its path at the location of the cursor. Dragging with the right mouse button offers additional actions in a context menu:

  Insert Path |  | Inserts the location of the file, same as drag&dropping with the left mouse button.
  Change Directory |  | Changes to the folder of the dragged file.
  Create Link Here |  | Creates a link to the dragged file in the current working directory of the Terminal.
  Move Here |  | Moves the dragged file into the current working directory of the Terminal.
  Copy Here |  | Copies the dragged file into the current working directory of the Terminal.

- You can open any file with its preferred application with the command open [filename]. This also works with the representation of the current (".") and parent ("..") folder which then open in a Tracker window. So, to open the current working directory, you type:

      open .