逍遥一派 发表于 2015-1-18 11:19:25

Linux设计rm -rf 的“幸存者”仓酷云

在学习初期,你一定会遇到很多困难,或者说各种困难,所以你最好先将你linux中的重要内容备份,因为,在你学习的过程中,很可能将系统搞废(eg:源混乱等);
自娱自乐,我决意启动一台Linux服务器,然后以root用户实行“rm–rf/”命令,然后察看下哪些文件大概指令会幸存上去。了局是甚么也没少!因而你必需增添—no-preserce-root再试一遍:
1
#rm-rf--no-preserve-root/

当你按下“Enter”时,一些主要的工具,好比
1
2
3
4
5
6
7
/bin/ls
/bin/cat
/bin/chmod
/usr/bin/file

将会回声消散!可是你以后的SSH毗连和bash终端都还在,这标明一切bash相干的内建指令都没有受影响,好比echo。
成为Bash达人
1
2
3
root@rmrf:/#ls
-bash:/bin/ls:Nosuchfileordirectory

实行以上命令,发明已没有ls可用,可是echo和fileglobs还在。使用这些“幸存者”们,我们能够做点甚么呢?
1
2
3
4
5
6
7
root@rmrf:/#echo*
devprocrunsys
#echo/dev/pts/*
/dev/pts/0/dev/pts/3/dev/pts/ptmx

注重!/dev,/proc,/run,/sys还在,我们必定要保留好它们。假如有了ls指令,那末对目次下内容的读取操纵将会加倍复杂。
1
2
3
4
5
6
7
root@rmrf:/#foriiin/dev/pts/*;doecho$ii;done
/dev/pts/0
/dev/pts/3
/dev/pts/ptmx

很多Reddit用户指出,printf还是可用的。CAMH-说:printf会将参数顺次格局化到输入字符串中往。
1
root@rmrf:/#ls(){printf%sn${1:+${1%/}/}*;}

既然在bash下能够界说函数,那末我们能够自建一个ls工具,固然功效还不是很完美。
1
root@rmrf:/#ls(){printf%sn${1:+${1%/}/}*;}

1
-bash:syntaxerrornearunexpectedtoken`(

不合错误啊,这类操纵应当完整正当才对,岂非ls已被映照,大概它是其他命令的别号?
1
2
3
root@rmrf:/#typels</code>
lsisaliasedto`ls--color=auto</code>

本来云云,我们下面的指令被扩大成了ls--color=auto(){printf%sn${1:+${1%/}/}*;}。那末,我们能够先利用unalias指令,往失落ls与ls—color的联系关系。
1
root@rmrf:/#ls(){foriiin$1/*;doecho$ii;done}

1
2
3
4
5
6
7
8
9
root@rmrf:/#ls
/dev
/proc
/run
/sys

1
2
3
root@rmrf:/#ls/dev
/dev/pts

把函数存储到utils.sh文件
1
root@rmrf:/#echols(){foriiin$1/*;doecho$ii;done}>>utils.sh

1
root@rmrf:/#sourceutils.sh

cat命令怎样完成呢?借助read!read是幸存者之一,利用read分离管道和重定向,一个基础的cat就基础成型了!
1
2
3
root@rmrf:/#(whilereadline;doecho"$line";done)<utils.sh
ls(){foriiin$1/*;doecho$ii;done}

分离上述经由过程“幸存者”渐渐恢复一些指令的办法,和echo能够写进恣意多字节的特征,我们能够从头构建出linux的工具体系,并能够经由过程curl大概wget间接取得我们想要的二进制文件。起首,参照echoedbyothers,猎取busybox。Busybox是嵌进式Linux的瑞士军刀,内嵌wget,dd,tar等很多工具。Eusebe

因胸联盟 发表于 2015-1-20 20:21:21

当然你不需搭建所有服务,可以慢慢来。自己多动手,不要非等着别人帮你解决问题。

精灵巫婆 发表于 2015-1-21 10:43:15

可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。?

小女巫 发表于 2015-1-25 08:40:17

下面笔者在论坛看到的一个好问题: “安装红旗4.0后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练。

海妖 发表于 2015-1-31 07:36:58

其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。

山那边是海 发表于 2015-2-5 10:08:46

我想即使Linux高手也很难快速准确精练的回答你。

若相依 发表于 2015-2-11 08:46:22

Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。

灵魂腐蚀 发表于 2015-2-27 21:38:19

一些显而易见的小错误还是用vi改正比较方便。以后的大一点的程序就得在Linux下调试了,因为有的头文件在VC里面说找不到。?

再见西城 发表于 2015-2-28 03:42:14

一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。

小妖女 发表于 2015-3-9 20:34:49

甚至目前许多应用软件都是基于它的。可是没有哪一个系统是十分完美的。

第二个灵魂 发表于 2015-3-11 01:23:51

随着Linux技术的更加成熟、完善,其应用领域和市场份额继续快速增大。目前,其主要应用领域是服务器系统和嵌入式系统。然而,它的足迹已遍布各个行业,几乎无处不在。

再现理想 发表于 2015-3-17 17:50:05

我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。

小魔女 发表于 2015-3-24 15:45:50

对于英语不是很好的读者红旗 Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。
页: [1]
查看完整版本: Linux设计rm -rf 的“幸存者”仓酷云