一.路径
1.1绝对路径
在linux系统中是从系统根目录开始向下遍历到指定位置的路径,中途用我的‘ / ’隔开。
例如:
myj的桌面的绝对路径:/home/myj/Desktop
teacher的用户的桌面的一个叫做main.c的绝对路径表示为:
/home/teacher/Desktop/main.c
1.1.1绝对路径的用途
对于文件名的正确性来说,绝对路径的正确度要比较好;如果是在写程序来管理系统的条件下,务必使用绝对路径的写法,虽然绝对路径的写法比较复杂,比较麻烦,但是这种写法可以避免你使用相对路径在程序当中,执行的环境不同导致的一系列问题。
1.2相对路径
从当前路径开始向下遍历到指定位置的路径
“.” :代表当前位置
“. .”:代表上一层的位置
“-”: 代表上一次的位置
1.2.1相对路径的用途
为了防止路径过长,不容易快速写出,方便路径的表示。
1.3比较
假设,我们现在用绝对路径描述main.c这个普通文件:
/home/stu/Desktop/main.c
假设,我们现在就在stu的桌面上,那么此时用相对路径描述main.c这个普通文件:./main.c
二.Linux系统文件类型和文件权限
2.1文件类型
Linux系统认为一切皆文件
所以Linux将所有的东西都看做文件,所以将其分了这些类:
普通文件 “-”
目录文件 “d” (directory)
管道文件 “p” (piping)
链接文件 “l” (link)
设备文件(块设备“b”(block), 字符设备“c”(char))
套接字文件 “s” (socket)
分别解释下什么意思:
管道文件:进程间通讯的一种手段。
链接文件:软链接(字符链接)和硬链接,软链接可以认为是windows下的快捷方式。
设备文件:块设备:可以从任意位置读取一定长度的设备:例如磁盘,U盘,TF卡等等。
设备文件:字符设备:只能一字节一字节的读取,不能随机读取,例如鼠标,键盘等等。
套接字文件:网络通讯的一种方式。
Linux不以后缀名区分文件类型,后缀的作用是帮助我们指定用哪个应用程序打开。
在ubuntu系统中, /bin和/usr/bin其实是用一个地方 但是在红帽子系统上,这俩是区分开的。
2.2文件权限
- r 读权限 值:4。
- w 写权限 值:2。
- x 执行权限 值:1 对于普通文件代表执行权限,对于目录文件,代表可进入权限。
- 无权限 值:0。
例如:
- u:user 属主的访问权限(拥有者)
- g:group 属组的访问权限(和拥有者同小组的人)
- o:other 其他人的访问权限
touch filename 创建普通文件
mkdir dirname 创建目录文件
三.文件权限修改
这里有两个修改方法:
- 文字设定法
- 数字设定法
3.1文字设定法
chmod 修改权限的命令
- u:user 属主的访问权限(拥有者)
- g:group 属组的访问权限(和拥有者同小组的人)
- o:other 其他人的访问权限
- a:all 所有人
- +:添加权限
- -:去掉权限
- =:表示直接赋值权限
注意:如果想同时给属主属组其他人修改,用逗号隔开即可。
3.2具体举例
例:当前文件权限如下
1.此时我如果想给main2这个可执行文件进行权限修改,去除掉属主的执行权限。
命令如下: chmod u-x main2
结果如下:
2.给属主减一个r权限,对属组减去一个w权限,对其他人添加一个w权限。
命令如下:chmod u-r,g-w,o+w main2
结果如下:
3.让属主,属组 ,其他人权限都没有。
命令如下:chmod a = main2
结果如下:
4.最后,我想让main2恢复到开始的权限(rwxrwxr-x)。
命令如下:chmod u=rwx, g=rwx, o=rx main2
结果如下:
3.2数字设定法
- r:read 值4(100)
- w:write 值2 (010)
- x:execute 值1 (001)
格式:chmod XXX filename (0<=x<=7)
(0<=x<=7)的缘由:
- 0 :没有权限(000)
- 1:–x(001)
- 2:-w- (010)
- 3:-wx(011)
- 4:r–(100)
- 5:r-x(101)
- 6:rw-(110)
- 7:rwx(111)
括号后面的数字均为二进制表示方式。