📅  最后修改于: 2020-10-31 14:58:58             🧑  作者: Mango
文件系统是分区或磁盘上文件的逻辑集合。分区是信息的容器,并且可以根据需要跨越整个硬盘驱动器。
您的硬盘驱动器可以具有各种分区,这些分区通常仅包含一个文件系统,例如,一个包含/ file system的文件系统或另一个包含/ home file system的文件系统。
每个分区一个文件系统允许对不同文件系统进行逻辑维护和管理。
Unix中的所有内容都被认为是文件,包括物理设备,例如DVD-ROM,USB设备和软盘驱动器。
Unix使用分层的文件系统结构,就像倒置的树一样,在文件系统的基础上带有根(/),所有其他目录都从那里展开。
Unix文件系统是具有以下属性的文件和目录的集合-
它具有包含其他文件和目录的根目录( / )。
每个文件或目录都由其名称,其所在目录以及唯一的标识符(通常称为inode)唯一标识。
按照约定,根目录的索引节点号为2 ,而lost+ found目录的索引节点号为3 。不使用索引号0和1 。通过指定ls命令的-i选项可以看到文件索引节点号。
它是独立的。一个文件系统与另一个文件系统之间没有依赖关系。
这些目录具有特定的用途,并且通常包含相同类型的信息,以便于查找文件。以下是Unix主要版本上存在的目录-
Sr.No. | Directory & Description |
---|---|
1 |
/ This is the root directory which should contain only the directories needed at the top level of the file structure |
2 |
/bin This is where the executable files are located. These files are available to all users |
3 |
/dev These are device drivers |
4 |
/etc Supervisor directory commands, configuration files, disk configuration files, valid user lists, groups, ethernet, hosts, where to send critical messages |
5 |
/lib Contains shared library files and sometimes other kernel-related files |
6 |
/boot Contains files for booting the system |
7 |
/home Contains the home directory for users and other accounts |
8 |
/mnt Used to mount other temporary file systems, such as cdrom and floppy for the CD-ROM drive and floppy diskette drive, respectively |
9 |
/proc Contains all processes marked as a file by process number or other information that is dynamic to the system |
10 |
/tmp Holds temporary files used between system boots |
11 |
/usr Used for miscellaneous purposes, and can be used by many users. Includes administrative commands, shared files, library files, and others |
12 |
/var Typically contains variable-length files such as log and print files and any other type of file that may contain a variable amount of data |
13 |
/sbin Contains binary (executable) files, usually for system administration. For example, fdisk and ifconfig utlities |
14 |
/kernel Contains kernel files |
既然您了解了文件系统的基础知识,就可以开始导航到所需的文件了。以下命令用于导航系统-
Sr.No. | Command & Description |
---|---|
1 |
cat filename Displays a filename |
2 |
cd dirname Moves you to the identified directory |
3 |
cp file1 file2 Copies one file/directory to the specified location |
4 |
file filename Identifies the file type (binary, text, etc) |
5 |
find filename dir Finds a file/directory |
6 |
head filename Shows the beginning of a file |
7 |
less filename Browses through a file from the end or the beginning |
8 |
ls dirname Shows the contents of the directory specified |
9 |
mkdir dirname Creates the specified directory |
10 |
more filename Browses through a file from the beginning to the end |
11 |
mv file1 file2 Moves the location of, or renames a file/directory |
12 |
pwd Shows the current directory the user is in |
13 |
rm filename Removes a file |
14 |
rmdir dirname Removes a directory |
15 |
tail filename Shows the end of a file |
16 |
touch filename Creates a blank file or modifies an existing file or its attributes |
17 |
whereis filename Shows the location of a file |
18 |
which filename Shows the location of a file if it is in your PATH |
您可以使用帮助手册来检查此处提到的每个命令的完整语法。
管理分区空间的第一种方法是使用df(无磁盘)命令。命令df -k(无磁盘)显示磁盘空间使用情况(以千字节为单位),如下所示-
$df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vzfs 10485760 7836644 2649116 75% /
/devices 0 0 0 0% /devices
$
某些目录(例如/ devices)在已使用和可用列的千字节中显示0,在容量中显示0%。这些是特殊的(或虚拟)文件系统,尽管它们位于/下的磁盘上,但它们本身并不占用磁盘空间。
在所有Unix系统上, df -k输出通常是相同的。这通常包括-
Sr.No. | Column & Description |
---|---|
1 |
Filesystem The physical file system name |
2 |
kbytes Total kilobytes of space available on the storage medium |
3 |
used Total kilobytes of space used (by files) |
4 |
avail Total kilobytes available for use |
5 |
capacity Percentage of total space used by files |
6 |
Mounted on What the file system is mounted on |
您可以使用-h(人类可读)选项以一种格式显示输出,该格式以易于理解的符号显示大小。
du(磁盘使用情况)命令使您可以指定目录,以显示特定目录上的磁盘空间使用情况。
如果要确定特定目录占用的空间,此命令很有用。以下命令显示每个目录占用的块数。单个块可能需要512字节或1千字节,具体取决于您的系统。
$du /etc
10 /etc/cron.d
126 /etc/default
6 /etc/dfs
...
$
-h选项使输出更易于理解-
$du -h /etc
5k /etc/cron.d
63k /etc/default
3k /etc/dfs
...
$
必须挂载文件系统才能被系统使用。要查看系统上当前已挂载(可用)的内容,请使用以下命令-
$ mount
/dev/vzfs on / type reiserfs (rw,usrquota,grpquota)
proc on /proc type proc (rw,nodiratime)
devpts on /dev/pts type devpts (rw)
$
根据Unix约定, / mnt目录是临时挂载(例如CDROM驱动器,远程网络驱动器和软盘驱动器)所在的位置。如果需要挂载文件系统,则可以使用具有以下语法的mount命令-
mount -t file_system_type device_to_mount directory_to_mount_to
例如,如果要将CD-ROM挂载到目录/ mnt / cdrom ,则可以输入-
$ mount -t iso9660 /dev/cdrom /mnt/cdrom
这假定您的CD-ROM设备名为/ dev / cdrom ,并且您要将其安装到/ mnt / cdrom 。有关更多特定信息,请参考mount手册页,或在命令行中输入mount -h获取帮助信息。
挂载后,可以使用cd命令在刚创建的挂载点上导航新可用的文件系统。
要从系统中卸载(删除)文件系统,请通过识别安装点或设备来使用umount命令。
例如,要卸载cdrom ,请使用以下命令-
$ umount /dev/cdrom
使用mount命令可以访问文件系统,但是在大多数现代Unix系统上,自动挂载函数使该过程对用户不可见,并且不需要干预。
用户和组配额提供了一种机制,通过该机制,可以将单个用户或特定组内所有用户使用的空间量限制为管理员定义的值。
配额围绕两个限制运行,如果空间或磁盘块数量开始超过管理员定义的限制,则允许用户采取某些措施-
软限制-如果用户超过定义的限制,则有一个宽限期,允许用户释放一些空间。
硬限制-达到硬限制时,无论宽限期如何,都无法分配其他文件或块。
有许多命令可以管理配额-
Sr.No. | Command & Description |
---|---|
1 |
quota Displays disk usage and limits for a user of group |
2 |
edquota This is a quota editor. Users or Groups quota can be edited using this command |
3 |
quotacheck Scans a filesystem for disk usage, creates, checks and repairs quota files |
4 |
setquota This is a command line quota editor |
5 |
quotaon This announces to the system that disk quotas should be enabled on one or more filesystems |
6 |
quotaoff This announces to the system that disk quotas should be disabled for one or more filesystems |
7 |
repquota This prints a summary of the disc usage and quotas for the specified file systems |
您可以使用帮助手册来检查此处提到的每个命令的完整语法。