Sign up ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

Is there a standard that I can refer to for the list of programs (e.g. cat, ls) that must be included in Linux?

share|improve this question
6  
busybox --list. Just kidding. –  Arthur2e5 18 hours ago
4  
Linux is a kernel, it doesn't have commands. Some distributions of software built for that kernel follow the LSB standard, some other the Debian policy, most others none in particular. –  Stéphane Chazelas 17 hours ago
    
@StéphaneChazelas While I agree, I'd saying following the Debian policy is close to following LSB, since Debian supports LSB (if not by default, still via the lsb package). –  muru 14 hours ago
1  
@muru Debian is giving up on LSB: lists.debian.org/debian-lsb/2015/09/msg00008.html –  derobert 10 hours ago

2 Answers 2

The Linux Standard Base (LSB) has a list of applications:

[         du        install        mv            strings
ar        echo      install_initd  newgrp        strip
at        ed        ipcrm          nice          stty
awk       egrep     ipcs           nl            su
basename  env       join           nohup         sync
batch     expand    kill           od            tail
bc        expr      killall        passwd        tar
cat       false     ln             paste         tee
chfn      fgrep     locale         patch         test
chgrp     file      localedef      pathchk       tic
chmod     find      logger         pax           time
chown     fold      logname        pidof         touch
chsh      fuser     lp             pr            tput
cksum     gencat    lpr            printf        tr
cmp       getconf   ls             ps            true
col       gettext   lsb_release    pwd           tsort
comm      grep      m4             remove_initd  tty
cp        groupadd  mailx          renice        umount
cpio      groupdel  make           rm            uname
crontab   groupmod  man            rmdir         unexpand
csplit    groups    md5sum         sed           uniq
cut       gunzip    mkdir          sendmail      useradd
date      gzip      mkfifo         seq           userdel
dd        head      mknod          sh            usermod
df        hostname  mktemp         shutdown      wc
diff      iconv     more           sleep         xargs
dirname   id        mount          sort          zcat
dmesg     infocmp   msgfmt         split

Many of these are included as being part of the POSIX 1003.1-2001 standard, but the following are either only in LSB, or have differing specifications from POSIX:

ar       echo      hostname       more          sh
at       egrep     install        mount         shutdown
awk      fgrep     install_initd  msgfmt        su
batch    file      ipcrm          newgrp        sync
bc       fuser     ipcs           od            tar
chfn     gettext   killall        passwd        umount
chsh     grep      lpr            patch         useradd
col      groupadd  ls             pidof         userdel
cpio     groupdel  lsb_release    remove_initd  usermod
crontab  groupmod  m4             renice        xargs
df       groups    md5sum         sed           zcat
dmesg    gunzip    mknod          sendmail
du       gzip      mktemp         seq
share|improve this answer
3  
A number of the 'only from LSB' programs are actually from POSIX. These include: awk, grep, ls, sed, sh, xargs for sure; I'd have to check on ar, at, batch, bc, crontab. There may be others too. –  Jonathan Leffler 19 hours ago
    
@JonathanLeffler I must have made a mistake in the regex. Will fix it when I can. –  muru 17 hours ago
    
NP. I'd use either the top-level POSIX 2008 (2013) page or specifically the list of utilities. It includes all of the possibilities I mentioned; I also see file, ipcrm, ipcs, m4, patch, and zcat listed — that's an eyeballing operation rather than a formal verification of the lists. –  Jonathan Leffler 17 hours ago
    
And I got irked with myself so I went and did the formal list comparison. The following commands that you list as LSB-only are in fact listed in POSIX: ar, at, awk, batch, bc, crontab, df, du, echo, file, fuser, grep, ipcrm, ipcs, ls, m4, more, newgrp, od, patch, renice, sed, sh, xargs, zcat. I don't recall using fuser or renice. –  Jonathan Leffler 17 hours ago
    
@JonathanLeffler I think LSB specifies some behaviour for the separately listed ones. From the text of the footnote, I mis-assumed that they were only LSB. –  muru 17 hours ago

The Wikipedia : list of Unix commands and Linuxconfig : Linux Commands are certainly worth a look.

However, many people tend to take a browse through at what's contained in the directories shown by echo $PATH and then look at the man page for more info.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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