A command-line interface (CLI) processes commands to a computer program in the form of lines of text. The program which handles the interface is called a command-line interpreter or command-line processor. Operating systems implement a command-line interface in a shell for interactive access to operating system functions or services. Such access was primarily provided to users by computer terminals starting in the mid-1960s, and continued to be used throughout the 1970s and 1980s on VAX/VMS, Unix systems.
A command-line interpreter, or command language interpreter, is a blanket term for a certain class of programs designed to read lines of text entered by a user, thus implementing a command-line interface.
A shell is a user interface for access to an operating system's services. In general, operating system shells use either a command-line interface (CLI) or graphical user interface (GUI), depending on a computer's role and particular operation. It is named a shell because it is the outermost layer around the operating system.
Bourne shell (sh) - C shell (csh) - Bash (Unix shell) – KornShell (ksh)
Command: a command is an instruction given by a user telling a computer to do something, such a run a single program or a group of linked programs. Commands are generally issued by typing them in at the command line (i.e., the all-text display mode) and then pressing the ENTER key, which passes them to the shell.
Group: is an access control to specific data or command for defined users that only administrator able to mange them [/etc/group].
IEEE Std 1003.1-2008 Utilities
| admin | SCCS | Create and administer SCCS files |
| alias | Misc | Define or display aliases |
| ar | Misc | Create and maintain library archives |
| asa | Text processing | Interpret carriage-control characters |
| at | Process management | Execute commands at a later time |
| awk | Text processing | Pattern scanning and processing language |
| basename | Filesystem | Return non-directory portion of a pathname; see also dirname |
| batch | Process management | Schedule commands to be executed in a batch queue |
| bc | Misc | Arbitrary-precision arithmetic language |
| bg | Process management | Run jobs in the background |
| cc/c99 | C programming | Compile standard C programs |
| cal | Misc | Print a calendar |
| cat | Filesystem | Concatenate and print files |
| cd | Filesystem | Change the working directory |
| cflow | C programming | Generate a C-language call graph |
| chgrp | Filesystem | Change the file group ownership |
| chmod | Filesystem | Change the file modes/attributes/permissions |
| chown | Filesystem | Change the file ownership |
| cksum | Filesystem | Write file checksums and sizes |
| cmp | Filesystem | Compare two files; see also diff |
| comm | Text processing | Select or reject lines common to two files |
| command | Shell programming | Execute a simple command |
| compress | Filesystem | Compress data |
| cp | Filesystem | Copy files |
| crontab | Misc | Schedule periodic background work |
| csplit | Text processing | Split files based on context |
| ctags | C programming | Create a tags file |
| cut | Text processing | Cut out selected fields of each line of a file |
| cxref | C programming | Generate a C-language program cross-reference table |
| date | Misc | Display the date and time |
| dd | Filesystem | Convert and copy a file |
| delta | SCCS | Make a delta (change) to an SCCS file |
| df | Filesystem | Report free disk space |
| diff | Text processing | Compare two files; see also cmp |
| dirname | Filesystem | Return the directory portion of a pathname; see also basename |
| du | Filesystem | Estimate file space usage |
| echo | Shell programming | Write arguments to standard output |
| ed | Text processing | The standard text editor |
| env | Misc | Set the environment for command invocation |
| ex | Text processing | Text editor |
| expand | Text processing | Convert tabs to spaces |
| expr | Shell programming | Evaluate arguments as an expression |
| false | Shell programming | Return false value |
| fc | Misc | Process the command history list |
| fg | Process management | Run jobs in the foreground |
| file | Filesystem | Determine file type |
| find | Filesystem | Find files |
| fold | Text processing | Filter for folding lines |
| fort77 | FORTRAN77 programming | FORTRAN compiler |
| fuser | Process management | List process IDs of all processes that have one or more files open |
| gencat | Misc | Generate a formatted message catalog |
| get | SCCS | Get a version of an SCCS file |
| getconf | Misc | Get configuration values |
| getopts | Shell programming | Parse utility options |
| grep | Misc | Search text for a pattern |
| hash | Misc | Hash database access method |
| head | Text processing | Copy the first part of files |
| iconv | Text processing | Codeset conversion |
| id | Misc | Return user identity |
| ipcrm | Misc | Remove a message queue, semaphore set, or shared memory segment identifier |
| ipcs | Misc | Report interprocess communication facilities status |
| jobs | Process management | Display status of jobs in the current session |
| join | Text processing | Merges two sorted text files based on the presence of a common field |
| kill | Process management | Terminate or signal processes |
| lex | C programming | Generate programs for lexical tasks |
| link | Filesystem | Create a hard link to a file |
| ln | Filesystem | Link files |
| locale | Misc | Get locale-specific information |
| localedef | Misc | Define locale environment |
| logger | Shell programming | Log messages |
| logname | Misc | Return the user's login name |
| lp | Text processing | Send files to a printer |
| ls | Filesystem | List directory contents |
| m4 | Misc | Macro processor |
| mailx | Misc | Process messages |
| make | Programming | Maintain, update, and regenerate groups of programs |
| man | Misc | Display system documentation |
| mesg | Misc | Permit or deny messages |
| mkdir | Filesystem | Make directories |
| mkfifo | Filesystem | Make FIFO special files |
| more | Text processing | Display files on a page-by-page basis |
| mv | Filesystem | Move or rename files |
| newgrp | Misc | Change to a new group |
| nice | Process management | Invoke a utility with an altered nice value |
| nl | Text processing | Line numbering filter |
| nm | C programming | Write the name list of an object file |
| nohup | Process management | Invoke a utility immune to hangups |
| od | Misc | Dump files in various formats |
| paste | Text processing | Merge corresponding or subsequent lines of files |
| patch | Text processing | Apply changes to files |
| pathchk | Filesystem | Check pathnames |
| pax | Misc | Portable archive interchange |
| pr | Text processing | Print files |
| printf | Shell programming | Write formatted output |
| prs | SCCS | Print an SCCS file |
| ps | Process management | Report process status |
| pwd | Filesystem | Print working directory |
| qalter | Batch utilities | Alter batch job |
| qdel | Batch utilities | Delete batch jobs |
| qhold | Batch utilities | Hold batch jobs |
| qmove | Batch utilities | Move batch jobs |
| qmsg | Batch utilities | Send message to batch jobs |
| qrerun | Batch utilities | Rerun batch jobs |
| qrls | Batch utilities | Release batch jobs |
| qselect | Batch utilities | Select batch jobs |
| qsig | Batch utilities | Signal batch jobs |
| qstat | Batch utilities | Show status of batch jobs |
| qsub | Batch utilities | Submit a script |
| read | Shell programming | Read a line from standard input |
| renice | Process management | Set nice values of running processes |
| rm | Filesystem | Remove directory entries |
| rmdel | SCCS | Remove a delta from an SCCS file |
| rmdir | Filesystem | Remove directories, if they are empty. |
| sact | SCCS | Print current SCCS file-editing activity |
| sccs | SCCS | Front end for the SCCS subsystem |
| sed | Text processing | Stream editor |
| sh | Shell programming | Shell, the standard command language interpreter |
| sleep | Shell programming | Suspend execution for an interval |
| sort | Text processing | Sort, merge, or sequence check text files |
| split | Misc | Split files into pieces |
| strings | C programming | Find printable strings in files |
| strip | C programming | Remove unnecessary information from executable files |
| stty | Misc | Set the options for a terminal |
| tabs | Misc | Set terminal tabs |
| tail | Text processing | Copy the last part of a file |
| talk | Misc | Talk to another user |
| tee | Shell programming | Duplicate the standard output |
| test | Shell programming | Evaluate expression |
| time | Process management | Time a simple command |
| touch | Filesystem | Change file access and modification times |
| tput | Misc | Change terminal characteristics |
| tr | Text processing | Translate characters |
| true | Shell programming | Return true value |
| tsort | Text processing | Topological sort |
| tty | Misc | Return user's terminal name |
| type | Misc | Displays how a name would be interpreted if used as a command |
| ulimit | Misc | Set or report file size limit |
| umask | Misc | Get or set the file mode creation mask |
| unalias | Misc | Remove alias definitions |
| uname | Misc | Return system name |
| uncompress | Misc | Expand compressed data |
| unexpand | Text processing | Convert spaces to tabs |
| unget | SCCS | Undo a previous get of an SCCS file |
| uniq | Text processing | Report or filter out repeated lines in a file |
| unlink | Filesystem | Call the unlink function |
| uucp | Network | System-to-system copy |
| uudecode | Network | Decode a binary file |
| uuencode | Network | Encode a binary file |
| uustat | Network | uucp status inquiry and job control |
| uux | Process management | Remote command execution |
| val | SCCS | Validate SCCS files |
| vi | Text processing | Screen-oriented (visual) display editor |
| wait | Process management | Await process completion |
| wc | Text processing | Line, word and byte or character count |
| what | SCCS | Identify SCCS files |
| who | System administration | Display who is on the system |
| write | Misc | Write to another user's terminal |
| xargs | Shell programming | Construct argument lists and invoke utility |
| yacc | C programming | Yet another compiler compiler |
| zcat | Text processing | Expand and concatenate data |