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 |