Linux命令行佷有用、很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候.这篇文章并不打算引来你对Linux或linux命令行的愤怒.我们只是想让你意识到在你运行某些命令时应该三思而后行.(译注:当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药;在普通用户身份下,破坏的只是自己的一亩三分地.)
① 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参数前一定考虑好你在做什么!译者本人有着血泪的教训啊.)
这就是个fork炸弹的实例.具体操作是通过定义一个名为':'的函数,它会调用自己两次,一次在前台另一次运行在后台.它会反复的执行下去直到系统崩溃.
:(){:|:};:哦?你确认你要试试么?千万别在公司正式的服务器上实验啊~~
上列命令会将某个'命令'的输出写到块设备/dev/sda中.该操作会将在块设备中的所有数据块替换为命令写入的原始数据,从而导致整个块设备的数据丢失.
这个命令会移动某个'文件夹'到/dev/null.在Linux中/dev/null或null设备是一个特殊的文件,所有写入它的数据都会被清除,然后返回写操作成功.(译注:这就是黑洞啊.当然,要说明的是,通过将文件夹移动到黑洞,并不能阻止数据恢复软件的救赎,所以,真正的彻底毁灭,需要采用专用的软件或者手法来完成——我知道你肯定有些东西想删除得干干净净的.)
# mv /home/user/* /dev/null上列命令会将User目录所有内容移动到/dev/null,这意味着所有东西都被'卷入'黑洞 (null)之中.
上列命令常用来清空文件内容(译注:通常也用于记录命令输出.不过请在执行前,确认输出的文件是空的或者还不存在,否则原来的文件可真是恢复不了了——连数据恢复软件都未必能帮助你了.另外,我想你可能真正想用的是"",即累加新的输出到文件,而不是刷新那个文件.).如果用上列执行时输入错误或无知的输入类似" xt.conf" 的命令会覆盖配置文件或其他任何的系统配置文件.
上列命令会向块设备sda写入随机的垃圾文件从而擦出数据.当然!你的系统可能陷入混乱和不可恢复的状态.(译注:记得上面说过mv到黑洞并不能彻底删除数据么?那么这个命令就是给了你一个彻底删除的方法!当然为了保险起见,你可以覆写多次.)
①.0.隐藏命令
下面的命令其实就是上面第一个命令(rm -rf).这里的代码是隐藏在十六进制里的,一个无知的用户可能就会被愚弄.在终端里运行下面命令可能会擦除你的根分区.
char esp[] __attribute__ ((section(".text"))) /* e.s.p
release */
="euml;[1Agrave;PTZ?ìdh″
"yuml;yuml;yuml;yuml;hszlig;ETH;szlig;Ugrave;h?″
"szlig;h'szlig;Ograve;T^//″
"V/V/V?Auml;tV″
"sVSTY'Iacute;1″
"n/sh-c″
在执行fsck命令时,fsck命令如果发现有孤立的文件或目录,这些孤立的文件或目录对于系统管理员或用户来说,就无法访问到它,因为它与它的上级目录失去了关联.
如果不允许fsck把这些孤立的文件或目录找回来的话,那么fsck命令就会破坏这些文件或目录,彻底丢失这些文件或目录,用户或系统管理员永远也无法找回它们了.
扩展资料
Linux主要被用作服务器的操作系统,因为它的廉价、灵活性及Unix背景.传统上,以Linux为基础的"LAMP(Linux,Apache,MySQL,Perl/PHP/Python的组合)"技术,除了已在开发者群体中广泛流行,它提供网站服务供应商最常使用的平台.
基于其低廉成本与高度可设置性,Linux常常被应用于嵌入式系统,例如机顶盒、移动电话及移动装置等.在移动电话上,Linux已经成为Symbian OS的主要竞争者;而在移动装置上,则成为Windows CE与Palm OS外之另一个选择.
TiVo数码摄影机使用了经过客制化后的Linux.此外,有不少硬件式的网络防火墙及路由器,例如部分LinkSys的产品,其内部都是使用Linux来驱动、并采用了操作系统提供的防火墙及路由功能.
而随着OLPC的XO-1,华硕的Eee PC等低价电脑的推行,许多人乐观的认为在低端PC市场,linux的市场占有率正在快速的增长.
但在Windows进入此一市场后,Linux的市占率快速下滑.现在Windows系统在所有的PC市场中,都占有绝对优势.
主要用途:虚拟化,数据库服务器,Web服务器,应用服务器,跳转盒(Jump box),日志服务器,开发平台,Google搜索设备,入侵检测系统.
linux系统下用ls命令列出当前目录下的文件.
ls 命令将每个由 Directory 参数指定的目录或者每个由 File 参数指定的名称写到标准输出,以及您所要求的和标志一起的其它信息.如果不指定 File 或 Directory 参数, ls 命令显示当前目录的内容.
ls运行时可指定下列参数,
-a 列出目录下的所有文件,包括以 . 开头的隐含文件.
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出.
-c 输出文件的 i 节点的修改时间,并以此排序.
-d 将目录象文件一样显示,而不是显示其下的文件.
-e 输出时间的全部信息,而不是输出简略信息.
-f -U 对输出的文件不排序.
-g 无用.
-i 输出文件的 i 节点的索引信息.
-k 以 k 字节的形式表示文件的大小.
-l 列出文件的详细信息.
-m 横向输出文件名,并以","作分格符.
-n 用数字的 UID,GID 代替名称.
-o 显示文件的除组信息外的详细信息.
-p -F 在每个文件名后附上一个字符以说明该文件的类型,"*"表示可执行的普通
接字(sockets).
-q 用?代替不可输出的字符.
-r 对目录反向排序.
-s 在每个文件名后输出该文件的大小.
-t 以时间排序.
-u 以文件上次被访问的时间排序.
-x 按列输出,横向排序.
-A 显示除 "."和".."外的所有文件.
-B 不输出以 "~"结尾的备份文件.
-C 按列输出,纵向排序.
-G 输出文件的组的信息.
-L 列出链接文件名而不是链接到的文件.
-N 不限制文件长度.
-Q 把输出的文件名用双引号括起来.
-R 列出所有子目录下的文件.
-S 以文件大小排序.
-X 以文件的扩展名(最后一个 . 后的字符)排序.
-1 一行只输出一个文件.
以上就是土嘎嘎小编为大家整理的linux执行多命令相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!