Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

273 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

boreutils

An implementation of some of the utilities specified in POSIX.1-2017.

Excluded utilities

Boreutils focuses on non-optional utilities. Many POSIX utility categories and XSI (X/Open Systems Interfaces) utilities are excluded.

Things explicitly excluded include:

  • Things that make more sense as shell builtins, including:
    • Things that are only really usable in a shell: cd, hash, read, etc.
    • Things related to job control: bg, fg, jobs, etc.
  • Things used exclusively for printing: lp, etc.
  • The following Margin Codes:
    • CD: C-Language Development Utilities
    • FD: FORTRAN Development Utilities
    • FR: FORTRAN Runtime Utilities
    • OB: Obsolescent
    • SD: Software Development Utilities
    • UU: UUCP Utilities
  • Things that are very heavily influenced by software not in Boreutils, including:
    • Things that have terminal-specific behavior, like tput.

Things not excluded, but prone to be put off forever include:

  • Things where the standard doesn't provide enough information:
    • mesg: "The mechanism by which the message status of the terminal is changed is unspecified"
  • Things where there's no standard for the underlying functionality:
    • ps: On Linux, you read /proc. On BSD, you use kvm_getproc*(). Elsewhere? Who the heck knows.
  • Obscenely complex things, such as those involving creating archives:
    • pax

Utilities, and current status

Below is the list of POSIX.1-2017 utilities that are planned to be implemented.

Utilities that are checked off have been implemented. Partial implementations have notes explaining what is missing and a link to GitHub issues.

  • at
  • awk
  • basename
  • batch
  • bc
  • cal (August 1752 and earlier is broken. GH#4)
  • cat
  • chgrp
  • chmod
  • chown
  • cksum
  • cmp
  • comm
  • cp
  • crontab
  • csplit
  • cut
  • date
  • dd
  • df
  • diff
  • dirname
  • du
  • echo
  • ed
  • env
  • ex
  • expand
  • expr
  • false
  • file
  • find
  • fold
  • gencat
  • getconf
  • getopts
  • grep
  • head
  • iconv
  • id
  • join
  • kill (kill -l EXIT_STATUS is unimplemented. GH#7)
  • link
  • ln
  • locale
  • localedef
  • logger
  • logname
  • ls
  • m4
  • mailx
  • make
  • man (It's not very robust, and doesn't support -k. GH#8)
  • mkdir
  • mkfifo
  • more
  • mv
  • newgrp
  • nice
  • nl
  • nohup
  • od
  • paste
  • patch
  • pathchk
  • pax
  • pr
  • printf
  • ps
  • pwd
  • renice
  • rm
  • rmdir
  • sed
  • sh
  • sleep
  • sort
  • split
  • strings
  • stty
  • tabs
  • tail
  • talk
  • tee
  • test
  • time
  • touch
  • tr
  • true
  • tsort
  • tty
  • umask
  • uname
  • unexpand
  • uniq
  • unlink
  • uudecode
  • uuencode
  • vi
  • wc
  • xargs

Here are non-POSIX.1-2017 utilities which are provided:

  • dir (an extremely basic ls alternative)
  • ish (an extremely basic shell; not POSIX-compliant)
  • which (no standard)
  • whoami (no standard)
  • yes (no standard)

About

An implementation of common *nix utilities, especially those in POSIX.1-2017.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages