2010年6月28日 | 分类: Linux相关, 应用技巧 | 标签:

有时需要对大量文件进行重命名:如把所有.jpe文件后缀改名为.jpg文件等等。多数Windows/DOS用户可能都习惯了DOS中ren命令的使用方法:

ren *.jpe *.jpg

在Linux中没有ren命令,mv命令也不支持这种使用方法,这使得不少用户误以为Linux没有批量重命名文件的功能。实际上并非如此,rename命令不仅可以轻松实现这一功能,而且还支持更为复杂的重命名操作。

rename

在多数系统中,rename是一个Perl脚本,rename的使用也支持Perl的正则表达式

rename的基本语法是

rename perl表达式 文件名

perl表达式用于修改文件名,如s开头的串表示替换。

举几个比较实用的例子:

# 删除所有的.bak后缀:
rename 's/\.bak$//' *.bak
 
# 把.jpe文件后缀修改为.jpg:
rename 's/\.jpe$/\.jpg/' *.jpe
 
# 把文件名改为小写:
rename 'y/A-Z/a-z/' *

原文:http://www.linux-wiki.cn/index.php/%E6%89%B9%E9%87%8F%E9%87%8D%E5%91%BD%E5%90%8D%E6%96%87%E4%BB%B6
  • Share/Bookmark
2010年5月21日 | 分类: PHP编程, 应用技巧 | 标签: , ,

以前看到过新版本的Symfony的Form文档,在类中可以通过$this['key']的方法来访问当前对象中的widgets,我一直很诧异,为什么可以这样用呢?我试验过很多方法都没成功,今天终于找到答案了。

方法其实很简单,需要在类中继承PHP预定义接口ArrayAccess,并且包含offsetGet, offsetSet, offsetExists和offsetUnset四个方法就可以实现上述功能了。下面来举个例子: 阅读全文…

  • Share/Bookmark
2010年4月30日 | 分类: Linux相关, 应用技巧 | 标签: , , , ,

cd 是 Linux 命令行下最常用的命令之一。但是你真的了解 cd 命令的所有用法吗?我将在本文中向你介绍几个本人常用的 cd 命令小帖示,它们可以让你提高操作效率。

  1. cd

    不带任何参数,直接执行 cd 命令,这将转到你的 home 目录。其效果和 cd ~ 相同。

  2. cd -

    在 cd 命令后跟一个短横线,将转到你上一次访问的目录。这跟 cd .. 不同,后者将转到上一层目录。

  3. cd ~user

    这条命令和 cd ~ 很相似,不过它是转到 user 的 home 目录。

  4. cd old new

    该 cd 命令带两个参数,其作用是将上次所执行 cd 命令中的 old 替换成 new 并予以执行。比如我先前 cd 到 /usr/bin 目录,现在我想 cd 到 /opt/bin 目录,则可以执行:

    cd usr opt
    
  5. $CDPATH

    这是一个与 $PATH 类似的环境变量,我们可以将经常访问的目录赋值给该变量,多个目录使用 : 分隔。这样,我们就可以直接 cd 到这些目录。对于需要频繁访问的深层次目录,这极为有效。例如:

    CDPATH="$HOME/.config:$HOME/.config/uzbl"
    

补充一点,以上帖示在 zsh 中测试通过。其他 shell 可能会稍有不同

  • Share/Bookmark
2010年4月21日 | 分类: PHP编程, 应用技巧, 网页相关 | 标签: , , , ,

今天看到很多网站的网页都变成灰色了,很多是使用了IE的滤镜,但是在非IE下就失效了,有的用的是另做的一套黑白图片实现网页的黑白版,这样显得又太麻烦。

记得前一段时间看到老外的一篇利用Apache的mod_rewrite模块和php结合实现网站图片水印的文章,今天受到此文章的启发我就想能不能利用同样的原理来实现将网站的所有图片都变成黑白的呢?经过今天的实验,我成功了!证明我的想法是正确的!下面就介绍一下如何利用apache或者nginx与php的结合来实现黑白版的网页。

首先修改网站的apache配置文件(.htaccess也行)或者nginx的配置文件:

Apache:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule \.(gif|jpeg|jpg|png)$ img_to_black_write.php [QSA,NC]

Nginx(在server中加入):

if (!-f $request_filename) {
	rewrite ^(.*)\.(jpg|png|gif)$ /img_to_black_write.php;
}

这里是img_to_black_write.php的代码

< ?php
$file = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['REQUEST_URI'];
$im = imagecreatefromstring(file_get_contents($file));
if (imageistruecolor($im))
{
    imagetruecolortopalette($im, true, 256);
}
$total_colors = imagecolorstotal($im);
 
for ($i = 0; $i < $total_colors; $i++){
    $rgb = imagecolorsforindex($im, $i);//获得颜色i点的颜色值
    $gray = round(0.229 * $rgb['red'] + 0.587 * $rgb['green'] + 0.114 * $rgb['blue']);//获得颜色灰度值
    imagecolorset($im, $i, $gray, $gray, $gray);//设置i点颜色值
}
 
header('Content-Type: image/jpeg');
imagejpeg($im, null, 100);
imagedestroy($im);
?>

怎么样?整个网页(图片一定要来自你的网站)的图片(包括背景图片)都变成黑白的了吧?怎么?怎么字体什么的都是彩色的?那就要修改你的css了。

Ok,网页从彩色到黑白就这么简单!赶快试一下吧!

如果转载请注明出处!谢谢合作!

  • Share/Bookmark
2010年3月24日 | 分类: Linux相关 | 标签: , , ,

下面是来自 Commandlinefu 网站由用户投票决出的 10 个最酷的 Linux 单行命令,希望对你有用。

  1. sudo !!

    以 root 帐户执行上一条命令。

  2. python -m SimpleHTTPServer

    利用 Python 搭建一个简单的 Web 服务器,可通过 http://$HOSTNAME:8000 访问。

  3. :w !sudo tee %

    在 Vim 中无需权限保存编辑的文件。

  4. cd -

    更改到上一次访问的目录。

  5. ^foo^bar

    将上一条命令中的 foo 替换为 bar,并执行。

  6. cp filename{,.bak}

    快速备份或复制文件。

  7. mtr google.com

    traceroute + ping。

  8. !whatever:p

    搜索命令历史,但不执行。

  9. $ssh-copy-id user@host

    将 ssh keys 复制到 user@host 以启用无密码 SSH 登录。

  10. ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg

    把 Linux 桌面录制为视频。

来源:http://linuxtoy.org/archives/top-10-one-liners.html

  • Share/Bookmark
2010年2月9日 | 分类: Linux相关 | 标签: , , , , , , ,

今天用Wubi在我的上网本上安装了Ubuntu 9.10,正在我高兴的时候发现我进不了系统了,只停留在sh:grub>的画面,在网上搜到了这边文章,与大家分享以下:

今天早上开始摆弄起自己用wubi安装的linux ubuntu 9.10系统,在查找更新中看到内核升级到2.31-17了,我就选择更新,但在更新过程终有一个任务一直没有完成更新,我就直接按“Ctrl+C”给取消了,当我在重启系统时就遇到GRUB黑屏问题了。
屏幕上显示:

GNU GRUB version 1.97~bea4
[minimal BASH-like lin editing is supported For the first word,TAB licts possible command completions Anywhere elso TAB lists possible device/file completions]
sh:grub>(光标,让你输入东西)

按下TAB后

Possible commands are:
[badram boot cat chainloader configfile cupid dump echo exit export halt help initrd insmod linux list_env load _env loopback Is Ismod parser.rescue parser.sh reader.normal reader.resue reboot rmmod root save_env search ser sleep source terminal_input.console terminal_output.console test unset]
sh:grub>(光标,让你输入东西)

经过我在网上不懈的搜索查找,以下为解决办法:

代码:

grub>ls
grub>ls (hd0,x)/             #找出WUBI安装的盘,里面有ubuntu/这个目录。
grub>insmod ntfs           #加载ntfs模块,因为WUBI将ubuntu安装到了我分的ntfs盘上
grub>set root=(hd0,5)    #这里(hd0,5)就是我找到的ubuntu安装的分区
grub>ls $Boot                   #找到我们BOOT分区的UUID,下一步要用到,我这里显示出来的是2250018e50016a3d
grub>search --no-floppy --fs-uuid --set 2250018e50016a3d    #这里的UUID就是上一定找出来的那个
grub>loopback loop0 /ubuntu/disks/root.disk   #设loop0,WUBI装ubuntu安装成了一个root.disk文件
grub>set root=(loop0)       #重设root
grub>linux /boot/vmlinuzxxxxxxxxx   (tab补全即可) root=/dev/sda5 loop=/ubuntu/disks/root.disk ro quiet splash    #加载内核
grub>initrd /boot/initrd.imgxxxxxxxxxxxx(tab 补全即可)                    #不用说大家都知道
gurb>boot

ENTER就可以启动了。进入熟悉的系统,打开终端
代码:

#update-grub2
#reboot

这样grub就修复好了。不用再这样麻烦地整了。(在修复你自己grub的时候随机应变即可)

来源:http://blogyoume.appspot.com/2009/12/12/solving-problem-about-wubi-update-ubuntu-910-kernel.html

  • Share/Bookmark
2010年1月22日 | 分类: 杂谈, 轻松时刻 | 标签: , , , ,

一首韩国舞曲《Nobody》引发了《Nobody》的模仿热潮。相信你也会喜欢这首舞曲的迷人旋律和那动人的舞步吧。这不,连机器人都忍不住要跳起了《Nobody》……

来源:http://tech.weiphone.com/2010-01-21/Robots_will_be_Nobody_211141.shtml

  • Share/Bookmark
2010年1月20日 | 分类: Firefox | 标签: , , , , , , , ,

今天由于要解决某个问题写了一个javascript函数,其中可能要向函数传递一个参数,但是测试了很久明明是没传参数进去,但是函数内部却显示有参数传入。。。,我甚是郁闷,下面我把会产生问题的代码向大家公布以下: 阅读全文…

  • Share/Bookmark
2009年12月31日 | 分类: 应用技巧, 网页相关 | 标签:

我们有时会需要在网站的某个页面禁用右键,甚至构建个性化右键菜单,在Jquery中可以用下面代码实现:

$(document).bind("contextmenu",function(e){
    //在这里书写代码,构建个性右键化菜单 
 
    //取消默认的右键菜单
    return false;
});

来源:http://css9.net/jquery-forbidden-right-click/

  • Share/Bookmark
2009年12月30日 | 分类: 应用技巧, 网页相关 | 标签:

下面是将所选文本的背景色变成红色,文字变成白色:

1
2
3
4
5
6
7
8
9
10
11
/* Firefox */
::-moz-selection{
	background:#FF0000;
	color:#FFF;
}
 
/* Safari */
::selection {
	background:#FF0000;
	color:#FFF;
}
  • Share/Bookmark