Chinaunix首页 | 论坛 | 博客
  • 博客访问: 21962
  • 博文数量: 2
  • 博客积分: 329
  • 博客等级: 一等列兵
  • 技术积分: 30
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-26 11:40
文章分类
文章存档

2013年(2)

分类: LINUX

2013-05-01 03:45:52

挂载NTFS文件系统
1、到官网下载ntfs-3g,地址:
    安装命令(官网有说明的):
    ./configure
    make
   
make install
2、安装完了可以手动挂载了。
   挂载命令:
   
(建立挂载点)
   
mkdir /mnt/disk
    
(挂载)
    
mount -t ntfs-3g /dev/sda1 /mnt/disk
3、人懒了点,可以使用自动挂载方式,修改/etc/fstab文件
   加入内容例如:
   
/dev/sda1 /mnt/disk  ntfs-3g defaults 0 0
4、如果再懒一点,那就什么都不干,双击就能自动挂载了,那就再多干点活吧。
   a、到下载对应版本的rpmforge,安装该源;
   
b、安装fuse:yum install fuse fuse-ntfs-3g
搞定了,可以当作普通硬盘来用了~

linux下建立内核代码阅读环境
1、安装ctags和cscope;
    命令:
    yum install ctags
    yum install cscope
2、安装taglist工具,可以到下载,解压到/usr/share/vim/vimfiles里面;
    配置帮助文件:
    :helptags /usr/share/vim/vimfiles/doc
    完了可以使用:help taglist.txt来查看帮助。
    修改配置
    vim /etc/vimrc
    加入内容
    let Tlist_Show_One_File=1
    let Tlist_Exit_OnlyWindow=1  

附常用配置:
  • Tlist_Ctags_Cmd选项用于指定你的Exuberant ctags程序的位置,如果它没在你PATH变量所定义的路径中,需要使用此选项设置一下;
  • 如果你不想同时显示多个文件中的tag,设置Tlist_Show_One_File为1。缺省为显示多个文件中的tag;
  • 设置Tlist_Sort_Type为”name“可以使taglist以tag名字进行排序,缺省是按tag在文件中出现的顺序进行排序。按tag出现的范围(即所属的namespace或class)排序,已经加入taglist的TODO List,但尚未支持;
  • 如果你在想taglist窗口是最后一个窗口时退出vim,设置Tlist_Exit_OnlyWindow为1;
  • 如果你想taglist窗口出现在右侧,设置Tlist_Use_Right_Window为1。缺省显示在左侧。
  • 在gvim中,如果你想显示taglist菜单,设置Tlist_Show_Menu为1。你可以使用Tlist_Max_Submenu_Items和Tlist_Max_Tag_Length来控制菜单条目数和所显示tag名字的长度;
  • 缺省情况下,在双击一个tag时,才会跳到该tag定义的位置,如果你想单击tag就跳转,设置Tlist_Use_SingleClick为1;
  • 如果你想在启动vim后,自动打开taglist窗口,设置Tlist_Auto_Open为1;
  • 如果你希望在选择了tag后自动关闭taglist窗口,设置Tlist_Close_On_Select为1;
  • 当同时显示多个文件中的tag时,设置Tlist_File_Fold_Auto_Close为1,可使taglist只显示当前文件tag,其它文件的tag都被折叠起来。
  • 在使用:TlistToggle打开taglist窗口时,如果希望输入焦点在taglist窗口中,设置Tlist_GainFocus_On_ToggleOpen为1;
  • 如果希望taglist始终解析文件中的tag,不管taglist窗口有没有打开,设置Tlist_Process_File_Always为1;
  • Tlist_WinHeight和Tlist_WinWidth可以设置taglist窗口的高度和宽度。Tlist_Use_Horiz_Window为1设置taglist窗口横向显示;
3、进入内核代码目录,编译ctags和cscope需要的文件,同时指定特定架构的代码;
    命令:
    make ARCH=x86 tags
    make ARCH=x86 cscope
附常用的操作命令:
  • 使用ctags浏览
  ts do_fork  等同于光标停在do_fork上,再按CTRL + ]
  tn          下一个(next)
  tp          上一个(previous)
  tf          第一个(first)
  tl          最后一个(last)
  解释:
  c   查找 name 被哪些函数调用
  d   查找 name 调用了哪些函数
  e   egrep 句型
  f   查找名为 name 的文件
  g   查找 name 的定义
  i   查找#include 本 name 的文件
  s   查找 name 这个 C 符号
  t   查找何处对 name 赋值
  对 Linux 内核来说,如果既有 tags 文件,又有 cscope.out 文件,则 Vim 中:set cst
  意味着使用 cscope 风格的^],也就是:tag 命令。 于是:
  如果想用 ctags 找到 do_IRQ:
  :ts do_IRQ
  如果想用 cscope 找到 do_IRQ:
  :ta do_IRQ
  • 使用cscope浏览
  cs add cscope.out        #添加一个 connection,浏览内核时经常发现 cscope 链接断开
                                可以调用:cs a cscope.out
  :cs show                  #显示所有 connections
  :cs kill <#>              #杀死第#号 connection,第#号就是:cs show 显示出来的
  :cs reset                 #reset 所有 connections
  :cs find c|d|e|f|g|i|s|t
  • 使用taglist命令
  TlistOpen(直接Tlist也可)打开并将输入焦点至于标签列表窗口,效果如上图所示
  TlistClose关闭标签列表窗口
  TlistToggle切换标签列表窗口状态(打开←→关闭),标签列表窗口是否获得焦点取决于其他配置
  ctl-w+w或ctl-w+ 方向键窗口切换(taglist本质上是一个vim分隔窗口,因此可以使用ctl-w系列快捷键对窗口进行切换操作)在Taglist窗口主要有以下操作
  按F1:打开帮助回车键:跳到光标所在的标记的定义处(如将光标移到main函数,按回车键)
  o:新建一个窗口,跳到标记定义处
  p:预览标记定义(仍然在taglist窗口)
  空格:显示标记的原型(如函数原型)
  u:更新标记列表(比如源文件新增了一个函数,并在保存后,可在taglist窗口按u)
  s:选择排序字段(暂时我也不知道什么意思)
  d:删除光标所在的taglist文件(如用vi打开了两个文件f1.c,f2.c可以删除f1.c的标记)
  x:n放大/缩小taglist窗口
  +:展开(指标记)
  -:折叠
  *:全部展开
  =:全部折叠
  [[:将光标移到前一个文件的起点
  ]]:将光标移到后一个文件的起点
  q:退出taglist窗口
  F1:关闭帮助

阅读(1619) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~