在命令行输入ls –al,可列出全部的文件详细的权限与属性(包括隐藏文件,以”.”开头)。返回的文件列表分为七项内容:php
① 文件的类型与权限html
其中共有10个字符。第1个字符表示文件类型,第2-4个字符表示文件全部者的权限,第5-7个字符表示文件所属用户组的权限,第8-10个字符表示其余人对此文件的权限。权限字符依次为”rwx”(read、write、execute),依次表示可读、可写、可执行,若为”-”则表示无此项权限。例如”-rwxrwx---”,文件类型为“文件”,文件全部者和文件所属用户组权限均为“可读、可写、可执行”,其余人对此文件无任何权限。第一个字符,即文件类型,所表明含义以下:node
[d]——目录网络
[-]——文件架构
[l]——链接文件(linkfile)socket
[b]——设备文件中可供存储的接口设备函数
[c]——设备文件中的串行端口设备性能
[s]——套接字(sockets)spa
[p]——管道(pipe)命令行
② 有多少文件名链接到此节点(i-node)
③ 这个文件(或目录)的“全部者帐号”
④ 这个文件所属用户组
⑤ 这个文件的容量大小,默认容量为B
⑥ 这个文件的建立文件日期或者是最近的修改日期
⑦ 文件名
chgrp [-R] groupname dirname/filename
-R:进行递归的持续更新,也即连同子目录下的全部文件、目录
chown [-R] 帐号名称[:组名] 文件或目录
-R:进行递归的持续更新,也即连同子目录下的全部文件、目录
权限的设置方法有两种,分别可使用数字或者是符号来进行权限的更改。
·数字类型改变文件权限
Linux基本权限有9个,分别是owner、group、others三种身份各有的rwx。把每组权限按照二进制进行转化,拥有权限即为1,没有即为0,例如rwx为111(7),r-x为101(5)。
对应的chmod的语法为:
chmod [-R] xyz 文件或目录
其中,-R与chgrp中-R选项含义相同,xyz分别为三种身份按上文所述权限所表明的数字。
·符号类型改变文件权限
chmod u/g/o/a +(加入)/-(除去)/=(设置) r/w/x 文件或目录
其中,ugo分别表明user、group、others,a表明all
r:可读取此文件的实际内容
w:能够编辑、新增或者是修改该文件的内容(但不包含删除该文件)
x:该文件具备能够被系统执行的权限
r:表示具备读取目录结构列表的权限
w:表示具备更改该目录结构列表的权限,也就是新建新的文件与目录、删除已经存在的文件与目录、将已存在的文件或目录进行重命名、转移该目录内的文件或目录位置等权限
x:表明用户可否进入该目录成为工做目录的用途
·文件种类
普通文件:通常进行访问类型的文件,由ls –al显示的属性第一个字符为[-]
纯文本文件(ASCII):内容为咱们能够直接读到的数据
二进制文件(binary):系统能够识别的文件类型
数据格式文件(data):有些程序在运行的过程当中会读取某些特定格式的文件,安歇特定格式的文件能够被称为数据文件
目录(directory):第一个属性为[d]
链接文件(link):相似Windows系统下面的快捷方式,第一个属性为[l]
设备与设备文件(device):与系统外设及存储等相关的一些文件,一般集中在/dev这个目录,一般分为块设备文件(存储数据,以提供系统随时访问的接口设备,第一个属性为[b])和字符设备文件(一些串行端口的接口设备,第一个属性为[c])
套接字(sockets):一般被用在网络上的数据链接,第一个属性为[s]
管道(FIFO,pipe):主要目的在解决多个程序同时访问一个文件所形成的错误问题,第一个属性为[p]
·Linux文件扩展名
*.sh:脚本或批处理文件(scripts)
*Z、*.tar、*.tar.gz、*.zip、*.tgz:通过打包的压缩文件
*.html、*.php:网页相关文件
·Linux文件长度限制
在Linux下面,使用默认的Ext2/Ext3文件系统时,针对文件名长度限制为:单一文件或目录的最大允许文件名为255个字符,包含完整路径名称及目录(/)的完整文件名为4096个字符。
·Linux文件名的限制
因为Linux在文字界面下的一些命令操做关系,在设置Linux下面的文件名时,最好能够避免特殊字符,例如* ? > < ; & ! [ ] | \ ’ ” ` ( ) { },由于这些符号在命令行下室友特殊含义的。文件名的开头为小数点”.”时,表明这个文件为“隐藏文件”。同时因为命令执行当中,经常会使用到-option之类的参数,因此最好避免将文件名的开头以-或+来命名。
FHS(Filesystem Hierarchy Standard)主要目的在于规范每一个特定的目录下应该要放置什么样子的数据。
FHS是根据过去的经验一直持续改版的,FHS依据文件系统使用的频繁与否与是否容许用户随意改动,将目录定义成四种交互做用的形态。
可分享的:能够分享给其余系统挂载使用的目录。
不可分享的:本身机器上运行的设备文件或者是与程序相关的socket文件等。
不变的:跟随者distribution而不会常常变更的,例如函数库、文件说明文件、系统管理员所管理的主机服务配置文件等。
可变更的:常常改变的数据,例如登陆文件、新闻组等。
|
可分享的(shareable) |
不可分享的(unshareable) |
不变的(static) |
/usr(软件放置处) /opt(第三方软件) |
/etc(配置文件) /boot(开机与内核文件) |
可变更的(variable) |
/var/mail(用户邮件信箱) /var/spool/news(新闻组) |
/var/run(程序相关) /var/lock(程序相关) |
FHS针对目录树架构仅定义出三层目录下面应该放什么数据:
/(root,根目录):与开机系统有关;
/usr(UNIX software resource):与软件安装/执行有关;
/var(variable):与系统运做过程有关。
根目录的意义与内容:根目录是整个系统最重要的一个目录,由于不但全部的目录都是由根目录衍生出来的,同时根目录也与开机、还原、系统修复等操做有关。FHS建议:根目录(/)所在分区越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区上,保持根目录越小越好,如此不但性能较好,根目录所在的文件系统也较不容易发生问题。
所以,FHS定义出根目录(\)下的子目录:
/bin:放置的是在单用户维护模式下还可以被操做的命令
/boot:主要放置开机时会用到的文件,包括Linux内核文件以及开机所需配置文件等
/dev:Linux系统上任何设备与接口都是以文件的形式存在于此目录中
/etc:系统主要的配置文件几乎都放置于这个目录内,比较重要的有/etc/inittab、/etc/init.d(放置全部服务的默认启动脚本)、/etc/modprobe.conf、/etc/X11(放置与X Window有关的各类配置文件,尤为是xorg.conf这个XServer配置文件)、/etc/fstab、/etc/sysconfig、/etc/xinetd.d(super daemon管理的各项服务的配置文件目录)等
/home:系统默认的用户主文件夹
/lib:放置开机时会用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库
/media:放置可删除的设备
/mnt:暂时挂载某些额外的设备
/opt:给第三方软件放置的目录
/root:系统管理员的主文件夹
/sbin:放置开机过程当中所须要的,包括开机、修复、还原系统所须要的命令
/srv:一些网络服务启动以后,这些服务所须要取用的数据目录
/tmp:通常用户或者正在执行的程序暂时放置文件的地方
目录树的主要特性有:
① 目录树的起始点为根目录(/,root)
② 每个目录不仅能使用本地端的文件系统,也可使用网络上的文件系统
③ 每个文件在此目录树中的文件名(包含完整路径)都是独一无二的
绝对路径:由根目录(/)开始写起的文件名或目录名称
相对路径:相对于目前路径的文件名写法
.:表明当前目录,也可使用./来表示
..:表明上一层目录,也可使用../来表示