phatez@phatez-laptop:~$ help

GNU bash, version 4.3.46(1)-release (x86_64-pc-linux-gnu)
These shell commands are defined internally.  Type `help' to see this list.
Type `help name' to find out more about the function `name'.
Use `info bash' to find out more about the shell in general.
Use `man -k' or `info' to find out more about commands not in this list.

A star (*) next to a name means that the command is disabled.

 job_spec [&]                                             history [-c] [-d offset] [n] or history -anrw [filena>
 (( expression ))                                         if COMMANDS; then COMMANDS; [ elif COMMANDS; then COM>
 . filename [arguments]                                   jobs [-lnprs] [jobspec ...] or jobs -x command [args]>
 :                                                        kill [-s sigspec | -n signum | -sigspec] pid | jobspe>
 [ arg... ]                                               let arg [arg ...]
 [[ expression ]]                                         local [option] name[=value] ...
 alias [-p] [name[=value] ... ]                           logout [n]
 bg [job_spec ...]                                        mapfile [-n count] [-O origin] [-s count] [-t] [-u fd>
 bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [>  popd [-n] [+N | -N]
 break [n]                                                printf [-v var] format [arguments]
 builtin [shell-builtin [arg ...]]                        pushd [-n] [+N | -N | dir]
 caller [expr]                                            pwd [-LP]
 case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... >  read [-ers] [-a array] [-d delim] [-i text] [-n nchar>
 cd [-L|[-P [-e]] [-@]] [dir]                             readarray [-n count] [-O origin] [-s count] [-t] [-u >
 command [-pVv] command [arg ...]                         readonly [-aAf] [name[=value] ...] or readonly -p
 compgen [-abcdefgjksuv] [-o option]  [-A action] [-G g>  return [n]
 complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A a>  select NAME [in WORDS ... ;] do COMMANDS; done
 compopt [-o|+o option] [-DE] [name ...]                  set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg .>
 continue [n]                                             shift [n]
 coproc [NAME] command [redirections]                     shopt [-pqsu] [-o] [optname ...]
 declare [-aAfFgilnrtux] [-p] [name[=value] ...]          source filename [arguments]
 dirs [-clpv] [+N] [-N]                                   suspend [-f]
 disown [-h] [-ar] [jobspec ...]                          test [expr]
 echo [-neE] [arg ...]                                    time [-p] pipeline
 enable [-a] [-dnps] [-f filename] [name ...]             times
 eval [arg ...]                                           trap [-lp] [[arg] signal_spec ...]
 exec [-cl] [-a name] [command [arguments ...]] [redire>  true
 exit [n]                                                 type [-afptP] name [name ...]
 export [-fn] [name[=value] ...] or export -p             typeset [-aAfFgilrtux] [-p] name[=value] ...
 false                                                    ulimit [-SHabcdefilmnpqrstuvxT] [limit]
 fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep]>  umask [-p] [-S] [mode]
 fg [job_spec]                                            unalias [-a] name [name ...]
 for NAME [in WORDS ... ] ; do COMMANDS; done             unset [-f] [-v] [-n] [name ...]
 for (( exp1; exp2; exp3 )); do COMMANDS; done            until COMMANDS; do COMMANDS; done
 function name { COMMANDS ; } or name () { COMMANDS ; }>   variables - Names and meanings of some shell variable>
 getopts optstring name [arg]                             wait [-n] [id ...]
 hash [-lr] [-p pathname] [-dt] [name ...]                while COMMANDS; do COMMANDS; done
 help [-dms] [pattern ...]                                { COMMANDS ; }

phatez@phatez-laptop:~$ man ulimit

phatez@phatez-laptop:~$ man disown

No manual entry for disown


disown is a bash built in. So man bash will show ...

disown [-ar] [-h] [jobspec ...]

Without options, remove each jobspec from the table of active jobs. If jobspec is not present, and neither the -a nor the -r option is supplied, the current job is used. If the -h option is given, each jobspec is not removed from the table, but is marked so that SIGHUP is not sent to the job if the shell receives a SIGHUP. If no jobspec is supplied, the -a option means to remove or mark all jobs; the -r option without a job‐ spec argument restricts operation to running jobs. The return value is 0 unless a jobspec does not specify a valid job.

There are plenty more of those. Here is a list.

To list the help type

help disown

or other ubuntu commands?

ALL Ubuntu (linux is more precise) commands have a manual page.

ulimit does have a manual page.

ULIMIT(3) Linux Programmer's Manual ULIMIT(3)

NAME ulimit - get and set user limits


  #include <ulimit.h>

  long ulimit(int cmd, long newlimit);

But you probably meant the parameter?

2 ways:

$help ulimit
ulimit: ulimit [-SHabcdefilmnpqrstuvxT] [limit]
    Modify shell resource limits.

    Provides control over the resources available to the shell and processes
    it creates, on systems that allow such control.

      -S    use the `soft' resource limit
      -H    use the `hard' resource limit
      -a    all current limits are reported
      -b    the socket buffer size
      -c    the maximum size of core files created


$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 46690
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 46690
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
  • 4
    The ulimit(3) man manpage is about the C function not the command line program. – Florian Diesch Jun 30 '16 at 17:12
  • @FlorianDiesch I know I know. Was still working on it :D Was typing it when I saw you edit the question (and then saw he actually knew it was about the parameter ;) ) – Rinzwind Jun 30 '16 at 17:13
  • 1
    You can use type to find out whether any given command is a builtin, a function, an alias or an executable file. type disown will tell you that disown is a shell builtin. – Håken Lid Jun 30 '16 at 19:13
  • @FlorianDiesch: That's what the little "(3)" after the name means. Section 3 is the C library section, section 2 is for system calls, and section 1 is for commands. – TMN Jun 30 '16 at 20:03

When you type help you see the commands that are built in bash. To see help for these commands type help <command>:

help ulimit
help disown

When you use man (short for manual), you display help for binary programs that are not part of bash. You noticed that you get the help for ulimit if you type man ulimit. However, the manual for ulimit is not for the bash command. When you type man ulimit you get the manual for the C programming header file ulimit.h, which is something completely different.


ulimit and disown are Bash built in functions and those don't have a manpage of its own but are described in the Bash manpage.

If you are running bash you can use the help command, e.g.:

$ help disown

You may want to pipe the output into less so you can scroll and search, e.g.

$ help disown | less

When in doubt about whether a command is a Bash builtin, an executable file, both, or something else:

$ type -a kill
kill is aliased to `echo 'You should not use kill - use OUPMclient -K instead.';'
kill is a shell builtin
kill is /usr/bin/kill
kill is /bin/kill

This is an peculiar example, since our provider wants us to use some other command rather than kill for their application's processes.

Not the answer you're looking for? Browse other questions tagged or ask your own question.