posted in Linux相关 

这个页面(需要翻墙)为例,我的Ubuntu 14.04更换完字体之后

Web页面效果是这样的:

这里写图片描述

Shell显示效果是这样的:

这里写图片描述

我采用的字体方案是,Monaco雅黑混合字体

下面是具体更换步骤:


一、下载安装字体

1.1 下载

下载 微软雅黑MonacoMonaco雅黑混合字体 字体,解压后得到三个 .ttf 文件放到 ~/.fonts 文件夹下。

1.1 刷新缓存

运行fc-cache来更新字体缓存。

二、更改系统字体

2.1 下载安装Unity Tweak Tool.

sudo apt-get install unity-tweak-tool

2.2 更换英文字体

打开Unity Tweak Took,按以下配置更换字体:

这里写图片描述

三、更改浏览器字体

如下图所示,安装插件即可:

这里写图片描述

四、更改 编辑器/IDE 字体

  • 如果不能单独设置中文字体
    英文字体改为 Monaco Yahei
  • 如果能够单独设置中文字体
    英文字体改为 Monaco
    中文字体改为 微软雅黑

大功告成了!

五、参考链接

本文章迁移自http://blog.csdn.net/timberwolf_2012/article/details/44244491

posted in Linux相关 

2015-09-26更新:

现在发现要实现如下的功能,完全有现成的命令可以使用:

如递归查找名字含关键字的文件,使用find . -name "*keyword*"

如递归查找内容含关键字的文件,使用grep -Ir keyword .

之前写的程序就当做练手好了 :)


1. 某文件夹递归查找名字含关键字的文件

源码

#search.py
import os
import sys

def search(path, word):
    for filename in os.listdir(path):
        fp = os.path.join(path, filename)
        if os.path.isfile(fp) and word in filename:
            print fp
        elif os.path.isdir(fp):
            search(fp, word)

search(sys.argv[1], sys.argv[2])

使用

python search.py directory_path keyword

2. 某文件夹递归查找内容含关键字的文件

源码

#search.py
import os
import sys

def search(path, word):
    for filename in os.listdir(path):
        fp = os.path.join(path, filename)
        if os.path.isfile(fp):
            with open(fp) as f:
                for line in f:
                    if word in line:
                        print fp
                        break
        elif os.path.isdir(fp):
            search(fp, word)

search(sys.argv[1], sys.argv[2])

使用

python search.py directory_path keyword

3. 参考

http://stackoverflow.com/questions/11162711/find-one-file-out-of-many-containing-a-desired-string-in-python

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868321590543ff305fb9f9949f08d760883cc243812000

本文章迁移自http://blog.csdn.net/timberwolf_2012/article/details/43816899

posted in Linux相关 

原生GDB不能支持STL调试,要进行STL调试必须进行一些配置才行,但网上的一些配置说明已经过时了,因此重新总结一下。

环境

Ubuntu 14.04 32位

GDB 7.7

步骤

  1. Check-out最新的调试工具到本地一个文件夹下,比如 ~/yourname/gdb_printers

    svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python

  2. 将下列内容添加到 ~/.gdbinit 文件夹中, 其中的路径名改成上一步Check-out的工具对应的路径名

    python
    import sys
    sys.path.insert(0, '/home/yourname/gdb_printers/python')
    sys.path.append("/home/yourname/gdb_printers/python/libstdcxx/v6")
    from libstdcxx.v6.printers import register_libstdcxx_printers
    end

使用效果

如果代码是这样的:

vector a = {2, 3, 6, 7};

调试效果是这样的:

(gdb) p a
$1 = std::vector of length 4, capacity 4 = {2, 3, 6, 7}

参考

http://sourceware.org/gdb/wiki/STLSupport

http://stackoverflow.com/questions/26205564/gdb-pretty-printing-importerror-no-module-named-printers

http://blog.csdn.net/fdl19881/article/details/8710636

本文章迁移自http://blog.csdn.net/timberwolf_2012/article/details/40478407

posted in Linux相关 

下载了APUE的源码,在文件夹apue.3e下运行make时会抛出各种错误提示,在此记录各问题解决方案。环境是Linux。

错误提示:  ../systype.sh: Permission denied

问题解决: chmod a+x systype.sh

错误提示: fixup.awk: Permission denied

问题解决: chmod a+x fixup.awk

错误提示: /usr/bin/ld: cannot find -lbsd

问题解决:

错误提示:

问题解决:

错误提示:

问题解决:

参考

http://bbs.csdn.net/topics/80447869

本文章迁移自http://blog.csdn.net/timberwolf_2012/article/details/40182817

posted in Linux相关 

简介

Windows下编写的代码(如C\C++\Java等)放到Linux下不能直接编译, 因为主要存在两个问题:

  1. Windows和Linux的行尾符不同, Windows下行尾符是"\n\r", 而Linux的行尾符是"\n"

  2. Windows下编码通常是GB2312, 而Linux中的编码通常是UTF-8。

所以编写了这个脚本文件用于将Windows下编写的源码转化为Linux下可用的源码, 

该脚本文件可以将 指定目录及其子目录 下指定 后缀名 的源文件进行转换。

使用方式

sudo apt-get install dos2unix
bash trans.sh 指定文件夹 要转换文件的拓展名

例如,

将/home文件夹及其子文件下所有java源文件进行转换

bash trans.sh /home java

代码

#!/bin/bash
#Program:
#   convert the text written in windows to the text usable in linux.
#Author:
#   Chen Zhongzheng
#History:
#   2014年09月03日20:17:36  v1.0
#TODO:
#   add a parameter to specify the origin encoding, eg. gb2312\cp936\gbk...

function recursion()
{
    cd $1
    for i in $(ls)
    do
        if [ -d "$i" ]; then
            recursion $i $2
        elif [ "${i##*.}" = "${2}" ]; then
            iconv -f cp936 -t utf-8 $i > temp_111
            mv temp_111 $i
            dos2unix $i
        fi
    done
    cd ..
}

if [ ! $# -eq 2 ]; then
    echo "usage: bash convert.sh directory_name extension_name"
elif [ ! -d $1 ]; then
    echo "usage: bash convert.sh directory_name extension_name"
else
    recursion $1 $2
fi










#!/bin/bash
#Program:
#   convert the text written in windows to the text usable in linux.
#Author:
#   Chen Zhongzheng
#History:
#   2015年12月04日21:33:29  v1.1
#TODO:
#   add a parameter to specify the origin encoding, eg. gb2312\cp936\gbk...

function recursion()
{
  cd $1
  for i in $(ls)
  do
    if [ -d "$i" ]; then
      recursion $i $2
    elif [ "${i##*.}" = "${2}" ]; then
      enca -L zh_CN -x UTF-8 $i
      dos2unix $i
    fi
  done
  cd ..
}

if [ ! $# -eq 2 ]; then
  echo "usage: bash convert.sh directory_name extension_name"
elif [ ! -d $1 ]; then
  echo "usage:  bash convert.sh directory_name extension_name"
else
  recursion $1 $2
fi

参考:

http://www.wenzizone.cn/?p=313

http://bbs.chinaunix.net/thread-624345-1-1.html

http://blog.csdn.net/rainharder/article/details/6030255

本文章迁移自http://blog.csdn.net/timberwolf_2012/article/details/38980201