1.linux中有3个基本的权限需要注意:1)拥有着;2)用户组;3)其他人,区分三者的关系是用好linux的基础,用户名记录在/etc/passwd中,用户登陆密码记录在/etc/shadow中,用户组记录在/etc/group
2.绝对路径和相对路径:
-
绝对路径:以根目录(/)开头执行的目录名称。例如:/home/wangming/test
-
相对路径:相对当前路径的文件名称写法,例如:./home/wangming和…/…/home/wangming
-
以上操作中:一个点(.)表示的是当前目录,可以用(./)表示;
-
两个点(…)表示的是上一层目录,也可以用(…/)表示;
牢记:软件开发过程中,合理的采用相对路径和绝对路径可以避免开发过程中很多不必要的麻烦
3.linux中的文件权限概念:
查看文件的信息:ls
以上实在/tmp目录下面线目前的文件系统。上面每个文件都由8部分组成,分别如下:
第一部分:文件属性,代表该目录是文件,还是链接文件,还是目录等;以上.esd-1000表示是一个目录。
- 当为d时表示为目录
- 当为-时表示为文件
- 当为l时表示为链接文件
- 当为b时表示可供给存储的周边设备,例如u盘
- 当为c时表示的时串行端口设备,例如键盘
第二部分:接下来三个一组表示不同用户(所有者,用户组,其他人)获得该文件的权限,其中r为可读,w为可写,x为可执行。以上.esd-1000所有者,用户组以及其他人都具有可读写执行的权限
第三部分:节点(inode)数,表示目录树里面有多少文件连接到该文件下面,以上.esd-1000有2个文件连接到该文件
第四部分:所有者的名称,以上.esd-1000所有者为root
第五部分:用户组的名称,以上.esd-1000用户组为root
第六部分:记录文件的大小,以上.esd-1000为20bytes,(单位为byte)
第七部分:记录文件的修改日期,可以在ls明中键入full-time,显示全称
第八部分:记录文件的名称,注意以点(.)开头表明文件是一个隐藏文件,但是在linux中隐藏文件不是什么特殊的文件形式
以上命令需要详细的记住,目录的全兴在linux中的全兴很重要,开发中需要注意
3.修改文件的属性和权限
- 修改文件所属的用户组:chgrp
- 修改文件的拥有着:chown
- 修改文件的权限:chmod
3.1修改用户组:时刻记得修改的用户组必须存在与/etc/group中才能将文件修改到该用户组下面,同时修改权限需要由root才能执行
3.2修改文件所有者:时刻记得修改的所有者必须存在与/etc/passwd中才能将文件修改到该所有者下面,同时修改权限需要由root才能执行
3.3修改文件的权限(两种方式:数字类型修改符号类型修改)这里只讲解数字类型的修改权限,在权限的显示模式中,读r的权限为4,写w的权限的2,执行的权限为1,因此只需要将特定的权限相加即可得到相对应的权限命令。如想要rwx则为7,想要rw权限则为6,以此类推即可
分析:修改文件的用户和用户组的使用情况:在复制其他人的文件时,一般会把该文件的用户也复制过来,因此为了能让本用户使用,合理的修改文件的用户和用户组非常有必要;修改文件的权限的使用情况:后面再使用vim创建一个可执行文件时,休要加上文件的执行权限,因此合理的修改文件的权限十分必要,上述两种情况只是修改权限的一般使用情况,其他情况实实际的开发条件而定
4.linux中为念的种类和扩展名
常规文件(以-开头),
- 纯文本文件,这里只要指的是人类可以直接看得懂的文件,可以直接以cat命令来执行;
- 二进制文件,计算机可以识别的文件,以0和1进行识别
- 数据文件,在程序运行 的时候,为了记录相应的运行情况而记录文件的执行情况的文件,同时程序在运行的时候有时候也需要执行某个数据文件
目录(以d开头)
链接文件(以l开头),类似于windows中的快捷方式一样
设备相关的文件(b和c开头)
区块设备(b开头):例如硬盘等可存储数据的设备文件
字符设备文件(c开头):一般指的是键盘和鼠标等可输入字符的设备
数据接口文件(socket):以socket来进行数据传输的文件,其有一个特殊的文件属性s
数据输送文件(fifo):先进先出的缩写,即管道,是为了解决多个程序同时读写一个文件上造成错误情况而设计
认为linux中文件的可执行与否与后缀无关(window中.exe为可执行的意思),但是为了区分文件的不同用途,有时候还是会加上一定的后缀来进行区分,例如后面的.z 和.tar等实际上时没有意义的,只是为了方便我们区分不同的文件属性而已
5.FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数Linux版本采用这种文件组织形式,FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。 FHS定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。 第二层则是针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。