单词 reverse n. 背面;相反;倒退;失败 adj. 反面的;颠倒的;反身的 vt. 颠倒;倒转
reset n. 重新设定;重新组合;重排版 vt. 重置;重新设定;重新组合 vi. 重置;清零
tail n. 尾巴;踪迹;辫子;燕尾服 adj. 从后面而来的;尾部的 vt. 尾随;装上尾巴
retry n. 重操作 vt. [计] 重试;重审
field n. 领域
delimiter n. [计] 定界符
file 查看类型 要求读权限,因为是查看文件头部去判断
cmd1 | cmd2 cmd1 |& cmd2 cmd1 2>&1 | cmd2 文件的权限 read write excute 读写执行 file read=查看读取文件,前提是可读文件例如二进制文件等等 write=修改文件内容 excute=运行程序 文本就没意义了
目录
read=查看里面文件列表只能简单看到目录列表
write=能不能删除目录里面的文件
excute= cd ll 没有的话,不能进去,不能详细属性,不能读取里面文件,即是由read
目录要么全给rx要么全不给
excute基本的权限
注意:文件能不能删除由目录决定
.*会连父目录也删掉
chmod change mode 方法1:mode 法 chmod who option permission who : u g o option : + - 原来基础上加减 =直接权限 permission : r w x X s eg: chmod u+x,g-w ,o= file chmod +x file 统一加上x 注意:普通用户不能改文件的所用着 普通用户想改文件的所属组的条件:是文件的所有者且在所要改的组内 删除文件要查看他的父目录中,他有没有写权限,因为删除等于将目录里面的内容改变inode 对于读写,root不收影响 对于执行,root受影响 读权限对于二进制没有影响,有无都可以 用户去获取文件的权限,前面的权限有意义就不在看后面了,按照所有者,所属组,其他人 匹配不在向后查看
chmod --reference=file1 file2 file3 模仿file1 权限设置file2 file3
chmod -R a+x dir1 所有都加x 包括文件
chmod -R +X dir1 只向目录添加x权限,如果原有执行权限的文件也会加
注意使用chmod -R 777 dir/*容易写成chmod -R 777 dir /* 恢复不了
一定要认真的
方法2
数字法 file
rwx rw- r-- 6rw 4r 0 1x
111 110 100 dir
7 6 4 7rwx 5r_x 0
r=4 w=2 x=1;
chmod 764 file 即可
加起来为奇数,由执行权限
lsblk 查看块设备 在vfat文件系统不支持权限的更改 rm -rf * 不会删除. ..
chown 设置文件所有者 chown owner file chown owner:group file -R递归 chown --reference=file1 file2 file3 chgrp 设置文件的属组信息 chgrp Group file chgrp --reference=file1 file2 file3 -R
新建文件 umask mask:掩码 功能 = 取消对应的权限 root的umask是022 非特权用户umask是002 umask -p 显示为umask 0022 -S 显示rwx形式 eg: umask -p >> .bashrc 全局设置 /etc/bashrc 用户设置 ~/.bashrc [root@CentOS7 ~]#cat .bashrc
.bashrc
User specific aliases and functions
alias rm='rm -i' alias cp='cp -i' alias mv='mv -i'
Source global definitions
if [ -f /etc/bashrc ]; then . /etc/bashrc fi umask 0022
对于目录 umask + default = 777 对于文件 default权限: 666-umask 再对结果观察,如果有奇数+1 偶数不变 umask number 设置权限
linux文件系统上的特殊权限 SUID 继承文件所有者的权限 如果原来有x权限 + SUID权限= s 替换所有者的x位 值为4 如果没有x权限+SUID权限=S SGID 继承文件所属组的权限 适合应有在二进制可执行的程序 作用到文件夹时(目录) 在此文件夹下新建的文件继承目录的所属组*** STICKY 作用于目录,此目录的文件只能被所用着删除*** t T other de x位
设定文件特定属性 chattr +i 不能删除,改名,更改 -i +a 只能追加内容-a lsattr 显示特定属性
访问控制表 ACL:access contrl list 实现灵活的权限管理 处理文件的所有者所属组和其他人,可以对更多的用户设置 centOS7 默认创建的xfs和ext4文件系统具有ACL 之前版本,默认手工创建的ext4文件系统无ACL,需要手动添加
顺序:所有者-acl用户-acl组-other
存在mask 对除了所有者和other之外的权限限高,需要和用户的权限进行逻辑运算后,才能
变成有效权限Effective permission
如果属于多个组,权限会累加
getfacl file/dir 查看文件acl表
setfacl -m u:username:per file/dir 加上特定用户权限
setfacl -m g:grpname:per file/dir
setfacl -M file.acl file/dir 利用文件添加
setfacl -x u:username file/dir 删除acl中的特定用户权限
setfacl -X file.acl file/dir 利用文件删除。用于批操作
setfacl -m d:u:username:per directory 设置文件夹默认acl 市里面的文件新创建自带
setfacl -b file 清除所有ACL权限
setfacl -k dir 删除默认ACL权限
getfacl file1 | setfacl --set-file=- file2 复制file1的acl权限给file2
ACL上的group权限是mask值(自定义用户,组,拥有组的最大权限)
ACL默认目录里的文件不会继承
备份控制列表 cp命令需要加上-p才能连带acl也复制过去 tar不会保留acl getfacl -R /tmp/dir1 > acl.text getfacl --restore acl.text
文本处理
文本查看
cat
cat -E 显示结束符
-n 每一行编号显示
-A 显示所有字符
-d 非空行编号
-s 连续空行压缩为一行
tac 倒叙
rev 行直接翻转
文本分页查看 more -d 显示翻页即退出提示 less /文本搜索 n/N 跳到下一个或上一个匹配 是man的分页器
显示文本前或后内容 head -c数字 指定获取前数字字节 -n数字 获取前数字行 -数字 行数 tail -c数字 指定获取后数字字节 -n数字 获取后数字行 -数字 行数 -f 跟踪显示文件fd新追加的内容,常用日志监控 等价于--follow=descriptor -F 跟踪文件名,相当于--follow=name --retry
按列抽取文本cut和合并文件paste cut 过滤 一列为单位 显示文件或stdin数据的指定列 cut -d: -f1 /etc/passwd 4-5 -d“分隔符” -f数字 列数 cut -c2-5 /etc/passwd -c字节数
paste 合并两个文件同行号的列到一行
-d分隔符 默认用TAB
-s 所有列形成一行显示 =合并旋转90度
paste f1 f2
文本分析工具 wc word count 经常和管道符使用 计算单词总数 行总数 字节总数和字符总数 可以对文件或STDIN中的数据运行 wc text 4 4 4545 行数 字数 字节数 常用选项 -l 只计算行数 lines -w 只计算单词总数 word -c 只计算字节总数 -m 只计算字符总数 -L 显示文件中最长的长度
文本排序sort 将整理过的文本显示在STDOUT 不改变原始文件 sort option file -r 执行反方向整理 -R 随机排序 -n 执行按数字大小整理 -f 忽略字符串中的字符大小写 -u 删除输出中的重复行
uniq 从输入中删除前后相接的重复的行
-c 显示每行重复出现的次数
-d 仅显示重复过的行
-u 仅显示不曾重复的行
连续且完全相同方为重复
常和sort命令一起配合使用 sort file1 | uniq -c
cat /var/log/httpd/access_log | cut -d" " -f1 | sort|uniq -c|sort -nr|head -n2
比较文件 diff f1 f2 比较两个文件之间的区别 5c5 < fjiej 注明第五行有区别
复制对文件区别 patch diff命令输出被保存在一种叫做“补丁”的文件中 使用-u选项来输出统一的unified diff格式问价,最适用于补丁文件 patch 复制在其他文件中进行的改变(谨慎使用) 适用 -b 选项来自动备份改变了的文件 diff -u f1 f2 >f.p 删除f1后,利用f.p+f2找回f1 并覆盖到f2中 patch -b f2 f.p
文本处理
ifconfig ens33 | head -n2 |tail -1 | tr -st ' ' ':' | cut -d: -f3
getfacl setfacl chmod chown chgrp umask reset 复位,终端初始化
=