第五-十一题答案

sed将文件test中第50行中的helloworld改为nihao
sed -i '50s/helloworld/nihao/' test

删除文件每行的第一个字符
1.使用vim编辑器的可视化模式选中每一行的第一个字符按下“d”删除字符
2.使用sed命令
[root@rocky8 ~]#sed 's/^.//' passwd~ > passwd2
[root@rocky8 ~]#cat passwd2
oot:x:0:0:root:/root:/bin/bash
in:x:1:1:bin:/bin:/sbin/nologin
aemon:x:2:2:daemon:/sbin:/sbin/nologin
dm:x:3:4:adm:/var/adm:/sbin/nologin
p:x:4:7:lp:/var/spool/lpd:/sbin/nologin
ync:x:5:0:sync:/sbin:/bin/sync
hutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
.....

删除文件每行的第二个字符
1.使用vim命令可视化模式
2.使用sed命令
[root@rocky8 ~]#sed 's/^\(.\).\{1\}/\1/' passwd~ > passwd2
[root@rocky8 ~]#cat passwd2
rot:x:0:0:root:/root:/bin/bash
bn:x:1:1:bin:/bin:/sbin/nologin
demon:x:2:2:daemon:/sbin:/sbin/nologin
am:x:3:4:adm:/var/adm:/sbin/nologin
....

删除文件每行的最后一个字符
[root@rocky8 ~]#sed 's/.$/ /' passwd~ > passwd3
[root@rocky8 ~]#cat passwd3
root:x:0:0:root:/root:/bin/bas 
bin:x:1:1:bin:/bin:/sbin/nologi 
daemon:x:2:2:daemon:/sbin:/sbin/nologi 
.....

删除文件每行的倒数第二个字符
[root@rocky8 ~]#sed 's/.\(.\)$/\1/' passwd~ > passwd4
[root@rocky8 ~]#cat passwd4
root:x:0:0:root:/root:/bin/bah
bin:x:1:1:bin:/bin:/sbin/nologn
daemon:x:2:2:daemon:/sbin:/sbin/nologn
adm:x:3:4:adm:/var/adm:/sbin/nologn
......
发表在 Linux基础, 第二周作业 | 留下评论

文本处理工具总结

一、查看类工具

1.1 不分页查看文本

1.1.1 cat

[root@rocky8 ~]#cat --help
Usage: cat [OPTION]... [FILE]...
常用参数
-E:显示行结束符$
-A:显示所有控制符
-n:对显示出的每一行进行编号
-b:非空行编号
-s:压缩连续的空行成一行

示例:
[root@rocky8 ~]#cat -A test.txt
a^Ib   c$
d  $
e^If$
g k$

1.1.2 nl

相当于cat -b filname 带行号显示文本

[root@rocky8 ~]#nl test.txt
     1	a	b   c
     2	d  
     3	e	f
     4	g k
[root@rocky8 ~]#cat -b test.txt
     1	a	b   c
     2	d  
     3	e	f
     4	g k

1.1.3 tac

逆向显示文本内容

[root@rocky8 ~]#cat test2.txt
1
2
3
4
5
6
7
8
[root@rocky8 ~]#tac test2.txt
8
7
6
5
4
3
2
1

1.1.4 rev

逆向显示同一行的内容

[root@rocky8 ~]#cat test3.txt 
1 2 3 4 5
a b c
[root@rocky8 ~]#tac test3.txt
a b c
1 2 3 4 5
[root@rocky8 ~]#rev test3.txt
5 4 3 2 1
c b a

1.2 分页查看文本工具

1.2.1 more

[root@rocky8 ~]#more --help
Usage:
 more [options] <file>...
-d: 显示翻页及退出提示
[root@rocky8 ~]#more /var/log/messages
Aug  5 11:39:02 rocky8_210 rsyslogd[973]: [origin software="rsyslogd" swVersion="8.2102.0-7.el8" x-pid="973" 
x-info="https://www.rsyslog.com"] rsyslogd was HUPed
...

1.2.2 less

less 也可以实现分页查看文件或STDIN输出,less 命令是man命令使用的分页器

[root@rocky8 ~]#tree -d /etc/|less
/etc/
├── alternatives
├── audit
│   ├── plugins.d
│   └── rules.d
├── authselect
│   └── custom

1.3 显示文本前后显示的内容

1.3.1 head

可以显示文件或标准输入的前面行

head [OPTION]... [FILE]...
-c 指定取第几行的内容
-n 指定获取前#行,#如果为负数,表示从文件头取到倒数第#前
[root@rocky8 ~]#cat test2.txt
1
2
3
4
5
6
7
8
[root@rocky8 ~]#head -2 test2.txt 
1
2
[root@rocky8 ~]#head -n -2 test2.txt 
1
2
3
4
5
6

1.3.2 tail

和head相反,为查看文本倒数第几行的内容

tail  [OPTION]... [FILE]...
-c # 指定获取后#字节
-n # 指定获取后#行,如果#是负数,表示从第#行开始到文件结束
-# 同上
-f 跟踪显示文件fd新追加的内容,常用日志监控,相当于 --follow=descriptor,当文件删除再新
建同名文件,将无法继续跟踪文件
-F 跟踪文件名,相当于--follow=name --retry,当文件删除再新建同名文件,将可以继续跟踪文件
示例:
[root@rocky8 ~]#tail test2.txt
1
2
3
4
5
6
7
8
[root@rocky8 ~]#tail -3 test2.txt
6
7
8
实时查看日志文件
[root@rocky8 ~]#tail -f /var/log/messages
Aug 11 10:32:00 rocky8 dnf[1491]: AppStream                                        10 MB/s |  11 MB     00:01

二、处理修改类

2.1 cut

cut 命令可以提取文本文件或STDIN数据的指定列

[root@rocky8 ~]#cut --help
Usage: cut OPTION... [FILE]...
-d DELIMITER: 指明分隔符,默认tab
-f FILEDS:
#: 第#个字段,例如:3
#,#[,#]:离散的多个字段,例如:1,3,6
#-#:连续的多个字段, 例如:1-6
混合使用:1-3,7
-c 按字符切割
--output-delimiter=STRING指定输出分隔符

示例:以冒号为分割符显示第一行,三到四行,第七行的内容
[root@rocky8 ~]#cut -d: -f1,3-4,7 /etc/passwd
root:0:0:/bin/bash
bin:1:1:/sbin/nologin
daemon:2:2:/sbin/nologin
adm:3:4:/sbin/nologin
......

取出ip命令中的IP地址
[root@rocky8 ~]#ip a s eth0 | head -3 | tail -n1 |cut -d" " -f6|cut -d"/" -f1
10.0.0.210

提取分区利用率
[root@rocky8 ~]#df|tr -s ' ' |cut -d ' ' -f5 |tr -d %
Use
0
0
2
0
7
19
0

2.2 paste

按照行合并文件

-d
-s
#分隔符:指定分隔符,默认用TAB
#所有行合成一行显示
[root@rocky8 ~]#cat test2.txt 
1
2
3
4
5
6
7
8
[root@rocky8 ~]#cat test3.txt 
1 2 3 4 5
a b c
[root@rocky8 ~]#paste test2.txt test3.txt 
1	1 2 3 4 5
2	a b c
3	
4	
5	
6	
7	
8	
指定分割符合并文件
[root@rocky8 ~]#paste -d":" test2.txt test3.txt 
1:1 2 3 4 5
2:a b c
3:
4:
5:
6:
7:
8:
多行合并一行
[root@rocky8 ~]#seq 10 > test4.txt
[root@rocky8 ~]#cat test4.txt 
1
2
3
4
5
6
7
8
9
10
[root@rocky8 ~]#paste -s test4.txt
1	2	3	4	5	6	7	8	9	10

三、分析类

3.1 wc

用于统计统计文件的行总数、单词总数、字节总数和字符总数

常用选项
-l 只计数行数
-w 只计数单词总数
-c 只计数字节总数
-m 只计数字符总数
-L 显示文件中最长行的长度

3.2 uniq

命令从输入中删除前后相接的重复的行

常用选项
-c: 显示每行重复出现的次数
-d: 仅显示重复过的行
-u: 仅显示不曾重复的行

四、文件查找工具

4.1 find

实时查找工具,通过遍历指定路径完成文件查找

[root@rocky8 ~]#find --help
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

4.1.1 常用查找条件

1.-name
根据文件名查找
2.-type
根据文件类型查找
f: 普通文件
d: 目录文件
l: 符号链接文件
s:套接字文件
b: 块设备文件
c: 字符设备文件
p: 管道文件
3.-user、-group、-uid、-gid
根据文件的属性查找
4.条件组合查找
与:-a ,默认多个条件是与关系,所以可以省略-a
或:-o
非:-not !

4.1.2 处理动作

使用find查找文件之后还可继续执行打印、复制、删除等操作使用参数如下:

-print:默认的处理动作,显示至屏幕
-ls:类似于对查找到的文件执行"ls -dils"命令格式输出
-fls file:查找到的所有文件的长格式信息保存至指定文件中,相当于 -ls > file
-delete:删除查找到的文件,慎用!
-ok COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令,对于每个文件执行命令之前,都会
交互式要求用户确认
-exec COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令
{}: 用于引用查找到的文件名称自身

4.2 locate

locate是另外一款文件查找工具,和find不同的是它不是实时查找,但是用法较为简单。在使用前先使用“updatedb”更新数据库

[root@rocky8 ~]#locate -h
Usage: locate [OPTION]... [PATTERN]...
Search for entries in a mlocate database.
-i 不区分大小写的搜索
-n N 只列举前N个匹配项目
-r 使用基本正则表达式

示例

[root@rocky8 ~]#updatedb
[root@rocky8 ~]#locate fstab
/etc/fstab
/usr/lib/dracut/modules.d/95fstab-sys
/usr/lib/dracut/modules.d/95fstab-sys/module-setup.sh
/usr/lib/dracut/modules.d/95fstab-sys/mount-sys.sh
......

五、文本处理三剑客

5.1 grep

grep命令用于抓取出文本的指定字符,可配合正则表达式一起使用。

基本用法

[root@rocky8 ~]#grep --help
Usage: grep [OPTION]... PATTERN [FILE]...
Search for PATTERN in each FILE.
Example: grep -i 'hello world' menu.h main.c
常用参数
-m # 匹配#次后停止
-v 显示不被pattern匹配到的行,即取反
-i 忽略字符大小写
-n 显示匹配的行号
-c 统计匹配的行数
-o 仅显示匹配到的字符串
-q 静默模式,不输出任何信息
-A # after, 后#行
-B # before, 前#行
-C # context, 前后各#行
-e 实现多个选项间的逻辑or关系,如:grep –e ‘cat ' -e ‘dog' file
-w 匹配整个单词
-E 使用ERE,相当于egrep
-F 不支持正则表达式,相当于fgrep
-P 支持Perl格式的正则表达式
-f file 根据模式文件处理
-r 递归目录,但不处理软链接
-R 递归目录,但处理软链接

基本正则表达式:

.:匹配任意单个字符(除了换行符)。
^:匹配行的开始。
$:匹配行的结束。
[]:匹配括号内的任意一个字符。
[^]:匹配不在括号内的任意一个字符。
():将表达式分组。
|:逻辑或操作符,匹配两个表达式中的任意一个。
*:匹配前面的字符零次或多次。
?:匹配前面的字符零次或一次。

扩展正则表达式

\(...\):与基本正则表达式中的 () 类似,用于分组,但在 ERE 中需要使用反斜杠 \ 进行转义。
\|:逻辑或操作符,与基本正则表达式相同,但在 ERE 中需要转义。
+:匹配前面的字符一次或多次。
?:与基本正则表达式相同,匹配前面的字符零次或一次,但在 ERE 中需要转义。
{n}:匹配确定的 n 次。
{n,}:至少匹配 n 次。
{n,m}:最少匹配 n 次,最多匹配 m 次。
注:扩展正则需要和-E选项配合使用

示例:提取分区占用率最高的数值

[root@rocky8 ~]#df
Filesystem          1K-blocks    Used Available Use% Mounted on
devtmpfs               459928       0    459928   0% /dev
tmpfs                  479940       0    479940   0% /dev/shm
tmpfs                  479940    6688    473252   2% /run
tmpfs                  479940       0    479940   0% /sys/fs/cgroup
/dev/mapper/rl-root  38745616 2364960  36380656   7% /
/dev/nvme0n1p1        1038336  187332    851004  19% /boot
tmpfs                   95988       0     95988   0% /run/user/0
[root@rocky8 ~]#df | grep '^/dev' |tr -s ' ' %|cut -d% -f5|sort -n|tail -1
19

示例:哪个IP和当前主机连接数最多的前三位

[root@web1 ~]#ss -nt | grep "^ESTAB" |tr -s ' ' : |cut -d: -f6|sort |uniq -c|sort -nr|head -n3
      3 120.230.139.127
      1 100.125.158.120

范例: 连接状态的统计

[root@web1 ~]#ss -nta |grep -v '^State' | cut -d " " -f1 | sort |uniq -c
      3 ESTAB
     10 LISTEN
      6 TIME-WAIT

范例: 过滤掉文件的注释(包括#号的行)和空行

[root@rocky8 ~]#grep -Ev '^$|#' /etc/fstab
/dev/mapper/rl-root     /                       xfs     defaults        0 0
UUID=115aab42-785e-4ed7-ad05-430e3a030ba0 /boot                   xfs     defaults        0 0
/dev/mapper/rl-swap     none                    swap    defaults        0 0

5.2 sed

sed即 Stream EDitor,和 vi 不同,sed是行编辑器,可用于对文本内容进行过滤、取行、替换、删除。

命令格式

sed [options] 'command' file(s)
sed [options] -f scriptfile file(s)

常用选项

-n 不打印存储空间内容
-i 修改文件内容  -i.bak 备份文件并在原处编辑
-r -E 使用正则表达式
-r选项是与Perl兼容的正则表达式

常用命令

1.替换操作;s命令
sed -i 's/找谁/替换成谁/g' filename

2.删除操作;d命令
删除空白行;sed '/^$/d' file
删除第二行;sed '2d' file
删除范围行,如第二行到最后一行;sed '2,$d' file

3.后向引用
表达形式:s###g
前面两个井号之间的数据通过正则配合()对数据进行分组
后面两个井号之间通过\数字去调用前面分组的内容。
总结来说就是后面调用前面的 内容称之为反向引用或者后向引用。

示例:输出1-8,通过sed把这串数字分组成1<234567>8
[root@rocky8 ~]#echo 12345678 | sed -r  's#(1)(.*)(8)#\1<\2>\3#g'
1<234567>8

4.在sed中使用变量

5.3 awk

awk可用于对文本数据进行过滤、取行、取列、统计计算、判断、循环等操作。

语法形式

awk [options] 'script' var=value file(s)
awk [options] -f scriptfile var=value file(s)

awk的使用模式

1./正则表达式/ 使用通配符的扩展集
示例:
[root@rocky8 ~]#ss -antp|grep -i ESTAB|awk '$4~/:22$/'
ESTAB  0      52        10.0.0.210:22       10.0.0.1:14043 users:(("sshd",pid=1189,fd=5),("sshd",pid=944,fd=5))

2.关系表达式 使用运算符进行操作可以是字符串或者数字的比较测试
算术运算符:

x+y, x-y, x*y, x/y, x^y, x%y-x:转换为负数+x:将字符串转换为数值 

赋值操作符:

=, +=, -=, *=, /=, %=, ^=,++, -- 

比较运算符:

==, !=, >, >=, <, <= 

示例:
[root@rocky8 ~]#awk 'BEGIN{i=0;print i++,i}'
0 1

范例:取奇,偶数行
[root@rocky8 ~]#seq 10 | awk 'NR%2==0'
2
4
6
8
10

3.模式匹配表达式
用运算符~ (匹配)或 !~(不匹配)
~ 左边是否和右边匹配,包含关系
!~ 是否不匹配

4.BEGIN END PATTERN语句块

awk高级用法

1.加入变量使用
在awk中使用变量需要加上-v参数与shell环境中的变量区分开
示例:
[root@rocky8 ~]#name=sync
[root@rocky8 ~]#awk -F: -vn=$name '$1==n{print $NF}' /etc/passwd
/bin/sync

2.加入判断
if语句
示例:当使用率大于指定值则提示磁盘空间不足
[root@rocky8 ~]#df -h | awk '$NF=="/"{ if($5>=5) print "磁盘空间不足"}'
磁盘空间不足
[root@rocky8 ~]#df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             450M     0  450M   0% /dev
tmpfs                469M     0  469M   0% /dev/shm
tmpfs                469M  6.6M  463M   2% /run
tmpfs                469M     0  469M   0% /sys/fs/cgroup
/dev/mapper/rl-root   37G  2.3G   35G   7% /
/dev/nvme0n1p1      1014M  183M  832M  19% /boot
tmpfs                 94M     0   94M   0% /run/user/0

发表在 Linux基础, 第二周作业 | 留下评论

vim 文本编辑器

一、vim 编辑器简介

vim 文本编辑器有三种常用模式:

  1. 普通模式在此模式可以实现对文本内容的查看和剪切复制粘贴,也是打开文件时的默认模式。
  2. 插入模式此模式下用户可以对文本做编辑操作。
  3. 命令行模式对文件做保存和退出操作。

二、vim 简单使用

2.1 打开文件

使用vim打开文件只需在vim后面接上文件名即可,该文件可以是不存在的文件。命令格式如下:
vim [参数] filename
常用参数有
+n n为数字,表示打开文件后光标跳转到文件的第几行。
-b 以二进制方式打开文件
-m file 只读打开文件
+/PATTERN 让光标处于第一个被PATTERN匹配到的行行首

示例:打开etc下的fatab文件
[root@rocky8 ~]#vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri Jan 12 12:00:10 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rl-root     /                       xfs     defaults        0 0
UUID=115aab42-785e-4ed7-ad05-430e3a030ba0 /boot                   xfs     defaults        0 0
/dev/mapper/rl-swap     none                    swap    defaults        0 0

2.2 切换模式

示例:vim 打开文件切换模式编辑内容并保存退出
[root@rocky8 ~]#vim test.txt
#点“I”或者“i”进入插入模式
编辑文字:马哥出品,必属精品
#摁住“ESC”键返回普通模式,在普通模式下摁“:”进入命令模式输入“wq”回车保存并退出。
[root@rocky8 ~]#vim test.txt
马哥出品,必属精品                                                                                                          
:wq
使用文本查看指令cat验证
[root@rocky8 ~]#cat test.txt
马哥出品,必属精品

示例:普通模式下光标的移动、对文本做复制、粘贴、剪切
打开文本
[root@rocky8 ~]#vim test.txt
马哥出品,必属精品        
#此时可以使用字母键“h、j、k、l”分别对应“左、下、右、上”,或者使用方向键也可实现相同的效果。

#对文本做剪切复制粘贴使用yy表示选中复制的行,可以使用“nyy”n为数字,表示当前行往下几行做多行复制,再点击“p”进行粘贴
#“2yy+p”复制两行文本
马哥出品,必属精品
马哥出品,必属精品
马哥出品,必属精品
发表在 Linux基础, 第二周作业 | 留下评论

Linux 权限属性总结

一、Linux中的文件权限和属性

1.1 权限简介

Linux中的文件权限分为两种:

  1. 普通权限
  2. 特殊权限

普通权限中细分出三种权限

  1. 读权限,Readable 简称r ,数字表示为4,允许读取文件内容或列出目录中的文件。
  2. 写权限,Writable 简称w,数字表示为2,允许修改文件内容或在目录中创建、删除文件。
  3. 执行权限,eXcutable 简称x,数字表示为1,允许执行文件或进入目录。

特殊权限也分为三种:

  1. 粘滞位(Sticky Bit):如果目录设置了粘滞位,只针对目录有效,只有文件的所有者和root用户可以删除或移动该目录下的文件。数字表示为1.
  2. 集合用户ID(Set-UID):当一个文件设置了Set-UID位时,该文件被执行时将以文件所有者的权限运行,而不是执行者自己的权限。文件所有者的x被s取代时拥有SUID权限,数字表示为4
  3. 集合组ID(Set-GID):当一个文件设置了Set-GID位时,新创建的文件将继承该文件的组ID,而不是执行者的组ID。当所属组的权限中的x被s取代时拥有SGID权限。数字表示为2。

1.2 权限管理命令

查看文件属性

方法1:
[root@db-server ~]#ls -l /etc/passwd
-rw-r--r-- 1 root root 1168 Jun 15 16:21 /etc/passwd
以空格为分割符第一列的字母和横线相结合起来表示了该文件的权限
第一个“-”表示的是类型若是目录则为“d”文件则为“-”横杠往后每三个字母和横杆为一组分别表示了所有者、所属组、其他者的权限在以上则解释为:
rw-:所有者拥有读写权限
r--:所属组拥有读权限
r--:其他人拥有读权限
1:表示该文件有一个硬链接
第一个root表示所有者为root
第二个root表示所属组为root组
....
其他选项解释如图一所示
方法2:
[root@db-server ~]#stat /etc/passwd
  File: /etc/passwd
  Size: 1168      	Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d	Inode: 918365      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
........
其中的“Access”字段表示了该文件的属性


图一

修改权限

修改权限的命令:chmod 常用的方式:
1.直接使用“+”、“-”、“=”加字母修改权限如:
chmod u+w,g+r,o=rx filename
2.使用数字的方式赋予权限:
chmod 777 filename 或 chmod 600 filename

chmod的常用参数为“-R”表示递归修改目录和文件的权限如
chmod -R 666 /dir/dir2/filename
表示把目录dir、dir2和文件filename的文件的权限都修改成666

1.3 umask 默认权限

在创建文件或者目录时默认赋予的权限由umask的参数间接决定,在创建文件或者目录之后系统使用最高权限“777”减去umask的值得出该文件或目录的默认权限umask默认值是“0022”

[root@db-server ~]#umask
0022

1.3.1 定义umask

umask的设定分三种情况:

1.全局设定 在/etc/profile/etc/bashrc 文件中设置的 umask 值会影响所有用户的默认 umask 值。

2.针对特定用户特定设置 在用户的家目录下的 .bashrc.bash_profile.profile 文件中设置的 umask 值只影响该特定用户的默认 umask

3.临时设定 使用在当前窗口使用umask命令设置即可

1.2 属性

Linux中的文件和目录都拥有三种属性即,所属用户、所属组、和其他。这三个属性用于对权限控制。

1.2.1 用户的管理命令

1.useradd 创建用户
常用参数:
-u 创建用户时指定UID
-g 创建用户时指定用户组的组id
-d 指定家目录
-M 不创建家目录

2.userdel 删除用户
常用参数:
-f 强制删除
-r 删除用户时连带家目录一起删除

2.id 查看用户ID、属组等信息
id username 如:
[root@db-server ~]#id root
uid=0(root) gid=0(root) groups=0(root)

3.su 切换用户
su username 或 su - username
不带“-”切换为不读取目标用户的配置文件,为不完全切换。

1.2.2 组管理命令

1. groupadd 创建组
常用参数有:
-g 指定组id
-r 创建系统组

2.groupdel 删除组
-f 强制删除组

3.groupmod 修改组
-n 指定新组名
-g 指定新的Gid

4.groupmems 管理组成员
-l 显示成员列表
-d 从列表中删除成员
-p 清楚所有成员
-a 增加组成员

5.group 查看用户和组关系
[root@db-server ~]#groups root
root : root

1.2.3 chown 命令

chown可以同时修改所有者和属组属性

[root@db-server ~]#chown --help
Usage: chown [OPTION]... [OWNER][:[GROUP]] FILE...
  or:  chown [OPTION]... --reference=RFILE FILE...
常用参数:
-R 递归修改
--reference=RFILE 复制指定文件的属性到目标文件

1.3 ACL

ACL访问控制列表,除去以上提及的普通权限和特殊权限之外,还可以使用acl命令来实现对权限的定制化设置。

getfacl 查看acl权限
[root@db-server ~]#getfacl -a hello.txt
# file: hello.txt
# owner: root
# group: root
user::rw-
group::r--
other::r--

getfacl 设置acl权限
-m 更新权限
[root@db-server ~]#setfacl -m u:liang:0 hello.txt 
[root@db-server ~]#setfacl -m g:root:x hello.txt 
[root@db-server ~]#getfacl hello.txt
# file: hello.txt
# owner: root
# group: root
user::rw-
user:liang:---
group::r--
group:root:--x
mask::r-x
other::r--

发表在 Linux基础, 第二周作业 | 留下评论