二、Linux文件类型,权限及基本操作

(一) 文件类型

Linux上一切皆文件。将文件分为了5种类型:文件类型是文件的一种属性,不能通过文件的扩展名来区分文件类型。其扩展名的作用是给用户看的:.c 为C文件 .cpp为c++文件;
我们需要通过ls -l 查看文件的具体信息,最前面的标识符可以查看文件类型。每种文件都有标识符。

  1. 普通文件:- 只要不属于下面4个就属于普通文件
  2. 目录文件:d 文件夹
  3. 管道文件:p 进程间通信会用到
  4. 连接文件:l 类似于快捷方式
  5. 设备文件:(字符设备文件c,块设备文件b,套接字s)
    二、Linux文件类型,权限及基本操作

(二) 文件属性:

通过ls -l 查看文件的具体属性,我们对信息进行解释,如下图:
二、Linux文件类型,权限及基本操作

(三)修改文件属性

只能通过root修改,所以需要先切换为管理员,文件属性中有的可以改,有的不可以,我们将可以改的属性写出来:

  1. 改变文件所有者:chown newusr 文件名
  2. 改变文件所属组:chgrp newgroup 文件名
  3. 修改权限:chmod
  4. 文字修改:通过所有者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的所有者添加读权限,所属组删除写权限。
  5. 数字修改: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–
    修改前:
    二、Linux文件类型,权限及基本操作
    修改后:
    二、Linux文件类型,权限及基本操作

(四)文件基本操作命令

我们在这只讨论对于普通文件和目录文件的操作。

操作 普通文件 目录文件
创建 touch 文件名(加扩展名) mkdir 文件名
删除 rm 文件名 rmdir 文件名 只能删除空目录 ;rm -r 文件名 删除非空目录(先进入文件,递归删除内容,最后删除空目录)
拷贝 cp 源文件 目的路径//拷贝到路径下文件名不变;cp 路径/文件 文件名 //将路径下的文件拷贝到当前路径并重命名。 cp -r (代表递归把文件夹种的文件拷贝过去)
剪切 mv 源文件 目的路径 mv 源目录 目的路径(本质只是改了存储位置,所以不用递归进行)
重命名 mv 源文件(路径+文件名) 源文件路径+newname mv 源文件(路径+文件名) 源文件路径+newname

示例:在这我把认为难的演示一下

  1. cp操作演示:
    二、Linux文件类型,权限及基本操作
    把main.c拷贝到文件夹dir中:
    二、Linux文件类型,权限及基本操作
  2. 重命名演示:把dir中的main.c 重命名为hello.c、
    二、Linux文件类型,权限及基本操作
    加油哦!????。