linux中的目录配置
一.权限对文件的重要性
1.r(read):可读取此文件的实际内容,读取文本文件的文字内容等。
2.w(write):可以编辑,新增或者是修改该文件的内容。
3.x(execute):该文件具有可以被系统执行的权限。
**在linux中,一个文件是否能被执行是由是否具有“x”这个权限来决定的,与文件名没有绝对的关系。
二.权限对目录的重要性
*文件是存放实际数据的所在,目录主要的内容是记录文件名列表,文件名与目录有前列的关联。
1.r:表示具有读取目录结构列表的权限,当你具有读取(r)一个目录的权限时,表示你可以查询该目录下的文件名数据,所以就可以用ls这个命令将该目录的内容列表现实出来。
2.w:代表你具有更改该目录结构列表的权限,具体如下:
a:新建新的文件与目录
b:删除已经存在的文件与目录(不论该文件权限为何)
c:将已存在的目录或文件重命名
d:转移该目录内的文件,目录位置
3.x:此权限代表的是用户能否进入该目录成为工作目录的用途,所谓工作目录就是你目前所在的目录。即,当没有“x”权限是,所对应的用户身份是无法进入(cd)到该目录中。
二.linux目录配置
FHS(Filesystem Hierarchy Standard)目录配置标准
FHS的主要目的是为了让用户可以了解到已安装软件通常放置于那个目录下。
FSH根据文件系统的使用频繁与否与是否允许用户随意改动,将目录定义为四种交互作用的形态:
|
可分享的 |
不可分享的 |
|
|
不变的 |
/usr(软件放置处) |
/etc(配置文件) |
|
/opt(第三方软件) |
/boot(开机与内核文件) |
|
|
可变动的 |
/var/mail(用户邮件信箱) |
/var/run(程序相关) |
|
/var/spool/news(新闻组) |
/var/run(程序相关) |
事实上,FHS针对目录树架构仅定义出三层目录下面应该放置什么数据而已,分别是下面这三个目录的定义:
*/(root,根目录):与开机系统有关;
*/usr:与软件安装执行有关;
*/var:与系统运作过程有关;
1. 根目录的意义与内容
a) 根目录是整个系统中最重要的一个目录,以为不但所有的目录都是由根目录衍生出来的,同时,根目录也与开机,还原,系统修复等操作有关。
b) 根据FHS标准建议:根目录(/)所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。如此不但性能较好,根目录所在的文件系统也较不容易发生问题。
鉴于以上说明,FHS定义根目录(/)下面应该要有下面这些子目录的存在才好:
|
目录 |
应放置文件内容 |
|
/bin |
系统有很多放置执行文件爱你的目录,但/bin比较特殊。因为/bin放置的是单用户模式下还能被操作的命令 |
|
/boot |
这个目录主要放置开机会使用到的文件爱你,包括linux内核文件以及开机菜单与开机所需配置文件等;如果使用的是grub这个引导装载程序,则还会存在/boot/grub这个目录 |
|
/dev |
在linux中,任何设备与接口设备艘是以文件的形式存在于这个目录中的。你只要访问这个目录下面的某个文件,就等于访问某个设备 |
|
/etc |
系统中主要配置文件几乎都放在这个目录内。一般来书,这个目录下的个文件属性是可以让一般用户查阅的,但只有root用户可以修改。FHS建议不要放置可执行文件在这个目录中。 |
|
/home |
这是系统默认的用户主文件夹。在你创建一个一般用户帐号时,默认的用户主文件夹都会规范到这里。 |
|
/lib |
/lib放置的是在开机时会用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库。 |
|
/media |
/media下放置的是可删除的设备。包括软盘,光盘,DVD等设备都展示挂载于此。 |
|
/mnt |
如果想要挂载某些额外的设备,一般建议可以防止在这个目录中。 |
|
/opt |
这个是给第三方软件放置的目录。 |
|
/root |
系统管理员的主文件夹。 |
|
/sbin |
放在/sbin下面的为开机过程中所需要的,里面包括了开机,修复,还原系统所需要的命令。 |
|
/srv |
是一些网络服务启动后,这些服务所需要取用的数据目录。 |
|
/tmp |
这是让一般用户或者是正在执行的程序暂时放置文件的地方。这个目录任何人都能访问,需要定期清理。 |
2. /usr的意义与内容
a) /usr是“UNIX操作系统软件资源”所放置的目录,而非用户数据。FHS建议所有软件开发者应该将他们的数据合理的分别放置到这个目录下的子目录,而不要自行新建该软件自己独立的目录。
b) 所有系统默认的软件都会放置到/usr下面,系统刚安装完毕时,这个目录会占用最多的硬盘容量。
/usr子目录建议安装表如下:
|
目录 |
应放置文件内容 |
|
/usr/bin |
绝大部分用户可使用的命令都放在这里。 |
|
/usr/include |
C/C++等程序语言的头文件与包含文件放置处,当以tarball方式安装某些数据时,会使用到里面的许多包含文件 |
|
/use/lib |
包含个应用软件的函数库,目标文件,以及不被一般用户惯用的执行文件或脚本 |
|
/usr/local |
系统管理员在本机自行安装自己下载的软件,建议安装到此目录,便于管理 |
|
/usr/sbin |
非系统正常运行所需要的系统命令 |
|
/usr/share |
放置共享文件的地方,在这个目录下放置的数据几乎是不分硬件架构均可读取的数据。 |
|
/usr/src |
一般源码建议放在这里。 |
3. /var的意义与内容
a) 如果/usr时安装时会占用较大容量的目录,那么/var就是在系统运行后才会渐渐占用硬盘容量的目录。因为/var目录主要针对常态性变动的文件,包括缓存,登陆文件,以及某些软件运行所产生的文件,包括程序文件。
常见子目录如下:
|
目录 |
应放置文件内容 |
|
/var/cache |
应用程序运行过程中会产生的一些暂存文件 |
|
/var/lib |
程序本身执行的过程中,需要使用到的数据文件放置目录。在此目录下各自的软件应该要有各自的目录 |
|
/var/lock |
某些设备或者时我呢见资源一次只能被一个应用程序所使用,如果有两个程序使用该设备时,就可能产生一些错误情况,一次就要将该设备上锁(lock),以确保该设备只会给但以软件使用 |
|
/var/log |
这是登陆文件放置的目录 |
|
/var/mail |
放置个人电子邮件信箱的目录,不过这个目录也会分放置到/var/spool/mail中 |
|
/var/run |
某些程序或服务启动后会将它们的PID放置到这个目录下 |
|
/var/spool |
通常放置一些队列数据,所谓“队列”就是派对等待其它程序使用的书录,这些数据使用后通常会被删除。 |
三. 相对路径与绝对路径
a) 绝对路径:有根目录(/)开始写起的文件名或目录名称,例:/home/kiosk/Desktop
b) 相对路径:相对于目前路径的文件名写法。例:./home/kiosk 当开头不是根(/)就属于相对路径的写法
* . :代表当前目录,也可以使用./表示
* .. : 代表上一层目录,也可以用../表示
linux中的目录配置的更多相关文章
- 关于linux中的目录配置标准以及文件基本信息
关于Linux中的目录配置标准 在查看docker.k8的运行日志,修改相关的运行记录的时候,学长总是能很快地找到目录,这个多多少少和Linux的FHS(File Hierarchy Standard ...
- Linux中VSFTP的配置
配置VSFTP服务器: 1.安装VSFTP,可以参考Linux 中yum的配置来安装: yum installvsftpd.x86_64 -y 2.修改SELinux: setenforce 0 查看 ...
- Linux中redis安装配置及使用详解
Linux中redis安装配置及使用详解 一. Redis基本知识 1.Redis 的数据类型 字符串 , 列表 (lists) , 集合 (sets) , 有序集合 (sorts sets) , 哈 ...
- Linux中 /boot 目录介绍 【转载】
Linux中 /boot 目录介绍 转自:点击打开链接 一./boot/目录中的文件和目录 Linux系统在本地启动时,目录/boot/非常重要,其中的文件和目录有: (1)系统Kernel的配置文件 ...
- 在Linux中安装和配置OpenVPN Server的最简便方法!
本文介绍了如何在基于RPM和DEB的系统中安装和配置OpenVPN服务器.我们在本文中将使用一个名为openvpn-install的脚本,它使整个OpenVPN服务器的安装和配置过程实现了自动化.该脚 ...
- linux中MySQL主从配置(Django实现主从读写分离)
一 linux中MySQL主从配置原理(主从分离,主从同步) mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面: 2)master有一个I/O线程将二进制日志发送到sl ...
- Linux中/proc目录下文件详解
转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...
- linux文件权限目录配置笔记
###linux 文件权限目录配置笔记 ---------- 多人多任务环境 linux 一般将文件可存取的身份分为三个类别:owner group others Permission deny ls ...
- Unix/Linux中/usr目录的由来
在Linux系统中,有一个很重要的目录——/usr目录.关于这个目录名称的由来,网上主要有下面几种说法: user的缩写 User Shareable Read-only的缩写 Unix/User S ...
随机推荐
- sys模块 进度条百分比
用于提供对Python解释器相关的操作: sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) ...
- 【安装关键】webStorm-201703版本
在激活页面选择License Server,输入:http://idea.codebeta.cn,点击Activate即可激活.
- java全栈day01-02入门案例
一 在开始案例之前,我们需要了解一下Java应用程序的编写流程. 通过上图我们可以了解到编写的程序大致如下: 1 源文件:编写Java源文件(我们也称之为源代码文件),它的扩展名为.java: 2 ...
- java全栈day05--ArrayList的基本功能
在前面我们学习了数组,数组可以保存多个元素,但在某些情况下无法确定到底要保存多少个元素,此时数组将不再适用,因为数组的长度不可变.例如,要保存一个学校的学生,由于不停有新生来报道,同时也有学生毕业离开 ...
- chrome安装postman插件
参考http://www.cnplugins.com/zhuanti/how-to-make-crx-install.html 下载地址:http://www.cnplugins.com/down/p ...
- winfrom强制退出程序(Application.Exit()与Environment.Exit(0))
Application.Exit():通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口(先停止线程(前台线程执行完毕,后台线程自动结束),然后终止进程) Environment.Exi ...
- Bat 多个执行操作选择
Bat在日常编程中使用到会帮我们省去很多力气. @echo off Title DataBase Color 0A :caozuo echo. echo ═══════════════════════ ...
- code manager toos TotoiseSVN解锁
TotoiseSVN解锁 一.出现的原因: 1.是开发人员手动锁定了. 2.是由于版本错乱造成的锁定. 二.解决方案: 1.使用客户端解决方案: (1)删除本地副本,重新获取文件. (2)可以先尝试c ...
- Locust学习总结分享
简介: Locust是一个用于可扩展的,分布式的,性能测试的,开源的,用Python编写框架/工具,它非常容易使用,也非常好学.它的主要思想就是模拟一群用户将访问你的网站.每个用户的行为由你编写的py ...
- python---信用卡ATM
一 需求 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期未还, ...