在使用centos时, 要用ftp上传文件, 但是一到脚本的ftp命令就会出错:

ftp: command not found

原因是否ftp客户端没有安装上, 要重新安装一下就可以了.
解决方法,去官方进入 http://mirror.centos.org/centos/5/os/i386/CentOS/ 找到ftp的rpm package的地址然后执行安装.
5.x版本的执行:

rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/ftp-0.17-35.el5.i386.rpm
6.x版本的执行:
32位:

rpm -Uvh http://mirror.centos.org/centos/6/os/i386/Packages/ftp-0.17-54.el6.i686.rpm
64位:

rpm -Uvh http://mirror.centos.org/centos/6/os/x86_64/Packages/ftp-0.17-54.el6.x86_64.rpm
安装成功ftp命令就可以用了.

如果执行上面命令后提示以下错误信息:

libc.so.6 is needed by ftp-0.17-35.el5.i386

则可以通过命令安装依赖包glibc

rpm –Uvh http://mirror.centos.org/centos/6/os/x86_64/Packages/glibc-2.12-1.132.el6.x86_64.rpm

经测试,以上centos 6的方法使用与centos 7

准备工作 好压 pscp puttygen

1.用好压命令行打包文件(命令用法看好压官网)

“C:\program files\2345soft\haozip\HaoZipC” a -tzip d:\ftp.zip d:\ftp\*
2.运行puttygen 生成key (pscp puttygen自行到putty官网下载)
点击Generate后,鼠标在进度条下方的空白区域,随机点击或拖动或拖动画圆,生成随机key
完成后,保存public key自己命名后缀为pub以示区别。private key 会自动加后缀ppk以示区别。
我这里保存成两个 public.pub ppk.ppk

3.修改public key为openssh需要的格式

将key中的前两行和最后一行删除

—- BEGIN SSH2 PUBLIC KEY —-
Comment: “rsa-key-20170103”
—- END SSH2 PUBLIC KEY —-

删除后,在开始位置前加 ssh-rsa(空格)
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQ

然后把这几行合并成一行

4.把public.pub 拷贝到目标机器 ~/.ssh/ 目录中

查看是否有id_rsa.pub 如果有了id_rsa.pub 就把public.pub合并到其中

cat ~/.ssh/public.pub >> ~/.ssh/authorized_keys

5.经过以上步骤就可以使用一下命令(主要ppk.ppk是前面生成的私钥)

pscp -i ppk.ppk d:\ftp.zip username@your_ip:/path

6.这里提供一个bat

wscp

php mb_substr()函数是截取中文字符串的方法
substr()函数用来截取字符串,但是对于中文字符会出现问题,而mb_substr()和mb_strcut这两个函数可以
用法与substr()相似,只是在函数最后要加入多一个参数,以设定字符串的编码,使用这两个函数需要在php.ini中把php_mbstring.dll打开。
在windows中 mb_substr($string,0,4)这样都没有问题,但是在linux某些php版本中可能出现问题
为了兼容,我们要把编码到时,下面是个demo

 

';
		echo mb_substr($string,0,4,'utf-8').'...
'; echo mb_strcut($string,0,4,'utf-8').'...'; ?>

 

应用场景,多人合作开发项目的时候,我们要给别人的文件添加内容时候,首先要拉取别人的分支,下面是具体步骤

 

Administrator@AFOIH-1122 MINGW64 /d/api (master)

$ git remote -v
origin  git@github.com:test/apis.git (fetch)
origin  git@github.com:test/apis.git (push)

Administrator@AFOIH-1122 MINGW64 /d/api (master)
$ git remote add upstream https://github.com/other/apis.git

Administrator@AFOIH-1122 MINGW64 /d/api (master)
$ git remote -v
origin  git@github.com:test/apis.git (fetch)
origin  git@github.com:test/apis.git (push)
upstream        https://github.com/other/apis.git (fetch)
upstream        https://github.com/other/apis.git (push)

Administrator@AFOIH-1122 MINGW64 /d/api (master)
$ git fetch upstream
remote: Counting objects: 1, done.
remote: Total 1 (delta 0), reused 1 (delta 0), pack-reused 0
Unpacking objects: 100% (1/1), done.
From https://github.com/other/apis
 * [new branch]      master     -> upstream/master

Administrator@AFOIH-1122 MINGW64 /d/api (master)
$ git checkout master
Already on 'master'
Your branch is up-to-date with 'origin/master'.

Administrator@AFOIH-1122 MINGW64 /d/api (master)
$ git merge upstream/master
Updating 177e46d..4c9fd1a
Fast-forward

Read More →