|
|
|
|
Linux Filesystem Hierarchy: |
Prev |
Chapter 1. Linux
Filesystem Hierarchy |
Next |
1.3. /bin
Unlike /sbin, the bin directory contains several useful commands
that are of use to both the system administrator as well as
non-privileged users. It usually contains the shells like bash,
csh, etc.... and commonly used commands like cp, mv, rm, cat, ls.
For this reason and in contrast to /usr/bin, the binaries in this
directory are considered to be essential. The reason for this is
that it contains essential system programs that must be available
even if only the partition containing / is mounted. This situation
may arise should you need to repair other partitions but have no
access to shared directories (ie. you are in single user mode and
hence have no network access). It also contains programs which boot
scripts may depend on.
Compliance to the FSSTND means that there are no subdirectories
in /bin and that the following commands, or symbolic links to
commands, are located there.
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.
|
|
|
|