1.3. /bin

与 /sbin 不同,bin 目录包含一些对系统管理员和非特权用户都有用的命令。它通常包含像 bash, csh 等 shell,以及常用的命令,如 cp, mv, rm, cat, ls。因此,与 /usr/bin 相比,此目录中的二进制文件被认为是必不可少的。 这样做的原因是它包含重要的系统程序,即使只挂载包含 / 的分区也必须可用。 如果您需要修复其他分区但无法访问共享目录(即,您处于单用户模式,因此无法访问网络),可能会出现这种情况。 它还包含启动脚本可能依赖的程序。

符合 FSSTND 意味着 /bin 中没有子目录,并且以下命令或指向命令的符号链接位于此处。

cat      Utility to concatenate files to standard output
chgrp    Utility to change file group ownership
chmod    Utility to change file access permissions
chown    Utility to change file owner and group
cp       Utility to copy files and directories
date     Utility to print or set the system data and time
dd       Utility to convert and copy a file
df       Utility to report filesystem disk space usage
dmesg    Utility to print or control the kernel message buffer
echo     Utility to display a line of text
false    Utility to do nothing, unsuccessfully
hostname Utility to show or set the system's host name
kill     Utility to send signals to processes
ln       Utility to make links between files
login    Utility to begin a session on the system
ls       Utility to list directory contents
mkdir    Utility to make directories
mknod    Utility to make block or character special files
more     Utility to page through text
mount    Utility to mount a filesystem
mv       Utility to move/rename files
ps       Utility to report process status
pwd      Utility to print name of current working directory
rm       Utility to remove files or directories
rmdir    Utility to remove empty directories
sed      The `sed' stream editor
sh       The Bourne command shell
stty     Utility to change and print terminal line settings
su       Utility to change user ID
sync     Utility to flush filesystem buffers
true     Utility to do nothing, successfully
umount   Utility to unmount file systems
uname    Utility to print system information

If /bin/sh is not a true Bourne shell, it must be a hard or symbolic link to
the real shell command.

The rationale behind this is because sh and bash mightn't necessarily behave 
in the same manner. The use of a symbolic link also allows users to easily
see that /bin/sh is not a true Bourne shell.

The [ and test commands must be placed together in either /bin or /usr/bin.

The requirement for the [ and test commands to be included as binaries
(even if implemented internally by the shell) is shared with the POSIX.2
standard.

The following programs, or symbolic links to programs, must be in /bin if the
corresponding subsystem is installed:

csh     The C shell (optional)
ed      The `ed' editor (optional)
tar     The tar archiving utility (optional)
cpio    The cpio archiving utility (optional)
gzip    The GNU compression utility (optional)
gunzip  The GNU uncompression utility (optional)
zcat    The GNU uncompression utility (optional)
netstat The network statistics utility (optional)
ping    The ICMP network test utility (optional)

If the gunzip and zcat programs exist, they must be symbolic or hard links to
gzip. /bin/csh may be a symbolic link to /bin/tcsh or /usr/bin/tcsh.

The tar, gzip and cpio commands have been added to make restoration of a 
system possible (provided that / is intact).

Conversely, if no restoration from the root partition is ever expected,
then these binaries might be omitted (e.g., a ROM chip root, mounting /usr
through NFS). If restoration of a system is planned through the network,
then ftp or tftp (along with everything necessary to get an ftp connection)
must be available on the root partition.