BUILTIN(1)              FreeBSD General Commands Manual             BUILTIN(1)

NAME

     builtin, keybinds - index of FreeBSD shell built-in commands

SYNOPSIS

     See the manual for your shell for operation details.

DESCRIPTION

     This page provides an index of builtin commands, keywords, and keyboard
     bindings provided by csh(1) and sh(1), the command line interpreters
     which comprise the BSD user environment.

Commands

     Below is a table which lists builtin commands and keywords, whether they
     exist as standalone utilities, and the standard shells that provide them.

           Command       Standalone    csh(1)    sh(1)
           !             No            No        Yes
           %             No            Yes       No
           .             No            No        Yes
           :             No            Yes       Yes
           @             No            Yes       No
           [             Yes           No        Yes
           {             No            No        Yes
           }             No            No        Yes
           alias         No*           Yes       Yes
           alloc         No            Yes       No
           bg            No*           Yes       Yes
           bind          No            No        Yes
           bindkey       No            Yes       No
           break         No            Yes       Yes
           breaksw       No            Yes       No
           builtin       No            No        Yes
           builtins      No            Yes       No
           case          No            Yes       Yes
           cd            No*           Yes       Yes
           chdir         No            Yes       Yes
           command       No*           No        Yes
           complete      No            Yes       No
           continue      No            Yes       Yes
           default       No            Yes       No
           dirs          No            Yes       No
           do            No            No        Yes
           done          No            No        Yes
           echo          Yes           Yes       Yes
           echotc        No            Yes       No
           elif          No            No        Yes
           else          No            Yes       Yes
           end           No            Yes       No
           endif         No            Yes       No
           endsw         No            Yes       No
           esac          No            No        Yes
           eval          No            Yes       Yes
           exec          No            Yes       Yes
           exit          No            Yes       Yes
           export        No            No        Yes
           false         Yes           No        Yes
           fc            No*           No        Yes
           fg            No*           Yes       Yes
           fi            No            No        Yes
           filetest      No            Yes       No
           for           No            No        Yes
           foreach       No            Yes       No
           getopts       No*           No        Yes
           glob          No            Yes       No
           goto          No            Yes       No
           hash          No*           No        Yes
           hashstat      No            Yes       No
           history       No            Yes       No
           hup           No            Yes       No
           if            No            Yes       Yes
           jobid         No            No        Yes
           jobs          No*           Yes       Yes
           kill          Yes           Yes       Yes
           limit         No            Yes       No
           local         No            No        Yes
           log           No            Yes       No
           login         Yes           Yes       No
           logout        No            Yes       No
           ls-F          No            Yes       No
           nice          Yes           Yes       No
           nohup         Yes           Yes       No
           notify        No            Yes       No
           onintr        No            Yes       No
           popd          No            Yes       No
           printenv      Yes           Yes       No
           printf        Yes           No        Yes
           pushd         No            Yes       No
           pwd           Yes           No        Yes
           read          No*           No        Yes
           readonly      No            No        Yes
           rehash        No            Yes       No
           repeat        No            Yes       No
           return        No            No        Yes
           sched         No            Yes       No
           set           No            Yes       Yes
           setenv        No            Yes       No
           settc         No            Yes       No
           setty         No            Yes       No
           setvar        No            No        Yes
           shift         No            Yes       Yes
           source        No            Yes       No
           stop          No            Yes       No
           suspend       No            Yes       No
           switch        No            Yes       No
           telltc        No            Yes       No
           test          Yes           No        Yes
           then          No            No        Yes
           time          Yes           Yes       No
           times         No            No        Yes
           trap          No            No        Yes
           true          Yes           No        Yes
           type          No*           No        Yes
           ulimit        No*           No        Yes
           umask         No*           Yes       Yes
           unalias       No*           Yes       Yes
           uncomplete    No            Yes       No
           unhash        No            Yes       No
           unlimit       No            Yes       No
           unset         No            Yes       Yes
           unsetenv      No            Yes       No
           until         No            No        Yes
           wait          No*           Yes       Yes
           where         No            Yes       No
           which         Yes           Yes       No
           while         No            Yes       Yes

     No*: Commands marked `No*' exist externally, but are implemented as
     scripts using a builtin command of the same name.

Keybinds

     The command line environment also provides the following default keyboard
     bindings:

           Signal                    csh(1)     sh(1)
           Backspace                 ^H         ^H
           Carriage Return           ^M | ^J    ^M | ^J
           Tab                       ^I         ^I
           Beginning of Line         ^A         ^A
           End of Line               ^E         ^E
           Cursor Forward            ^F         ^F
           Cursor Backward           ^B         ^B
           Clear Screen              ^L         ^L
           Cut Line                  ^U         ^U
           Cut Word Backwards        ^W         ^W
           Cut Rest of Line          ^K         ^K
           Paste Last Cut            ^Y         ^Y
           Typo                      ^T         ^T
           End of File (EOF)         ^D         ^D
           Interupt (SIGINT)         ^C         ^C
           Process info (SIGINFO)    ^T         ^T
           Search History            No         ^R
           Exit Search History       No         ^G
           Previous Command          ^P         ^P
           Next Command              ^N         ^N
           Print Next Character      ^V         ^V
           Pause Job                 ^S         ^S
           Resume Job                ^Q         ^Q
           Suspend Job (SIGTSTP)     ^Z         ^Z
           Scrollback Mode           ScrLk*     ScrLk*

     *: Bindings marked `*' are provided by vt(4), the console driver.

SEE ALSO

     csh(1), echo(1), false(1), kill(1), login(1), nice(1), nohup(1),
     printenv(1), printf(1), pwd(1), sh(1), test(1), time(1), true(1),
     which(1)

HISTORY

     The builtin manual page first appeared in FreeBSD 3.4.

AUTHORS

     This manual page was written by Alexander Ziaee <ziaee@FreeBSD.org> from
     an earlier version by Sheldon Hearn <sheldonh@FreeBSD.org>.

CAVEATS

     While builtin commands may exist in more than one shell or standalone,
     each may be implemented differently.

     Standalone utilities and their manuals must be called by their path from
     a shell with a builtin command of the same name.

FreeBSD 15.1-STABLE-HBSD        March 29, 2025                      BUILTIN(1)