二、Linux文件类型,权限及基本操作
(一) 文件类型
Linux上一切皆文件。将文件分为了5种类型:文件类型是文件的一种属性,不能通过文件的扩展名来区分文件类型。其扩展名的作用是给用户看的:.c 为C文件 .cpp为c++文件;
我们需要通过ls -l 查看文件的具体信息,最前面的标识符可以查看文件类型。每种文件都有标识符。
- 普通文件:- 只要不属于下面4个就属于普通文件
- 目录文件:d 文件夹
- 管道文件:p 进程间通信会用到
- 连接文件:l 类似于快捷方式
- 设备文件:(字符设备文件c,块设备文件b,套接字s)
(二) 文件属性:
通过ls -l 查看文件的具体属性,我们对信息进行解释,如下图:
(三)修改文件属性
只能通过root修改,所以需要先切换为管理员,文件属性中有的可以改,有的不可以,我们将可以改的属性写出来:
- 改变文件所有者:chown newusr 文件名
- 改变文件所属组:chgrp newgroup 文件名
- 修改权限:chmod
- 文字修改:通过所有者u,所属组g,其他用户 o,所有用户 a来指定修改对象,通过+,-,=改变权限。例如:
Chmod u+w main.c//给main.c的所有者添加上写权限
Chmod g-r main.c //给main.c的所属组取消读权限
Chmod o=r main.c //给main.c的其他用户权限设置为只读的
Chmod u+r,g-w main.c 给main.c的所有者添加读权限,所属组删除写权限。 - 数字修改:r:4,w:2,x:1,-:0所以权限可以组成整形值0~7
Chmod nnn 文件名//第一个n代表所有者的权限,第二个为所属组,第三个为其他的
Chmod 546 main.c ,表示将main.c所有者权限改为r-x,所属组改为r–,其他改为rw-
举例: 修改文件hello.c的权限,将所有者改为rwx,所属组改为rw-,其他人改为r–
修改前:
修改后:
(四)文件基本操作命令
我们在这只讨论对于普通文件和目录文件的操作。
操作 | 普通文件 | 目录文件 |
---|---|---|
创建 | touch 文件名(加扩展名) | mkdir 文件名 |
删除 | rm 文件名 | rmdir 文件名 只能删除空目录 ;rm -r 文件名 删除非空目录(先进入文件,递归删除内容,最后删除空目录) |
拷贝 | cp 源文件 目的路径//拷贝到路径下文件名不变;cp 路径/文件 文件名 //将路径下的文件拷贝到当前路径并重命名。 | cp -r (代表递归把文件夹种的文件拷贝过去) |
剪切 | mv 源文件 目的路径 | mv 源目录 目的路径(本质只是改了存储位置,所以不用递归进行) |
重命名 | mv 源文件(路径+文件名) 源文件路径+newname | mv 源文件(路径+文件名) 源文件路径+newname |
示例:在这我把认为难的演示一下
- cp操作演示:
把main.c拷贝到文件夹dir中: - 重命名演示:把dir中的main.c 重命名为hello.c、
加油哦!????。