没有什么能够阻挡
你对自由的向往
天马行空的生涯
你的心了无牵挂
穿过幽暗的岁月
也曾感到彷徨
当你低头的瞬间
才发觉脚下的路
心中那自由的世界
如此的清澈高远
盛开着永不凋零
蓝莲花
Tags: .

  当然,我不会一行行的粘贴复制。有一个叫做的tac的命令似乎能完成这个工作,但它只能将整个文件反转。更好的选择是sed:

sed  -e '4,240G;3,240h;3,239d' sample.js > reverse.js

  这样就搞定了!
  简单解释一下。sed内部维护着两个缓冲区,模式缓冲和保留缓冲。通常,sed每每从文件读入一行就放入模式缓冲,由-e选项指定的各个命令依次处理这个缓冲内的文本,所有命令都执行完后,sed就把模式缓冲的内容输出的标准输出(如果没有指定-n选项的话)。保留缓冲是一个由用户显式使用的缓冲区。-e ’4,240G;3,240h;3,239d’中,G将保留缓冲取的内容附加到(append)模式缓冲,h将模式缓冲复制(copy)到保留缓冲,d将模式缓冲区的内容清除,各个命令前由逗号分割的数字指名了后面的命令在哪些行上执行,各命令由分号进行分割。
  具体地:

  1. 1、2行被读入(模式缓冲)时,-e列出各命令都没有动作,直接输出;
  2. 第3行被读入时,G不执行,h将该行复制到保留缓冲,d将模式缓冲清除,没有输出;
  3. 第4行被读入模式缓冲,然后G将保留缓冲的内容(第三行)附加到模式缓冲,h又将模式缓冲复制到保留缓冲,d又将模式缓冲清除,没有输出;
  4. 重复3,直到第239行;
  5. 第240行被读入,G将第239到3行附加到第240行后面,h又将其复制到保留缓冲,d不执行,240到3行被输出;
  6. 241到243行被原样输出,至此,3~240行被反转
Tags: ,,.

  两周前,从家里往学校寄了10本书。今天接到通知去邮局取邮件。第一眼看到装书的纸箱子时差点没认出来,原来是一个装葡萄酒的方方正正的箱子,现在俨然一个大冬瓜了!心想箱子坏就坏了吧,书怎么着也不会坏吧,而且里面还塞着许多泡沫板呢,签完字就拿走了。回到宿舍打开一看就傻眼了。年前刚刚买的《Unix网络编程》失去了两周前的光鲜,成了半老徐娘,更惨的是和它一起入住的《算法导论》封面+扉页掉了一半,其他书也都有不同程度的损伤。娘的,看来空投了不止一次啊!邮政的全体员工,在这里,我默默地诅咒你们。

Tags: ,.

更新:

  上面的脚本有一个问题,没播放一首歌曲mplayer都需要退出一次,耗费资源不说,还不能回放上一首。为了更方面的使用mplayer自身的功能和快捷键,我更新了上面的脚本,为mplayer生成了一个播放列表,然后用命令mplayer -playlist list.txt来播放。这样利用mplayer的快捷键,我们就可以很好的控制这个播放器了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/sh
 
#当脚本退出或被中断(Ctrl+C)时,删除曲目文件
trap 'rm -f list.txt;exit 1' INT
trap 'rm -f list.txt' EXIT
#连接ftp并进入指定目录
lftp "$1" <<!TOC!
cd pub/"$2"/
ls > list.txt
quit
!TOC!
#删除非mp3文件名,得到mp3文件名
sed -i -e '/mp3/!d' -e 's/^.\{56\}//g' list.txt
sed -i "s#^\(.*\)#ftp://$1/pub/$2/\1#g" list.txt
mplayer -playlist list.txt  >/dev/null 2>&1
Tags: ,.

在LinuxToy上看到的,实在精彩!

最酷的10个Linux单行命令
命令 描述
sudo !! 以 root 帐户执行上一条命令。
python -m SimpleHTTPServer 利用 Python 搭建Web 服务器,可通过 http://$HOSTNAME:8000 访问。
:w !sudo tee % 在 Vim 中无需权限保存编辑的文件。
cd - 更改到上一次访问的目录。
^foo^bar 将上一条命令中的 foo 替换为 bar,并执行。
cp filename{,.bak} 快速备份或复制文件。
mtr google.com traceroute + ping。
!whatever:p 搜索命令历史,但不执行。
$ssh-copy-id user@host 将 ssh keys 复制到 user@host 以启用无密码 SSH 登录。
ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg 把 trnux 桌面录制为视频。

但是,有两条命令着实无法理解,Vim保存文件的和备份的。哪位解释一下?

Tags: .

Linux下的硬盘及分区

  Linux系统可以挂载多个不同接口类型的磁盘(disk),每一个磁盘又可以分成若干个分区(Partition),每个分区又可以拥有自己的文件系统类型(FileSystem)。Linux对于磁盘和分区又自己的一套标记方法。

硬盘和分区的区分

  第一个SCSI(Small Computer System Interface)磁盘记为/dev/sda,第二个SCSI磁盘记为/dev/sdb;第一个SATA磁盘记为/dev/hda,第二个为/dev/hdb,以此类推。Linux系统中,每一个磁盘的各个分区编号是从1开始的,例如,第一个SCSI磁盘的第一个分区为/dev/sda1,第二分区为/dev/sda2。

分区结构

  一块没有分过区的硬盘(RAW)就像一块荒蛮的土地,是没有有意义数据的。分好区的硬盘就会具有一定的结构性。分区就是将硬盘分为一定的区域,便于使用。 一块硬盘最多可以分四个区(主分区)。无论硬盘分多少个区,它的最前面都有一个引导扇区(主引导记录MBR)。
  主引导记录由三部分组成:开始是446B的操作系统引导代码,紧接着是64byte的主分区表。主分区表最多记录四个主分区的分区信息,主要包括该分区的起始/结束柱面、大小、类型等信息。每个分区记录占用16B。分区就是修改分区表,它不影响硬盘上的存储的数据。最后是2字节的结束标志0x55AA(01010101 10101010)。

Tags: ,.

  所谓大小端模式,就是一个关于数据字节在存储顺序的问题。在某些编程环境中,了解大小端是非常重要的,比如汇编和网络编程中,对存取和发送、接收数据的字节序都有严格的要求。当然,在高层次,你很少会需要考虑到这些。为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节。在许多计算机语言中,许多数据类型都是多字节的,这就产生了多字节数据在内存中存放数据的问题。在大端模式(Big-endian)中,数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中;在小端模式(Little-endian)中,数据低位就存放在内存的低位。了解了什么是大小端,看下面的程序,输出结果是什么?

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
int
main()
{
    int a[] = {1, 2, 3, 4, 5};
    int *ptr1 = (int*) (&a + 1) - 1;
    int *ptr2 = (int*) ((int)a + 1);
    printf("%x, %x\n", *ptr1, *ptr2);
    return 0;
}
Tags: .

  C++类的静态函数是属于类型的,而不是某个对象的,因此把它声明成Virtual也没什么实际意义。那么运行下面这段程序,会产生什么样的结果呢?

1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
class Base
{
public:
    static void foo() { cout<<"Base"<<endl; }
    virtual void bar() { foo(); }
};
Tags: .

  大家看到这里每个页面顶部的命令技巧了吗?这是一些随机显示的Linux命令,有很大一部分是基于Debian的,还有一些是Ubuntu所特有的。这些Skills最初来源于Ubuntu中文论坛,我把它重新整理了一下下,删减了一些系统维护类的技巧,保留的主要偏于应用技巧类的。随着以后我对Linux的使用,我会不断的添加。

  同时,我还制作了一个PDF,只有两页,算作是又一个Linux Commands Cheat Sheet吧!有兴趣的点击此处下载,打印了,贴墙上!为方便某些同志的修改,奉上它的\LaTeX源文件

P.S. 我怎么在RSS中调用JS?

Tags: ,.
  1. 桌面系统:Ubuntu (30.13%)
  2. 服务器:Debian (24.24%)
  3. 系统恢复盘:BackTrack (43.48%)
  4. 数据库:MySQL(60.81%)
  5. 办公套件:OpenOffice.org (90.76%)
  6. 浏览器:Firefox (65.21%)
  7. 桌面环境:Gnome (41.96%)
  8. 窗口管理器:Compiz (23.10%)
  9. 即时通讯:Pidgin (48.74%)
  10. 邮件客户端:Thunderbird (53.48%)
  11. 虚拟机产品:VirtualBox (67.43%)
  12. 音频播放器:Amarok (38.81%)
  13. 音频编辑器:Audacity (77.26%)
  14. 视频播放器:VLC (46.05%)
  15. 视频编辑器:FFmpeg (21.94%)
  16. 多媒体工具:GStreamer (32.84%)
  17. 图像软件:GIMP (66.48%)
  18. 网络安全:Nmap Security Scanner (29.85%)
  19. 主机安全:SELinux (39.26%)
  20. 网络监视:Nagios (51.11%)
  21. IDE/网页开发:Eclipse (23.28%)
  22. 文本编辑器:vim (35.29%)
  23. 文件管理器:Nautilus (24.92%)
  24. 开源游戏:Battle for Wesnoth (15.45%)
  25. 编程语言:Python (27.59%)
  26. 备份工具:rsync (48.99%)
  27. 开源内容管理系统/博客平台:WordPress (45.20%)
Tags: .