操作系统:分享6 个“吓人”的 Linux 命令

目录

1、crypt

2、kill

3、shred

5、at midnight

6、daemons


1、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命令不鼓励这么做。

2、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

3、shred

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

$ shred dupes.txt

$ more dupes.txt

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

4、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

5、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> <EOT>

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

6、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

posted @   天使不哭  阅读(6)  评论(0编辑  收藏  举报  
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2020-01-07 SpringBoot:搭建第一个Web程序
2019-01-07 为什么数据库字段尽可能用NOT NULL,而不是NULL
2019-01-07 为什么数据库字段尽可能用NOT NULL,而不是NULL
2019-01-07 为什么数据库字段尽可能用NOT NULL,而不是NULL
2018-01-07 什么时候应该避免写代码注释?
2018-01-07 什么时候应该避免写代码注释?
2018-01-07 什么时候应该避免写代码注释?
点击右上角即可分享
微信分享提示