文章目录
base64
python 的base64.decodestring方法做base64解码时报错。
bash
Traceback (most recent call last):
File "/export/www/outofmemory.cn/controllers/user.py", line 136, in decryptPassword
encryptPwd = base64.b64decode(encryptPwd)
File "/usr/lib/python2.7/base64.py", line 76, in b64decode
raise TypeError(msg)
TypeError: Incorrect padding
python
def decode_base64(data):
"""Decode base64, padding being optional.
:param data: Base64 data as an ASCII byte string
:returns: The decoded byte string.
"""
missing_padding = 4 - len(data) % 4
if missing_padding:
data += b'='* missing_padding
return base64.decodestring(data)
awk、sed 命令
bash
awk 'BEGIN{sum=0}{sum+=\$1}END{print sum}' test.txt
sed -F '\t' a.txt b.txt > test.txt
相同行合并并求和
awk 'BEGIN{FS=OFS="|"}{a[$2]+=$1;b[$2]=b[$2]$NF"/"}END{for(i in a)print a,i,b}' file
tar 命令
root@linux \~\]# tar \[-cxtzjvfpPN\] 文件与目录 ....
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
### yum 安装rpm 命令
```bash
yum -y install ruby rubygems ruby-devel rpm-build.x86_64
```
安装ruby模块
```bash
yum -y install ruby rubygems ruby-devel
```
查看当前使用的rubygems仓库
```bash
gem sources list
```
添加淘宝的Rubygems仓库,外国的源慢,移除原生的Ruby仓库
```bash
gem sources --remove http://rubygems.org/
gem sources -a https://upyun.gems.ruby-china.org
```
安装fpm,gem从rubygem仓库安装软件类似yum从yum仓库安装软件。首先安装低版本的json,高版本的json需要ruby2.0以上,然后安装低版本的fpm,够用。
```bash
gem install json -v 1.8.3
gem install fpm -v 1.3.3
```
上面的2步安装仅适合CentOS6系统,CentOS7系统一步搞定,即gem install fpm
创建工作目录:
```bash
mkdir /tmp/1/opt/elasticsearch/ -p
```
拷贝文件
```bash
cp -r /opt/elasticsearch/* /tmp/1/opt/elasticsearch/
```
编写删除脚本,命名为/tmp/remove_after.sh,内容为:
```bash
#!/bin/bash
rm -rf /opt/elasticsearch
```
创建rpm包:
```bash
fpm -s dir -t rpm -n elasticsearch -v 5.2.0 --iteration 1.el6 -C /tmp/1 -p /root --post-uninstall /tmp/remove_after.sh -d 'gcc,gcc-c++'
```
之后在/root目录下生成包/root/elasticsearch-5.2.0-1.el6.x86_64.rpm
#### 参数详解
-s 指定源类型 dir: 将目录打包成所需要的类型,可以用于源码编译安装的软件包
-t 指定目标类型 rpm: 转换为rpm包
-n 指定包的名字 elasticsearch
-v 指定版本 5.2.0
--iteration 指定打包次数 1
-C 指定打包的绝对路径 /tmp/1
-d 指定依赖包 gcc
-p 输出的安装包的目录,不想放在当前目录下就需要指定 /root
--post-uninstall 软件包卸载完成之后所要运行的脚本;同--offer-remove
### git 命令
执行Git命令时出现各种 SSL certificate problem 的解决办法
```bash
#set GIT_SSL_NO_VERIFY=true git clone
git config --global http.sslVerify false
linux:
env GIT_SSL_NO_VERIFY=true git push
在本机git bash中执行如下命令,可生成秘钥:
ssh-keygen -t rsa -C "jixiaoguang@ict.ac.cn"
-------------------------------------------------------------------------------------------------------
本地命令
git 查看命令
git status 查看状态
git init 初始化仓库(在目录内部)
删除.git目录,则可以删除仓库
git add