1:文件权限
用户对文件的访问有三种:r(读),w(写),x.对于文件和目录有点区别。
文件:
r:使用文本查看工具可以查看其文件内容。
w:使用文本编辑工具可以编辑其文件内容。
x:可向内核请求将此文件运行为进城执行。
目录:
r:可以使用ls命令列出文件下子目录和文件的列表。
w:可以在此目录中创建和删除文件。
x:可使用‘ls -l‘命令列出目录及子目录的文件属性,可以使用cd切换工作目录为制定目录。
文件权限主要针对三类对象进行定义。
owner:属主 , group:属组, other :其他用户。
权限管理的三个命令
更改文件所属组: chgrp(change group) 组名 文件名
如文件test 属于 test组 更改为admin组,命令为: chgrp admin test.
-R :表示级联更改此目录下子文件和子目录的所属组。
文件属主管理:chown
如文件 test 属主为 test 改为属主为centos chown centos test.
-R:也是表示级联更改。
级联更改文件的所属主和所属组
chown -R 用户名:所属组 文件名。
更改文件的权属限 chmod :r=4,w=2,x=1
chmod [-R] xyz 文件权限。
第一种更改:
如更改级联更改文件的test 为属主为读写只执行权限,属组为读权限,其他为执行权限。 chmod -R u=wrx,g=wr,o=x test
第二种更改:可以使用+wrx,或者-wrx +:表示增加权限,-表示去掉拥有的权限。
chmod -R u-wr,g+x,o+wr test
第三种更改:通过数字权限进行7=wrx r=4,w=2,r=1 0代表没有任何权限。
chmod -R 701 test
默认一个目录的权限是755,一个文件的权限是644
文件的默认权限 取决于umask 值
umask:代表着目前用户在新建文件或者目录时候的权限的默认值。
输入umask 命令 当前的被减掉默认权限值。
默认情况下规则
1:创建文件时默认的最高权限为666 即是u=wr,g=wr,o=wr 。少了一个执行权限,是因为安全考虑,文件初创不能被执行。
2:创建目录时,是因为要进入到该目录所以目录是有执行权限的,所以目录的最高权限为777。
定义umask 值为002
由于定义了umask 002值。由因为创建文件的最高权限为666 ,所以默认的初始权限为:
u,属主 wr-0=wr代表有读写权限,g属组 wr-0 =wr读写权限,其他的用户和组的权限为 rw-w=r只有读权限,这是创建文件。
创建目录时,因为创建目录的最该权限是777,所以属主:wrx-0=wrx拥有wrx,属组wrx-0=wrx拥有wrx,o=rwx-x=rw拥有rx权限。
如果umask 的值为003 那么对创建文件来说属主 rw,属组rw 其他用户 rw-w=r 取值。
如果umask 的值为005 那么对与创建文件来书 属主 rw,属组 rw,其他用户 rw-r=w。由于默认没有执行权限,所以必须要把 执行权限去掉。比如003 最后一个3 的理论权限为 wx ,由于没有执行权限所以实际权限为w,把w减掉那么为 r,所以最终的其他用户和组的取的权限为 r权限。
2:文本三剑客之一grep的使用
linux 文本处理三剑客。
grep:文本过滤工具。
sed:文本编辑器。
awk:文本报告生成器.
grep :global search REgular expression and Print out the line 基于全局的正则表示式的匹配到行的打印工具。
模式:由正则表达式的元字符以及文本字符所编写的过滤条件。
元字符:字符不表示其字面的意义,而用于表示统配或者控制功能。
正则分两类:
基本正则表达式:BRE
扩展正则表达式:ERE
grep [option] PATTERN file..
--color:对匹配到的串做高亮显示;
-v:显示模式匹配不到的行。
-i:忽略大小写。
-o:仅显示能够被匹配到的串本行;
-q:静默模式。
grep 家有三命令:
grep:基本正则表达式
-E :支持扩展表达式
-F:不支持正则表达式。
egrep:扩展表达式
fgrep:不支持正则表达式。
基本正则表达式的元字符:
字符匹配:
.:匹配任意单个字符。
[]:匹配制定范围内的单个字符,如[0-9] 表示0-9内的任意个字符,[A_Z]表大写A-Z内的任意单个字符,[a-z]:表达任意单个字符的小写字母。
[^]:制定范围内的非单个字符。
常用的特殊符号:
[:lower:]:代表小写字符即[a-z]
[:upper:]:代表大写字符[A-Z]
[:space:]:代表空白键。
次数匹配,用于指定其前面字符的出现的次数的匹配
*:只出现前面字符重复任意次。
\?:0次或者1次。\代表转义。
\+:1次或者多次。
\{m\}:代表精确m次。
\{n,m\}:代表[n,m]区间次。
\{0,n\}:至多n次。
\{m,\}:至少m次。
.*:匹配任意长度的任意字符。
位置锚定:
^:行首锚定。
$:行末锚定。
\<,\b:词首锚定用于表示单词的模式的左侧;
\>,\b:词尾锚定用于表示单词模式的右侧。
^$:空白行。
分组\(\)
分组小括号中匹配到的内容,会在执行过程中被正则表达式引擎记录下来,并保存到变量中。;这些变量分别是\1,\2......
后向引用:使用变量引用前面分组括号中的模式所匹配到的字符。
扩张正则表达式
或者表达 : | a|b
C|cat:表示C或者cat ,不是Cat或者cat,如要写(C|c)at
+:重复一个或者一个以上的前一个正则RE
?:零个或者一个前一个字符。
():找出组字符
()+:多个重复组的判定。
1、显示/etc/passwd文件中以bash结尾的行
grep ‘bash$‘ /etc/passwd
2、显示/etc/passwd文件中的两位数或三位数
grep ‘[0-9]\{2,3\}‘ /etc/passwd
3、显示`netstat -tan`命令结果中以‘LISTEN’后跟0个、1个或者多个空白字符结尾的行
?
4、添加用户bash、testbash、basher以及nologin用户(nologin用户的shell为/sbin/nologin);而后找出/etc/passwd文件中用户名与其shell名相同的行
?
5、显示当前系统上root、centos或者user1用户的默认shell和UID (请事先创建这些用户,若不存在)
?
6、找出/etc/rc.d/init.d/functions文件中某单词(单词中间可以存在下划线)后面跟着一组小括号的行
?
7、使用echo输出一个路径,而后egrep找出其路径基名;进一步的使用egrep取出其目录名
?
8、找出ifconfig命令执行结果中1-255之间的数字
?
linux 文件管理和文本三剑客之一grep,以及正则的使用
原文地址:http://shunzi5160.blog.51cto.com/9120209/1691002