linux

A 7-post collection

Shell脚本中$的含义

$$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 $@ 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。 $# 添加到Shell的参数个数

使用ssh打洞实现反向代理访问内网服务

不得不佩服ssh的功能之强大,各种隧道代理,n中玩法,看是很复杂的网络包转发处理,一条ssh命令搞定,真乃神器也! 我家里有个非常省电的cubieboard小主机,原来折腾过一段时间的硬件,后来就凉在一边也没再管了,最近想反正一个月也就耗1-2度点,何不用它跑些对外的服务。于是乎拿Python写了个小的web系统。 现在问题来了,我的主机是在自家的路由器环境下的,ip是192.168.1.xx,这就不能对外开放了呀(也许有人会说设置路由器的DMZ主机呀,我能说我用的方正带宽即便是设置DMZ主机,联通或者移动的网络依然无法访问么,且路由器的公网ip是动态分配的呀,有点啰嗦了,总是DMZ主机也搞不定)。 不过,

使用expect脚本的正确姿势

expect是啥就不多说了,不知道的请自行百度之~ 这货处理一些自动化的东西还是挺方便的,这里简单的记录一下他的正确使用姿势。 示例代码: #!/usr/bin/expect spawn mysql -uroot -p expect "*assword:*" { send "test\r" } expect "*mysql>*" { send "use test;\r" } expect "*mysql&

又学了两个好用的linux命令

env:查看系统环境变量,最近用Python,hadoop和spark比较多,经常需要查看环境变量,这个命令能帮很多忙。 find:查找文件:find -path '*.py',其实这个命令早就知道了,一直没怎么用,蛮强大的。 不过有了zsh这个神器后,find用的就越来越少了,因为zsh支持递归查找,像:ls **/*.py就可以取代上面那个find的示例功能了。 还有个不怎么用的命令chsh用于切换shell的,最近在学zsh,替代bash会用到这个命令,简单的用法示例:chsh

超级无敌,霸气,装逼神器——zsh

bash用的时间长了,发现有不少缺陷的地方,比如cd到一个目录的时候,如果目录是以大写字母开头,敲的时候就必须是大写,等等不少不方便的地方就不一一列举了。 早有耳闻zsh是个很牛叉的shell,可以替代bash。 磨刀不误砍柴功,今天学了下zsh相关的东西,发现这货还真是能够很大的提升效率呢。 启用zsh后,再把oh-my-zsh安装一下,就很完美了。 oh-my-zsh默认的主题没有用户和主机信息看起来挺不爽的,修改了下vi .oh-my-zsh/themes/robbyrussell.zsh-theme,代码如下: local ret_status="%(?:%{$fg_bold[