Bash is the standard shell on most Linux distributions. However, there are other Linux shells available and there’s no requirement that Bash should be present on any particular distribution.

The Bash shell is open source software released under the GNU Pubic License (GPL). If you need to install Bash, the C language source code is freely available from the Free Software Foundation at http://www.gnu.org or through one of its download mirrors.

The Bash shell comes with various built-in help command to describe the various built-in Bash commands. The -s switch displays a summary for the command you specify.

aliasDefine an alias for the specified command.
bgResume a job in background mode.
bindBind a keyboard sequence to a readline function or macro.
breakExit from a for, while, select, or until loop.
builtinExecute the specified shell built-in command.
cdChange the current directory to the specified directory.
callerReturn the context of any active subroutine call.
commandExecute the specified command without the normal shell lookup.
compgenGenerate possible completion matches for the specified word.
completeDisplay how the specified words would be completed.
continueResume the next iteration of a for, while, select, or until loop.
declareDeclare a variable or variable type.
dirsDisplay a list of currently remembered directories.
disownRemove the specified jobs from the jobs table for the process.
echoDisplay the specified string to STDOUT.
enableEnable or disable the specified built-in shell command.
evalConcatenate the specified arguments into a single command, then execute the command.
execReplace the shell process with the specified command.
exitForce the shell to exit with the specified exit status.
exportSet the specified variables to be available for child shell processes.
fcSelect a list of commands from the history list.
fgResume a job in foreground mode.
getoptsParse the specified positional parameters.
hashFind and remember the full pathname of the specified command.
helpDisplay a help file.
historyDisplay the command history.
jobsList the active jobs.
killSend a system signal to the specified process ID (PID).
letEvaluate each argument in a mathematical expression.
localCreate a limited-scope variable in a function.
logoutExit a login shell.
popdRemove entries from the directory stack.
printfDisplay text using formatted strings.
pushdAdd a directory to the directory stack.
pwdDisplay the pathname of the current working directory.
readRead one line of data from STDIN and assign it to a variable.
readonlyRead one line of data from STDIN and assign it to a variable that can’t be changed.
returnForce a function to exit with a value that can be retrieved by the calling script.
setSet and display environment variable values and shell attributes.
shiftRotate positional parameters down one position.
shoptToggle the values of variables controlling optional shell behavior.
suspendSuspend the execution of the shell until a SIGCONT signal is received.
testReturn an exit status of 0 or 1 based on the specified condition.
timesDisplay the accumulated user and system.
trapExecute the specified command if the specified system signal is received.
typeDisplay how the specified word would be interpreted and used as a command.
ulimitSet a limit on the specified resource for system users.
umaskSet default permissions for newly created files and directories.
unaliasRemove the specified alias.
unsetRemove the specified environment variable or shell attribute.
waitWait for the specified process to complete, and return the exit status.