linux 文件管理和文本三剑客之一grep,以及正则的使用

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之间的数字

?

时间: 2024-12-23 15:54:25

linux 文件管理和文本三剑客之一grep,以及正则的使用的相关文章

llinux文本三剑客之grep、egrep及相应的正则表达式和用法

Linux文本三剑客之grep族以及相应的正则表达式 Grep族是什么? Grep族是linux学习中搜索文本的重要工具,它基于使用正则表达式来快速简洁的搜索你想要查看的文本.是搜索文本的不二之选 什么时候及在哪里使用grep呢? 上面咱们说到了,grep是文本搜索工具,所以当我们要搜索文本,有搜索文本的需要时我们就可以是使用grep工具. 下面我们来谈谈如何使用grep族命令以及涉及到的正则表达式的内容 文本搜索工具:grep族:grep, egrep, fgrep Linux上文本处理三剑客

文本三剑客(grep、sed、awk)

文档:文本三剑客(grep.sed.awk).note链接:http://note.youdao.com/noteshare?id=d6b2cb636b40803cf543f3f0b44bed9f&sub=1D4DA6B89EC74E9597672AADF0CE3894 原文地址:https://blog.51cto.com/12928116/2407036

文本三剑客之grep加vim编辑器

好几周没写博客了,今天又时间就随便写了点. linux文本处理三剑客: grep:文本过滤工具 grep ,egrep,fgrep(用来打印各种行,patten模式) 它需要标准输入,CentOS6里也可以实现标红.alias gerp 是别名 nmap -v -sp 172......0/24 |gerp -B1 "Host is up" 扫描ip地址 grep 数字加字母加下划线都算单词的一部分. grep 支持正则表达式 grep -w 过滤单词的 如: ls |grep -w

Linux基础之文本处理工具grep及正则表达式(附带egrep与grep的不同)

文本处理工具grep,正则表达式在Linux学习过程中很容易出现困惑与障碍的地方,这里分享下学习这方面内容的一些感受. grep Global search REgular expression and Print out the line 作用:文本搜索工具,根据用户指定的'模式(过滤条件)'对目标文本逐行进行匹配检查:打印匹配到的行: '模式':由正则表达式的元字符及文本字符所编写出的过滤条件. grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS]

Linux文本三剑客之grep

grep: Global search REgular expression and Print out the line. 作用:文本搜索工具,根据用户指定的"模式"对目标文本逐行进行匹配检查:打印匹配到的行 模式:由正则表达式字符及文本字符所编写的过滤条件 REGEXP:由一类特殊字符及文本字符所编写的模式,其中有些字符不表示字符字面意义,而表示控制或通配的功能 分两类: 基本正则表达式:BRE 扩展正则表达式:ERE(grep -E, egrep) 正则表达式引擎 grep [O

Linux 基础之文本搜索工具grep

一.grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.Unix的grep家族包括grep.egrep和fgrep grep: 默认支持基本正则表达式: egrep: 扩展正则表达式: fgrep: 不支持正则表达式元字符,搜索字符串的速度快 二.通过man手册获取grep帮助信息: #man grep GREP(1)                     

Linux命令之文本搜索工具grep、egrep、fgrep

grep即global search regular expression_r(RE) and print out the line,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. grep家族包括grep.egrep和fgrep:egrep是grep的扩展:fgrep查找一个或多个与给出的字符串或词组相匹配文件中的行,不支持规则表达式 语法:grep [OPTIONS] PATTERN [FILE...] 常用参数选项 --color=auto:对匹配到的串做高亮

linux基础篇-文本三剑客之AWK

awk介绍 ? awk:Aho, Weinberger, Kernighan,报告生成器,格式化文本输出 ? 有多种版本:New awk(nawk),GNU awk( gawk) ? gawk:模式扫描和处理语言? 基本用法:awk [options] 'program' var=value file-awk [options] -f programfile var=value file-awk [options] 'BEGIN{ action;- } pattern{ action;- } E

linux文本处理三剑客之grep

  一.linux文本处理三剑客介绍 linux中文本三剑客包括grep(egrep,fgrep),sed,awk,三者基本的功能如下: 工具名称 功能 grep,egrep,fgrep 文本过滤工具(搜索工具) sed stream editor, 流编辑器:文本编辑工具 awk 文本报告生成器 二.grep工具详解 1.grep的介绍: grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行