使用linux编译器的快捷键

1、文本按语法对齐:gg=G

2、查看man配置:man xx

例如:man   pthread_mutex

man 7 ip //第7卷中ip里面可以找到struct sockaddr_in

man 2 accept

3、vi mian.c +30    //直接转到第30行

4、nc 127.0.0.1 8888   //net connect 目标主机ip 和端口号

网络测试时,当做客户机,使用该命令进行测试,可以省略了客户端程序的编写。

5、查看if对应的两边大括号,选中一边{---->按%

6、shift+k  //查看系统函数的定义或者使用大写K也可以。或者使用esc  :!man  2 socket

7、同时用vi打开两个文件:先用vi打开某一个文件,然后按esc --> :vsp 新文件   保存多个文件用:wqall

:vsp  直接输入这个的话,是重新打开了当前文件

8、查看端口号 netstat -apn | grep 端口号

这个命令,经常用来查看我们绑定的端口号的状态是listen或是established,即,listen时,表示服务器程序启动;

established态,表示有客户端连接。

当不知道端口号是多少的时候,可以通过netstat -an 来查看所有的端口号的状态。

9、使用fgets()函数,backspace会被当做字符输入,此时使用ctrl+backspace即可删除掉错误字符。

10、date:查看当前日期和时间

10、kill -l 查看所有的信号  man 7 signal  查看详细说明

11、gdp调试:

段错误调试 

1)通过gcc  -g test.c -o test  编译会生成core文件。

2)gdb 进程名 

3)run   //停止的位置为段错误(gdb通过core文件来查验到)

12、使用shell打开文件的时候,想查看函数配置方法: 先esc 再:!man lseek     (前面有:!)

13、netstat -an   查看所有与本地计算机建立连接的IP 、proto(连接方式)、local address(本地连接地址)、foreign address(和本地建立连接的地址)、state(当前端口状态)

netstat -a IP地址   //查看该ip的相关信息

netstat -an|grep 9600   //只显示连接该端口号的连接

14、id   查看用户id,同时也能查看当前登录的用户名

15、$PATH   查看环境变量配置,为了在任意目录下可执行程序都能执行,我们会设置环境变量;实际中,我们可以通过环境变量来判断配置了哪些程序。

16、cat 文件  当只需要查看文件内容的时候,用cat命令最好,这样可以避免vim命令打开文件的繁琐操作。

17、df -h (东风)以GB,MB的形式查看磁盘目录大小

18、alias  ll ='ls -l'    给命令ls -l 起了个别名ll,简单的名,方便以后使用

19、find  路径 -name ‘文件名’  //用来查找文件的,路径放在find之后,

20、grep  -r  “字符串内容”  路径  //用来找文件中的内容的,路径放在末尾

21、ulimit  -a :查看资源的上限,比方说栈的最大为8192kb,open file的最大个数默认为1024

22、ps -ef  :查看进程的pid...

ps axf   :显示包含子进程的信息

23、vim中查找相关内容

按”/“键,在状态栏(也就是屏幕左下脚)就出现了 “/” 然后输入你要查找的关键字敲回车就可以了。

找到相关文字以后: 
(1)按下小写n,向下查找 
(2)按下大写N,向上查找

将光标定位的某一行---->查找错误时,定位到错误的地方。

:行号

24、n dd    --->删除或剪切n行

25、n yy    ----->复制n行

26、p  ---当前行的下面复制;P  当前行的上面复制。

27、u  撤销上一步操作

28、ctrl + r---->u的反操作,u了1次,就可以通过ctrl+r 来恢复1次,u了n次,就可以ctrl+r n次恢复。。

28、touch 命令创建新文件   

或者直接    vim  文件名     也能创建文件。

29、ls -la     ---->显示包含隐藏的所有文件

ls  -lh   ---->以MB等形式显示 文件

30、du -h filename 显示文件的大小,也可以用ls -lh 命令实现(显示的大小不同?)

31、>fillename   清空文件夹  或者使用  true>filename 

32、echo "hello world" > filename   向文件中写入helloworld

ls -lh >filename   将当前目录下的内容重定向到filename中

33、which ls  ->使用which命令查找可执行程序的位置;//查找ls的位置

which which   -->查找which命令的位置

当系统环境相同时,直接拷贝可执行程序到别的电脑中,就可以直接使用,因为ls.mv 等命令实际上也是可执行程序。

34、vim中同时打开多个文件,分屏显示文件

1)vim  file1.c file2.c--->同时打开了2个文件,但是当前只能看到一个文件,需要使用:n切到下一个文件,:N切换到上一个文件;

:qall 同时退出所有文件

2)上述方法不能同时看多个文件,我们想左右屏或上下屏同时看到两个文件:

打开某一个文件 vim file1.c

:split 上下分屏,不带文件名的话,会将当前文件复制到另一个竖屏中;

:vsplit 左右分屏,不带文件名的话,会将当前文件复制到另一个横屏中;

:split file2.c 与file1.c 竖屏显示

:vsp file2.c   与file.c横屏显示

ctrl+ww   多个屏幕间的切换

Ctrl+w+方向键——切换到前/下/上/后一个窗口(不太好用)

多屏显示的优点:可以使用 pp  y在多屏之间进行复制粘贴。

35、输入某个命令的前几位,然后按两次tab,会显示所有的相关命令(仅限于命令)

36、vim file.sh  后,是无可执行权限的,需要增加可执行权限:

chmod  a+x   file.sh      都具有可执行

去掉可执行权限

chmod   a-x file.sh

也可以省去a不写;

37、两个命令同时使用:

cd ..;ls -l   ----->打印了上级目录中的内容,且回到了上级目录

(cd ..;ls -l)------->打印了上级目录中的内容,但是还在当前目录。

38、将终端清屏 clear 命令或 ctrl + l

ctrl +u 将光标前的命令清除;------>故要清除整个命令,需要先ctrl+e

ctrl+a 将光标定位到命令开始位置

ctrl+e将光标定位到命令结尾位置

39、查看登录的用户名  w     或者   whoami  //当su root之后,w命令显示的还是最初登录的用户名;

hostname:查看主机名----->root@ubuntu:   ubuntu就是主机名。//区别于用户登录名

使用ping 命令,当不知道ip的时候,ping 主机名也是可以的,此时会显示主机对应的ip.

40、使用history  查看曾输入终端的命令

使用!首列数字         ------>执行原命令

例如: 

history

!2007 

41、vi中替换文本

:%s/原串/目标串/g             ------>/g 表示一行有多次出现的替换。

42、top 命令查看进程cpu,mem占有率

也可以先 ps -ef|grep 进程名;  top -p  进程号    ----------->查看某一进程的cpu,mem占有率。

(详细参考linux top -p PID说明(tomcat应用内存情况)_秋夜无霜的博客-CSDN博客

43、man手册的使用

man  man  :查看man手册

第一章是基本命令 man 1 ls

第二章是标准系统调用

第三章是标准库函数  man 3  fopen

第7章是机制  :man 7 socket    man 7 tcp

44、gcc - E test.c   //预处理---->只添加了-E参数,可以将.c中的宏全部替换,此功能可以查看某个函数的模样,其实是否是个宏。

45、diff 文件1 文件2   //比较两个文件是否相同

46、errno:全局变量,存储当前出错信息,要及时打印,否则会被覆盖。

信息位于:

/usr/include/asm-generic/errno     errno.h   errno-base.h

fprintf(stderr,"%d",errno);

47、当.c文件报错在第n行时,在vim中:n回车,光标会定位在第n行。

48、vim中光标跳到文件首 gg

跳到文件尾 G

跳到当前行首 home键

跳到当前行尾 end键

49、vim中按照ctrl键,在拖动鼠标选中代码,此时不会选中行号,Qt中是alt键

50、:set nu  --显示行号

51、ll -t 是按时间降序排列;

 ll -t | tac 是按时间升序排列

52、top用来查看cpu及内存的使用情况。

top -p 进程号     --------->用来查看某个进程的执行情况。

53、查看文件夹下有多少个文件

ls | wc -l     //实际文件个数。

ls -l |wc -l 比上述命令大1,是包含了本身的目录吗?

54、vi中使用选择一个大括号后,使用%可以找到对应的另一半大括号。

55、vi中使用 [ d  可以查看宏定义

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
本书介绍了Linux下图形用户接口(GUI)编程技术。全书共18章,分五个部分。第一部分介绍Linux GUI编程架构以及编程基础知识,第二部分介绍Linux 编程常用C语言函数库glibc、构件库Gtk+、Gnome,第三部分介绍Linux下的GUI生成器Glade,第四部分介绍Linux编程调试工具gdb及xxgdb。第五部分包括三个附录,附录A是书中使用的示例GnomeHello的源代码,附录B介绍了一些与Gtk+/Gnome编程相关的在线资源,附录C是Gtk+/Gnome对象的简要介绍。本书中的Gtk+构件示例都来自于GTK 1.2.3软件包的示例。如果下载并安装了GTK 1.2.3软件包,则能够在展开的源代码目录下找到这些示例代码。本书适用于有Linux使用经验及C语言编程基础的读者阅读。 目 录 前言 第一部分 Linux GUI编程框架及编程基础 第1章 Linux软件开发概述 1 1.1 关于Linux 1 1.2 关于Linux的桌面环境 2 1.3 Linux系统中的软件开发 3 1.3.1 开发所使用的库 3 1.3.2 Gnome的开发结构 4 1.4 开发Linux应用程序的编程语言 和编程工具 6 1.5 本书的结构 7 第2章 Gtk+/Gnome开发简介 8 2.1 安装Gtk+/Gnome库 8 2.2 第一个Gtk+应用程序 9 2.2.1 一个什么也不能做的窗口 9 2.2.2 示例代码的含义 9 2.2.3 GTK的Hello World 10 2.2.4 Gtk+的信号和回调函数原理 12 2.2.5 Hello World代码解释 14 2.2.6 运行helloworld 17 2.3 Gnome应用程序 17 2.4 GNU C 编译器 18 2.4.1 使用 gcc 18 2.4.2 gcc 选项 18 2.5 初始化库 19 2.6 用popt分析参数 20 2.6.1 参数分析方法 20 2.6.2 GnomeHello程序的参数分析 22 2.7 国际化 25 2.8 保存配置信息 27 2.8.1 读出存储的配置数据 28 2.8.2 在配置文件中存储数据 30 2.8.3 配置文件迭代器 30 2.8.4 节迭代器 33 2.8.5 其他的配置文件操作 33 2.9 会话管理 34 2.10 Gtk+的主循环 36 2.10.1 主循环基本知识 36 2.10.2 退出函数 36 2.10.3 Timeout函数 37 2.10.4 idle函数 37 2.10.5 输入函数 38 2.11 编译应用程序 39 2.11.1 生成源代码树 39 2.11.2 configure.in文件 41 2.11.3 Makefile.am文件 43 2.11.4 安装支持文件 44 第二部分 Linux 编程常用C 语言 函数库及构件库 第3章 glib库简介 49 3.1 类型定义 49 3.2 glib的宏 49 3.2.1 常用宏 49 3.2.2 调试宏 50 3.3 内存管理 52 3.4 字符串处理 53 3.5 数据结构 55 3.5.1 链表 55 3.5.2 树 59 3.5.3 哈希表 63 3.6 GString 65 3.7 计时器函数 66 3.8 错误处理函数 67 3.9 其他实用函数 67 第4章 构件定位 69 4.1 构件的显现、映射和显示 69 4.2 其他的构件概念 70 4.3 构件的类型转换 72 4.4 组装构件 72 4.4.1 尺寸分配 73 4.4.2 GtkWindow构件 74 4.4.3 GtkBox 76 4.4.4 表格构件GtkTable 79 4.4.5 固定容器构件GtkFixed 83 4.4.6 布局容器构件GtkLayout 85 第5章 按钮构件 87 5.1 普通按钮GtkButton 87 5.2 开关按钮GtkToggleButton 90 5.3 检查按钮GtkCheckButton 91 5.4 无线按钮GtkRadioButton 91 第6章 调整对象 95 6.1 创建一个调整对象 95 6.2 使用调整对象 95 6.3 调整对象内部机制 96 第7章 文本构件GtkText 98 7.1 创建、配置文本构件 98 7.2 操作文本 99 7.3 键盘快捷键 100 7.4 GtkText示例 100 第8章 范围构件GtkRange 105 8.1 滚动条构件GtkScrollBar 105 8.2 比例构件GtkScale 105 8.2.1 函数和信号 105 8.2.2 常用的范围函数 106 8.2.3 键盘和鼠标绑定 107 8.2.4 示例 107 第9章 杂项构件 114 9.1 标签构件GtkLabel 114 9.2 箭头构件GtkArrow 117 9.3 工具提示对象GtkTooltips 119 9.4 进度条构件GtkProgressBar 120 9.5 对话框构件 126 9.6 pixmap 127 9.7 标尺构件GtkRuler 134 9.8 文本输入构件GtkEntry 137 9.9 微调按钮构件GtkSpinButton 140 9.10 组合框GtkCombo 146 9.11 日历构件GtkCalendar 148 9.12 颜色选择构件GtkColorSelect 158 9.13 文件选择构件GtkFileSelect 162 第10章 容器构件GtkContainer 165 10.1 事件盒构件GtkEventBox 165 10.2 对齐构件GtkAlignment 166 10.3 框架构件GtkFrame 167 10.4 比例框架构件GtkAspectFrame 169 10.5 分栏窗口构件GtkPanedWindow 170 10.6 视角构件GtkViewport 174 10.7 滚动窗口构件GtkScrolled Window 175 10.8 按钮盒构件GtkButtonBox 177 10.9 工具条构件GtkToolbar 181 10.10 笔记本构件GtkNotebook 187 第11章 分栏列表构件GtkCList 193 11.1 创建分栏列表构件GtkCList 193 11.2 操作模式 193 11.3 操作分栏列表构件列标题 194 11.4 操纵列表 194 11.5 向列表中添加行 196 11.6 在单元格中设置文本和pixmap 图片 197 11.7 存储数据指针 198 11.8 处理选择 198 11.9 信号 199 11.10 GtkCList示例 199 第12章 树构件 204 12.1 创建新树构件 204 12.1.1 添加一个子树 204 12.1.2 处理选中的列表 205 12.1.3 树构件内部机制 205 12.1.4 信号 206 12.1.5 函数和宏 206 12.2 树项构件GtkTreeItem 208 12.2.1 信号 209 12.2.2 函数和宏 210 12.3 树构件示例 210 第13章 GnomeApp构件和GnomeUIInfo 215 13.1 主窗口GnomeApp 215 13.2 GnomeUIInfo 216 13.2.1 创建GnomeUIInfo 216 13.2.2 将GnomeUIInfo转换为构件 218 第14章 状态条构件 221 14.1 状态条构件简介 221 14.2 GnomeAppBar构件 221 14.3 状态条构件GtkStatusbar 222 第15章 对话框 225 15.1 GnomeDialog构件 225 15.1.1 创建对话框 225 15.1.2 填充对话框 226 15.1.3 处理GnomeDialog的信号 226 15.1.4 最后的修饰 227 15.2 模态对话框 229 15.3 一个对话框示例 230 15.4 特殊对话框 231 15.4.1 GnomeAbout 231 15.4.2 GnomePropertyBox—属性框 233 15.4.3 GnomeMessageBox—消息框 234 第16章 GDK 基础 236 16.1 GDK和Xlib 236 16.2 GdkWindow 237 16.2.1 GdkWindow和GtkWidget 237 16.2.2 GdkWindow属性 238 16.3 视件和颜色表 240 16.3.1 GdkVisual 240 16.3.2 视件的类型 241 16.3.3 颜色和GdkColormap 242 16.3.4 获得颜色表 244 16.4 可绘区和pixmap 244 16.5 事件 245 16.5.1 事件类型 245 16.5.2 事件屏蔽 247 16.5.3 在Gtk+中接收Gdk事件 248 16.5.4 鼠标按键事件 250 16.5.5 键盘事件 252 16.5.6 鼠标移动事件 254 16.5.7 焦点变更事件 257 16.6 鼠标指针 257 16.6.1 指针定位 257 16.6.2 独占指针 258 16.6.3 改变光标 259 16.7 字体 259 16.8 图形上下文 263 16.9 绘图 267 16.9.1 画点 267 16.9.2 画线 268 16.9.3 矩形 268 16.9.4 画弧 269 16.9.5 多边形 269 16.9.6 文本 270 16.9.7 pixmap像素映射图形 270 16.9.8 RGB缓冲 271 第三部分 Linux GUI 生成器Glade 第17章 Glade:GUI生成器 273 17.1 安装Glade 273 17.1.1 Glade简介 273 17.1.2 安装Glade 273 17.1.3 在Gnome主菜单下为Glade 创建菜单项 274 17.1.4 在Gnome面板上创建快捷 按钮 275 17.2 用Glade生成图形用户接口 275 17.2.1 Glade的界面简介 275 17.2.2 用Glade创建应用程序界面 277 第四部分 调试工具 第18章 程序调试 283 18.1 用gdb调试应用程序 283 18.1.1 为调试程序做准备 283 18.1.2 获得gdb帮助 284 18.1.3 gdb常用命令 284 18.1.4 gdb 应用举例 286 18.2 用xxgdb调试应用程序 289 第五部分 附 录 附录A GnomeHello源代码 293 附录B 在线资源 304 附录C Gtk+/Gnome对象总览 306

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值