在window下写好的程序配置到Linux上,要实现任意目录下的命令调用。
由于初学Linux,这里从文件传输等最基本的方法入手,记录配置的过程中遇到的各种问题。
连接远端服务器
这里使用putty这个工具,用SSH方法连上远端服务器
传输文件
使用FTP传输,这里用filezilla作为本地服务器,图形化界面,方便快捷
安装文件里引用的python包
wget url 命令联网下载安装包
wget http:/www.^&*&%%&
解压缩(具体可见blog:http://www.cnblogs.com/eoiioe/archive/2008/09/20/1294681.html )
在解压后的目录下安装:
python setup.py install
修改shebang
shebang:由#!开头的字符串,出现在文本文件的第一行。类UNIX操作系统的程序载入器会分析shebang后的内容,将这些内容作为解释命令,并调用该指令,并将载有shebang的文件路径作为该解释器的参数。
比如我们要运行Python程序,需要调用Python解释器,即:
python XXX.py
如果需要直接运行,在Python文件第一行键入如下shebang:
#!/usr/bin/python
shebang设为Python在Linux中的可执行程序路径。那么系统就会自动调用。
我们要找到Python的安装路径:
which Python
得到路径,写入程序shebang。
变为系统命令
现在的XXX.py还是要在当前文件夹下调用,我们希望在任何目录下都可以*调用,也就是作为一个命令来使用。需要把文件放在系统搜索命令的路径中去。
首先,把后缀去掉:(变得更像个命令)
mv XXX.py XXX
由于XXX是在windows下编辑的,需要修改文本格式:
vi XXX :set ff?
如果打印fileform = dos则需要修改,fileform = unix则不需要
修改命令:
:set ff=unix :wq
修改权限为可执行:
chmod +x XXX
放置到系统命令文件夹下
这里附带简单的Linux的系统目录体系:
/ 一级根目录
/bin 包含二进制可执行文件,为系统最基本的命令,如ls等
/sbin 与/bin 类似,不同之处是其为root权限命令文件
/usr 二级目录,包含用户相关信息
/usr/bin 用户级二进制文件,如应用等,所有用户可用
/usr/sbin 同上,不同之处是其为root权限运用。
/usr/local/bin 三级目录,用户自己的可执行文件,系统不管理。
/usr/local/sbin root权限用户程序。
具体可见wiki( http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard )
那么,我们把处理好的XXX文件放在/usr/local/bin/文件夹下即可。
由于使用这个文件夹需要root权限,使用如下命令:
sudo cp XXX /usr/local/bin/
最后测试一下。
在任意文件夹下可输入:
XXX +参数