ITerm中使用lrzsz

配置lrzsz

在此之前你必须要安装iTerm2,然后:

brew install lrzsz

下载iterm2-zmodem:

cd /usr/local/bin
sudo wget https://raw.github.com/mmastrac/iterm2-zmodem/master/iterm2-send-zmodem.sh
sudo wget https://raw.github.com/mmastrac/iterm2-zmodem/master/iterm2-recv-zmodem.sh
sudo chmod 777 /usr/local/bin/iterm2-*

打开Item2,点击preferences → profiles,选择某个profile,如Default,之后继续选择advanced → triggers,添加编辑添加如下triggers:

Regular expression: rz waiting to receive.\*\*B0100
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-send-zmodem.sh
Instant: checked

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

也可以去这里查看:https://github.com/mmastrac/iterm2-zmodem

FFmpeg实用命令

FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件。 别看这东西只有几十Mb,但却是个能格式转换、剪辑、播放几乎无所不能的命令行软件。 就如格式工厂,其核心也是FFmpeg。 在专业领域常被部署在服务端,用以做云端视频相关服务。 如七牛云存储就是利用FFmpeg来完成各种格式转换的。 其官方网址为:FFmpeg.org。 在那里可以下载到各种主流电脑平台的FFmpeg程序。

FFmpeg主要包含四个程序:

ffmpeg 主要用于对媒体文件的内容进行操作,如格式转换等,是最主要的部件
ffplay 简易播放器,虽然没有什么UI,但是能播放各种格式的视频
ffprobe 用于探查媒体文件的属性,如meta标签等,可以选择输出JSON或XML格式
ffserver 流媒体服务器,不可多得的免费流媒体服务器软件,可用于架设视频直播
FFmpeg除了提供可运行程序,还提供一套libav多媒体处理C库,可集成到别的软件当中提供多媒体文件解码、编码等功能。

继续阅读→

使用 shell从 apnic 获取中国 IP 段

先抄一段 copy 过来的 shell代码

#!/bin/bash
wget http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest
FILE=delegated-apnic-latest
grep "apnic|CN|ipv4" $FILE | awk -F "|" '{print $4,$5}' > IP.txt
AB=`cat IP.txt | wc -l`
pow=32
i=1
while(($i<=$AB));do
        IP=`sed -n ${i}p IP.txt | awk '{print $1}'`
        HOST=`sed -n ${i}p IP.txt | awk '{print $2}'`
        ERHOST=`echo "obase=2;$HOST" | bc`
        HOSTL=`echo ${#ERHOST}`
        let BU=$pow-$HOSTL
        ZQIAN="11111111111111111111111111111111"
        QIAN=`echo ${ZQIAN:0:$BU}`
        MASK=`echo $QIAN$ERHOST`
        STRA=`echo ${MASK:0:8}`
        STRB=`echo ${MASK:8:8}`
        STRC=`echo ${MASK:16:8}`
        STRD=`echo ${MASK:24:8}`
        MASKA=`echo "ibase=2;$STRA" | bc`
        MASKB=`echo "ibase=2;$STRB" | bc`
        MASKC=`echo "ibase=2;$STRC" | bc`
        MASKD=`echo "ibase=2;$STRD" | bc`
        NETMASK=`echo $MASKA.$MASKB.$MASKC.$MASKD`
        BIT=`echo $MASK | grep -o '1' | wc -l`
        echo $IP/$NETMASK
        echo $IP/$NETMASK >> IP.SH
        let i++
done
rm -rf IP.txt $FILE

测试了下发现脚本并不好使,修改了下

#!/bin/bash
wget http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest
FILE=delegated-apnic-latest
grep "apnic|CN|ipv4" $FILE | awk -F "|" '{print $4,$5}' > IP.txt
AB=`cat IP.txt | wc -l`
pow=32
i=1
while(($i<=$AB));do
        IP=`sed -n ${i}p IP.txt | awk '{print $1}'`
        HOST=`sed -n ${i}p IP.txt | awk '{print $2}'`
        HOSTL=`awk 'BEGIN{print log($HOST)/log(2)}'`
        let BU=$pow-$HOSTL
        echo $IP/$BU
        echo $IP/$BU >> IP.SH
        let i++
done
rm -rf IP.txt $FILE

记得debian下要使用chsh 命令把默认 shell 从 dash 改为 bash,不然会找不到 let
如果要修改为 IP 地址/子网掩码的形式,可以使用netmask命令

apt-get install netmask -y

一段小脚本

ips=`cat IP.SH`
for ip in $ips
do
netmask -s $ip >>test.txt
done
sed -i 's/^[[:space:]]*//' test.txt