linux中缺少tree命令解决方法-bash: tree: command not found

作者: sxdgy 分类: linux 发布时间: 2018-01-09 15:01

tree命令作用是以树状图列出目录的内容,但是安装的有些版本没有自带该命令。举个栗子,你以前喜欢玩windows的蜘蛛纸牌游戏,某次,发现自己的电脑里面没有纸牌程序,就觉得系统有问题,其实懂一点软件技术你就知道,拷贝一个蜘蛛纸牌程序就行。现在,我们来聊聊这样一个常见的问题:在linux中输入某命令后,系统提示没有这个命令,比如:bash:tree:commandnotfound.系统提示没有tree这个命令,那该怎么办呢?

首先我们必须明白linux命令的本质,大家都知道,在linux中,一切都是文件,所以命令也是文件。在这里,我们可以理解为执行tree命令就是执行tree文件(通常是可执行文件、脚本等),然后我们想办法把tree文件拷贝到系统默认目录中(需要root权限)。最后,万事大吉,tree命令可以用了。那问题是, 我们去哪里拷贝呢? 有两个方法:a. 从别的机器上拷贝;b. 编译tree对应的源代码, 生成对应的tree文件, 然后拷贝到对应的系统目录。

A方案没有啥好说的,所以本文讲解B方案:

  1. 使用wget命令下载tree命令的压缩包

# wget ftp://mama.indstate.edu/linux/tree/tree-1.7.0.tgz

2.使用tar命令解压tree的压缩包

# tar zxvf tree-1.7.0.tgz

3.进入tree文件夹并使用make编译

# cd tree-1.7.0
# make

4.你的系统可能会提示如下错误,是因为安装系统的时候使用的是最小化mini安装,系统没有安装make、vim等常用命令

gcc -ggdb -Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o tree.o tree.c
make: gcc: Command not found

5.使用yum方式安装编译器,如果还没配置yum有请参考:Linux配置本地网络YUM源

# yum -y install gcc automake autoconf libtool make

6.使用cp命令将编译好的tree拷贝到/usr/bin

# cp -af tree /usr/bin

7.再次执行tree命令,发现已经生效了

# tree
.
|-- CHANGES
|-- INSTALL
|-- doc
|   |-- tree.1
|   |-- tree.1.fr
|   `-- xml.dtd