标签存档: linux

PuTTYcyg的替代者FuTTY

我一直是使用PuTTYcyg作为Cygwin的终端程序的。因为Windows的Command命令行实在是难用的可以。

但是puTTYcyg已经有很长时间没有更新了,今天在它的网站发现这个:PuTTYcyg is looking for a new maintainer。看来作者也不准备再继续维护这个项目了。

与此同时,PuTTY标准版也开始支持作为Cygwin的终端使用,只是自己要编译一个cygtermd出来:PuTTY wish cygwin-terminal-window

由于我比较懒惰,不想去down PuTTY的源码来编译,就在google上搜索有没有编译好的cygtermd.exe。无意之中找到了FuTTY

这就是我理想中的Cygwin终端了!

与PuTTYcyg相比,好处如下:

  • 基于PuTTY 0.61源码编译;
  • 加入PuTTYcyg;
  • 加入PuTTY Tray,可以将界面最小化到任务栏中
  • 菜单中加入”Reconnect”和”Save Current Session”功能;
  • 支持在界面中单击url网址用浏览器打开;
  • 界面透明;
  • 远程控制命令复制到剪贴板。

Apache不显示符号链接的处理办法

现在主要操作系统转到ArchLinux。在搭建了Apache后,DocumentRoot为/srv/http

我/srv/http下建立了一个符号链接docs,指向/home/zrong/docs

可是,无论怎样设置(FollowSymLinks当然是加了的),Apache就是不显示这个符号链接。

怀疑是权限问题,但docs的权限已经设置成了777。

查看apache的log,发现一条有用的信息:

Symbolic link not allowed or link target not accessible

看来确实是权限问题,仔细查看,我发现/home/zrong的权限是700。

为/home/zrong加上执行权限,一切正常:

chmod +x /home/zrong

另外,网上还有说此错误是由于SELinux对apache的影响。因为我没有装SELinux,因此排除。

TNND,Adobe居然停止了AIR的Linux版本開發?

從2.7版本後,Adobe停止了在Linux桌面環境中發布AIR的運行時和SDK,原因是Linux佔有率太低,而Android在不斷上升,Adobe需要整合資源到移動設備的AIR開發中去。

想想蘋果拋棄了Flash,可Adobe始終對IOS不離不棄……可Adobe就這樣無情的拋棄了Linuxer,真的很憤怒啊!

看看這兩篇文章,評論裡基本是罵聲一片

http://blogs.adobe.com/flashplayer/2011/06/adobe-air-and-linux-increasing-distribution-on-devices.html

http://blogs.adobe.com/open/2011/06/focusing-on-the-next-linux-client.html

當然,Adobe也有它的解決方案,就這個08年發布的所謂OSP計劃:http://www.openscreenproject.org/partners/apply.html

在git中批量重命名

2011-09-09更新:为《学习Bash(第二版)》PDF手工加入书签。
2011-09-20更新:加入《Learning.The.Bash.Shell.3rd》下载。


有一批形如map_XXX.XXX的文件,要改名为map1_XXX.XXX。如果使用其他改名工具改名,git会认为是删除了这些文件,并要求将改名后的文件重新添加到版本库,这会无端的增加版本库的大小。

最好的办法当然是用git mv来处理。鼓捣了半小时,写了我的第一行BASH代码:

for i in map*{jpg,xml};do git mv $i "map1${i:3}";done

说明:

  • map*{jpg,xml}是只处理jpg和xml文件;
  • $i是引用循环中的文件名,和${i}的作用相同;
  • ${i:3}返回文件名的第3至最后一个字符的字符串。

BASH真的很好玩,推荐两本书:

《高级 Bash 脚本编程指南》(Advanced Bash-Scripting Guide)

  学习Bash第二版(完美书签) (5.1 MiB, 172 hits)

上面这本书扫描的很不清晰,很多代码看不清,最好是对照英文版来看,下面是英文版下载:

  Learning.The.Bash.Shell.3rd (714.3 KiB, 47 hits)

Vim调用Ant编译swf并自动调试

或许很少有人像我这么极端吧,放着好好的盗版XP和盗版Flash Builder不用,偏要去鼓捣什么Vim……

当然,在Vim下面,你可以自己写脚本调用Flex SDK的命令行编译器mxmlc进行编译,但我更愿意用Ant,原因如下:

  • 配置方便
    基于XML的配置文件,比命令行好读好写;
  • JAVA原生
    Ant是JAVA写的,Flex SDK的编译器(mxmlc、compc、asdoc……)也是JAVA写的;
  • 通用
    换用Linux或Mac,也一样用,顶多改改变量中的路径。

在Flash Builder下面,按F11后,就可以自动编译swf并打开Flash Player,并显示trace信息,以及调试断点。在Vim中也能这样么?

大部分可以。我们可以用fdb进行swf的调试工作,能看到trace信息,也能设置断点和进行调试,可惜没有Flash Builder那么直观。
但是!!!你可以用Vim写AS代码了!塞翁失马你有没有!!!!

那么,开始吧!

(注意,本文假定你了解Vim)
继续阅读 »

[转]shell总结

转自:乔部落格

Shell元字符

元字符 含义
> 将标准输出重定向到文件
>> 将标准输出附加到文件
< 从文件中获取标准输入
| p1|p2将p1的标准输出作为p2的标准输入
<<串 here文档:标准输入从here文档读入,直到出现串
* 匹配文件名中的零个或多个字符
? 匹配文件名中的任何单个字符
[ccc] 匹配文件名中 ccc范围内的任何字符
; 命令结束符,如p1;p2表示先执行p1,再执行p2
& 与;类似,但不等p1结束
`…` 运行…中的命令,输出结果代替`…`
(…) 在子shell中运行…中的命令
{…} 在当前shell中运行…中的命令
$1, $2等 $0…$9可代表shell文件的参数
$变量 Shell变量的值
${变量} Shell变量的值,为避免在文本联接时混淆
\ 转义字符,\c将c字符作为字符
‘…’ 单引号内表示文字
“…” 在…中的$, `…`,和\得到解释后,将…作为文本文字
# 注释
变量=值 为变量赋值
p1&&p2 运行p1;若成功,再运行p2
p1||p2 运行p1;若不成功,再运行p2

Shell内部变量 继续阅读 »

[转]Bash命令行历史权威指南

转自:逍遥云’s Blog

本文PDF格式电子书下载:

  Bash命令行历史权威指南 (141.7 KiB, 494 hits)

首先,让我们回顾下一些基本的历史命令快捷键

你可能记得,Bash提供了两种编辑命令的模式:emacs与vi, 很多快捷键在不同的编辑模式下是不同的。

切换模式:

$ set -o mode (vi/emacs)

假设你要执行如下命令:

$ echo foo bar baz
$ iptables -L -n -v -t nat
$ ... lots and lots more commands
$ echo foo foo foo
$ perl -wle 'print q/hello world/'
$ awk -F: '{print$1}' /etc/passwd

然后你想执行最后一条历史命令(awk -F …).

你会想当然的按下键盘的上箭头并切安逸地陪伴你一生,但是真的需要把你的手移动哪么远吗? 继续阅读 »

[转]bash命令行快捷键

转自:乔部落格

bash是Linuxer们常用的工具,高效的使用它能大大提高工作的效率。

下面就来总结一下bash命令行快捷键。

CTRL+a或Home移动光标至行首。

CTRL+e或End移动光标至行尾。

CTRL+左方向键或ALT +b将光标向前移动一个单词。

CTRL+右方向键或ALT +f将光标向后移动一个单词。

CTRL+w向前删除一个单词。

Esc+d向后删除一个单词。

CTRL+u删除光标至行首的字符。

CTRL+k删除光标至行尾的字符。

上方向键查找前一个命令,下方向键查找后一个命令。

CTRL+r向前搜索历史命令。

CTRL+y复制最后删除的项。

!$代表上一个命令的最后一个参数。

ALT+.复制上一个命令的最后一个参数。

CTRL+l清除屏幕。

CTRL+t反转光标所在字符及其前面的字符。

^字符a^字符b将上一个命令中的字符a替换为字符b并执行。

^字符a删除上一个命令中的字符a并执行。

git乱码解决方案汇总

2011-10-24更新:一篇链接到本篇文章的文章(我对这篇文章提出的与windows患者的相处之道深感赞同)找到了一个“终极”解决方案,但我没有测试。


我一直是在cygwin下使用git,辅以TortoiseGit。使用上没什么问题,但今天在处理一个有中文文件名的项目时却出现文件名乱码的问题。

情况是这样的:

  1. 在一个使用cygwin的bash提交的git项目中,已经完成了所有的提交,但使用TortoiseGit查看的时候,却发现仍有文件没有提交,甚至是有文件还处于未暂存的状态。于是使用TortoiseGit提交;
  2. 再次用cygwin下的git status查看,这次又发现了未提交的情况。再次用git commit命令行提交;
  3. 回到TortoiseGit下查看,问题又出现了!此时准备返回两次提交前的版本,却因为文件名乱码的问题,无法返回了!

搜索一番,发现git文件名、log乱码,是普遍问题,这其中有编码的原因,也有跨平台的原因。因为git是从linux移植过来,默认采用UTF-8编码。而Windows默认使用UTF-16编码来保存文件名,应该就是这些不同的处理方式造成了乱码。下面是解决方案:

继续阅读 »

Flash Builder 4 For Linux

工作原因,必须在Ubuntu下面安装Flash Builder和Flash CS4,搜索一番找到两篇文章:
How to install Flash Builder on Linux
Installing Adobe CS4 in Wine
Flash Builder的那篇,针对的是Beta1,我用正式版试了一下,不成功。安装Flash CS4的那篇由于比较麻烦,就没有试。况且现在都CS 5了,试了也没意义。

Adobe的东西,在Wine下总是很麻烦。倒是原来Macromedia的Flash 8绿色版直接在Wine下运行得很好。 继续阅读 »