第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获取命令帮助的途径

    在学习和使用Linux的过程中,免不了会遇到一些我们不熟悉或者不知道的命令。对于这些我们不熟悉的命令,就需要查找帮助文档来获取更多信息来协助我们完成相关的工作。 如何获取Linux命令的使用帮助? 1.  针对内部命令 help [命令名] 2.  针对外部命令 [命令名] –help,    获取简要帮助…

    Linux干货 2017-09-01
  • ☞SELinux

    ☞SELinux 概述 SELinux(Secure Enhanced Linux)是美国国家安全局(NSA)和SCC开发的Linux的一个强制访问控制的安全模块。2000年以GNU GPL发布,Linux内核2.6版本后集成在内核中。它能够限制权限,进程只能访问那些在他的任务中所需要文件。 Selinux是根据最小权限模型去限制进程在对象(如文件,目录,端…

    Linux干货 2016-09-18
  • Linux运维实战之5:磁盘分区、格式化

    在网络系统中,磁盘和文件系统管理是两个非常基本、同时也是非常重要的管理任务,特别是文件系统管理,因为它与用户权限和整个网络系统的安全息息相关。本次博文的主题是关于Linux系统中磁盘分区、格式化及挂载,下次博文我们再详细讨论文件系统管理。 在操作系统中,磁盘管理属于设备管理的范畴。一块硬盘安装到主机之后称为裸设备,若要能够在Linux系统中使用必须对其进行如…

    Linux干货 2016-11-26
  • LVS+Keepalived实现负载均衡

    keepalived工作原理 keepalived是基于VRRP协议实现的保证集群高可用的一个服务软件,主要功能是实现后端真实服务器的故障隔离和负载均衡器间的失败切换,防止单点故障。 VRRP协议全称:虚拟路由冗余协议(Virtual Route Redundancy Protocol)。 keepalived安装 # yum install keepali…

    2017-11-26
  • Linux Shell基础脚本示例

    1、编写脚本/root/bin/systeminfo.sh,显示主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小.   2、编写脚本/root/bin/backup.sh,可实现自动将/etc/目录备份到/root/etcYYYY-mm-dd中.   3、编写脚本/root/bin/disk.…

    Linux干货 2016-08-15

评论列表(1条)

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

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