博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ubuntu下载linux内核源码
阅读量:5037 次
发布时间:2019-06-12

本文共 2572 字,大约阅读时间需要 8 分钟。

ubuntu仓库里面关于源码部分配置的好全啊,什么都有,ps:包括vim的各种插件居然也有人打包放到仓库里,真是方便。

1.首先查看一下本系统使用的内核版本号:

cat /proc/version

Linux version 4.4.0-66-generic (buildd@lgw01-28) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #87-Ubuntu SMP Fri Mar 3 15:29:05 UTC 2017

2.然后使用apt搜一下,看看有没有对应的最新版:

apt search linux-source

linux-source/xenial-updates,xenial-updates,xenial-security,xenial-security 4.4.0.70.76 all

  Linux kernel source with Ubuntu patches
linux-source-4.4.0/xenial-updates,xenial-updates,xenial-security,xenial-security,now 4.4.0-70.91 all [installed]
  Linux kernel source for version 4.4.0 with Ubuntu patches
linux-source-4.8.0/xenial-updates,xenial-updates 4.8.0-44.47~16.04.1 all
  Linux kernel source for version 4.8.0 with Ubuntu patches
3.然后,安装即可,安装后到/usr/src目录查找。

apt install linux-source-4.4.0

4.进入/usr/src/linux-source-4.4.0目录后,解压到自己的home目录(注意:压缩包自建好了文件夹,不用建新的了):

tar xjvf linux-source-4.4.0.tar.bz2 -C ~

5.安装ctags(其实安装的是:exuberant-ctags),方便查看该源代码:

apt install ctags

6."--ctags setting--

" 按下F5重新生成tag文件,并更新taglist
map <F5> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
imap <F5> <ESC>:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR><CR> :TlistUpdate<CR>
set tags=tags
set tags+=./tags "add current directory's generated tags file
set tags+=~/arm/linux-2.6.24.7/tags "add new tags file(刚刚生成tags的路径,在ctags -R 生成tags文件后,不要将tags移动到别的目录,否则ctrl+]时,会提示找不到源码文件)
set tags+=./tags表示在当前工作目录下搜索tags文件
set tags+=~/arm/linux-2.6.24.7/tags表示在搜寻tags文件的时候,也要搜寻~/arm/linux-2.6.24.7/文件夹下的tags文件。
然后保存并退出vi。这样,你就可以用vim在任意地方查看有关Linux的函数原形。

7.tag命令用法:

Ctrl+]  跳到当前光标下单词的标签
Ctrl+O  返回上一个标签
Ctrl+T  返回上一个标签
:tag TagName 跳到TagName标签
以上命令是在当前窗口显示标签,当前窗口的文件替代为包标签的文件,当前窗口光标跳到标签位置。如果不希望在当前窗口显示标签,可以使用以下命令:
:stag TagName 新窗口显示TagName标签,光标跳到标签处
Ctrl+W + ]  新窗口显示当前光标下单词的标签,光标跳到标签处
当一个标签有多个匹配项时(函数 (或类中的方法) 被多次定义),":tags" 命令会跳转到第一处。如果在当前文件中存在匹配,那它将会被首先使用。
可以用这些命令在各匹配的标签间移动:
:tfirst    到第一个匹配
:[count]tprevious 向前 [count] 个匹配
:[count]tnext  向后 [count] 个匹配
:tlast    到最后一个匹配
或者使用以下命令选择要跳转到哪一个
:tselect TagName
输入以上命令后,vim会为你展示一个选择列表。然后你可以输入要跳转到的匹配代号 (在第一列)。其它列的信息可以让你知道标签在何处被定义过。
以下命令将在预览窗口显示标签
:ptag TagName 预览窗口显示TagName标签,光标跳到标签处
Ctrl+W + }  预览窗口显示当前光标下单词的标签,光标跳到标签处
:pclose   关闭预览窗口
:pedit file.h 在预览窗口中编辑文件file.h(在编辑头文件时很有用)
:psearch atoi 查找当前文件和任何包含文件中的单词并在预览窗口中显示匹配,在使用没有标签文件的库函数时十分有用。
 
最简单的使用方法举例
用vi在任意目录写一个Test.c文件,内容如下:
int main(void)
{
printf("Hello World!\n");
return 0;
}
写好后末行模式输入w保存好(不要退出vi),按Esc回到指令模式,把光标停留在printf上
然后按 Ctrl+W + ],vi会自动跳到Linux系统函数printf()处,这时我们能查看printf()的原形
查看完了,按Ctrl+o(回到上一个标签) 就回到原来的地方。

转载于:https://www.cnblogs.com/litifeng/p/6637847.html

你可能感兴趣的文章
犀牛中图片显示不了
查看>>
PAT (Basic Level) Practice 1001 害死人不偿命的(3n+1)猜想
查看>>
[UIDevice currentDevice].model
查看>>
NAVICAT 拒绝链接的问题
查看>>
【oracle】dmp导数据库
查看>>
微软 SqlHelper代码、功能、用法介绍:高效的组件
查看>>
丰子恺-《豁然开朗》
查看>>
JavaScript 对象
查看>>
原生js轮播图(面向对象)
查看>>
数据分析软件及spss简单操作
查看>>
自定义通信协议
查看>>
Unity3d--Space Shooter(官方教程)--学习感想(3)
查看>>
java中Collections.sort()方法实现集合排序
查看>>
nodejs笔记之事件循环
查看>>
JVM之垃圾收集器
查看>>
Windows下R画图举例
查看>>
php-fpm 重启 nginx单独配置 重启
查看>>
JS正则表达式RegExp 对象
查看>>
Springboot
查看>>
go语言之进阶篇值语义和引用语义
查看>>