本文转载于其它网站,原作者如有问题,请您及时联系我,及时删除!

哪些Linux命令会让人联想到妖魔鬼怪?不妨好好瞧一瞧!

每年一度的万圣节马上就要到来,是时候稍微关注一下Linux那吓人的一面了。哪些Linux命令会让人联想到鬼、巫婆和僵尸?哪些命令又会助长恶作剧精神?

crypt

好吧,我们一直都有crypt。顾名思义,crypt不是存放垃圾文件的地宫或墓坑,而是加密文件内容的命令。如今,“crypt”通常作为一个脚本而实现:通过调用一个名为mcrypt的二进制程序,模拟较旧的crypt命令,从而发挥其功用。直接使用mycrypt命令是一种更好的选择。

$ mcrypt x

Enter the passphrase (maximum of 512 characters)

Please use a combination of upper and lower case letters and numbers.

Enter passphrase:

Enter passphrase:

File x was encrypted.

请注意:mcrypt命令会创建第二个文件,其扩展名是“.nc”。它并不覆盖你在加密的文件。

mcrypt命令有密钥大小和加密算法方面的选项。你还可以指定密钥作为一个选项,不过mcrypt命令不鼓励这么做。

kill

还有kill命令——当然这并不是指谋杀,而是指我们用来终止进程的命令,终止的方式有多强硬取决于需要什么来适当地终止它们。当然,Linux并不就此止步。相反,它有各种各样的kill命令来用于你的命令行。我们有kill、pkill、killall、killpg、rfkill、skill(参阅es-kill)、tgkill、tkill和xkill。

$ killall runme

[1] Terminated ./runme

[2] Terminated ./runme

[3]- Terminated ./runme

[4]+ Terminated ./runme

shred

Linux系统还支持一种名为shred的命令。shred命令覆盖文件以隐藏以前的内容,并确保无法使用硬盘恢复工具来恢复它们。请记住:rm命令基本上只是删除目录文件中的文件引用,但不一定从磁盘上擦除内容或覆盖内容。shred命令才是覆盖文件的内容。

$ shred dupes.txt

$ more dupes.txt

▒oΛ▒▒9▒lm▒▒▒▒▒o▒1־▒▒f▒f▒▒▒i▒▒h^}&▒▒▒{▒▒

zombies

虽然zombies(僵尸进程)不是一个命令,但它在Linux系统上却根深蒂固。zombies基本上是没有被完全清除的死亡进程的残骸。进程不应该以这种方式运行——任由死亡进程逗留,而不是仅仅让它们死亡、进入数字天堂,所以zombies的存在表明了留下它们的进程存在某种缺陷。

检查你的系统是否有僵尸进程残留下来,一个简单的方法就是查看top命令的标题行。

$ top

top - 18:50:38 up 6 days, 6:36, 2 users, load average: 0.00, 0.00, 0.00

Tasks: 171 total, 1 running, 167 sleeping, 0 stopped, 3 zombie <==

%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 99.9 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st

KiB Mem : 2003388 total, 250840 free, 545832 used, 1206716 buff/cache

KiB Swap: 9765884 total, 9765764 free, 120 used. 1156536 avail Mem

好吓人!上面显示有三个僵尸进程。

at midnight

据说万圣节晚上,死人的灵魂会从日落一直游荡到深夜。Linux让用户可以借助“at midnight”命令跟踪是否已离开。at用来安排下一次指定时间到来时就运行的任务,工作方式类似一次性计划任务(cron)。

$ at midnight

warning: commands will be executed using /bin/sh

at> echo 'the spirits of the dead have left'

at>

job 3 at Thu Oct 31 00:00:00 2017

daemons

Linux系统还高度依赖守护进程(daemon)——这种进程在后台运行,提供了系统的许多功能。许多守护进程的名称以“d”结尾。这个“d”代表“daemon”,它表明该进程一直运行,支持某种重要功能。另一些守护进程则将“daemon”这个单词拼出来。

$ ps -ef | grep sshd

root 1142 1 0 Oct19 ? 00:00:00 /usr/sbin/sshd -D

root 25342 1142 0 18:34 ? 00:00:00 sshd: shs [priv]

$ ps -ef | grep daemon | grep -v grep

message+ 790 1 0 Oct19 ? 00:00:01 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation

root 836 1 0 Oct19 ? 00:00:02 /usr/lib/accountsservice/accounts-daemon

那些吓人的 Linux 命令的更多相关文章

  1. Linux实战教学笔记04:Linux命令基础

    第四节:Linux命令基础 标签(空格分隔):Linux实战教学笔记 第1章 认识操作环境 root:当前登陆的用户名 @分隔符 chensiqi:主机名 -:当前路径位置 用户的提示符 1.1 Li ...

  2. 像黑客一样使用 Linux 命令行

    前言 之前在博客园看到一篇介绍 IntelliJ IDEA 配置的文章,它里面用的是 gif 动态图片进行展示,我觉得很不错.所以在我今天以及以后的博文中,我也会尽量使用 gif 动图进行展示.制作 ...

  3. 11 个很少人知道但很有用的 Linux 命令

    Linux命令行吸引了大多数Linux爱好者.一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务.Linux命令和它们的转换对于Linux用户.Shell脚本程序员和管理员来说是最有 ...

  4. Linux命令随笔

    Linux命令总结 man ==命令帮助; help ==命令的帮助(bash的内置命令); ls ==list,查看目录列表; -ld:查看目录权限; -l:(long)长格式显示属性; -F:给不 ...

  5. linux命令在线手册

    下面几个网址有一些 Linux命令的在线手册,而且还是中文的,还可以搜索.非常方便 Linux命令手册 Linux命令大全 Linux中文man在线手册 每日一linux命令

  6. 常用的一些linux命令

    最近接触到一些linux环境部署的事情,下面分享一些最近使用的比较频繁的一些linux命令~ 1.一次性移动多个文件到一个文件夹里 mv  被移动文件名 -t 目标文件夹 如:mv a.txt b.t ...

  7. 测试或运维工作过程中最常用的几个linux命令?

     大家在测试工作过程中,可能会遇到需要你去服务器修改一些配置文件,譬如说某个字段的值是1 则关联老版本,是0则关联新版本,这时候你可能就需要会下vi的命令操作:或者查看session设置的时长,可能需 ...

  8. 每天一个 Linux 命令(21):find命令之xargs

    在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...

  9. 在windows下使用linux命令,GnuWin32的使用.

    http://sourceforge.net/projects/getgnuwin32 使用过linxu的伙计估计都会喜欢上linux各种各样强大的命令如:grep, sed,awk,diff和pat ...

随机推荐

  1. 【数据库开发】 C连接mysql——常用的函数

    转载:http://blog.chinaunix.net/uid-26758020-id-3288633.html 1.MYSQL *mysql_init(MYSQL *mysql)    为mysq ...

  2. C# checked和unchecked 关键字详解

    checked 和 unchecked关键字用来限定检查或者不检查数学运算溢出的:如果使用了checked发生数学运算溢出时会抛出OverflowException:如果使用了unchecked则不会 ...

  3. php iconv实现编码转换

    php iconv实现编码转换 <pre><?php $content = iconv('GB2312', 'UTF-8//IGNORE', $content); ?> < ...

  4. Asp.Net Core 自定义验证属性

    很多时候,在模型上的验证需要自己定义一些特定于我们需求的验证属性.所以这一篇我们就来介绍一下怎么自定义验证属性. 我们来实现一个验证邮箱域名的自定义验证属性,当然,最重要的是需要定义一个继承自Vali ...

  5. Beanshell post processor写文件

    byte[] responseData = prev.getResponseData().; private String filePath = "F:/test.txt"; Bu ...

  6. 【51nod】1602 矩阵方程的解

    [51nod]1602 矩阵方程的解 这个行向量显然就是莫比乌斯函数啦,好蠢的隐藏方法= = 然后我们尝试二分,二分的话要求一个这个东西 \(H(n) = \sum_{i = 1}^{n} \mu(i ...

  7. java日志框架系列(7):logback框架Layout详解

    1.Layout layout从字面意思来看就是排版.布局咯. 1.Layout简介 功能:负责把事件转换成字符串.Layout接口的格式化方法doLayout()负责将代表任何类型的事件的转换成一个 ...

  8. MyEclipse开发第一个java程序HelloWorld

    [学习笔记] 用MyEclipse开发第一个java程序: 我们先看看一个具体例子,给你们有个先入为主的感觉. 步骤一:在Eclipse开发工具中我们New一个java项目, 如图2_1 图2_1 步 ...

  9. oracle经典查询语句

    1. select * from emp;   2. select empno, ename, job from emp;   3. select empno 编号, ename 姓名, job 工作 ...

  10. NHiberante从.net framework转移到.net standard(.net core 2.2)时遇到的坑及填坑

    在.net framework中的创建session代码先贴一个 public class SessionBuilder { private static ISessionFactory _sessi ...