[Python]linux自己定义Python脚本命令
在window下写好的程序配置到Linux上,要实现随意文件夹下的命令调用。
因为初学Linux,这里从文件传输等最主要的方法入手,记录配置的过程中遇到的各种问题。
连接远端server
这里使用putty这个工具,用SSH方法连上远端server
传输文件
使用FTP传输,这里用filezilla作为本地server,图形化界面,方便快捷
安装文件中引用的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 +參数