# linux 小工具
[![LICENSE](https://img.shields.io/github/license/seekplum/plum_tools.svg)](https://github.com/seekplum/plum_tools/blob/master/LICENSE)[![travis-ci](https://travis-ci.org/seekplum/plum_tools.svg?branch=master)](https://travis-ci.org/seekplum/plum_tools)[![coveralls](https://coveralls.io/repos/github/seekplum/plum_tools/badge.svg?branch=master)](https://coveralls.io/github/seekplum/plum_tools?branch=master) [![pypi version](https://img.shields.io/pypi/v/plum_tools.svg)](https://pypi.python.org/pypi/plum_tools) [![pyversions](https://img.shields.io/pypi/pyversions/plum_tools.svg)](https://pypi.python.org/pypi/plum_tools)
## 目录结构
```text
➜ tree -L 1 -a
.
├── .bumpversion.cfg # `bumpversion`工具的配置文件,用于自动更新版本
├── .env # 环境变量配置,`不会提交到gitlab中`
├── .gitignore # 维护git仓库需要忽略文件
├── .gitlab-ci.yml # gitlab ci的配置文件
├── .pylintrc # pylint 配置文件
├── CHANGELOG.md # 记录模块的变化
├── MANIFEST.in # 打包时添加文件或移除文件等的配置
├── Pipfile # python依赖包版本文件
├── Pipfile.lock # 根据Pipfile生成的版本锁文件
├── README.md # 项目自述文件
├── VERSION # 项目版本文件
├── bin # 项目二进制程序
├── docs # 项目文档
├── plum_tools # 核心代码模块
├── setup.cfg # 安装配置文件
├── setup.py # 安装脚本
├── tasks.py # 任务执行脚本
└── tests # 单元测试目录
```
## 安装环境依赖
1.安装 pipenv
```bash
pip install pipenv
```
2.安装项目依赖环境
```bash
pipenv --two install --deploy # py2
pipenv --three install --deploy # py3
```
3.安装 Git hooks
由于钩子文件无法提交到 `.git` 中,所以在第一次 clone 项目中需要执行以下命令,把钩子放到指定位置,有两种方式,建议使用第一种
第一种
```bash
pre-commit install -t pre-commit
pre-commit install -t pre-push
```
第二种
```bash
cp -r hooks/* .git/hooks/
```
## 运行单元测试
首先需要进入我们安装的虚拟环境
```bash
pipenv shell
```
### 第一种
```bash
inv coverage
```
### 第二种
```bash
inv unittest
```
## 检查 Python 代码规范
```bash
inv check
```
## gitrepo
查找指定路径下所有被改动的git仓库
```bash
➜ ~ gitrepo -h
usage: gitrepo [-h] [-p--path PATH [PATH ...]] [-d--detail] [-t--test]
optional arguments:
-h, --help show this help message and exit
-p--path PATH [PATH ...]
The directory path to check
-d--detail display error details
-t--test run the test function
```
## pssh
通过ip简写或别名快速登录机器
```bash
➜ ~ pssh -h
usage: pssh [-h] [-t--type TYPE] [-i--identityfile IDENTITYFILE]
[-u--username USER] [-p--port PORT]
host
positional arguments:
host specify server
optional arguments:
-h, --help show this help message and exit
-t--type TYPE host type
-i--identityfile IDENTITYFILE
ssh login identityfile path
-u--username USER ssh login username
-p--port PORT ssh login port
```
## gitstash
外部传入一个branch,保存本地未提交的修改,然后切换到branch,将上次该branch保存的未提交的结果stash pop出来
```bash
➜ ~ gitstash -h
usage: gitstash [-h] branch
positional arguments:
branch specify branch
optional arguments:
-h, --help show this help message and exit
```
## pipmi
对指定机器进行远程执行ipmitool相关操作
```bash
➜ ~ pipmi -h
usage: pipmi [-h] -l HOST -s SERVERS [SERVERS ...] [-u USER] [-pass PASSWORD]
[-p--port PORT] [-i--identityfile IDENTITYFILE] [-t--type TYPE]
[-U USERNAME] [-c COMMAND] [-P PASSWORD]
optional arguments:
-h, --help show this help message and exit
-l HOST, --login HOST
specify login ip
-s SERVERS [SERVERS ...], --servers SERVERS [SERVERS ...]
specify server
-u USER, --username USER
specify username
-pass PASSWORD, --password PASSWORD
specify password
-p--port PORT ssh login port
-i--identityfile IDENTITYFILE
ssh login identityfile path
-t--type TYPE host type
-U USERNAME, --Username USERNAME
specify ipmi username
-c COMMAND, --command COMMAND
specify ipmi command
-P PASSWORD, --Password PASSWORD
specify ipmi password
```
## prn
上传文件到服务器
```bash
➜ ~ prn -h
usage: prn [-h] -s SERVERS [SERVERS ...] [-p PROJECT] [-t--type TYPE]
[-i--identityfile IDENTITYFILE] [-u--username USER] [-p--port PORT]
[-l--local LOCAL] [-r--remote REMOTE] [-d--delete DELETE]
[-e--exclude EXCLUDE [EXCLUDE ...]]
optional arguments:
-h, --help show this help message and exit
-s SERVERS [SERVERS ...], --servers SERVERS [SERVERS ...]
specify server
-p PROJECT, --project PROJECT
specify project
-t--type TYPE host type
-i--identityfile IDENTITYFILE
ssh login identityfile path
-u--username USER ssh login username
-p--port PORT ssh login port
-l--local LOCAL local path
-r--remote REMOTE remote path
-d--delete DELETE delete remote path other file
-e--exclude EXCLUDE [EXCLUDE ...]
exclude file
```
## pping
ping指定网段所有ip是否能ping通
```bash
➜ ~ pping -h
usage: pping [-h] [-t--type TYPE]
optional arguments:
-h, --help show this help message and exit
-t--type TYPE host type
```
## 详细文档
见[项目文档目录](docs/README.md)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
资源分类:Python库 所属语言:Python 资源全名:plum_tools-0.2.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源推荐
资源详情
资源评论
收起资源包目录
plum_tools-0.2.1.tar.gz (35个子文件)
plum_tools-0.2.1
MANIFEST.in 163B
PKG-INFO 555B
bin
.gitkeep 0B
plum_tools
pssh.py 3KB
conf.py 4KB
.plum_tools.yaml 378B
pping.py 2KB
gitrepo.py 4KB
compat.py 866B
__init__.py 406B
pipmi.py 12KB
prn.py 12KB
gitstash.py 4KB
utils
git.py 3KB
utils.py 6KB
sshconf.py 7KB
__init__.py 410B
printer.py 2KB
exceptions.py 1KB
tests
utils
test_utils.py 415B
test_printer.py 3KB
test_sshconf.py 7KB
__init__.py 375B
test_git.py 3KB
setup.cfg 424B
VERSION 6B
setup.py 2KB
README.md 6KB
plum_tools.egg-info
PKG-INFO 555B
requires.txt 36B
SOURCES.txt 813B
entry_points.txt 203B
top_level.txt 17B
namespace_packages.txt 11B
dependency_links.txt 1B
共 35 条
- 1
资源评论
挣扎的蓝藻
- 粉丝: 14w+
- 资源: 15万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功