首页 > 代码库 > [Python]linux自定义Python脚本命令

[Python]linux自定义Python脚本命令

window下写好的程序配置到Linux上,要实现任意目录下的命令调用。

由于初学Linux,这里从文件传输等最基本的方法入手,记录配置的过程中遇到的各种问题。

连接远端服务器

这里使用putty这个工具,用SSH方法连上远端服务器

传输文件

使用FTP传输,这里用filezilla作为本地服务器,图形化界面,方便快捷

安装文件里引用的python包

wget url 命令联网下载安装包

wget http:/www.^&*&%%&

解压缩(具体可见bloghttp://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设为PythonLinux中的可执行程序路径。那么系统就会自动调用。

我们要找到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 +参数