今天我给大家带来的是chmod chown umask命令的使用和解释,还有一些正则表达的介绍。(靠刚才写的博客浏览器死机了没给保存上怎么回事啊不是一会自动保存了吗,气死了)
@H_403_4@
chmod@H_403_4@
o Other,除了文件或目录拥有者或所属组之外,其他用户的权限;@H_403_4@
a All,即全部的用户,包含拥有者,所属组以及其他用户;@H_403_4@
r 读取权限,八进制数字表示为“4”;@H_403_4@
w 写入权限,八进制数字表示为“2”;@H_403_4@
x 执行权限,八进制数字表示为“1”; - 不具任何权限,数字代号为“0”;@H_403_4@
@H_403_4@
语法;@H_403_4@
chmod [OPTION]... MODE[,MODE]... FILE...@H_403_4@
chmod [OPTION]... OCTAL-MODE FILE...@H_403_4@
chmod [OPTION]... --reference=RFILE FILE..@H_403_4@
例子:@H_403_4@
我把文件ssh_config的权限修改成 rwxrw-rw-
@H_403_4@
@H_403_4@
chown命令改变某个文件或目录的所有者和所属的组
@H_403_4@
语法:@H_403_4@
@H_403_4@
chown [OPTION]... [OWNER][:[GROUP]] FILE...@H_403_4@
chown [OPTION]... --reference=RFILE FILE...@H_403_4@
-R: recursive 递归@H_403_4@
例子:@H_403_4@
把文件ssh_config 换成bb属组和aa所有者@H_403_4@
@H_403_4@
umask@H_403_4@
@H_403_4@
@H_403_4@
umask:遮罩码@H_403_4@
目录:777-umask @H_403_4@
PS:如果某一类用户的权限减得的结果有执行权限,此时会自动让其权限位加1;@H_403_4@
语法:@H_403_4@
umask UMASK@H_403_4@
设定:仅对当前shell进程有效;(不多解释)@H_403_4@
@H_403_4@
分两类:@H_403_4@
基本正则表达式:BRE@H_403_4@
扩展正则表达式:ERE@H_403_4@
@H_403_4@
基本正则我降介绍:@H_403_4@
字符匹配:@H_403_4@
”.“ : 匹配任意单个字符;@H_403_4@
” [] “ :匹配指定范围内的任意单个字符;@H_403_4@
[^]: 匹配指定范围内的任意单个字符;@H_403_4@
[:Alnum:] 字母数字(0-9,a-z,A-Z)@H_403_4@
[:Alpha:] 字母(a-z,A-Z)@H_403_4@
[:Blank:] 空格和制表符(' '|\t)@H_403_4@
[:Cntrl:] 控制字符,不可打印@H_403_4@
[:Digit:] 数字(0-9)@H_403_4@
[:Graph:] 可打印且可视字母(例如空格' '是可打印的但不是可视字母,而 `a' 两者都是。)@H_403_4@
[:Lower:] 小写字母@H_403_4@
[:Print:] 可打印字母(非控制字符)@H_403_4@
[:Punct:] 标符号(字母、数字、控制、空白符以外的字母),如:!@#$%}{<>,./?[]等等。@H_403_4@
[:Space:] 空白符@H_403_4@
[:Upper:] 大写字母@H_403_4@
[:XDigit:] 十六进制数字(0-9,a-f,A-F)@H_403_4@
*: 任意次;@H_403_4@
\?:0或1次@H_403_4@
\+:1或多次;@H_403_4@
\{m\}:精确限制为m次;@H_403_4@
\{m,n\}: 至少m次,至多n次,[m,n]@H_403_4@
\{0,n\}:至多n次;@H_403_4@
\{m,\}:至少m次;@H_403_4@
.*: 匹配任意长度的任意字符;
@H_403_4@
位置锚定的有:@H_403_4@
^: 行首锚定;用于模式的最左侧;@H_403_4@
$: 行尾锚定;用于模式的最右侧;@H_403_4@
\<,\b: 词首锚定;用于表示单词的模式的左侧;@H_403_4@
\>,\b:词尾锚定;用于表示单词的模式的右侧;@H_403_4@
^$: 空白行;@H_403_4@
分组表示:
@H_403_4@
分组的小括号中的模式匹配到的内容,会在执行过程中被正则表达式引擎记录下来,并保存内置的变量中;这些变量分别是\1,\2,...
@H_403_4@
\1: 从左侧起,第一个左括号,以及与之配对的右括号中间的模式所匹配到的内容;@H_403_4@
\2:@H_403_4@
...@H_403_4@
最后后向引用他们:使用变量引用前面的分组括号中的模式所匹配到的字符;
@H_403_4@
grep家庭有三个命令:@H_403_4@
grep:基本正则表达式@H_403_4@
-E: 扩展正则表达式@H_403_4@
egrep:扩展正则表达式@H_403_4@
模式:由正则表达式的元字符及文本字符所编写的过滤条件@H_403_4@
语法:@H_403_4@
grep [OPTIONS] PATTERN [FILE...]:@H_403_4@
选项介绍:@H_403_4@
--color=auto:对匹配到的串做高亮显示;@H_403_4@
-i: 忽略字符大小写;@H_403_4@
-q: 静默模式;@H_403_4@
-E:使用扩展的正则表达式;@H_403_4@
下面是一些例子:@H_403_4@
1、显示/etc/passwd文件中以bash结尾的行@H_403_4@
grep 'bash$' /etc/passwd@H_403_4@
@H_403_4@
2、显示/etc/passwd文件中的两位数或三位数@H_403_4@
grep -o --color '[0-9]\{2,3\}' /etc/passwd@H_403_4@
@H_403_4@
3、显示`netstat -tan`命令结果中以‘LISTEN’后跟0个、1个或者多个空白字符结尾的行@H_403_4@
netstat -tan | grep -E 'LISTEN[[:space:]]*$'@H_403_4@
@H_403_4@
4、添加用户bash、testbash、basher以及nologin用户(nologin用户的shell为/sbin/nologin);而后找出/etc/passwd文件中用户名与其shell名相同的行@H_403_4@
grep -E '(^[[:alnum:]]+\>).*\1$' /etc/passwd@H_403_4@
@H_403_4@
5、显示当前系统上root、centos或者user1用户的默认shell和UID (请事先创建这些用户,若不存在)@H_403_4@
egrep '^root|^centos|^user1' /etc/passwd|cut -d: -f1,3,7@H_403_4@
@H_403_4@
6、找出/etc/rc.d/init.d/functions文件中某单词(单词中间可以存在下划线)后面跟着一组小括号的行@H_403_4@
cat /etc/rc.d/init.d/functions | egrep '\<[[:alpha:]_]+\(\)'@H_403_4@
@H_403_4@
7、使用echo输出一个路径,而后egrep找出其路径基名;进一步的使用egrep取出其目录名@H_403_4@
echo /etc/init.d/zabbix-agent | egrep -o '[^/]+/?*$' //文件@H_403_4@
@H_403_4@
8、找出ifconfig命令执行结果中1-255之间的数字@H_403_4@
ifconfig |egrep --color=auto "\<[1-9]\>|\<[1-9][0-9]\>|\<[12][0-9][0-9]\>"
@H_403_4@
@H_403_4@ 原文链接:https://www.f2er.com/regex/360009.html