让你(华为2015cp2352多少钱)
大家好,给大家分享一下。很多人不了解你(华为2015cp2352多少钱)。下面详细解释一下。现在让我们来看看!
这是一个bash shell脚本,其中包含许多可以欺骗同事的技巧或者恶作剧。看完之后,我感到一阵寒意。谁要是敢这样骗我,我一定和他分手!- Wxy
本文导航-这个世界怎么了?…… 05%
-糟糕的默认编辑器...07%
-淫秽标签(标签)...11%
-原因不明的戒断...15%
-我什么都看不到(猫)...18%
-具体安排是什么?…… 21%
-永远不要再尝试进入目录...27%
-你敢用须藤权限吗?…… 32%
——我本来想安静,世界却安静了...37%
-今天是哪一年?…… 41%
-如果你有鬼马光驱...46%
冰河时代...59%
一个还是两个?…… 65%
-永不停止的工作...67%
-是哪一行?…… 70%
-世界在倒退...74%
-想服从命令吗?不会吧!…… 78%
-好吧,但我不会这么做...87%
-我想编辑文件...90%
-最后,不要试图回到正常的世界...92%
-让我回到现实世界!…… 95%
作者:Wxy
昨天我微博里的朋友@马甲和小号[1]跟我说我发现了一个奇怪的东西,让人出于好奇进步(杀猫?),我就去观察了一下,于是就有了今天的文章。
这是一个bash shell脚本,其中包含许多可以欺骗同事的技巧或者恶作剧。看完之后,我感到一阵寒意。谁要是敢这样骗我,我一定和他分手!
警告,不要在制作环境中体验,剧本作者和本文作者将承担一切后果!
警告,不要在制作环境中体验,剧本作者和本文作者将承担一切后果!
警告,不要在制作环境中体验,剧本作者和本文作者将承担一切后果!
这个世界怎么了?
这个脚本主要由别名、函数和环境变量的一些定义组成。执行这个脚本后,您的shell环境将变成一个陌生的世界。
好,让我们看看发生了什么。
注意:这个脚本适用于bash环境,但是其他一些shell环境不支持它。
糟糕的默认编辑器
当系统调用默认编辑器编辑,比如crontab,biu的点击,文件就没了!
export EDITOR=/bin/rm;这将编辑器环境变量定义为rm,而它应该是vi、emacs或nano。体验一下不酸吗?
学习类:
EDITOR环境变量用于系统的默认编辑器。在系统的一些内置函数中,比如编辑crontab,会根据这个变量调用默认编辑器。
普通选项卡(tab)
当你想用制表符自动补全时,你不仅要退出,还要删除一个字母。难以置信,你又打了几个标签。太好了,更多的角色被删除了。
tset -Qe \t';原来制表符被定义为退格键。
学习类:
Tse用于设置终端特性;-e参数设置擦除字符,默认情况下是退格字符;-Q表示不显示设置信息(静音)。
莫名其妙的退出
有时候执行一个命令会莫名其妙的退出shell,但是命令有非零返回状态。为什么?
((RANDOM % 10)) || set -o errexit;学习类:
Set -o errexit相当于set -e,意思是如果有任何错误(命令的返回状态不为0),就退出。
我什么也看不见(猫)
当我想(猫)文件的时候,它居然不理我。文件里有什么?
alias cat=true;原来,cat被定义为true command的别名。真正的命令什么也不做。不管你给它什么参数和输入,它只是悄悄地返回一个状态码0。
学习类
True和false命令通常在shell脚本中使用。
具体是什么安排?
嗯,我想看看目录里有什么文件,所以我输入了ls,嗯?这是什么顺序?我再打一遍。这是怎么回事?列出的文件和目录再次以相同的顺序排列。它的输出取决于心情吗?
function ls { command ls -$(opts="frStu"; echo ${opts:$((RANDOM % ${#opts})):1}) "$@"; }它最初用一个函数重新定义了ls,所以,它真的取决于心情,你永远不知道它会以什么顺序返回结果。
学习类:
ls的f选项表示输出不会排序(即输出只会按照磁盘存储顺序);r表示反向排序;s表示按文件大小排序;t表示按修改时间排序;u表示按上次访问时间排序。
不要再尝试进入目录。
当我想进目录的时候,我很惊讶我没有进。没有自动补全我不是输入错了吗?当我拿着面前陌生的ls再看一遍的时候,可怕的是那个目录!没了!!!不信我,我又重复了一遍这个过程,然后,我没有子目录了!
alias cd='rm -rfv';该死的,连这样一个无害的进入cd的命令都这么可怕!
学习类:
rm命令的-r表示可以删除目录(不是空);-f表示不需要删除确认;-v表示删除后显示被删除的文件/目录名-这是用来嘲笑我删除一个目录吗?
你还敢用sudo权限吗?
我遵守安全规则。我从来不用root直接登录。所有管理任务都由sudo执行。然而现在,无论我用sudo执行什么命令,我都会立即关闭,并公布我输入的命令!这是我被体制讨厌吗?
alias sudo='sudo shutdown -P now';学习类:
shutdown命令用于关闭系统,-P参数表示随电源关闭;现在意味着立即关闭。以下参数(在本例中,最初预期由sudo执行的命令)将作为关闭前的通知信息广播给系统上的所有在线用户。
我想安静,但世界是安静的。
乱糟糟的屏幕输出让你恨之入骨,一个清晰的命令也能悄无声息——等等,为什么我的终端死机了?然后系统崩溃了。
alias clear=':(){ :|:& };:';这是将clear命令别名为叉弹[2]。据说这是最简单也是最难的叉弹。至于炸弹的效果,嗯,天下太平。
学习类:
叉弹的后果是服务器资源耗尽,服务器无法正常对外提供服务,也就是常说的DoS(拒绝服务)。
今晚是哪一年?
这个奇怪的世界让我做梦,那么,现在几点了?当然,我肯定不会翻日历。输入日期命令是我们命令行极客应该做的。看着回归的日期,我不禁怀疑自己的记忆力。我穿越了吗?
alias date='date -d "now $RANDOM days"';学习类:
date命令可以显示相对偏移日期。上面命令中$RANDOM的结果是一个随机整数,这意味着这里的date命令将在几天后返回日期。
如果你有鬼马光驱
现在光驱用的不多了,但是很多机器还是有这个“咖啡杯托”。如果你有幸拥有这东西,说不定今天它就被鬼附身了。它会弹出来,然后收回去。有时候你按下弹出键却没有反应——当你真的把咖啡杯放上去的时候,小心,你的咖啡杯会掉下来!
把CD托盘当成咖啡杯托盘是个笑话。据说有人曾经打电话给电脑制造商:
“你好,我想说你机器上的咖啡杯托以前好用,现在不动了。”
“咖啡杯托”?那是什么?"
“那是你按下按钮时弹出的托盘。放咖啡杯就行了,有合适的凹槽。设计不错!以前还好,现在不会弹出来了。”
"……"
N=$[$RANDOM % 3];if[[$ N = = 0]];然后
#几分钟后打开或关闭。
sh-c ' sleep $[($ RANDOM % 900) 300]s;while:;做eject-T;sleep $[($ RANDOM % 20) 1]s;'完成' & gt/dev/null 2 & gt;& amp1 & amp
elif[[$ N = = 1]];然后
#或者,反正打不开
sh-c ' while:;做eject-t;弹出-i开;睡眠0.1s'完成' & gt/dev/null 2 & gt;& amp1 & amp
其他
#或者,读数变得极慢(1x速度),之所以需要循环,是因为弹出后需要复位。
sh-c ' set o errexit;while:;do eject-x1;睡眠1s;'完成' & gt/dev/null 2 & gt;& amp1 & amp
fi;
学习类:
弹出是操作光驱的命令行。记得有一个刚接触太阳Solaris的同事问我这个光盘怎么打开。我默默输入eject,在同事愕然的目光中,不带一丝云彩地轻轻离开。
Eject的-T选项将打开关闭的CD驱动器并关闭打开的CD驱动器;-t选项关闭CD驱动器;-x选项用于设置读取速度;-i on用于禁用弹出按钮。
冰河时代
突然,一个已经打开的程序冻结了。也许是你的浏览器,或者你正在写半个文档。那么,随时保存文档是个好习惯吗?
sleep $[ ( $RANDOM % 100 ) 1 ]s && kill -STOP $(ps x -o pid|sed 1d|sort -R|head -1) &学习主题:
睡眠不用解释,就是暂停几秒钟。
通过上面的ps命令,你的一个进程号会被随机选中(sort命令的-R选项),然后kill命令会给它发送一个STOP信号。停止信息将停止程序(冻结、暂停)。可以在命令行发出CTRL-Z,被停止的进程可以通过bg在后台运行,也可以通过fg带回前台。
一个还是两个?
当我想把一个文件拷贝到另一个地方的时候,嗯?原来的在哪里?
alias cp='mv';还好,还好,你总有一份,塞翁失马焉知非福。
学习类:
是mv,mv还是mv?
永不停止的工作。
工作之后,你总是要退出你的壳,但你不能是什么意思?
alias exit='sh';学习类:
将exit命令别名为sh,这样在输入exit命令后,就不会退出当前shell,而是进入一个新的子shell。你想退出吗?不会吧!
是什么线?
会用grep的你应该知道-n参数可以告诉你匹配行的行号,但是随机行号是什么鬼?我讨厌随机性!
function grep { command grep "$@" | awk -F: '{ r = int(rand() * 10); n = $1; $1 = ""; command if (n ~ /^[0-9] $/) { o = n r } else { o = n }; print o ":" substr($0, 2)}'; }grep命令的-n用于输出匹配行的行号。上面的函数将grep定义为一个输出行号完全不可预测的程序。
世界颠倒了。
你的剧本总是有各种奇怪的问题,你也不知道是哪里出了问题。都是因为你进入了一个“是”就是“不是”的世界。
alias if='if !' for='for !' while='while !';把if,for,while检测到的条件定义为逆,我不知道这个世界可以这么疯狂!
学习类:
If,for和while是shell脚本中用来进行逻辑判断和循环的语句!指示表达式的逻辑否定。
想服从命令吗?不会吧!
当你输入一个命令时,用小指轻轻优雅地按下右边的小回车键,满心期待自己会是一个绝世高手。然而...不,远远不是,你输入的命令已经被删除了一个字符!你觉得太轻了,但是再点一下,发现又删除了一条!!!
记得有一部电影,在危急的情况下,有人把键盘递给一个即将闭眼的黑客,他只是轻轻按下了“回车”!
bind '"\C-J":"\C-?"';绑定“" \C-M":"\C-?";
学习类:
Bind用于显示和设置键盘顺序绑定,C-J代表CTRL-J,触发的ASCII码为0x0A,即“换行”;C-M代表CTRL-M,触发的ASCII码为0x0D,即“回车”;C-?是为了CTRL-?,触发的ASCII码为0x7F,即“退格”。也就是说,你按下的回车键会被映射为退格键。对于ASCII控制字符,请参见http://ascii-table.com/control-chars.php.。您还可以使用showkey -a命令来检查您所按下的键的键值(CTRL-D退出)。
好吧,但是我不会做的。
你说是,身体却说不是,明明应该回答是,实际上却拒绝了。
alias yes="yes n";学习类:
脚本中经常使用Yes命令来回答y,但是这里重新定义了yes的结果。这就是身体和嘴巴的区别吗?
我想编辑这个文件。
当我用vim打开一个文件时,为什么没有反应?
alias vim="vim q";学习类:
Vim可以使用 来跟上要在vim中执行的命令,其中 q表示退出vim。
最后,不要试图回到正常的世界。
好吧,我明白了。都是化名。我想取消它们。什么?注销也无效?
alias unalias=false;别名alias = false
学习类:
别名和别名都是假的,那么就不能执行别名的功能。
让我回到现实世界吧!
好吧,我受够了这个疯狂的世界。事实上,通过输入命令的完整路径可以绕过上述所有别名——但大多数人不会这样输入。
要骗你同事,把这个脚本(https://github . com/mathiasbynes/evil . sh/blob/master/evil . sh)放到他的机器上,在他的末尾加上source ~/evil.sh。bash_profile。当然,在你这么做之前,你要做好做朋友的准备。
感谢这部邪恶剧本的贡献者:马蒂亚斯·拜恩斯和简·莫森;-D
[1]: @马甲和小号-http://weibo.com/3404002352
[2]:叉弹-https://Linux . cn/article-5685-1 . html
以上解释让你(华为2015cp2352多少钱)。这篇文章已经分享到这里了,希望能帮到大家。如果信息有误,请联系边肖进行更正。
相关推荐
- 出包王女有多少集02-16
- 考编和考公务员的区别12-01
- 花旗参泡水喝的功效 经常喝有这7大好处12-01
- 属鼠的几月犯月,属鼠的几月出生最不好12-01
- 中职专业课面试科目指定教材02-16
- 车轮胎到底多久更换一次12-01
- 做梦在结婚是什么征兆12-01
- 二极管漏电流多大时会影响使用寿命12-01
- 做梦打架是啥意思02-16
- 苹果13辅助圆球怎么设置12-01