风起 发布的文章

[记录]Linux查找和替换目录下所有文件中字符串

原文地址: Linux查找和替换目录下所有文件中字符串

Linux查找和替换目录下所有文件中字符串

单个文件中查找替换很简单,就不说了。文件夹下所有文件中字符串的查找替换就要记忆了,最近部署几十台linux服务器,记录下总结。

查找文件夹下包含字符串的文件
例:查找/usr/local目录下所有包含”rubyer.me”的文件。

grep -lr 'rubyer.me' /usr/local/*

vim替换单个文件中所有字符串方法
例:替换当前文件中所有old为new

:%s/old/new/g

%表示替换说有行,g表示替换一行中所有匹配点。

替换文件夹下包含字符串的文件
sed结合grep
例:要将目录/www下面所有文件中的old都修改成new,这样做:

sed -i "s/old/new/g" `grep old -rl /www`

[转载]代码中特殊的注释技术—TODO、FIXME和XXX的用处

原文地址: 代码中特殊的注释技术——TODO、FIXME和XXX的用处"

本文内容概要: 代码中特殊的注释技术——TODO、FIXME和XXX的用处。

前言:
今天在阅读Qt Creator的源代码时,发现一些注释中有FIXME英文单词,用英文词典居然查不到其意义!
实际上,在阅读一些开源代码时,我们常会碰到诸如:TODO、FIXME和XXX的单词,它们是有其特殊含义的。、

TODO: + 说明:
如果代码中有该标识,说明在标识处有功能代码待编写,待实现的功能在说明中会简略说明。

FIXME: + 说明:
如果代码中有该标识,说明标识处代码需要修正,甚至代码是错误的,不能工作,需要修复,如何修正会在说明中简略说明。

XXX: + 说明:
如果代码中有该标识,说明标识处代码虽然实现了功能,但是实现的方法有待商榷,希望将来能改进,要改进的地方会在说明中简略说明。

eclipse中特殊的注释:
在eclipse中,TODO、FIXME和XXX都会被eclipse的task视图所收集。在项目发布前,检查一下task视图是一个很好的习惯。此外,在eclipse中,我们可自定义自己的特殊注释标签。如在C/C++中,进入window—>preferences—>C/C++—>Task Tags窗口即可添加特殊标签,默认只有TODO、FIXME和XXX。

[记录]vim 记住上一次编辑的位置

打开/etc/vimrc 在最后一行 加入:

if has("autocmd")
    au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif

如果已经有, 去掉注释即可.

[原创]Ubuntu/LinuxMint下安装rabbitvcs(类似Windows下的Tortoisesvn)

参考文章: Ubuntu RabbitVCS

LinuxMint是Ubuntu的一个衍生版, 系统大体一样, 自我感觉LinuxMint比原版Ubuntu好用, 所以本文围绕着LinuxMint展开.

RabbitVCS是Ubuntu下的可视化SVN客户端, 类似Windows下的Tortoisesvn;
安装和Ubuntu下安装差不多, 唯一的区别就是Ubuntu下的文件管理器是Nautilus, LinuxMint下的的Nautilus的分支Nemo.

PS:LinuxMint16已经不需要额外添加ppa了,需要的包都已经纳入官方库,所以第一第二步可以省略,然后第三第四步更改为如下就可以了:

apt-get install rabbitvcs-core nemo-rabbitvcs python-nemo

一: 添加rabbitvcs的ppa源

sudo add-apt-repository ppa:rabbitvcs/ppa # 会提示确认, 直接按回车键

二: 更新本地源缓存

apt-get update

三: 安装rabbitvcs

apt-get install rabbitvcs-core rabbitvcs-cli rabbitvcs-thunar thunarx-python # 若依赖错误, 可手工一个个安装

四: 安装nemo-python, nemo-rabbitvcs插件

apt-add-repository ppa:gwendal-lebihan-dev/cinnamon-stable # 会提示确认, 直接按回车键
apt-get update
apt-get install python-nemo

从这里: python-nemo 下载RabbitVCS.py, 放入到/usr/share/nemo-python/extensions/下, 或直接安装nemo-rabbitvcs

五: 重启Nemo

- 阅读剩余部分 -

[总结]Linux下安装php的pear和pecl

参考链接: Linux上安装php的pear

首先下载安装脚本, 使用curl下载, wget也可以, 如果没有这两个命令请自行安装:

cd /usr/local/php/bin/
curl -o go-pear.php http://pear.php.net/go-pear
curl -o go-pear.php http://pear.php.net/go-pear.phar # 如果你的php版本高于php5.3, 执行这条

安装:

php go-pear.php # 回车, 会提示选择安装的东西, 直接回车, 安装全部, 若后面有要选择y/n的, 输入y回车

- 阅读剩余部分 -

[总结]linux限制用户使用/创建的文件大小

问题的起源是网络上人云亦云的ulimit -HSn 65535和nginx配置中的的worker_rlimit_nofile, orker_connections, 还有一朋友问过的相同的问题.

主要东西集中在/etc/security/limits.conf这个文件, 配置的语法参考: linux limits.conf 配置

例如要限制一个用户wind能创建/使用的最大文件为10m:

vi /etc/pam.d/login
session required /lib/security/pam_limits.so

vi /etc/security/limits.conf
wind - fsize 10240 #单位是KB, 所以10m是10240

- 阅读剩余部分 -