Linux中误删tree命令的解决办法
当在linux中输入某命令后,系统提示没有这个命令,比如:bash: tree: command not found.
系统提示我们没有tree这个命令,那该怎么办呢?
在linux中,一切都是文件,相应的,命令也是文件。
我们可以理解为执行tree命令就是执行tree文件(通常是可执行文件、脚本等),然后我们想办法把tree文件拷贝到系统默认目录中(需要root权限)。最后就可以使用tree命令了。
拷贝tree文件有两个方法:
1.使用yum install命令来从网上自动下载并安装tree命令(简单粗暴,但定制性不高,无法自己设置安装路径、版本、功能等)
2.编译tree对应的源代码,生成对应的tree文件,然后拷贝到对应的系统目录。(步骤繁琐)
第一种方法:
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
基于RPM包管理,能够从指定的服务器自动下载 RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum的命令形式一般是如下:yum [options] [command] [package ...]
其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
[command]为所要进行的操作,[package ...]是操作的对象。
#sudo yum install -y tree
第二种方法步骤如下:
1.在网上下载tree命令对应的源文件(tree-1.7.0.tgz),然后tar解压:
在此为各位提供一个免费下载的网址:(至于怎么把windows上的源文件上传到Linux,请点击我的另外一篇博客《文件传输sz/rz》)
http://blog.sina.com.cn/s/blog_65ba09d90102v077.html
解压:
2. 执行make命令进行编译, 生成tree文件(可执行文件):
3. 把tree文件拷贝到/bin中:
如上是在root用户下的操作, 因为往/bin中复制东西需要root权限,复制之后, 普通用户也可以执行tree命令了。
现在可以尽情使用tree命令啦~~
测试:
root下:
其他普通用户下:
总结:
经过我对两种方法的尝试,最后我发现,貌似我用删除软件包的#rpm -e命令已经无法动摇我的软件包tree了(-_-||)
那位大兄弟能帮我解决下这个问题吗?麻烦给小弟留个言~Thanks♪(・ω・)ノ