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
下一篇 2016-09-15

相关推荐

  • 第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; 2、写一个脚本     (1) 获取当前主机的主机名,保存于hostname变量中;     (2) 判断此变量的值是否为loc…

    2017-04-20
  • LVS DR模式

    一、测试环境说明 操作系统:CentOS6.7-X64 IP_VS版本:1.2.26 DR:10.10.10.130 VIP:10.10.10.140 RS1:10.10.10.131 RS2:10.10.10.132 二、LVS-DR模式原理 a)客户端发送一个请求(源地址为CIP,目标地址为VIP,我们简称为CIP:VIP)到LVS的DR b)通过在调度…

    Linux干货 2016-09-19
  • shell脚本清空系统message日志

      1 #/bin/bash   2 #此脚本用来清空系统message日志文件   3 #author:wyf date:16/10/30   4 LOG_DIR=/var/log   5 ROOT…

    Linux干货 2016-10-30
  • N25-第4周作业(用户权限,grep用法)

    复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有访问权限.      [root@bogon ~]# chmod -R o=—,g=— /home/tuser1/ [root@bogon ~]# chmod -R o=,g= /home/tuser1/ 编辑/etc/…

    Linux干货 2016-12-26
  • Linux的SOCKET编程详解

    1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进 程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如 UNIX BSD有:管道(pipe)、命名管道(named pipe)软中断信号(signal) UNIX system V有:消息(message)、共享存储区…

    Linux干货 2015-04-10
  • Flex Ant自动构建

    1.  Flex SDK Ant        Flex开发者会遇到很多,比如自动构建,在一个有着N多模块,N处源码,构建过程复杂的Flex项目开发中,依赖人力手工构建项目非常不现实(机械重复且枯燥无味的过程,相信哪位开发人员都会避之唯恐不及,而且对于人力是非常大的浪费),而通过使用Ant,我们可以将这些工作…

    Linux干货 2016-03-22

评论列表(1条)

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

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