第5周

第5周

1.显示当前系统上root,fedora或user1用户的默认shell。

[root@node1 ~]# grep -E "^(root|fedora|user1)\>" /etc/passwd | cut -d: -f 7
/bin/bash
/bin/bash
/bin/bash
[root@node1 ~]# grep "^\(root\|fedora\|user1\)\>" /etc/passwd | cut -d: -f 7
/bin/bash
/bin/bash
/bin/bash

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

[root@node1 ~]# grep -E "[[:alpha:]]+\(\)+" /etc/rc.d/init.d/functions
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取出其基名;扩展,取出其路径名。

取基名
[root@node1 ~]# echo /etc/rc.d/init.d/functions | grep -o "[^/]\+/\?$"
functions  

取路径名
[root@node1 ~]# echo /etc/rc.d/init.d/functions | grep -E -o "(/).*\1"
/etc/rc.d/init.d/

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

[root@node1 ~]# ifconfig | grep -E --color=auto "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>"

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

[root@node1 ~]# ifconfig | grep -E "(\<([0,1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\>\.){3}\<([0,1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\>"
      inet addr:192.168.33.129  Bcast:192.168.33.255  Mask:255.255.255.0
      inet addr:127.0.0.1  Mask:255.0.0.0

6.挑战提:写一个模式,能匹配出所有的邮件地址。

grep -E "([[:alph^C]]*|[0-9]*|[[:punct:]]*|\.|\@)"

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

[root@node1 ~]# find /var -user root -a -group mail -ls
134320628    4 drwxrwxr-x   2 root     mail         4096 Jul 26 11:43 /var/spool/mail
928    0 -rw-r--r--   1 root     mail            0 Jul 25 07:21 /var/test/find.test

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

[root@node1 ~]# find / -nouser -o -nogroup -type f | xargs ls -l
find: ‘/proc/2682/task/2682/fd/6’: No such file or directory
find: ‘/proc/2682/task/2682/fdinfo/6’: No such file or directory
find: ‘/proc/2682/fd/6’: No such file or directory
find: ‘/proc/2682/fdinfo/6’: No such file or directory
-rw-r--r--. 1 1005 distro  18 Nov 20  2015 /home/mandriva/.bash_logout
-rw-r--r--. 1 1005 distro 193 Nov 20  2015 /home/mandriva/.bash_profile
-rw-r--r--. 1 1005 distro 231 Nov 20  2015 /home/mandriva/.bashrc
-rw-rw----. 1 1005 mail     0 Jul 25 17:07 /var/spool/mail/mandriva
[root@node1 ~]# find / \( -nouser -o -nogroup \) -a -atime -3 | xargs ls -l
find: ‘/proc/2688/task/2688/fd/6’: No such file or directory
find: ‘/proc/2688/task/2688/fdinfo/6’: No such file or directory
find: ‘/proc/2688/fd/6’: No such file or directory
find: ‘/proc/2688/fdinfo/6’: No such file or directory
-rw-r--r--. 1 1005 distro  18 Nov 20  2015 /home/mandriva/.bash_logout
-rw-r--r--. 1 1005 distro 193 Nov 20  2015 /home/mandriva/.bash_profile
-rw-r--r--. 1 1005 distro 231 Nov 20  2015 /home/mandriva/.bashrc
-rw-rw----. 1 1005 mail     0 Jul 25 17:07 /var/spool/mail/mandriva  

/home/mandriva:
total 0

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

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

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

[root@node1 ~]# find /etc/ -size +1M -a -type f | xargs ls -lh
-rw-r--r--. 1 root root 3.7M Nov 21  2015 /etc/selinux/targeted/policy/policy.29
-r--r--r--. 1 root root 6.7M Jul 12 21:02 /etc/udev/hwdb.bin

原创文章,作者:ZhengBin,如若转载,请注明出处:http://www.178linux.com/82790

(0)
ZhengBinZhengBin
上一篇 2017-07-26 22:38
下一篇 2017-07-27 10:51

相关推荐

  • Linux shell脚本编程练习题

    《书籍上面的练习题》 问题:谁在霸占磁盘资源?     如果您负责的Linux服务器上有许多用户,则经常需要解决的一个问题就是谁在使用所有磁盘空间。这是个老掉牙的问题有时比其他问题更难以弄清。     不幸的是,虽然跟踪用户磁盘空间使用情况非常重要,但却没有一个Linux命令可以提供此信息。因此需要…

    Linux干货 2016-06-09
  • Bob大叔和Jim Coplien对TDD的论战

    今年春节时,我写了一篇《TDD并不是看上去的那么美》,在这篇文章中我列举了一些关于使用TDD的一些难点和对TDD的质疑,后来出现了一些争论(可参见那篇文章的评论),以及Todd同学的《TDD到底美不美》,还有infoQ中文上的那个几乎没有营养离线讨论。今天,有网友给我推来一个英文版infoQ的视频——“Coplien and Martin Debate TD…

    Linux干货 2016-08-15
  • 点名脚本

    脚本要求:1、随机抽点80以内的随机证书;                2、可以一次抽取多个随机数;同时间抽取的随机数要唯一;                3、被抽取之后的随机数,之后不会再抽取;…

    2017-05-08
  • linux 软件包管理

    1、Linux软件包管理 Redhat, SUSE: RPM Redhat Package Manager PRM is Package Manager 前端工具:yum, apt-get 后端工具:RPM, dpt   2、rpm: 数据库:/var/lib/rpm  rpm包: 软件包作者下载源程序,编译配置完成后,制作成rpm包 格…

    Linux干货 2017-08-06
  • 关于大型网站技术演进的思考(十四)–网站静态化处理—前后端分离—上(6)

    原文出处: 夏天的森林  前文讲到了CSI技术,这就说明网站静态化技术的讲述已经推进到了浏览器端了即真正到了web前端的范畴了,而时下web前端技术的前沿之一就是前后端 分离技术了,那么在这里网站静态化技术和前后端分离技术产生了交集,所以今天我将讨论下前后端分离技术,前后端分离技术讨论完后,下一篇文章我将会以网站 静态化技术的角度回过头来…

    Linux干货 2015-02-26
  • 到处都是Unix的胎记

    一说起Unix编程,不必多说,最著名的系统调用就是fork,pipe,exec,kill或是socket了(fork(2),execve(2), pipe(2), socketpair(2), select(2), kill(2), sigaction(2))这些系统调用都像是Unix编程的胎记或签名一样,表…

    Linux干货 2015-04-03

评论列表(1条)

  • 马哥教育
    马哥教育 2017-08-04 16:08

    find的功能非常强大,学有余力建议深入学习。