分类 Linux 下的文章

Linux程序开发过程中,最常用的调试器时gdb,gdb和其他调试器一样,可以在程序中设置断点、查看变量值、一步一步跟踪程序的执行过程。利用调试器的这些功能可以方便的找出程序中存在的非语法错误。

1、启动和退出gdb
gdb调试的对象是可执行文件,而不是程序的源代码。如果一个可执行文件可以被gdb调试,编译器gcc编译程序时需要加入-g选项,-g选项告诉gcc编译程序时加入调试信息。


gcc -g test.c -o test
gdb test     // 启动gdb
gdb -q test  // 取消显示版权信息
quit         // 推出gdb

2、显示和查找源程序
(1)显示
list:显示10行代码
list 5,10:显示5-10行代码
list test.c:5,10:显示源文件test.c 5-10代码,调试含多个源文件时使用
list list get_num:函数内代码
list test.c:get_num:源文件test.c内 5-10行代码

- 阅读剩余部分 -

网络编程是Linux开发中的重要部分,Linux环境网络编程是基于Socket的C语言编程,Socket本意是插座,它在网络中描述不同计算机之间通信的方式。网络通信中可以使用TCP或者UDP协议,对于我们来说不会太关心协议本身的细节,而是更关注不同主机之间传输的过程,因此制定了一种用于网络传输数据的编程接口,称为套接字(Socket)。

Socket编程接口内容很多,我自己看了一部分之后感觉学习过程中需要分析数据通信的过程,理解网络中的基础知识才不至于混肴。下面是一些网络编程的基本操作。

1、网络编程的基本概念

  1. IP地址

网络中的计算机均有唯一IP地址,用来标识它在网路中的身份,我们常见的就是点分十进制写法的IP地址,如“210.187.77.10”。实际上在通信过程中IP地址是以整型方式存储的,如“193921391”。我们看到的点分十进制IP地址是由网络整型IP转为点分IP字符串得到的。

  1. 端口

网络中的端口不同于硬件中的端口,IP地址标识了网络世界的主机,端口号指明了主机中的具体网络程序,比如FTP端口号是21,端口范围是0~65535,低于256的是系统保留端口。

  1. 域名

域名是用来代替IP地址来直观标识计算机的直观名称,如百度IP http://www.baidu.com. ping www.baidu.com 表明域名指向的IP地址是202.108.22.43.

  1. TCP/UDP

TCP与UDP是两种不同的网络传输方式,使用IP和Port,要使用一种约定方式进行数据传输,TCP/UDP就是网络中两种数据传输约定,主要区别是数据传输时是否进行连接。

- 阅读剩余部分 -

shell是Linux系统的命令解释性程序,它负责将用户输入的命令传递给内核执行并将执行结果反馈给用户,Linux系统有多种shell可供选择,Ubuntu默认的shell是bash。

shell程序的基本结构

shell程序就是将一系列Linux流程控制写在一个文本文件中,由shell读取此文件并执行文件中的这些程序。

#!/bin/bash
#hello.sh
echo 'hello Linux'
echo 'this is a shell file'

上面就是一段简单的shell程序,接下来赋予hello.sh执行权限

- 阅读剩余部分 -