Estimated build time: 2 minutes Estimated required disk space: 11 MB |
Install Shellutils by running the following commands:
./configure --prefix=/usr && make && make install && cd /usr/bin && mv basename date echo false hostname /bin && mv pwd sleep stty su test true uname /bin && mv chroot ../sbin |
There is a command installed in this package which is named test. It is often used in shell scripts to evaluate conditions, but is more often encountered in the form of [ condition ]. These brackets are built into the bash interpreter, but the FHS dictates that there should be a [ binary. We create that in this way, while still in the /usr/bin directory:
cd /bin && ln -sf test [ |
basename, chroot, date, dirname, echo, env, expr, factor, false, groups, hostid, hostname, id, logname, nice, nohup, pathchk, pinky, printenv, printf, pwd, seq, sleep, stty, su, tee, test, true, tty, uname, uptime, users, who, whoami and yes
basename strips directory and suffixes from filenames.
chroot runs a command or interactive shell with special root directory.
date displays the current time in a specified format, or sets the system date.
dirname strips non-directory suffixes from file name.
echo displays a line of text.
env runs a program in a modified environment.
expr evaluates expressions.
factor prints the prime factors of all specified integer numbers.
false always exits with a status code indicating failure.
groups prints the groups a user is in.
hostid prints the numeric identifier (in hexadecimal) for the current host.
hostname sets or prints the name of the current host system
id prints the real and effective UIDs and GIDs of a user or the current user.
logname prints the current user's login name.
nice runs a program with modified scheduling priority.
nohup runs a command immune to hangups, with output to a non-tty
pathchk checks whether file names are valid or portable.
pinky is a lightweight finger utility which retrieves information about a certain user
printenv prints all or part of the environment.
printf formats and prints data (the same as the printf C function).
pwd prints the name of the current/working directory
seq prints numbers in a certain range with a certain increment.
sleep delays for a specified amount of time.
stty changes and prints terminal line settings.
su runs a shell with substitute user and group IDs
tee reads from standard input and writes to standard output and files.
test checks file types and compares values.
True always exits with a status code indicating success.
tty prints the file name of the terminal connected to standard input.
uname prints system information.
uptime tells how long the system has been running.
users prints the user names of users currently logged in to the current host.
who shows who is logged on.
whoami prints the user's effective userid.
yes outputs a string repeatedly until killed.
Sh-utils-2.0 needs the following to be installed:
autoconf: autoconf, autoheader
automake: aclocal, automake
bash: sh
binutils: ar, as, ld, ranlib
diffutils: cmp
fileutils: chmod, chown, install, ls, mv, rm
gettext: msgfmt, xgettext
gcc: cc, cc1, collect2, cpp0, gcc
glibc: getconf
grep: egrep, fgrep, grep
m4: m4
make: make
mawk: mawk
perl: perl
sed: sed
sh-utils: basename, echo, expr, hostname, sleep, uname
tar: tar
texinfo: install-info, makeinfo
textutils: cat, tr