阿里云Linux学习笔记5

在这里插入图片描述
我在阿里云学习Linux,下面是我的笔记:

umask权限:用来设置默认创建文件的权限
umask权限+文件default权限=666
(Linux默认新建文件最大权限是666,不是777,缺少x权限,但是可以人为改成777)(如果umask值是123,那么新建文件默认值就是543,但实际新建文件默认值为644)
umask原理:
umask值转换成二进制时,其中的0表示不关心对应文件default权限(110110110),其中是1则表示对应default权限为0。
110 110 110 default
001 010 011 umask
110 100 100 结果(644)
所以,更准确的算法是:新建文件权限为666-umask,如果里面出现奇数位,则把奇数位加一即可

umask权限+文件夹default权限=777
umask num 修改umask值为num(临时)(umask值可以在用户家目录的.bashrc文件中设置,写入umask num 保存即可)(全局设置写在:
/etc/bashrc)(也可以用类似这种方式设置:umask u=rw g=r o=
umask -S 显示新建文件夹的默认权限

特殊权限:
SUID,SGID,Sticky
SUID:占用x权限位置,显示为s,打破原本访问权限规则,如果一个可执行文件有SUID权限,当一个用户去执行这个文件时,该用户的身份将临时变为那个文件的所有者的身份,如passwd命令的文件(SUID权限只作用于二进制可执行文件)
chmod u+s file,给文件加上SUID权限,数字法加s权限要单独在前面加4,如:chmod 4755 file 加上SUID权限
chmod 755 file 去掉SUID权限

SGID:类似SUID,不过是继承所属组(作用于二进制可执行文件)(当SGID 作用于目录时,之后在这个目录新建的文件的所属组将自动变为目录的所属组)
chmod g+s file 设置SGID权限
chmod 2755 file 设置SGID权限
chmod 6755 file 同时设置SUID和SGID

Sticky:设置了这个权限,即是文件信息目录/data开放了权限,user用户也不能删除此目录中其他user的文件(作用于文件夹)
chmod o+t file 设置Sticky权限
chmod 1755 file 设置Sticky权限

可以对root账号进行限制的方式:
以下方式需要用lsattr file 的方式才能显示
chattr +i file 限制这个文件不能被删除、追加、更改(包含这个文件的目录也不能被删除)
chattr +a 只能追加内容

ACL:单独给某个用户或组设置权限(常用于临时加权限)
setfacl -m 设置文件的acl权限
u:user:right file 针对用户对于某个文件设置(自定义用户)
g:group:right file 针对组对于某个文件设置(自定义组)
setfacl -x 删除文件的acl权限
u:user file 针对用户
g:group file 针对组
setfacl -b file 清空文件的acl权限
getfacl file 查看某个文件的acl权限设置
设置了acl权限,对应文件,用ll查看会出现+
acl权限执行顺序:所有者,自定义用户,自定义组,其他人
如果对于一个文件,有两个自定义组,而某个用户同时属于这两个组,那么他同时拥有这两个组的权限

mask:加了acl权限的文件,所属组的显示权限不再是group,而会显示mask权限。mask权限可理解为限高

setfacl -m mask::right file 修改file文件的acl的mask最大权限,如果mask只有r,就算有user对于这个文件的acl权限是rwx,也只有r权限起作用

抽取文本的工具:
文件内容:less和cat
文件截取:head和tail
按列抽取:cut
按关键字抽取:grep

文件查看:
cat
-n file 查看标上行号的内容
-b file 查看标上行号的内容(去掉空行)
-s file 压缩相邻的空行
-E 能显示文件的换行符
-A 除了换行符还能看到tab键

tac file 反向显示cat显示的内容
rev file 把每一行内容反向显示
more file 分页查看文件 (文件到底页就会退出)
less file 分页查看文件 (文件到底页不会退出,且支持搜索)
head file 只显示文件前几行(默认前10行)
-(n )num 设定显示前num行
-c num 设定取前num个字节
tail file 只显示文件的后几行(默认后十行)
常用于观察文件日志
-f -n num 查看文件最后num行而且不退出,可以跟踪文件变化(但是如果文件被删除,tail不会提示已删除,当创建了同名文件,tail也不能再继续跟踪)(跟踪文件描述符descriptor)

tailf file 类似tail -f,但是这个命令只有在文件增长时访问

-F -n num 和-f相似,但是如果文件被删除,tail会提示文件找不到了,当重新创建了同名文件,会提示再次出现,并且继续跟踪(跟踪文件名name)

less,more,head,tail通常配合管道使用
cat /dev/urandom |tr -dc 'a-zA-Z0-9_' |head -c12 在随机字符文件urandom里面,取前12个字符(只包含大小写字母数字和下划线),作为口令生成器

cut -d分隔符x -fn1,n2,n3-n4 file

以x分隔符为标志,取file文件的第n1和n2列,取n3到n4列
df | cut -cn1-n2 查看磁盘使用情况中第n1个字符到第n2个字符的内容
df | tr -s " " %|cut -d% -fn1 同样用于完成上面一个命令的任务,但是不用数字符数了

paste f1 f2 横向合并f1和f2的内容
-d分隔符x 以x分隔符显示
-s 转置显示

wc file 统计文件单词(word count)
返回:行数 元素个数 字节 file
-l 只统计行数
-w 只统计单词
-c 只统计字节
-L 显示文件最长行长度

sort file 把文件内容排序显示(默认以字符顺序)
sort -t分隔符x -knum file 把file文件以x为分隔符,以分出来的第num列排序
-n 以数字顺序排序
-r 倒序排序
-f 忽略大小写
-u 去掉重复内容(unique)
-R 随机排序(seq num |sort -R)

uniq 从输入中删除相邻的重复行
-c file 统计相邻重复出现行的次数
-d 仅显示相邻重复的行
-u 不显示相邻重复的行

取两个文件的交集:

cat f1 f2 |sort|uniq -d

diff f1 f2 比较两个文件不同之处
-u 更详细的显示
patch 可以对文件进行恢复

文本三剑客:grep、sed、awk

grep:文本过滤

grep [options] pattern [file...]

pattern如果不用正则表达式,用字符串,那么命令就会在文件中找出包含此pattern字符串的行
--color 用其他颜色显示匹配的pattern
-v 是显示不匹配的行
-i 忽略大小写
-n 显示匹配的行号
-c 统计匹配的行数
-q 静默模式(无论是否找到都不会显示)(配合echo $?使用,找到显示为0,没找到为1)
-Anum 把包含pattern的第一行以及后续num行显示出来
-Bnum 前num行
-Cnum 前后num行
-w 显示pattern是一个完整单词的行
-f file 把文件内容作为pattern
取交集的另一种方法:grep -f f1 f2

基本正则表达式:BRE
拓展正则表达式:ERE

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值