iterm2 使用 rz、sz 的方法

如果没有额外的设置,iterm2 使用 rzsz 的时候会卡在

waiting to receive.**B0100000023be50

这个时候就需要使用iterm2提供的trigger来实现rzsz的功能。

第一步:本机安装rzsz

使用rzsz之前本地也需要安装

brew install lrzsz

如果没有安装brew,请先安装brew,mac必备的包管理器!

第二步:创建发送和接收脚本

发送文件的脚本如下,可以复制下面的内容,保存在 /usr/local/bin/iterm2-send-zmodem.sh中。

#!/bin/bash
# Author: Matt Mastracci (matthew@mastracci.com)
# AppleScript from http://stackoverflow.com/questions/4309087/cancel-button-on-osascript-in-a-bash-script
# licensed under cc-wiki with attribution required
# Remainder of script public domain

osascript -e 'tell application "iTerm2" to version' > /dev/null 2>&1 && NAME=iTerm2 || NAME=iTerm
if [[ $NAME = "iTerm" ]]; then
    FILE=`osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose file with prompt "Choose a file to send"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"`
else
    FILE=`osascript -e 'tell application "iTerm2" to activate' -e 'tell application "iTerm2" to set thefile to choose file with prompt "Choose a file to send"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"`
fi
if [[ $FILE = "" ]]; then
    echo Cancelled.
    # Send ZModem cancel
    echo -e \\x18\\x18\\x18\\x18\\x18
    sleep 1
    echo
    echo \# Cancelled transfer
else
    /usr/local/bin/sz "$FILE" -e -b
    sleep 1
    echo
    echo \# Received $FILE
fi
vim /usr/local/bin/iterm2-send-zmodem.sh
chmod +x /usr/local/bin/iterm2-send-zmodem.sh

接收文件的脚本如下,同样可以复制保存在/usr/local/bin/iterm2-recv-zmodem.sh

#!/bin/bash
# Author: Matt Mastracci (matthew@mastracci.com)
# AppleScript from http://stackoverflow.com/questions/4309087/cancel-button-on-osascript-in-a-bash-script
# licensed under cc-wiki with attribution required
# Remainder of script public domain

osascript -e 'tell application "iTerm2" to version' > /dev/null 2>&1 && NAME=iTerm2 || NAME=iTerm
if [[ $NAME = "iTerm" ]]; then
    FILE=`osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose folder with prompt "Choose a folder to place received files in"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"`
else
    FILE=`osascript -e 'tell application "iTerm2" to activate' -e 'tell application "iTerm2" to set thefile to choose folder with prompt "Choose a folder to place received files in"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")"`
fi

if [[ $FILE = "" ]]; then
    echo Cancelled.
    # Send ZModem cancel
    echo -e \\x18\\x18\\x18\\x18\\x18
    sleep 1
    echo
    echo \# Cancelled transfer
else
    cd "$FILE"
    /usr/local/bin/rz -E -e -b
    sleep 1
    echo
    echo
    echo \# Sent \-\> $FILE
fi
vim /usr/local/bin/iterm2-recv-zmodem.sh<br>chmod +x /usr/local/bin/iterm2-recv-zmodem.sh

第三步:设置Trigger

teigger需要设置两个,一个实发送文件的trigger,一个是接收文件的trigger。

打开iterm2->Preferences->Profiles->Advanced->Triggers

点击Edit,点击+号,几个框分别填入下面的内容

Regular expression: \*\*B0100
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-send-zmodem.sh
 
Regular expression: \*\*B00000000000000
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-recv-zmodem.sh

最后设置好结果入如下

每次换电脑都需要设置一遍,记录下来备忘。

你可能还喜欢下面这些文章

使用expect之后无法使用rz和sz的解决方法

在机器太多的时候,我们会使用expect来自动化登录,然而使用expect之后就不能使用rz和sz了。经过一番寻找之后,发现有一个解决方案,在脚本之前增加一个export LC_CTYPE=en_US注意,这个语句放到登录脚本里面就可以了,不要放到.bash_profile里面,如果放到bash_profile里面可能你当前的终端语言都变了,中文可能会乱码。这个缺点是远程机器里面的中文可能会乱码了,如果有更好的解决方案,我会在这里更新。

Shell中的条件判断语句if的用法

shell中的if语法是最让我头疼的语法之一,它的判断就向使用USB插头一样——拿起来插入不行,翻转再插入还不行,再翻转插入行了!为了搞清楚这部分语言,我收集了一些文章关于if条件判断的用法,希望对你也有些帮助。一、基本语法if [ command ]; then 符合该条件执行的语句fiif [ command ];then 符合该条件执行的语句elif [ command ];then 符合该条件执行的语句else 符合该条件执行的语句fi语法说明bash shell会按顺序执行if语句,如果command执行后且它的返回状态是0,则会执行符合该条件执行的语

sublime安装插件的方法

sublime安装插件非常简单。主要方式有两种1.直接安装打开菜单栏里的“Preferences”—>”Browse Packages”,打开包的位置 2.通过Package Control来安装如果没有安装package control,那么可以查看这篇文章:sublime安装package control,让插件安装更简单已经安装package control的,点击菜单栏的“Preferences”–>”Package Control”,或者可以使用快捷键ctrl+shift+p 打开(mac使用cmd+shift+p)。在打开的终端窗口,输入“install

股票获取接口

最近开始研究股票了,自己一个一个的去看,几千支股票完全看不过来啊,想着自己写一个程序,让程序来看股票吧!

股票接口

首先我们需要得到所有的股票代码,好在已经有网页帮我们列出了所有的股票名称和代码,地址是:

http://quote.eastmoney.com/stocklist.html

通过这个页面,就可以抓取了。抓取之后我们就可以存入mysql中,每一个股票可以存一张表,而每一张表中则可以存入股票的动态数据。

这里我们只能获取到一些最简单的数据,一些更加详细的数据还需要获取,这里需要使用一个腾讯财经的接口 (更多…)

一些比较好看的移动端页面

1.比较清新的图文移动端首页 http://huiyi.csdn.net/

2.头条类型的文章  http://geek.csdn.net/

3.起点小说移动站点 http://m.qidian.com/

你可能还喜欢下面这些文章

js保存用户自定义的样式重新载入会闪烁的解决方案

在制作一个页面的时候,有需要前台js保存用户自定义的样式的需求,但是保存之后,重新刷新页面,会显示原来的样式,然后再变更为现在的自定义的样式。这是一个有闪烁的例子,点击打开保存样式之后,再重新强制刷新几次,可以看到页面在载入的时候会出现闪烁的情况。强迫症患者表示这不能接受,页面这么小的情况都闪烁的这么厉害,这页面大了,加载速度慢了,自定义样式还得等着加载完成之后才能显示,就失去了自定义的意义了。上面的闪烁是可以理解的,css渲染完成之后,js给body增加了一个class,浏览器又会重新渲染,因此会出现短暂的闪烁那么在渲染到head的时候,此时再用js给head标签里面增加css呢?这样不就在

常用js的公共cdn,加速网站

sinaapphttp://lib.sinaapp.com/bootcdnhttp://www.bootcdn.cn/360的http://libs.useso.com/js.php

shell 变量的定义

shell可以自定义变量,这为shell的编写带来很多方便定义变量定义变量时,变量名不加美元符号($),如:variableName=”value”注意:变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样同时,变量名的命名须遵循如下规则。首个字符必须为字母(a-z,A-Z)。中间不能有空格,可以使用下划线(_)。不能使用标点符号。不能使用bash里的关键字(可用help命令查看保留关键字)。变量定义举例:myUrl=”http://imhuchao.com/tag/bash”myNum=100使用变量使用一个定义过的变量,只要在变量名前面加美元符号($)即可,如:your_nam

wordpress慢了,来用memcache和cdn加速一下吧

我用的vps,用了wordpress之后速度慢了不少,内存,cpu,涨的都厉害,很直观。于是,写插件吧,虽然wordpress的插件很多,缓存插件也不少,但满足我的需求的却是没有。我要的是这样的1.使用memcache缓存整个页面。(memcache可压缩缓存,并且我的页面并不多,因此占用并不大)2.在入口处就加载并且使用缓存(仅仅加载一个我预定义的缓存读取php文件,io极少,速度极快)需求很少,因为是特定的需求,十分简单,我要的就是整个页面都跑在内存中!写插件吧……几天之后,一个插件完成了。hccache缓存插件加速后台菜单是酱紫的hccache菜单点开之后是酱紫的能够定义缓存过期

nginx日志分析以及常用的命令

获得访问前10位的ip地址 cat access.log|gawk ‘{print $1}’ |sort|uniq -c|sort -nr |head -10访问次数最多的文件或页面 cat access.log|gawk ‘{print $11}’|sort|uniq -c|sort -nr通过子域名访问次数,依据referer来计算,稍有不准 cat access.log | awk ‘{print $11}’ | sed -e ‘ s/http:\/\///’ -e ‘ s/\/.*//’ | sort | uniq -c | sort -rn | head -20列出传输大小最大的几个

分析评价是好评还是差评的算法

问题引入

一个有经验的网购者能够靠大脑思维能判断一个评价的是好评还是差评,但是一个网购新人却很难分辨的。如果让一个有经验的网购者说出他判断评价的过程,那是否就可以将这种思维用计算机模拟呢?是否也能够精确地判断这个评价到底是隐含着好的评价还是差的评价呢?

评价分类

好的评价

一个好的评价,必定是经过用户使用过后,真实的感受,而在当前网购中,商家往往为了追求好评率而采用现金红包来刺激评价,这样则大大的降低了评价的真实效果。那么有效的评价特征是什么呢? (更多…)

你可能还喜欢下面这些文章

nginx日志分析以及常用的命令

获得访问前10位的ip地址 cat access.log|gawk ‘{print $1}’ |sort|uniq -c|sort -nr |head -10访问次数最多的文件或页面 cat access.log|gawk ‘{print $11}’|sort|uniq -c|sort -nr通过子域名访问次数,依据referer来计算,稍有不准 cat access.log | awk ‘{print $11}’ | sed -e ‘ s/http:\/\///’ -e ‘ s/\/.*//’ | sort | uniq -c | sort -rn | head -20列出传输大小最大的几个

TCP/IP协议中的backlog分析

TCP/IP协议卷一中是有说明设置backlog这个值的,这值是做什么的呢?大家都知道TCP建立连接时是要进行三次握手连接的,但是否三次握手完成了,服务端就进行处理了(accept)呢,如果没有处理就变成什么情况,假如没有及时accept的话,后续客户端就连接不上或连接失败。这样就谈不上吞吐量了。想必大家也认为TCP不是那么设计的。backlog其实是一个连接队列,以下是backlog队列大小公式。backlog队列总和 = 未完成三次握手队列+已经完成三次握手队列以上参数解释说明如下:未完成三次握手队列:服务器处于listen状态时收到客户端syn 报文(connect)时放入未完成队列中。

2015年9月,我的博客重新开始

从2011年开始,我便写博客了。今年,一个非常不幸的事情,我的博客被屏蔽了,那一刻的心情我无法形容,但又无可奈何。

于是我又注册了一个域名imhuchao.com,继续我的博客生活。

程序员没有博客,那便如同剑客没有酒,那是何等的寂寥!经历了这些之后,我觉得我应该把博客记录下来。那么起点就设定在今天吧,原来的数据封存起来,不做开放,或许多年之后,我翻开来,轻叹一声,哦,那是2011年我写的东西,真快啊。

好久了,应该快一年没有关注wordpress了,下载安装,再到访问后台,不到一分钟的时间。打开前台一看,哇,竟是如此的清新脱俗!

从未想到她默认的主题变得如此的好看。

(更多…)