Linux零基础学习 2 ----用户组权限、文本处理工具和正则表达式(小白必看)

第三章 用户组和权限

1.用户组

用户和组的关系

  • 用户的主要组(primary group):用户必须属于一个且只有一个主组,默认创建用户时会自动创建和用户名同名的组,做为用户的主要组,由于此组中只有一个用户,又称为私有组
  • 用户的附加组(supplementary group): 一个用户可以属于零个或多个辅助组,附属组

用户和组的配置文件

/etc/passwd:用户及其属性信息(名称、UID、主组ID等) /etc/shadow:用户密码及其相关属性
/etc/group:组及其属性信息
/etc/gshadow:组密码及其相关属性

用户和组的命令

用户命令:

useradd #用户创建
usermode #用户属性修改
userdel #用户删除 -r 强制 -f 删除邮箱及家目录

组命令:

groupadd #创建组
groupmode #修改组权限
groupdel #删除组

2.文件权限管理

设置文件所有者 chown

[09:57:08 root@yp data]#ll
total 16
-rw-r--r--. 1 root root   18 Aug  3 20:30 a.txt
[09:57:22 root@yp data]#chown yp a.txt 
[09:57:39 root@yp data]#ll
total 16
-rw-r--r--. 1 yp   root   18 Aug  3 20:30 a.txt

修改文件权限 chmod

[root@centos8 data]#chmod -R a+X dir
[root@centos8 data]#ll -d dir
drwxr-xr-x 3 root root 48 Dec 18 11:15 dir

设定文件特殊属性

不能删除,改名,更改

chattr +i

之能追加内容,不能删除、改名

chattr +a

显示特定属性

lsattr

[root@centos8 data]#chattr +i dir 
[root@centos8 data]#lsattr  dir 
------------------ dir/fstab 
------------------ dir/f1.txt

3.访问控制列表 ACL

  • 置ACL权限:setfacl
    查看设置ACL:getfacl

范例:

使yp账户没有权限对yp.txt做任何操作

[15:44:49 yp@yp data]$setfacl -m u:yp:- yp.txt
[15:44:49 yp@yp data]$cat yp.txt 
cat: yp.txt: Permission denied

查询yp.txt文件acl权限

[15:46:03 root@yp data]#getfacl yp.txt 
# file: yp.txt
# owner: root
# group: root
user::rw-
user:yp:---
group::r--
mask::r--
other::r--

取消yp账户对yp.txt文件的acl限制

[15:46:29 root@yp data]#setfacl -x yp yp.txt 
[15:53:06 root@yp data]#getfacl yp.txt 
# file: yp.txt
# owner: root
# group: root
user::rw-
group::r--
mask::r--
other::r--

使yp账户可以对yp.txt进行读、写

[15:53:16 root@yp data]#setfacl -m u:yp:rw yp.txt 
[15:54:56 root@yp data]#getfacl yp.txt 
# file: yp.txt
# owner: root
# group: root
user::rw-
user:yp:rw-
group::r--
mask::rw-
other::r--

将dir文件夹所有文件权限修改:

setfacl -Rm u:yp:rw dir/

  • 备份和还原ACL

备份ACL:

getfacl -R /tmp/dir > acl.txt

清除ACL权限:

setfacl -Rb /tmp/dir

还原ACL权限:

setfacl -R --set-file=acl.txt
或setfacl --restore acl.txt

查看ACL权限:

getfacl -R /emp/dir

第四章 文本处理工具

文本编辑工具vim

1.三种常见模式和转换

命令模式
插入模式
扩展命令模式

  • 命令模式–>插入模式:

i insert, 在光标所在处输入
I 在当前光标所在行的行首输入
a append, 在光标所在处后面输入
A 在当前光标所在行的行尾输入
o 在当前光标所在行的下方打开一个新行
O 在当前光标所在行的上方打开一个新行

  • 插入模式 — ESC-----> 命令模式
  • 命令模式 ---- : ----> 扩展命令模式
  • 扩展命令模式 ----ESC,enter----> 命令模式

2.命令模式常用命令

ZZ 保存
ZQ 保存退出
H 页首跳转
M 页中跳转
L 跳转到页尾
G 最后一行
gg 第一行
#G 第#行
x 删除字符
#x 删除#个字符
~ 转换大小写
r 替换
dd 剪切行
D 剪切光标处直到行尾
yy、#yy 复制行
P、p 粘贴到上下方
C删除当前光标到行尾,并进入插入模式
cc删除当前并进入插入模式
/ 查找
u、#u 撤销最近更改
U撤销此行所有更改
. 重复操作
#. 重复#次

3.扩展命令模式

w 写(存)磁盘文件
wq 写入并退出
x 写入并退出
X 加密
q 退出
q! 不存盘退出,即使更改都将丢失
r filename 读文件内容到当前文件中
w filename 将当前文件内容写入另一个文件
!command 执行命令
r!command 读入命令的输出

  • 地址定界
    地址定界格式:

# 具体第#行,例如2表示第2行
#,#
从左侧#表示起始行,到右侧#表示结尾行
#,+#
从左侧#表示的起始行,加上右侧#表示的行数,范例:2,+3 表示2到5行
.
当前行
$
最后一行
.,$ -1
当前行到倒数第二行
%
全文, 相当于1,$

  • 查找并替换
    格式:

s/查找的内容/替换内容/修饰符

修饰符:

i 忽略大小写
g 全局替换,默认情况下,每一行只替换第一次出现
gc 全局替换,每次替换前询问

  • 其他设置

复制保留格式:set paste
自动缩进: set ai
显示TAB和换行符:set list
设置光标所在的标识线:set cul
加密:set key

4.可视化模式

v:按字符选取
V:按行选取
ctrl+v:按列选取

常见文本处理工具

查看文本文件内容

cat:

-E 显示行结束符$
-A 显示所有控制符
-n 显示所有编号
-b 排除空行编号
-s 压缩空行

查看非文本文件内容

  • hexdump
  • od
  • xxd

分页查看内容

more:

-d 显示翻页及退出
/ 搜索
n/N 跳到下个或上个匹配

less分页器:

cat /etc/init.d | less

显示文本前后行内容

  • head

-c# 指定取前#行
-n# 指定取前#行

  • tail

-f 按文件号追踪
-F 按文件名追踪
-c# 指定后#行
-n# 指定后#行

按列抽取文本

cut:

-d 抽取标准 默认抽取空格
-f# 只抽取第#列
-c 抽取字符

合并文件

paste:

-d 分隔符,默认TAB
-s 显示为一行

文本统计

wc:

-i 计行
-w 单词数
-c 字节数
-m字符总数
-L 显示文件中最长的长度

整理文本

sort:

-r 反向整理
-R 随机排序
-n 按数字大小顺序整理
-h 按计量单位顺序整理
-f 忽略大小写
-u 去重

去重

uniq:

-c 显示每行重复次数
-d 显示重复行
-u 显示不重复行

第五章 正则表达式

基本正则表达式

参数:

* 匹配任意次
.* 任意长度
? 匹配0次或1次
+ 匹配一次以上
{n} 匹配n次
{m,n} 最少匹配m次,最多n次
{,n} 最多n次
{n,} 最少n次

位置锚定:

^ 行首
[^#] 不以#开头
$ 行尾
^$ 空行
< 词首
> 词尾

分组:

( )

扩展正则表达式

字符匹配元字符:

. 任意单个字符
[yuan] 指定范围的字符
[^yuan] yuan之外的字符
[:alnum:] 字母和数字
[:alpha:] 任何英文大小写
[:lower:] 小写字母
[:upper:] 大写字母
[:blank:] 空白字符
[:space:] 垂直的空白字符
[:cntrl:] 不可打印的控制字符
[:digit:] 十进制
[:xdigit:] 十六进制数
[:graph:] 可打印的非空白字符
[:print:] 可打印字符
[:punct:] 标点符号

匹配次数:

  • 任意字符
    ? 0或1次
  • 至少一次
    {n} n次
    {m,n}最少m次,最多n次

位置锚定:

^ 行首
$ 行尾
<,\b 行首
>,\b 行尾

第六章 文本处理工工具-grep

  • 格式:
    grep [options] PATTERN [FILE…]

  • 常见选项:

-color=auto 文本颜色(默认)
-m # 匹配#次
-v 显示不被pattern匹配到的行
-i 忽略大小写
-n 显示匹配到的行号
-c 统计匹配的行数
-o 只显示匹配到的字符
-q 静默模式
-A # after 后#行
-B # before 前#行
-C # context 前后各#行
-e 多点编辑
-w 匹配整个单词
-E 正则表达式
-F 不支持正则表达式
-f file 根据模式文件处理
-r 递归,不处理软连接
-R 递归,处理软连接

  • 范例:
    取文件相同行
[02:37:15 root@localhost ~]#grep -f /data/1.txt /data/2.txt

取磁盘利用率最高的值

[02:41:15 root@localhost ~]#df |grep '^/dev/sd'|tr -s ' ' % |cut -d'%' -f5|sort -nr|head -n1
15

猜你喜欢

转载自blog.csdn.net/u014578909/article/details/107779388
今日推荐