文件系统是unix的一个
组件
,他能够让用户查看、组织以及保护存储设备上的文件和目录并与其进行交互。
不同类型的文件系统:面向磁盘的、面向网络的、专用的或虚拟的
在unix中,任何软硬件都被视为文件,包括物理驱动器,通过使用文件系统,unix能够在处理资源时保持一致的方式。
unix使用分层结构来组织文件,提供了一种自顶向下的方法来查找信息,该方法以一种有组织的方式逐层向下搜索以定位所需的内容。
在unix中,
每个文件和目录都是从根目录开始的,根目录表示成/,根目录通常包含一组通用目录,这些目录又包含了子目录。
大多数unix系统上通常存在着一些核心目录。这些目录有其特殊的作用,通常保存相同类型的信息以便定位文件。
/ 根目录中只包含文件结构的顶层所需要的那些目录(根目录下不必要的目录会搅乱系统,使管理更加困难
bin 通常包含二进制文件,这些文件对系统的使用非常关键
boot 包含用于启动系统的文件
dev
device 系统上可能只存在其中一个目录或两个目录都存在。它们包含设备文件
etc 包含系统配置文件
export 包含远程文件系统(物理系统以外的那些系统)
home 包含用户和其它账户的主目录
kernel 包含内核文件
lib 包含共享的库文件,可能还会包含与内核相关的其他文件
mnt 用于安装其他的临时文件系统
proc 包含所有标志为文件的进程
sbin 包含二进制文件,通常用于系统管理。
tmp 保存某些临时文件,这些文件在两次系统启动之间使用
usr 可以用于各种目的,或者可以被许多用户使用
var 通常包含长度可变的文件(日志或打印文件)
unix是区分大小写的操作系统。
文件系统导航
cat 显示一个文件(concatenate)
cd 转到指定的目录
cp 把一个文件/目录复制到指定位置
file 识别文件类型
find 查找文件/目录
head 显示文件的开始部分
less 从开头或结尾开始浏览整个文件
ls 显示指定目录的内容
mkdir 创建指定的目录
more 从头到尾浏览一个文件
mv 移动文件/目录的位置或者重命名一个文件/目录
pwd 显示用户的当前目录
rm 删除文件
rmdir 删除目录
tail 显示文件结尾部分
touch 创建一个空文件或者修改一个现有文件的属性
whereis 显示文件的位置
which 如果文件位于用户的PATH内,则显示文件位置
如果ls命令不可用,则可用echo命令来显示文件。使用
echo directory*
文件类型
- 普通文件
b 块设备文件
c 字符设备文件
d 目录文件
l 符号链接文件
p 命名管道
s 套接字
链接
unix中的链接类似于windows中的快捷方式。要理解链接,需要了解inode。在unix中每个文件都有一个相关联的数字,称为inode。unix不使用文件名来引用文件而使用inode。在一个分区中,inode是唯一的,因此两个完全不相关的文件位于不同的分区内,它们可以用相同的inode。
连接分两种类型:
硬链接和软(字符)链接。
硬链接不能跨越文件系统且用于链接的文件与原文件完全一样。在inode引用中,所链接的文件与链接名具有相同的inode值,对于硬链接所做的修改会反映到由硬链接产生的文件上,反之亦然。创建硬链接命令:
ln file_name link_name
软(符号)链接能够跨越文件系统,甚至可以跨越不同的计算机系统,它具有唯一的inode值,如果删除该链接,其原文件依然存在。创建软链接的命令:
ln -s file_name link_name
创建软件链接时,总是使用绝对路径而不是相对路径以最大化可移植性
硬链接文件使用inode作为引用,软链接使用文件名作为引用
文件和目录权限
unix权限基本类型有读、写、执行权限。
drwxr-xr-x 2 root root 4096 Apr 29 14:41 Desktop
每个文件的权限都是用左起第2到第10个字符来记录(第1个字符表示文件类型),
权限分成3组,每组三个字符,每组分别代表:所有者、所属组、其他
修
改权限
命令:chmod
两种方法:符号模式和绝对模式
符号模式:用u来代表用户,g代表组,o代表其他
+ 为一个文件或目录添加指定权限
- 从一个文件或目录中删除指定的权限
= 设置指定的权限
chmod o+wx,u-x,g=r-x testfile
绝对模式:每种权限都分配了一个值,把每个权限集合的数字相加就得到了表示该集合的数字。
0 无权限 ---
1 执行权限 --x
2 写入权限 -w-
3 执行和写入权限 -wx
4 读权限 r--
5 读取和执行权限 r-x
6 读取和写入权限 rw-
7 所有权限 rwx
chmod 774 testfile
查看文件
cat more less
head tail 显示前十行或者后十行
tail命令有一个重要的选项
-f 该选项不断地扫描输入文件,而不是简单地显示指定的行。
创建、修改和删除文件
cp 复制文件 (必须具有适当的权限)
mv 转移文件/目录
touch 建立一个空文件,如果在一个现有文件上使用touch命令,将更新它的最后修改时间,但是如果将该命令与一个新的文件名一起使用,则创建一个空文件。
touch filename
删除文件
rm 完全删除一个文件
rm -f 强行删除一个文件而不会询问是否真的想删除
rm -r 使rm能够进入到所指定目录的任意子目录中,这时rm命令的参数是一个目录名。如果用rm命令指定删除某个文件,则rm命令将不会进入到任何目录中(只有当指定删除某个目录时,它才会进入该目录)
创建和删除目录
mkdir
rmdir
rmdir命令只是完全删除空目录
基本的文件系统管理
df -k 显示磁盘空间的使用情况
df -h 用易于理解的符号来显示磁盘空间情况
du 通过指定目录来显示某个分区目录的磁盘空间使用情况
fsck 该命令会尝试修复文件系统错误,注意该命令会潜在的产生一些灾难性问题
使文件系统可访问
文件系统必须先安装,然后系统才能使用它,启动时系统将安装根目录和在/etc/fstab或/etc/dfstab中命名的任何其他文件(或者是任何确定安装处理方式的文件,这些文件随着unix版本的不同而不同)以便于系统使用。例如通过/mnt目录或者/cdrom目录把CD-ROM驱动器添加到根文件系统中。
fstab文件(这个名字随unix的版本的不同而不同)标识了所有应该在启动过程中安装的不同文件系统。
查看系统上当前安装的文件系统:
mount
例:mount -t iso9660 /dev/cdrom /mnt/cdrom
要从系统中卸载文件系统,使用
umount
例: umount /dev/cdrom
文件系统的概念非常重要,因为在unix系统中存储和使用应用程序都需要用到它们。
同志们要好好学这章啊
转载于:https://blog.51cto.com/zhuz5750/162733