马哥教育网络班N22期+第五周课程练习

1、显示当前系统上root、fedora或user1用户的默认shell;

~]# grep -E "^(root|user1|fedora)" /etc/passwd | awk -F: '{ print $1 $7 }'

root/bin/bash

user1/bin/bash

fedora/bin/bash

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

~]# grep "\<[[:alpha:]]\+()" /etc/rc.d/init.d/functions 

checkpid() {

daemon() {

killproc() {

pidfileofproc() {

pidofproc() {

status() {

success() {

failure() {

passed() {

warning() {

action() {

strstr() {

confirm() {

3、使用echo命令输出一个绝对路径,使用grep取出其基名;

~]#  echo "/etc/rc.d/init.d" | grep -E -o "[^/]+$"

init.d

 扩展:取出其路径名

~]# echo /etc/udev/rules.d/ |grep -o ".*v/"

/etc/udev/

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

~]# ifconfig |grep -o "[1-9]\|[1-9][0-9]\|1[0-9][0-9]\|2[0-5][0-5]"

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

~]# ifconfig | grep -E -o "(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"

172.17.42.1

0.0.0.0

255.255.0.0

10.20.0.2

10.20.0.255

255.255.255.0

127.0.0.1

255.0.0.0

6、挑战题:写一个模式,能匹配出所有的邮件地址;

egrep  "^[[:alnum:]]+@[[:alnum:]]+\.[[:alnum:]]+$"

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

~]# find /var/ -user root -group mail -ls

1704847    4 drwxrwxr-x   2 root     mail         4096 9月 28 05:35 /var/spool/mail

1706058    4 -rw——-   1 root     mail         2569 9月 28 05:20 /var/spool/mail/root

8、查找当前系统上没有属主或属组的文件;      

~]# find / -nouser -o -nogroup -ls

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

~]# find / -nouser -a -nogroup -a -atime 3 -ls

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

~]# find /etc/ -perm /222 -type f -ls

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

~]# find /etc/ -size +1M -type f |xargs ls -lh

11、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;

~]# find /etc/init.d/ -perm /113 -type f -ls

12、查找/usr目录下不属于root、bin或hadoop的文件;

~]# find /usr/ -not -user root -a -not -user bin -a -not -user hadoop -ls

13、查找/etc/目录下至少有一类用户没有写权限的文件;

~]# find /etc/ -not -perm -111 -type f -ls

14、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;

~]# find /etc/ -mtime -7 -not -user root -a -not -user hadoop

原创文章,作者:N22-昆山-Dexter_Wang,如若转载,请注明出处:http://www.178linux.com/51078

(0)
N22-昆山-Dexter_WangN22-昆山-Dexter_Wang
上一篇 2016-10-17 08:36
下一篇 2016-10-17 08:37

相关推荐

  • DNS and BIND

    DNS and BIND 名称解析:把一种代号转换成为另一种代号的功能是应用程序基于某个搜索键在指定的数据库查询,查询到对应的键以后,对应键被找出来的过程!passwd —《nsswith》/etc/nsswith.conf 注意:查询的时候用到的是UDP的53,主从复制走的是tcp(但是也用到udp) DNS: Domain Name Serv…

    Linux干货 2016-10-21
  • 程序包管理

    程序包 linux的程序包主要分为两类;二进制可执行安装包和源代码程序文件包     二进制应用程序的组成部分:     二进制文件、库文件、配置文件、帮助文件   查看二进制程序所依赖的库文件:     ldd&nbs…

    Linux干货 2016-05-30
  • Shell脚本编程

    shell脚本编程 Bash为用户提供了编程环境 相对于计算机而言,只能识别二进制文件,因此其所运行的其实是二进制指令,而这些二进制指令我们称之为机器语言,属于低级语言;程序员编程所使用的语言为高级语言,是人们比较容易理解的语言;因此,程序的执行过程:先把源码程序翻译成机器语言(生成可执行的文件),然后解释执行。程序( 程序=指令+数据 )的编程风格有两种:…

    2017-04-14
  • 权限管理

    权限 权限就是用户或者组对文件或者目录所拥有的能力,所能执行的操作。 权限的分配: 通过ls -l file这个命令可以查看文件或者目录的详细信息:     [root@localhost home]# ls -l /root/   &nb…

    Linux干货 2016-08-05
  • Linux命令的别名与管道命令的详解

    Linux中命令的别名与管道命令的详解 命令别名 在使用和维护liunx时,将会使用大量的命令,而一些命令加上参数时输入比较繁琐,此时我们可以定义一个别名来代替繁琐的命令。 系统定义的别名 可以输入 alias 命令查看系统中已经定义好的命令的别名; [root@localhost ~]# alias alias cp=’cp -i’ alias egrep…

    Linux干货 2018-03-03
  • 马哥教育网络班22期+第2周课程练习

    1、Linux上文件管理命令有哪些,其常用的相关示例演示。 常见文件管理命令有:touch/stat/file/rm/cp/mv/nano 示例如下: [root@localhost week2_test]# touch newfile [root@localhost week2_test]# ls&nbsp…

    Linux干货 2016-08-22