1.准备阶段
在介绍Linux的基本指令之前,我先先向大家介绍一下我的Linux平台,首先我是在阿里云买了个服务器,然后使用Xshell来远程登录Linux,之后有关Linux上的操作都是在这上面进行的。如果你也买了相关的服务器并且设置了相关示例的密码,还知道你的公网IP,那你可以按照我一下的操作来登录你的远程Linux。当然如果你使用的是虚拟机,那你可以跳过此部分去看下面的指令部分。
操作步骤:
1.首先打开Xshell,点击进入,会出现下面的情况
然后需要我们输入指令 ssh root@你的公网IP 如图:
按下回车会出现如下场景:
这时候我们只需要填写我们当时设置的实例密码即可,有时候会显示输入错误,一般再输入一次应该就可以了,如果你连接成功会显示下面信息:
以上就是一些简单的登录操作,接下来上干货,让我们去理解一些Linux的一些基本指令。
2.Linux的周边知识
(1).文件=文件属性+文件内容,对文件的操作包括对文件属性的操作和对文件内容的操作,这里文件的操作主要分为用指令控制文件和通过编程访问文件。
(2).在Linux中,你可能听过路径一词,那为什么要有路径?
首先路径是具有唯一性的(是由于任何一个文件都只有一个父目录),系统可以通过路径来标识一个特定的文件,所以只要我们知道了某个文件的路径,我们就可以找到这个文件并访问它,所以总的来说,路径可以能够帮助我们更快速,有效的找到我们的目标文件
(3).在任何目录下,都会默认存在两个隐藏目录 . 和 ..
同时 . 表示当前路径 ..表示上一级路径
那么为什么要有 . 和 ..呢?
.. :可以方便我们进行路径的回退,让我们不仅能进目录,也能出目录
. :方便我们找到当前目录下的一个文件也可以时可执行文件
(4)./:是Linux的路径分隔符
\:windows的路径分隔符
Linux中的一个目录中既可以有普通文件也可以有目录,同时Linux的整个文件目录结构是一颗多叉树。如图所示:
(5).当我们想要知道我们登录的用户名时,我们可以通过 whoami命令来查看当前所登陆的用户
(6)windows和Linux都是多用户操作系统,它们的桌面本质上都是文件,当你登陆windows时,系统会首先确认你是谁,然后根据用户名,找到该用户目录下的桌面文件夹,最后再将桌面文件夹显示成为图形化界面。
(7)Linux下指定的用户也有自己的家目录!
对于root账号:默认的家目录是/root--超级管理员
对于普通用户,默认家目录是/home/xxx,xxx新建的用户名
任何一个用户,首次登陆,所处的路径都是自己的家目录!!!
(8)指令的本质都是程序---程序,指令,可执行程序都是一回事
安装就是把可执行程序拷贝到系统路径下
卸载就是将可执行程序在系统路径下删除
(9) 当指令出现疯狂打印的情况时,ctrl+c终止异常的命令
(10)Linux中同一个目录下,不允许存在同名文件!!!
以上是Linux的一些周边知识,能够有效帮助我们理解指令相关的内容
3.Linux下的基本指令
3.1.ls指令
语法:ls [选项] [目录或者文件]
功能:对于目录,该命令可以列出该目录下的所有子目录与文件
常用选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。-d 将目录象文件一样显示,而不是显示其下的文件。 如: ls –d 指定目录-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件-k 以 k 字节的形式表示文件的大小。 ls –alk 指定文件-l 列出文件的详细信息。-n 用数字的 UID,GID 代替名称。 (介绍 UID , GID )-F 在每个文件名后附上一个字符以说明该文件的类型, “*” 表示可执行的普通文件; “/” 表示目录; “@” 表示符号链接; “|” 表示 FIFOs ; “=” 表示套接字 (sockets) 。(目录类型识别)-r 对目录反向排序。-t 以时间排序。-s 在 l 文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)-R 列出所有子目录下的文件。 ( 递归 )-1 一行只输出一个文件。
常用举例:
ls -a:列出当前目录的所有文件(包括隐藏文件)
ls-l:列出当前文件的详细信息
3.2.pwd命令
语法:pwd
功能:显示用户当前所在的目录
常用选项:无
3.3.cd命令
Linux中的一个目录中既可以有普通文件也可以有目录,同时Linux的整个文件目录结构是一颗多叉树。如图所示:
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下。
举例:
cd .. :返回上级目录
cd /home/bit/test.c (绝对路径):返回到指定的目录下
cd ../bit(相对路径):返回到指定的目录下
cd (~):进入到家目录
cd -:返回到最近访问的目录
3.4.touch命令
语法:touch[选项]...文件...
功能:touch命令可修改文件或者目录的日期时间,包括存取时间和更改时间或者创建一个不存在的文件
常用选项:
-a 或 --time=atime 或 --time=access 或 --time=use 只更改存取时间。-c 或 --no-create 不建立任何文档。-d 使用指定的日期时间,而非现在的时间。-f 此参数将忽略不予处理,仅负责解决 BSD 版本 touch 指令的兼容性问题。-m 或 --time=mtime 或 --time=modify 只更改变动时间。-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。-t 使用指定的日期时间,而非现在的时间。
3.5.mkdir指令(重要)
语法:mkdir[选项] dirname
功能:在当前目录下创建一个名为:dirname的目录
常用选项:-p 此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
举例:
mkdir -p test/test1
3.6.rmdir指令&&rm指令(重要):
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
语法:rmdir[-p][dirname]
使用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:
-p 当子目录被删除后如果父目录也变成空目录的话,就连同父目录一起删除
rm可以同时删除文件或者目录
语法:rm[-f -r -i -v][dirname/filename]
适用对象:所有使用者
功能:删除文件或者目录
常用选项:
-f 即文件的属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录文件及其所含的所有文件
3.7.man指令(重要):
Linux的命令有很多参数,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man
语法:man[选项] 命令
常用选项:
-k 根据关键字搜索联机帮助
-a 将所有的章节都显示出来,搜到就停止,按q就退出
3.8.cp指令(重要):
语法:cp[选项] 源文件或目录 目标文件或目录
功能:复制文件或目录
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。但是如果同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录,就会出现错误信息
常用选项:
-f --force强制复制文件或目录,不论目的文件或目录是否已经存在
-i --interactive 覆盖文件之前先询问用户
-r 递归处理,将指定目录下的文件于子目录一并处理。若源文件或目录的形态不属于目录或符号链接,则一律视为普通文件处理
3.9.mv指令(重要)
mv命令是move的缩写,可以用来移动文件或者将文件改名,是Linux系统下常用的命令,经常用来备份文件或者目录
语法:mv [选项] 源文件或目录 目标文件或目录
功能:
1.当第二个参数类型是文件,mv命令完成文件的重命名,此时,源文件只能有一个(也可以是一个源目录名),它将所给的源文件或目录重命名为给定的目标文件名
2.当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令可以将各参数指定的源文件均移至目标目录中。
常用选项:
-f force 如果目标文件已经存在,就不会询问而是直接覆盖
-i 如果目标文件已经存在时,就会询问是否覆盖
3.10.cat
语法:cat [选项] [文件]
功能:查看目标文件的内容
常用选项:
-b 对非空输出行编号
-n 输出所有的行编号
-s 不输出多行空行
3.11.more指令
语法:more[选项][文件]
功能:more命令,功能类似cat
常用选项:
-n 输出所有的行编号
q 退出more
3.12.less命令
less工具也是对文件或者其他输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
less用法比more更具有弹性,在使用less时,就可以使用Page Up/Page Down的功能来往前往后翻看文件,更容易查看一个文件,而more只能向后翻阅,而不能向前翻看文件
语法:less [参数] 文件
功能:less与more类似,但是使用less可以随意浏览文件,而more仅能向前移动,而不能向后移动,而且less在查看之前不会加载整个文件。
选项:
-N:显示每一行的行号
?字符串:向上搜索字符串的功能
/字符串: 向下搜索字符串的功能
q:quit
3.13head指令
head与tail指令的意思与翻译是类似的,它使用来显示文件的开头或者结尾某个数字的文字区块,head用来显示文件的开头到标准输出中,而tail就是看文件的结尾
语法:head [参数] [文件]
功能:head用来显示文件的开头到标准输出中,默认head命令打印其对应文件的开头10行
选项:-n<行数> 显示从开头开始多少行
3.14tail指令
tail命令从指定点(文件末尾)开始将文件写到标准输出中,使用tail命令-f选项可以方便的查阅正在改变的日志文件,tail -ffilename会把filename里最末尾的内容显示在屏幕上,并且不但会刷新,使你看到最新的文件内容。
语法:tail[参数][文件]
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件
选项:
-f 循环读取
-n 从文件末尾开始向上显示多少行数
举例:(简单讲解一下重定向和管道)
我们先讲解一下echo
举例如下:
1.echo:直接换行
2.echo [内容]:换行后,将内容写到标准输出中
重定向:
echo apple apple > ttt.txt
>是重定向的意思,同时上述指令有两层含义:
1.创建文件或者清空文件
2.将原本显示到显示器的数据,显示到文件中
追加重定向:
输入重定向:
cat < ttt.txt
管道:|
打印从第90行到100行的内容
倒着打印从90行到100行的内容:
显示行数:
3.15时间相关的指令
date显示
date指定格式显示时间:date+%Y:%m:%d
date的用法:date[OPTION][FORMAT]
1.在显示方面,使用者可以设定预显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下:
%H:小时(00~23)
%M:分钟(00~59)
%S:秒(00~60)
%X:相当于%H%M%S
%Y:完整月份(0000~9999)
%m:月份(01~12)
%d:日(01~31)
%F:相当于%Y%m%d
2.在设定时间方面
date -s //设置当前时间,只有root权限才能设置,其他只能查看
date -s 2008 0523//设置成20080523,这样会把具体时间设置成00:00:00
date -s 01:01:01//设置具体时间,不会对日期进行更改
date -s "20080523" 01:01:01//这样可以设置全部时间
3.时间戳
时间-》时间戳:date +%s
显示的是从1970年1月1日到现在所经过的秒数
3.16cal指令
cal命令可以用来显示公历日历。
命令格式:cal [参数] [月份] [年份]
功能:用于查看日历等时间信息。
常用选项:
-3 显示系统前一个月,当前月,下一个月的月历
-j 显示当前年中的第几天
-y 显示当前年份的日历
-3:
-y显示当前年中的第几天:
-y显示当前年的第几天:
3.17find指令(重要)
Linux下find命令在目录结构中搜索文件,并执行指定的操作
语法:find pathname -options
功能:用于在文件树中查找文件,并作相应的处理
常用选项:
-name 按文件名查找文件
3.18grep指令
语法:grep[选项] ‘搜索的字符串’ 文件
功能:在文件中搜索字符串,并找到对应行并打印出来
常用选项:
-i:忽略大小写的不同,即视大小写为相同
-n:顺便输出行号
-v:反向选择,亦即显示出不包含搜索字符串内容的那一行
3.19.zip/unzip
语法:zip压缩文件或者目录
功能:将目录或文件压缩成zip格式
常用选项:
-r 递归处理,将指定目录下的所有文件和子目录一并处理
举例:
将dir目录压缩:
将压缩文件test.zip解压到tmp目录中:
3.20.tar指令
linux下的打包和压缩是两个概念
打包是把所有文件照原样合在一个tar文件里,压缩则需要另外两个程序gzip,bzip2,但tar可以调用它们,一次性完成打包和压缩的功能。
.tar.gz由tar程序打包,并且经过gzip程序压缩
.tar.bz2由tar程序打包,并经过bzip2程序压缩
.bz2和.gz的区别:
.bz2比.gz的压缩率更高
.gz比bz2花费更少的时间
tar文件与目录参数:
-c:创建一个压缩文件
-x:解开一个压缩文件
-z:是否需要用gzip压缩
-j:是否需要bzip2压缩
-v:压缩的过程中显示文件
-f:使用文档名,在f之后立即接文档名,不要再加参数
-C:解压到指定目录
3.21uname 指令
语法:uname[选项]
功能:uname用来获取电脑和操作系统的相关信息。
补充:uname可显示linux主机所用的操作系统的版本,硬件的名称等基本信息
常用选项:
-a或-all详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
3.22重要的几个热键[Tab],[Ctrl]-c,[Ctrl]-d
[Tab]按键具有[命令补全]和[档案补齐]的功能
[Ctrl]-c按键--让当前程序停掉
[Ctrl]-d按键--通常代表着:[键盘输入结束]的意思
3.23关机
语法:shutdown[选项]
常用选项:
-h:将系统的服务停掉后,立即关机
-r:在将系统的服务停掉之后就重新启动
-t sec:-t后面加秒数,即过几秒后关机的意思
4.Linux权限
周边知识:
1.大部分指令就是文件
2.Linux严格意义上就是一个操作系统,我们称之为核心(kernel),但是我们一般用户在执行某种功能的时候,不能直接使用kernel而是通过kernel的外壳程序,也就是所谓shell来与kernel沟通
3.外壳(shell)是什么?
外壳程序是介于用户和操作系统之间的软件,也叫做命令行解释器
其作用是:将使用者的命令翻译给核心处理,同时,将核心的处理结果翻译给使用者
外壳表现形式:主要包括图形化界面和命令行
4.为什么会存在外壳?
1.因为用户不善于和操作系统交互
2.shell外壳的存在可以对请求进行合法性检查,变向的保护了操作系统
5.shell外壳一般会创建子进程,让子进程继续执行,它只需要等待就可以,同时它可以一直做自己的工作,不受任何失败的影响
6.shell和bash与sh的区别?
shell是外壳程序的统称,相当于泛称的媒婆,而bash和sh是一个具体的外壳程序,相当于王婆和李婆等具体的人
4.1Linux权限的概念
1.什么是权限?
权限就是通过一定的条件,拦住一部分人,给另一部分人权利,来访问,某种资源,解决的是有无,或者是还是不是的问题。例如:vip,门禁之类的
2.权限的本质?
权限=人(角色)+事物的属性
3.Linux中的用户
Linux下有两种用户:超级用户(root),普通用户。
超级用户:可以在linux下做任何事情,不受权限的限制
普通用户:在linux下做有限的事情,受权限的限制
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
普通用户转换为超级用户两种方法:
1.su
例:
[hxx@iZf8z3j2ckkap6xzzskbqpZ ~]$ su
Password:(这里输入的是超级管理员的密码)
[root@iZf8z3j2ckkap6xzzskbqpZ hxx]# pwd
/home/hxx
最后是在上一个普通用户的家目录中
2.su -
[hxx@iZf8z3j2ckkap6xzzskbqpZ ~]$ su -
Password:
Last login: Tue Jan 16 18:47:48 CST 2024 on pts/0
[root@iZf8z3j2ckkap6xzzskbqpZ ~]# pwd
/root
最后是在root下
root直接转换为普通用户:su 用户名
但是如果我们不想变成root用户,而是就以root的身份执行一个工作的话,我们可以给指令提权
例如:
[hxx@iZf8z3j2ckkap6xzzskbqpZ ~]$ sudo touch roll(此处是在给指令提权)
[sudo] password for hxx:
1. 为什么sudo对指令进行提权的时候,输入的是我们自己的密码?
是因为我们系统之前配置过,允许这个用户直接sudo
一般情况下普通用户是无法进行sudo的(默认云服务器不行)
2.默认我们普通用户目前无法执行sudo,需要用vim解决
4.2Linux权限管理
4.2.1 文件访问者分类:
Linux中有三种人(角色)也就是文件的访问者
分别是:拥有者(u) 所属组(g) other (o)三种
Linux具有组的概念,主要是在多人协作的时候可以更好的进行权限管理
综上Linux中具体的角色是需要具体的人来扮演的
4.2.2文件类型和访问权限
文件类型:
-:普通文件;文本文件,可执行文件,库等都叫做普通文件
d:目录文件
b:块设备文件:磁盘
c: 字符设备文件
p:管道文件
l:链接文件
这里强调一下Linux系统是不以文件后缀作为区分文件的类型但不代表一些编译器例如:gcc,不需要,gcc要求文件后缀是.c如果文件后缀不是.c则无法进行编译
Linux不区分文件类型但是Linux上的工具可能区分,所以我们在Linux对于文件后缀的态度是:可以使用便于我们对文件理解的文件后缀
访问权限
文件的权限一般包括三种:r:读 w:写 x:可执行权限
例如:
drwxrwxr-x 2 hxx hxx 4096 Jan 19 13:42 dir
-rw-rw-r-- 1 hxx hxx 0 Jan 19 13:41 text.txt
上面两行前十个字符是关于文件的属性
第一个字符表示文件的类型,比如-表示普通文件,d表示目录文件
后九个字符三三为一组,分别对应:拥有者,所属组,other
读(r):read 对于文件而言,具有读取文件内容的权限
对于目录而言,具有浏览该目录信息的权限
写(w): write 对于文件而言,具有修改文件内容的权限
对于目录而言,具有删除,移动目录内文件的权限
可执行(x):execute对于文件而言,具有执行文件的权限
对于目录而言,具有进入目录的权限
- 表示不具有该项权限
4.2.3.文件权限值的表示方法
a)字符表示方法
Linux表示 | 说明 | Linux表示 | 说明 |
r - - | 只读 | - w - | 仅可写 |
- - x | 仅可执行 | r w - | 可读可写 |
- w x | 可写和可执行 | r - x | 可读可执行 |
r w x | 可读可写可执行 | - - - | 无权限 |
b)8进制数值表示方法
权限符号(读写执行) | 八进制 | 二进制 |
r - - | 4 | 1 0 0 |
- w - | 2 | 0 1 0 |
- - x | 1 | 0 0 1 |
r w - | 6 | 1 1 0 |
r - x | 5 | 1 0 1 |
- w x | 3 | 0 1 1 |
r w x | 7 | 1 1 1 |
- - - | 0 | 0 0 0 |
4.2.4.文件访问权限的相关设置方法
a)chmod
功能:设置文件的访问权限
格式:chmod [选项] 权限 文件名
常用选项:
-r 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以修改文件的权限
chmod命令权限的格式
1.用户表示符+/- /=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:表示拥有者
g:表示所属组
o:其他用户
a:所有用户
例子:
[hxx@iZf8z3j2ckkap6xzzskbqpZ ~]$ chmod u-rw,g-rw,o-r text.txt
[hxx@iZf8z3j2ckkap6xzzskbqpZ ~]$ ll
total 8
drwxrwxr-x 2 hxx hxx 4096 Jan 19 13:42 dir
drwxr-xr-x 2 root root 4096 Jan 16 18:57 lesson5
---------- 1 hxx hxx 0 Jan 19 13:41 text.txt
[hxx@iZf8z3j2ckkap6xzzskbqpZ ~]$ chmod u+rw,g+rw,o+r text.txt
[hxx@iZf8z3j2ckkap6xzzskbqpZ ~]$ ll
total 8
drwxrwxr-x 2 hxx hxx 4096 Jan 19 13:42 dir
drwxr-xr-x 2 root root 4096 Jan 16 18:57 lesson5
-rw-rw-r-- 1 hxx hxx 0 Jan 19 13:41 text.txt
2.三位8进制数字
例子
chmod 664 /home/haha.txt
chmod 640 /home/test.c
b)chown
功能:修改文件的拥有者
格式:chown[参数] 用户名 文件名
常用选项:
-r递归修改文件或目录的拥有者
例子:
chown user file1
chown -r user dir1
c)chgrp
功能:修改文件或目录的所属组
格式:chgrp[参数] 用户组名 文件名
常用选项:
-r递归修改文件或目录的所属组
综上我们还可以同时改变文见的拥有者和所属组:
chown name1:name2 filename
d)umask
功能:查看或修改文件掩码
新建文件默认权限=0666
新建目录默认权限=0777
实例:
umask //查看文件掩码
umask 755 //修改文件掩码
可以通过修改文件掩码,来设置文件或目录的默认权限属性
但是实际上你所创建文件和目录,看到的权限不是上面这个值。原因就是创建文件和目录的时候还要收到umask的影响,假设默认权限是mask,则实际创建出来的文件权限是:mask&~mask
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限,超级用户默认的权限掩码值为0022,普通用户默认是0002
file指令:
功能说明:辨识文件类型
语法:file [选项] 文件或目录
常用选项:
-c 详细显示指令执行过程,便于排错或分析程序执行的情形
-z 尝试去解读压缩文件的内容
4.3目录的权限
可执行权限:如果目录没有可执行权限,则无法cd到目录中
可读权限:如果目录没有可读权限,则无法用ls命令查看目录中文件的信息
可写权限:如果目录没有可写权限,则无法在目录中创建文件,也无法在目录中删除文件
换句话来讲,就是只要用户具有目录的写权限,用户就可以删除目录中的文件,而不论这个用户是否有这个文件的写权限,这看起来不是很科学,我创建的文件,凭什么会能被别人删掉
但是这是合理的,因为删除一个文件与目标文件无关,而是跟目标文件所在目录有关
例如:
[root@iZf8z3j2ckkap6xzzskbqpZ hxx]# chmod 0777 /home
[root@iZf8z3j2ckkap6xzzskbqpZ hxx]# su - hxx
Last login: Fri Apr 26 12:08:56 CST 2024 on pts/0
[hxx@iZf8z3j2ckkap6xzzskbqpZ ~]$ rm /home/root.c
rm: remove write-protected regular empty file ‘/home/root.c’? y
[hxx@iZf8z3j2ckkap6xzzskbqpZ ~]$ cd /home
[hxx@iZf8z3j2ckkap6xzzskbqpZ home]$ ls
hxx
所以为了解决这个既不科学的问题,Linux引入了粘滞位
4.4粘滞位
当一个目录被设置为粘滞位(用chmod+t),则该目录下的文件只能由
1.超级管理员删除
2.该文件的所有者删除
3.该目录的所有者删除
5.关于权限的总结
1.目录的可执行权限(x)表示你是否可以进入目录,是否可以在目录下执行命令,如果没有x权限,即使有r权限也无法进入目录中执行命令
2.如果目录具有x权限,但是没有r权限,则用户可以进入目录并执行命令,但是由于没有目录的读权限,所以在目录下,即使可以执行ls命令,但是仍然没有权限读出目录下文件的信息
3.删除一个文件与目标文件无关,只与目标文件所在目录有关
4.但是如果我们要在Linux下,由多个用户建立一个共享文件,来被大家共同访问,那怎么办???首先这个文件,不能在我们各自的家目录下创建,为什么呢??
是因为我们创建每个用户家目录时,默认的是只有拥有者具有rwx权限,其余什么都没有,所以如果在家目录下建立的话,其他用户还是无法访问
所以我们只能在系统的非用户目录下创建!!
5.两个用户可以在一个共享目录里(但是不能在用户的家目录里建立原因同上)建立一个共享文件,但是为了防止其他用户删除该共享文件,我们可以给目录增加一个粘滞位
6.权限的意义是为了保证普通用户文件的安全性
7.文件对于用户进行识别,只识别一次!
如果用户对应于拥有者,但不具有文件的rwx权限,即使该用户在该文件的所属组中但是由于文件只识别一次,所以该用户还是不能对该文件进行操作