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

相关推荐

  • grep作业题

    找出/proc/meminfo文件中,所有以大写或小写s开头的行,至少三种方式:grep -i "^s" /proc/meminfogrep "^[sS]" /proc/meminfogrep -E "^(s|S)" /proc/meminfo显示当前系统上roo、centos或者user用户的相关…

    Linux干货 2016-08-12
  • DNS and BIND 配置指南

    前言     说来接触Linux也有一年了,BIND是我曾经学习RH系Linux接触的第一个服务,对我有着莫大的意义,当初差点因为这个服务难以配置而放弃Linux,今天学完马哥的bind相关系列视频之后,写一篇DNS and BIND的基础到进阶。 一、DNS的基础知识 DNS是什么? DNS(Domain Name …

    Linux干货 2016-03-21
  • Linux发行版之间的联系与区别及其哲学思想。

    一、Linux发行版之间的联系与区别。 随着Linux不断发展,Linux所支持的文件系统类型也在迅速扩充。很多的数据中心服务器上都运行着Linux,可以节省大量的许可证费用及维护费用。但伴随着Linux新版本的发行,其中每一个不同版本的Linux所支持的文件系统类型都有所不同。Linux的发行版有数百种之多。 1、Debian:是指一个致力于创建自由操作系…

    Linux干货 2016-10-30
  • 马哥教育网络班21期+第6周课程练习

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp [root@localhost tmp]# vim rc.sysin…

    Linux干货 2016-08-02
  • 源码安装

    1.连接教室yum源: [root@localhost ~]#lftp 10.1.0.1 2.进入httpd目录下: [root@localhost ~]#lftp10.1.0.1:/pub/Sources/sources/httpd> ls 3.下载安装包: [root@localhost ~]#lftp10.1.0.1:/pub/Sources/s…

    Linux干货 2016-09-19
  • Linux基础介绍

    1、Linux用户: Linux用户分为普通用户和管理员,普通用户的系统操作权限低,用户的误操作对系统数据的破坏程度有限,不会对系统造成灾难性的破坏。而管理员对系统具有绝对的权限,可以修改和设置系统的任何数据,如果误操作,及其容易对系统数据造成不可挽回的破坏,比如执行以下命令 rm  -rf  / 。因此,系统管理员在操作root用户时需…

    Linux干货 2016-07-26

评论列表(1条)

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

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