N22-第五周作业

1、显示当前系统上root、fedora或user1用户的默认shell;

[root@localhost ~]# cat /etc/passwd | grep "^root" | cut -d: -f7

/bin/bash

2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();

[root@localhost ~]# cat /etc/init.d/functions | egrep  "\<[_[:alpha:]]+\>\(\)"

checkpid() {

__pids_var_run() {

__pids_pidof() {

daemon() {

killproc() {

pidfileofproc() {

pidofproc() {

status() {

echo_success() {

echo_failure() {

echo_passed() {

echo_warning() {

update_boot_stage() {

success() {

failure() {

passed() {

warning() {

action() {

strstr() {

is_ignored_file() {

is_true() {

is_false() {

apply_sysctl() {

3、使用echo命令输出一个绝对路径,使用grep取出其基名;

扩展:取出其路径名

对于/var/log/messages/型的路径名,先去掉最后的/,再用sed分别取基名路径名

[root@localhost ~]# echo "/var/log/messages/" | sed -r  's@/$@@' | sed -r 's@/.*/@@'

messages

[root@localhost ~]# echo "/var/log/messages/" | sed -r  's@/$@@' | sed -r 's@[^/]+$@@'

/var/log/

4、找出ifconfig命令结果中的1-255之间数字;

[root@localhost
~]# ifconfig | egrep -o
"\<25[0-5]\>|\<2[0-4][0-9]\>|\<1[0-9][0-9]\>|\<[1-9][0-9]\>|\<[1-9]\>"

5、挑战题:写一个模式,能匹配合理的IP地址;

[root@localhost
~]# cat txt | egrep
"(\<25[0-5]\>.|\<2[0-4][0-9]\>.|\<1[0-9][0-9]\>.|\<[1-9][0-9]\>.|\<[0-9]\>.){3}(\<25[0

-5]\>|\<2[0-4][0-9]\>|\<1[0-9][0-9]\>|\<[1-9][0-9]\>|\<[0-9]\>)"

0.0.0.0

255.255.255.255

10.237.0.100

172.100.0.0

192.168.255.255

1.1.1.1

[root@localhost ~]# cat txt

0.0.0.0

255.255.255.255

10.237.0.100

172.100.0.0

192.168.255.255

0.266.192.168

10.300.6.78

9.6.6.500

1.1.1.1

10237.1.1

6、挑战题:写一个模式,能匹配出所有的邮件地址;

   

一般来讲,邮箱格式如下:str1@str2.str3。其中str1由大小写字母和字母组成,可以在非开头处有下划线_,但不能有其他特殊字符。
str2可由数字和字母组成,不包含特殊字符,例如qq,163,gmail等,str3由字母组成,例如com,org,cn等。

[root@localhost ~]# cat txt | egrep "^[[:alnum:]]+[_[:alnum:]]*@[[:alnum:]]+\.[[:alpha:]]+$"

jack@163.com

jack@qq.com

jack@gmail.org

jack_123@sohu.cn

123abc@sohu.cn

123_456@qq.com

[root@localhost ~]# cat txt

jack@163.com

jack@qq.com

jack@gmail.org

jack_123@sohu.cn

jack%@sohu.cn

jack@@qq.com

jack@qq.123

jack@qqcom

123abc@sohu.cn

123_456@qq.com

_123@sina.com

123tyf_324.com

7、查找/var目录下属主为root,且属组为mail的所有文件或目录;

   ~]# find /var -user root -group mail

8、查找当前系统上没有属主或属组的文件;

[root@localhost ~]# find / -nouser -o -nogroup

/home/mandriva

/home/mandriva/.mozilla

/home/mandriva/.mozilla/extensions

/home/mandriva/.mozilla/plugins

/home/mandriva/.bash_logout

/home/mandriva/.bash_profile

/home/mandriva/.bashrc

进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;

~]# find / \(-nouser -o -nogroup\) -atime -3

9、查找/etc目录下所有用户都有写权限的文件;

[root@localhost ~]# find /etc -perm -222 -ls

10、查找/etc目录下大于1M,且类型为普通文件的所有文件;

[root@localhost ~]# find /etc -size +1M -type f -ls

4000366 3772 -rw-r–r–   1 root     root      3858924 11月 21  2015 /etc/selinux/targeted/policy/policy.29

71169087 6852 -r–r–r–   1 root     root      7014922 7月 29 13:34 /etc/udev/hwdb.bin

2617920 1336 -rw-r–r–   1 root     root      1367395 3月  6  2015 /etc/brltty/zh-tw.ctb

11、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;

~]# find /etc/init.d/  -perm -111 -perm /002 -ls

12、查找/usr目录下不属于root、bin或hadoop的文件;

]# find /usr ! -user root ! -user bin ! -user hadoop -ls

13、查找/etc/目录下至少有一类用户没有写权限的文件;

~]# find /etc ! -perm -111  -ls

14、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;

~]# find /etc ! -user root ! -user hadoop -mtime -7

原创文章,作者:上海-brown,如若转载,请注明出处:http://www.178linux.com/46651

(0)
上海-brown上海-brown
上一篇 2016-09-15 22:21
下一篇 2016-09-15 22:21

相关推荐

  • M20-1扩展正则表达式作业

    1、取本机ip地址 [root@centos6 ~]# ifconfig eth1      Link encap:Ethernet  HWaddr 00:0C:29:35:DD:AB     &nb…

    Linux干货 2016-08-10
  • N25-第15周博客作业

    1、总结sed和awk的详细用法; sed [OPTION]…  ‘script’  [input-file] … script: 地址定界编辑命令 常用选项: -n:不输出模式空间中的内容至屏幕; -e script, –expression=script:多点编辑;…

    Linux干货 2017-05-21
  • linux系统自动化安装和selinux

    系统自动化安装: Anaconda 安装系统分成三个阶段:  安装前配置阶段安装过程使用的语言键盘类型安装目标存储设备Basic Storage :本地磁盘特殊设备:iSCSI设定主机名配置网络接口时区管理员密码x设定分区方式及MBR 的安装位置创建一个普通用户选定要安装的程序包 创建引导光盘:#cp /media/cdrom/isoli…

    Linux干货 2017-04-06
  • 设计模式 ( 十七) 状态模式State(对象行为型)

    设计模式 ( 十七) 状态模式State(对象行为型) 1.概述 在软件开发过程中,应用程序可能会根据不同的情况作出不同的处理。最直接的解决方案是将这些所有可能发生的情况全都考虑到。然后使用if… ellse语句来做状态判断来进行不同情况的处理。但是对复杂状态的判断就显得“力不从心了”。随着增加新的状态或者修改一个状体(if else(或swit…

    Linux干货 2015-07-27
  • 设计模式 ( 十九 ) 模板方法模式Template method(类行为型)

    设计模式 ( 十九 ) 模板方法模式Template method(类行为型) 1.概述 在面向对象开发过程中,通常我们会遇到这样的一个问题:我们知道一个算法所需的关键步骤,并确定了这些步骤的执行顺序。但是某些步骤的具体实现是未知的,或者说某些步骤的实现与具体的环境相关。例子1:银行业务办理流程在银行办理业务时,一般都包含几个基本固定步骤:取号排队->…

    Linux干货 2015-04-07
  • 马哥教育网络班22期+第一周课程练习

        操作系统:centos 7.2  64位 计算机组成及功能。 计算机组成: 由存储器、运算器、控制器、输入设备、输出设备组成。 功能: 存储器:用来存放计算程序及参与运算的各种数据;例如:硬盘、内存 运算器:负责数据的算术运算和逻辑运算即数据的加工处理 控制器:负责对程序规定的控制信息进行分析,控制并…

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-19 18:59

    ip地址的匹配不对,0.0.0.0是不是不是有效的ip地址?