| 
									
										
										
										
											2014-02-12 14:34:09 +00:00
										 |  |  | sbase - suckless unix tools | 
					
						
							|  |  |  | =========================== | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sbase  is a  collection of  unix  tools that  are inherently  portable | 
					
						
							|  |  |  | across UNIX and UNIX-like systems. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-18 19:36:13 +01:00
										 |  |  | The following tools are implemented ('*' == finished, '#' == UTF-8 support, | 
					
						
							|  |  |  | '=' == implicit UTF-8 support): | 
					
						
							| 
									
										
										
										
											2014-11-20 23:01:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-09 00:20:33 +01:00
										 |  |  |    UTILITY         POSIX 2008 COMPLIANT         MISSING OPTIONS | 
					
						
							|  |  |  |    -------         --------------------         --------------- | 
					
						
							|  |  |  | =* basename        yes                          none | 
					
						
							|  |  |  | =* cal             yes                          none | 
					
						
							|  |  |  | =* cat             yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-15 15:41:30 +00:00
										 |  |  | =* chgrp           yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-09 00:20:33 +01:00
										 |  |  | =* chmod           yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-15 15:41:30 +00:00
										 |  |  | =* chown           yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-09 00:20:33 +01:00
										 |  |  | =* chroot          non-posix                    none | 
					
						
							|  |  |  | =* cksum           yes                          none | 
					
						
							|  |  |  | =* cmp             yes                          none | 
					
						
							|  |  |  | #* cols            non-posix                    none | 
					
						
							|  |  |  | =* comm            yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-10 00:53:48 +01:00
										 |  |  | =  cp              yes                          none (-i) | 
					
						
							| 
									
										
										
										
											2015-02-09 00:20:33 +01:00
										 |  |  | =* cron            non-posix                    none | 
					
						
							|  |  |  | #* cut             yes                          none | 
					
						
							|  |  |  | =* date            yes                          none | 
					
						
							|  |  |  | =* dirname         yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-10 00:53:48 +01:00
										 |  |  | =  du              yes                          none (-x) | 
					
						
							| 
									
										
										
										
											2015-02-09 00:20:33 +01:00
										 |  |  | =* echo            yes                          none | 
					
						
							|  |  |  | =* env             yes                          none | 
					
						
							|  |  |  | #* expand          yes                          none | 
					
						
							|  |  |  | =* expr            yes                          none | 
					
						
							|  |  |  | =* false           yes                          none | 
					
						
							|  |  |  | #* fold            yes                          none | 
					
						
							|  |  |  | =* grep            yes                          none | 
					
						
							|  |  |  | =* head            yes                          none | 
					
						
							|  |  |  | =* hostname        non-posix                    none | 
					
						
							|  |  |  | =* kill            yes                          none | 
					
						
							|  |  |  | =* link            yes                          none | 
					
						
							|  |  |  | =* ln              yes                          none | 
					
						
							|  |  |  | =* logger          yes                          none | 
					
						
							|  |  |  | =* logname         yes                          none | 
					
						
							|  |  |  | =  ls              no                           -C, -R, -q, -u | 
					
						
							|  |  |  | =* md5sum          non-posix                    none | 
					
						
							|  |  |  | =* mkdir           yes                          none | 
					
						
							|  |  |  | =* mkfifo          yes                          none | 
					
						
							|  |  |  | =* mktemp          non-posix                    none | 
					
						
							|  |  |  | =* mv              yes                          none (-i) | 
					
						
							|  |  |  | =* nice            yes                          none | 
					
						
							|  |  |  | =  nl              no                           -d, -f, -h, -l, -n, -p, -v, -w | 
					
						
							|  |  |  | =* nohup           yes                          none | 
					
						
							|  |  |  | #* paste           yes                          none | 
					
						
							|  |  |  | =* printenv        non-posix                    none | 
					
						
							| 
									
										
										
										
											2015-02-15 14:46:58 +01:00
										 |  |  | #* printf          yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-09 00:20:33 +01:00
										 |  |  | =* pwd             yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-11 11:54:58 +00:00
										 |  |  | =  readlink        non-posix                    none | 
					
						
							| 
									
										
										
										
											2015-02-09 00:20:33 +01:00
										 |  |  | =* renice          yes                          none | 
					
						
							|  |  |  | =* rm              yes                          none (-i) | 
					
						
							|  |  |  | =* rmdir           yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-10 12:11:21 +01:00
										 |  |  | #  sed | 
					
						
							|  |  |  |    seq             non-posix                    none | 
					
						
							| 
									
										
										
										
											2015-02-09 00:20:33 +01:00
										 |  |  | =* setsid          non-posix                    none | 
					
						
							| 
									
										
										
										
											2015-02-10 12:11:21 +01:00
										 |  |  | =  sha1sum         non-posix                    none | 
					
						
							|  |  |  | =  sha256sum       non-posix                    none | 
					
						
							|  |  |  | =  sha512sum       non-posix                    none | 
					
						
							| 
									
										
										
										
											2015-02-09 00:20:33 +01:00
										 |  |  | =* sleep           yes                          none | 
					
						
							|  |  |  |    sort            no                           -m, -o, -d, -f, -i | 
					
						
							|  |  |  | =* split           yes                          none | 
					
						
							|  |  |  | =* sponge          non-posix                    none | 
					
						
							|  |  |  |    strings         no                           -a, -n, -t | 
					
						
							|  |  |  | =* sync            non-posix                    none | 
					
						
							| 
									
										
										
										
											2015-02-09 18:38:41 +01:00
										 |  |  | =* tail            yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-09 00:20:33 +01:00
										 |  |  | =* tar             non-posix                    none | 
					
						
							|  |  |  | =* tee             yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-09 22:21:23 +01:00
										 |  |  | #* test            yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-09 00:41:57 +01:00
										 |  |  | =* touch           yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-09 00:20:33 +01:00
										 |  |  | #* tr              yes                          none | 
					
						
							|  |  |  | =* true            yes                          none | 
					
						
							|  |  |  | =* tty             yes                          none | 
					
						
							|  |  |  | =* uname           yes                          none | 
					
						
							|  |  |  | #* unexpand        yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-11 15:55:58 +00:00
										 |  |  | =* uniq            yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-09 00:20:33 +01:00
										 |  |  | =* unlink          yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-13 11:29:53 +00:00
										 |  |  | =* uudecode        yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-13 11:38:52 +00:00
										 |  |  | =* uuencode        yes                          none | 
					
						
							| 
									
										
										
										
											2015-02-09 00:20:33 +01:00
										 |  |  | #* wc              yes                          none | 
					
						
							|  |  |  | =  xargs           no                           -I, -L, -p, -s, -t, -x | 
					
						
							|  |  |  | =* yes             non-posix                    none | 
					
						
							| 
									
										
										
										
											2014-11-20 23:01:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-12 18:39:13 +00:00
										 |  |  | The  complement of  sbase  is  ubase[1] which  is  Linux-specific  and | 
					
						
							| 
									
										
										
										
											2014-02-12 14:34:09 +00:00
										 |  |  | provides all  the non-portable tools.   Together they are  intended to | 
					
						
							|  |  |  | form a base system similar to busybox but much smaller and suckless. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Building | 
					
						
							|  |  |  | -------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | To  build sbase,  simply  type  make.  You  may  have  to fiddle  with | 
					
						
							|  |  |  | config.mk depending on your system. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | You  can  also  build  sbase-box,  which  generates  a  single  binary | 
					
						
							|  |  |  | containing  all  the  required  tools.    You  can  then  symlink  the | 
					
						
							|  |  |  | individual tools to sbase-box. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Ideally you will  want to statically link sbase.  If  you are on Linux | 
					
						
							|  |  |  | we recommend using musl-libc[2]. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Portability | 
					
						
							|  |  |  | ----------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | sbase has been  compiled on a variety of  different operating systems, | 
					
						
							|  |  |  | including Linux, *BSD, OSX, Haiku, Solaris, SCO OpenServer and others. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Various combinations of operating  systems and architectures have also | 
					
						
							|  |  |  | been built. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | You can build sbase with gcc, clang, tcc, nwcc and pcc. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [1] http://git.suckless.org/ubase/ | 
					
						
							|  |  |  | [2] http://www.musl-libc.org/ |