20150827 课后训练作业

一、作业(练习)内容:

1、总结本此课程中所涉及命令的使用方法及相关示例展示;

chmod

1.命令解释:

改变文件权限

语法结构:

chmod [OPTION]... MODE[,MODE]... FILE...

chmod [OPTION]... OCTAL-MODE FILE...

chmod [OPTION]... --reference=RFILE FILE...

命令选项:  
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

三类:

u: owner

g: group

o: other

a: all

操作指定类别用户的权限:-

u-,g-,o-

ug=,a=

操作某类用户的某些位权限:+|-

u+,g+,o+

u-,g-,o-

使用实例:

修改123.txt文件属组有执行权限:

chmod g+x /tmp/123.txt

修改123.txt文件属性为777:

chown

1.命令解释:

改变文件的所有者

2.命令参数:

chown [OPTION]... [OWNER][:[GROUP]] FILE...

chown [OPTION]... --reference=RFILE FILE...

3.使用实例:

修改/tmp/123.txt文件的属主,属组为hzm组为hzm

chown hzm:hzm /tmp/123.txt

chgrp

1.命令解释;

改变文件的所属用户组

2.命令语

chgrp [OPTION]... GROUP FILE...

chgrp [OPTION]... --reference=RFILE FILE...

3.使用实例:

将123.txt文件的属组改回root组:

chgrp root 123.txt

umask

目录:777-umask

文件:666-umask

如果某一类用户的权限减得的结果有执行权限,此时会自动让其权限位加1;

umask UMASK

设定:仅对当前shell进程有效;

2、总结基本正则表达式及扩展正则表达式

正则表达式:grep: Global search REgular expression and Print out the line.

作用:文本搜索工具,根据用户指定的“模式(pattern)”逐行去搜索目标文本,打印匹配到的行;

模式:由正则表达式的元字符及文本字符所编写的过滤条件;

元字符:字符不表示其字面意义,而用于表示通配或控制功能;

分两类:

基本正则表达式:

字符匹配:

. 匹配任意单个字符

[] 匹配指定范围内的任意单个字符

[^] 匹配指定范围外的任意单个字符

[0-9],[[:digit:]],[^0-9],[^[:digit:]]

[a-z],[[:lower:]]

[A-Z],[[:upper:]]

[[:space:]]

[[:punct:]]

[0-9a-zA-Z],[[:alnum:]]

[a-zA-Z],[[:alpha:]]

次数匹配:在期望匹配字符后面提供一个控制符,用于表达匹配前面字符指定的次数

* 任意长度 ,表示0次,1次或多次

.* 任意长度任意字符 工作于贪婪模式

\? 匹配其前面的字符 0次或1次,可有可无

\+ 1次或者多次 意思是前面的字符不能没有,或者多次

\{m\} 其左侧字符精确匹配m次

\{m,n\}至少m次,至多n次

\{m,\} 至少m次 多则不限

位置锚钉:

^ 锚定行首

$ 锚定行尾

^..$ 用模式来匹配整行内容

^$ 匹配空白行

单词锚定:

\< 锚钉词首 \b

\> 锚定词尾 \b

\<PARTTERN\>  匹配PARTERN 能匹配到的整个单词

分组:\(\)

\(\) \1 匹配模式中自左而右,由第一个左括号以及之前对应的右括号中的模式所匹配到的内容

\(\) \2 匹配模式中自左而右,由第二个左括号以及之前对应的右括号中的模式所匹配到的内容

注意:分组模式,在末次具体匹配过程中所匹配到的字符,可以被grep记忆(保存于内置的变量中,这些变量是\1,\2 ....),因此,还可以被引用

扩展正则表达式:

字符匹配:

.任意长度 ,表示0次,1次或多次

.* 任意长度任意字符 工作于贪婪模式

[] 匹配指定范围内的任意单个字符

[^] 匹配指定范围外的任意单个字符

次数匹配:

* 任意次

? 匹配其前面的字符 0次或1次,可有可无

+

{m}

{m,}

{0,n}

位置锚钉:

^

$

\<  \>, \b

分组:

()\1

或者

a|b|c a或者b或者c

或者两侧所有内容

3、显示/etc/passwd文件中以bash结尾的行

egrep bash$ /etc/passwd

4、显示/etc/passwd文件中的两位数或三位数

egrep --color=auto ‘\<[0-9]{2,3}\>‘ /etc/passwd

5、显示`netstat -tan`命令结果中以‘LISTEN’后跟0个、1个或者多个空白字符结尾的行.

netstat -tan | egrep --color ‘LISTEN[[:space:]]+$‘    
     

6、添加用户bash、testbash、basher以及nologin用户(nologin用户的shell为/sbin/nologin);而后找出/etc/passwd文件中用户名与其shell名相同的行.

egrep "\<([[:alnum:]]+\>).*\1$" /etc/passwd | cut -d: -f 1,7

7、显示当前系统上root、centos或者user1用户的默认shell和UID (请事先创建这些用户,若不存在)

egrep "\<root|centos|user1\>" /etc/passwd | cut -d: -f 3,7

8、找出/etc/rc.d/init.d/functions文件中某单词(单词中间可以存在下划线)后面跟着一组小括号的行

egrep --color=auto ‘\<[[:alnum:]]+\>\(\)‘ /etc/rc.d/init.d/functions

9、使用echo输出一个路径,而后egrep找出其路径基名;进一步的使用egrep取出其目录名

echo /etc/passwd/ | egrep -o "[[:alnum:]]+\/?$" --color

echo /etc/init.d/iptables/ | egrep -o  "^\/.*\/"

10、找出ifconfig命令执行结果中1-255之间的数字

ifconfig | egrep ‘\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>‘ --color

时间: 2024-08-11 08:31:52

20150827 课后训练作业的相关文章

# 20165210 课后代码作业练习

20165210 课后代码作业练习 相关知识点总结 首先进本操作mkdir建立目录 用cd进入建立的目录 然后用vim创建脚本 然后输入要运行的代码 将100改为自己的学号 然后javac编译java运行 在一开始建立的目录下在建立src和bin 在src目录下建立Hello.java 将代码输入进去 用javac -d bin src/Hello.java 上一部是把编译完的Hello.java放到bin中 然后java -cp bin is20165210.Hello进行运行 最后一个是建立

马哥教育面授班-标准I/O和管道-课后小作业-2016年7月28

马哥教育面授班-7月28号作业 1 .将/etc/issue 文件中的内容转换为大写后保存至/tmp/issue.out 文件中 [[email protected] ~]# tr 'a-z' 'A-Z' </etc/issue | >> /tmp/issue.out [[email protected] ~]# cat /tmp/issue.out  CENTOS RELEASE 6.8 (FINAL) KERNEL \R ON AN \T \N \D \S MAGE EDUCATIO

Java语法基础----课后实践作业

1.Enumtest.Java 代码: public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t); // //是原始数据类型吗? System.out.println(s.getClass().isPrimitive()); //从字符串中转换 Size u=Size.va

有关软件工程的问题的分析和讨论及课后的作业

成长和代码量的关系讨论软件工程师的工作就是写代码,那么代码量与软件工程师的水平是呈线性关系的么?关于这个问题有人研究过,当代码是2000行以下,程序员可以了改了再写,而且你可以仅凭借记忆力就可以搞定一个程序,,你可以写任何混乱肮脏的代码并依靠你的记忆拯救你.深思熟虑的类和包分解会让你的代规模达到20000行.一旦你的代码规模达到20000行,你就要用结构化编程来保证程序不会变成一团乱麻.任何的类或者规范必须限制其示例在几百行以内,暴力方法在这里也同样适用.你真的需要范例给你显示30000行代码然

马哥教育面授-八月一号课后小作业(linux创建用户、批量创建用户)

1.创建testuser uid 1234,主组:bin,辅助组:root,ftp,shell:/bin/csh home:/testdir/testuser [[email protected] ~]# useradd testuser -u 1234 -g bin -G root,ftp -s /bin/csh -d /testdir/testuser [[email protected] ~]# grep testuser /etc/passwd testuser:x:1234:1::/t

有关软件工程的问题的分析和讨论及课后的作业3

个人电脑界面的演变. 1973年四月第一次操作是在施乐PARC Alto计算机完成. 该系统是第一个将现代图形用户界面中的所有元素结合起来的系统. 1981年6月施乐介绍了星,商业阿尔托的继任者. 显著特点:双点击图标,重叠窗口,对话框和1024×768单色显示. 1984年1月:苹果推出Macintosh. 1993年5月微软发布了第一个版本的视窗,其32位操作系统.他们给它的版本号“3.1”,并使用相同的用户界面,他们做的常规窗口3.1.提供英特尔.Power PC.Alpha和MIPS系统

Java语言多态课后归档作业

一.类型转换 class Mammal{} class Dog extends Mammal {} class Cat extends Mammal{} public class TestCast { public static void main(String args[]) { Mammal m; Dog d=new Dog(); Cat c=new Cat(); m=d; //d=m; 出错 d=(Dog)m; //d=c; 出错 //c=(Cat)m; } } 总结:子类能赋给父类,改变

数据结构课后小作业 最大连续子序列和

题目描述:求一个序列中连续子序列和的最大值(如果全为负,则输出0) 分析思路:简单的DP题 1.分析:最开始想到的是分治,分治的复杂度是 O[n*lb(n)][姑且把lb当做以2为底的对数],由于分治的时候遇到连接处的处理问题,一不小心就想到了原来这是DP题. 2.状态转移方程: (1)sum[i]=max{sum[i-1]+base[i],base[i]}: (2)如果sum[i]<0,sum[i]=0; 3.关于状态转移方程的分析: (1)sum[i]表示前i个元素中,包含i的最大子序列和:

有关软件工程的问题的分析和讨论及课后的作业7

你认为“实体商城不会消失”,随着物流的发展.虚拟技术的发展,实体商场到底以什么样的形式存在(在未来)的呢?答:不会,所谓实体就是以真实的形式存在,由此想来,如果实体商城消失的话,在未来的生活里将是多么令人害怕又恐惧的事情.相信大家也都了解到了之前一直以网上商城的进行商业活动的亚马逊,去年开始开设了实体商店,或许我们会疑惑之前以网上购物的形式击垮那些实体店的亚马逊为何现如今会选择投入实体商城.这就让我们考虑到网络商城与实体商城的优劣势比较,对于网络商城而言,实体商城拥有真实的体验感受,而且现在的商