Blog

  • vim折叠

    展开所有折叠

    zi

     

  • zip-unzip命令

    yum install zip unzip

    ubuntu使用unzip解压会出现乱码,加上-O参数就不会有乱码了,后面可接编码号如 gb2312 CP936  GBK GB18030

    unzip -O gb2312 材料.zip

    不解压查看zip文档的内容

    unzip -v file1.zip

     

    解压到指定目录下(如果没有会新建目录)

    unzip terraform_0.12.29_darwin_amd64.zip -d terraform_0.12.29
    

    http://zeuscn.net/archives/2012/12/25/ubuntu-linux-zip-command.html

  • ip2long与long2ip

    在php中可以知道 ip2long 函数将ip转为整型,long2ip将整型转为ip,从而方便计算。

    ip分为四段,将第一段*256^3,第二段*256^2,第三段*256^1,第四段*256^0,最后相加,这样就计算出了一个唯一的值。如果都是最大值,算出来的值是

    >>> 255*256*256*256 + 255*256*256 + 255*256 + 255
    4294967295

    我们可以发现mysql中int型的取值范围是4个字节,十进制为

    0  到  4294967295

    所以所有的ipv4地址用mysql的int恰好可以完整记录

    python中互相转换的方法如下

    import socket 
    import struct
    
    def ip2long(ipstr): 
        return struct.unpack("!I", socket.inet_aton(ipstr))[0]
    
    def long2ip(ip): 
        return socket.inet_ntoa(struct.pack("!I", ip))
    

    http://hily.me/blog/2009/03/python-ip2long-long2ip/

  • 写代码的条件总是不成熟

    有太多原因写不成代码,太可笑了

    我的电脑配置不够高
    我是用vim写还是用sublime,还是ide
    我是在线上写还是在本地写
    我的目录结构一定要在漂亮的path结构下面
    sublime在ubuntu下面没法输入中文
    我没有mac
    我的电脑没有装好环境
    我的软件版本不够高
    我要喝点水,水不好喝我想喝饮料
    我的桌子不够整洁
    我的椅子座着不舒服
    我的键盘,鼠标不好用
    我没有双屏

    。。。

    最后这就注定是一个不会写代码的浪费青春的IT从业人员

  • 现在的我失去了很多想法

    以前遇到问题总是能想到解决办法

    为什么现在会认为很多事情是很难办到的呢?
    总是皱眉头,还表现的很苦逼

    对于困难也会像 人们面对灾难或者死亡的情况

    denial anger bargaining depression acceptance

    不能放弃,想办法知道自己想做什么.

  • ssh端口转发

    很多时候服务器集群是有跳板机,远程进行任何操作的时候都是先登陆跳板机,再登陆内网的机器。

    我们把本机叫做local,跳板机叫做tiaoban,真正要连接的集群内的服务器叫做node1。如何快速从local登陆到node1? 操作如下:

    方法一:

    1. 在 tiaoban 上输入如下命令

     ssh -CfNg -L 3333:node1:22 root@node1

    -L表示local,即在跳板机上开设一个3333的端口,保证有ssh连接到3333时,转发到node1的22端口。

    然后在local去连跳板机的3333端口

    ssh -p 3333 root@tiaoban

    注意,上面我都用的是root。实际是node1的用户是什么就写什么,这样就可以直接登陆到机器node1了。

    这种方法会在跳板机上打开3333端口,暴露了端口。

    方法二:通过proxycommand 和 netcat

    这种方法不需要对tiaoban和node1进行任何操作,只需在local机器的ssh_config(或是~/.ssh/config)添加如下配置

    Host node1
    HostName node1
    Port 22
    ProxyCommand ssh -p 3333 root@tiaoban ; nc %h %p

    然后在local输入

    ssh root@node1

    这样可直接转发,nc的作用是做一个tunnel,在跳板机上不会暴露端口。

    应用:在本地启一个 socks5 代理

    ssh -D 1081 jpuyy@yyhome -p 22

    在外面连接家里的路由器界面

    ssh -L 8989:192.168.1.1:80 [email protected]
    # 浏览器打开 127.0.0.1:8989 即可管理路由器