Linux 文件系统介绍
由于 Linux 版本众多,但是几乎所有版本文件目录格式都是 按照 Filesystem Hierarchy Standard (FHS) Linux文件目录标准的!
FHS的标准内容大概如下:
可分享的(shareable) | 不可分享的(unshareable) | |
---|---|---|
不变的(static) | /usr (软件放置处) | /etc (配置文件) |
/opt (第三方软件) | /boot (开机与核心档) | |
可变动的(variable) | /var/mail (使用者邮件信箱) | /var/run (程序相关) |
/var/spool/news (新闻组) | /var/lock (程序相关) |
上表中的目录只是列举了一些有代表性的目录
FHS针对目录树架构仅定义出三层目录底下应该放置什么数据:
/ (根目录):与开机系统有关;
/usr (unix software resource):与软件安装/执行有关;
/var (variable):与系统运行过程有关。
- 根目录(/)
根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的, 同时根目录也与开机/还原/系统修复等动作有关。
根目录下有哪些目录存在呢?
目录 | 应放置文件内容 |
---|---|
/home | 这是系统默认的用户家目录(home directory)。在你新增一个一般使用者账号时, 默认的用户家目录都会规范到这里来。 |
/root | 系统管理员(root)的家目录。 |
/etc | 系统主要的配置文件几乎都放置在这个目录内,例如人员的账号密码文件、 各种服务的启始档等等。 |
> cd /
> ls
bin boot dev etc home lib media opt root sbin tmp
第一个命令cd
表示切换目录,参数是'/',表示切换到根目录去
/usr
依据FHS的基本定义,/usr里面放置的数据属于可分享的与不可变动的(shareable, static);很多人都以为/usr为user的缩写,其实usr是Unix Software Resource的缩写。
user目录下有这些:
目录 | 应放置文件内容 |
---|---|
/usr/local/ | 系统管理员在本机自行安装自己下载的软件(非distribution默认提供者),建议安装到此目录, 这样会比较便于管理。 |
/usr/share/ | 放置共享文件的地方,在这个目录下放置的数据几乎是不分硬件架构均可读取的数据, 因为几乎都是文本文件 |
/usr/src/ | 一般原始码建议放置到这里,src有source的意思。 |
/var
如果/usr是安装时会占用较大硬盘容量的目录,那么/var就是在系统运行后才会渐渐占用硬盘容量的目录。 因为/var目录主要针对经常性变动的文件,包括缓存(cache)、日志(log file)以及某些软件运行所产生的文件。
目录 | 应放置文件内容 |
---|---|
/var/log/ | 重要到不行!这是日志文件放置的目录! |
绝对路径与相对路径
-
绝对路径:由根目录(/)开始写起的文件名或目录名称, 例如 /home/joe/.bashrc;
-
相对路径:相对于目前路径的文件名写法。 例如 ./home/joe 或 ../../home/joe/ 等等。反正开头不是 / 就属于相对路径的写法
-
. :代表当前的目录,也可以使用 ./ 来表示;
-
.. :代表上一层目录,也可以 ../ 来代表。
所以到达 当前目录 的上一目录可以使用命令: cd ..
关于文件的几个命令介绍
> pwd
/home/joe
> ls
test.txt
> cat test.txt
> touch test1.txt
> rm test1.txt
> mkdir test
> rm -r test/
第一个命令pwd
意义是显示当前所在目录的路径
第二个命令ls
显示当前目录下的文件列表
第三个命令cat test.txt
意义是打开当前目录下存在的test.txt(注,cat最好打开文本文件,虽然能打开二进制文件)
第四个命令touch test1.txt
是创建一个叫test1.txt的文件
第五个命令rm test1.txt
是将刚刚创建的文件删除掉
第六个命令mkdir test
是创建一个叫test的文件夹
第七个命令rm -r test/
是将刚刚创建的文件夹删除,注意这里删除文件夹的时候需要加上选项-r
本文:文件目录介绍大部分内容参考:http://cn.linux.vbird.org/linux_basic/0210filepermission_3.php