第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
下一篇 2017-07-27

相关推荐

  • 超文本传输安全协议—HTTPS

        超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS,常称为HTTP over TLS,HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。H…

    Linux干货 2017-08-07
  • N28-第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
    2、取出最后登录到当前系统的用户的相关信息。
    3、取出当前系统上被用户当作其默认shell的最多的那个shell。
    4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
    5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
    6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
    7、显示/var目录下一级子目录或文件的总个数。
    8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
    9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
    10、请总结描述用户和组管理类命令的使用方法并完成以下练习:
    (1)、创建组distro,其GID为2016;
    (2)、创建用户mandriva, 其ID号为1005;基本组为distro;
    (3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
    (4)、给用户mageia添加密码,密码为mageedu;
    (5)、删除mandriva,但保留其家目录;
    (6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
    (7)、修改slackware的默认shell为/bin/tcsh;
    (8)、为用户slackware新增附加组admins;

    2017-12-17
  • nlp chatbots 1

    Conversational AI Solutions: Intelligent & Engaging Platform Services How AI Chatbots Are Improving Customer Service These core beliefs strongly influenced both Woebot’s engine…

    Linux干货 2025-05-07
  • 关于IO的同步,异步,阻塞,非阻塞

    上次写了一篇文章:Unix IO 模型学习。恰巧在这次周会的时候,@fp1203 (goldendoc成员之一) 正好在讲解poll和epoll的底层实现。中途正好讨论了网络IO的同步、异步、阻塞、非阻塞的概念,当时讲下来,大家的理解各不相同,各执己见。搜索了网络上的一些文章,观点也各不相同,甚至连wiki也将异步和非阻塞当成一个概念在解释。  &…

    Linux干货 2015-04-02
  • egrep及文本处理工具十三道实例

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 2、编辑/etc/group文件,添加组hadoop。 3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。 4、复制/etc/sk…

    2018-03-20
  • Linux keepalived高可用集群

                       Linux keepalived高可用集群 keepalived简介:    keepalived是为了高可用ipvs集群而设计的,主要用作realserver的健康状态检测,如果有一台web…

    系统运维 2016-11-18

评论列表(1条)

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

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