Linux的文件属性十分重要,与windows的文件属性有很大不同,Linux的文件增加了许多属性,如读写、连接数、文件拥有者及所属群组。如果一个文件属于一个群组,那么这个群组的成员就可以访问,其他的群组就不能访问,这样大大增加了文件的安全性。
1.文件属性
在终端中进入/var/www/html目录,输入ll命令,显示效果如图所示。
上面文件属性中,第一行“test”为一目录,第二行“test.html”为一文件,第一行首个字符为“d”,表示目录;第二行首个字符为“-”,表示文件。Linux中分别以以下字符代表目录和各种文件:
- d表示为目录,如上面的test;
- -表示为文件,如上面的test.html;
- l表示为链接文件(link file);
- b 表示为设备文件中可供存储的接口设备;
- c表示为设备文件中的串口端口设备,如键盘、鼠标。
文件属性中的“rwxrwxrwx”又是表示什么意思?这代表了目录、文件的读、写、执行权限,共分为三组,每三个代表一组。其中:
- r代表读权限;
- w代表写权限;
- x代表执行权限
下面分析第一行“rwxrwxrwx”三组分别代表不同的含义。
- 第一组rwx为“owner,拥有者的权限”,表示该目录的拥有者具有读写和执行的权限。
- 第二组rwx为“group,群组的权限”,表示该目录的拥有者为一群组,具有读写和执行的权限。
- 第三组rwx为“others,其他非本群组的用户权限”,表示该目录其他人均具有读写和执行的权限。
那么第二行文件属性中三组又有什么不同?中间出现“-”表示删除了该属性,“rw-”
表示用户、群组和其他用户只具有读写权限,而不具备执行权限。再举一示例:
如果一个文件的属性为-rwxr-xr- -,则表示意思如下:
- 该文档是一个常规文件;
- 文件的拥有者具有读写、执行的权限;
- 同群组的拥有者具有读和执行的权限,但不具有写权限;
- 其他用户只具有读权限。
2.目录配置
Linux目录结构采用树形结构,整个文件系统以根目录(/)为起始,从根向下分支,像一颗倒置的“树”,如果说目录是“树杈”,文件则是“树叶”。下图展示了以根为起源的文件系统结构。
(1) 工作目录与用户主目录
用户在登录到Linux系统中之后,都工作在用户自己的主目录之中,此目录被称作工作目录或当前目录(Working Directory)。工作目录是可以随时改变的。用户初始登录到系统中时,其主目录(Home Directory)就成为其工作目录。工作目录用“.”表示,其父目录用“..”表示。
用户主目录是系统管理员增加用户时建立起来的(以后也可以改变),每个用户都有自己的主目录,不同用户的主目录一般互不相同。 用户刚登录到系统中时,其工作目录便是该用户主目录,通常与用户的登录名相同。
(2)路径
路径是指从树型目录中的某个目录层次到某个文件的一条道路。此路径的主要构成是目录名称,中间用“/”分开。某个文件在文件系统中的位置都是由相应的路径决定的。
路径又分相对路径和绝对路径。 绝对路径是指从“根”开始的路径,也称为完全路径;相对路径是从用户工作目录开始的路径。
需要指出的是,在树型目录结构中到某一确定文件的绝对路径和相对路径均只有一条。绝对路径是确定不变的,而相对路径则随着用户工作目录的变化而不断变化。这一点对于以后使用某些命令如cp和tar等大有好处。
(3)Linux系统目录不同于普通目录,具有特殊的用途,一些系统目录放置系统所需要的程序。下表对主要系统目录进行说明。
表 系统主要目录及用途
/bin | bin 就是二进制(binary)英文缩写,专门用于放置一般用户的执行程序。 |
/boot | 在这个目录下存放的都是系统启动时要用到的程序及Linux内核,目录下的vmlinuz-xxx就是Linux的内核。 |
/dev | dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。如/dev/cdrom代表光驱。 |
/etc | etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。我们要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。 |
/sbin | 这个目录是用来存放系统管理员的系统管理程序。 |
/home | 默认用来存放用户的主目录,当新增一个一般用户的账户时,在该目录自动设置该用户的根目录。如新建账户liu,就会产生/home/liu目录。 |
/lib | lib是库(library)英文缩写。在Linux执行或编译某些程序时要用到的函数库就在这个目录下。 |
/mnt | 这个目录在一般情况下也是空的。可以临时将别的文件系统挂在这个目录下。 |
/proc | 可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。 |
/root | 如果用户是以超级用户的身份登录的,这个就是超级用户的主目录。 |
/tmp | 用来存放不同程序执行时产生的临时文件。 |
/usr | 这是linux系统中占用硬盘空间最大的目录,里面含有很多系统信息,其下包含许多子目录,用来程序与指令。 |