在超算上安装文件树命令tree
超算平台使用的centos系统没有内置tree命令,需要通过源码安装。记录安装流程如下。
1. 下载源码包
下载链接如下:
http://mama.indstate.edu/users/ice/tree/
选择“Download the latest version”
如本文下载了源码包“tree-2.1.0.tgz”.
2. 源码包编译生成与安装
2.1 源码包上传
将源码包上传到超算平台的任意位置。如本文将其上传到“~/software”文件夹
2.2 源码包解压
2.2.1 在命令行中cd到当前文件夹
cd ~/software
(2.2.2) 检查文件包是否存在
ll
2.2.3 解压(将压缩包名字替换为你下载的)
tar -zxvf tree-2.1.0.tgz
屏幕显示如下:
[XXXXXX ~]$ cd ~/software
[XXXXXX software]$ ll
total 64
-rw-r--r-- 1 sc50511 sc50511 59189 Mar 8 12:13 tree-2.1.0.tgz
[XXXXXX software]$ tar -zxvf tree-2.1.0.tgz
tree-2.1.0/CHANGES
tree-2.1.0/INSTALL
tree-2.1.0/LICENSE
tree-2.1.0/Makefile
tree-2.1.0/README
tree-2.1.0/TODO
tree-2.1.0/color.c
tree-2.1.0/file.c
tree-2.1.0/filter.c
tree-2.1.0/hash.c
tree-2.1.0/html.c
tree-2.1.0/info.c
tree-2.1.0/json.c
tree-2.1.0/list.c
tree-2.1.0/strverscmp.c
tree-2.1.0/tree.c
tree-2.1.0/tree.h
tree-2.1.0/unix.c
tree-2.1.0/xml.c
tree-2.1.0/doc/tree.1
tree-2.1.0/doc/xml.dtd
tree-2.1.0/doc/global_info
2.3 编译生成
2.3.1 转到tree源码文件夹
cd tree-2.1.0/
(2.3.2) 检查是否成功解压
ll tree-2.1.0/
2.3.3 编译
make
屏幕显示如下:
[XXXXXX software]$ cd tree-2.1.0/
[XXXXXX tree-2.1.0]$ ll
total 480
-rw-r--r-- 1 sc50511 sc50511 21406 Dec 27 00:11 CHANGES
-rw-r--r-- 1 sc50511 sc50511 16158 Dec 27 03:13 color.c
-rw-rw-r-- 1 sc50511 sc50511 25856 Mar 8 12:13 color.o
drwxrwxr-x 2 sc50511 sc50511 4096 Mar 8 12:13 doc
-rw-r--r-- 1 sc50511 sc50511 6364 Dec 25 01:15 file.c
-rw-rw-r-- 1 sc50511 sc50511 10360 Mar 8 12:13 file.o
-rw-r--r-- 1 sc50511 sc50511 3993 Dec 12 00:04 filter.c
-rw-rw-r-- 1 sc50511 sc50511 5016 Mar 8 12:13 filter.o
-rw-r--r-- 1 sc50511 sc50511 3118 Jun 16 2022 hash.c
-rw-rw-r-- 1 sc50511 sc50511 3736 Mar 8 12:13 hash.o
-rw-r--r-- 1 sc50511 sc50511 6669 Dec 12 01:13 html.c
-rw-rw-r-- 1 sc50511 sc50511 14128 Mar 8 12:13 html.o
-rw-r--r-- 1 sc50511 sc50511 4669 Dec 12 00:02 info.c
-rw-rw-r-- 1 sc50511 sc50511 5784 Mar 8 12:13 info.o
-rw-r--r-- 1 sc50511 sc50511 597 Dec 2 12:40 INSTALL
-rw-r--r-- 1 sc50511 sc50511 5927 Dec 5 06:30 json.c
-rw-rw-r-- 1 sc50511 sc50511 10096 Mar 8 12:13 json.o
-rw-r--r-- 1 sc50511 sc50511 18009 Aug 13 2004 LICENSE
-rw-r--r-- 1 sc50511 sc50511 7251 Dec 25 02:06 list.c
-rw-rw-r-- 1 sc50511 sc50511 9672 Mar 8 12:13 list.o
-rw-r--r-- 1 sc50511 sc50511 2936 Dec 27 03:15 Makefile
-rw-r--r-- 1 sc50511 sc50511 9028 Dec 27 03:29 README
-rw-r--r-- 1 sc50511 sc50511 5346 Apr 14 2021 strverscmp.c
-rw-rw-r-- 1 sc50511 sc50511 920 Mar 8 12:13 strverscmp.o
-rw-r--r-- 1 sc50511 sc50511 853 Dec 21 2021 TODO
-rwxrwxr-x 1 sc50511 sc50511 86104 Mar 8 12:13 tree
-rw-r--r-- 1 sc50511 sc50511 39412 Dec 25 09:01 tree.c
-rw-r--r-- 1 sc50511 sc50511 8677 Dec 12 01:12 tree.h
-rw-rw-r-- 1 sc50511 sc50511 60056 Mar 8 12:13 tree.o
-rw-r--r-- 1 sc50511 sc50511 3166 Jun 16 2022 unix.c
-rw-rw-r-- 1 sc50511 sc50511 6128 Mar 8 12:13 unix.o
-rw-r--r-- 1 sc50511 sc50511 5039 Dec 5 06:36 xml.c
-rw-rw-r-- 1 sc50511 sc50511 8656 Mar 8 12:13 xml.o
[XXXXXX tree-2.1.0]$ make
gcc -O3 -std=c11 -pedantic -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o tree.o tree.c
gcc -O3 -std=c11 -pedantic -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o list.o list.c
gcc -O3 -std=c11 -pedantic -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o hash.o hash.c
gcc -O3 -std=c11 -pedantic -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o color.o color.c
gcc -O3 -std=c11 -pedantic -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o file.o file.c
gcc -O3 -std=c11 -pedantic -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o filter.o filter.c
gcc -O3 -std=c11 -pedantic -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o info.o info.c
gcc -O3 -std=c11 -pedantic -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o unix.o unix.c
gcc -O3 -std=c11 -pedantic -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o xml.o xml.c
gcc -O3 -std=c11 -pedantic -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o json.o json.c
gcc -O3 -std=c11 -pedantic -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o html.o html.c
gcc -O3 -std=c11 -pedantic -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c -o strverscmp.o strverscmp.c
gcc -o tree tree.o list.o hash.o color.o file.o filter.o info.o unix.o xml.o json.o html.o strverscmp.o
2.4 安装
将编译生成的可执行文件tree拷贝到用户bin文件夹中
cp tree ~/bin
注意:由于超算中用户不具管理者权限,所以只能将可执行程序安装到用户目录~/bin
下,而非其他网站教程显示的/bin
目录下。
此时即可在任意位置输入
tree
显示文件树。