
Linux C
本专栏主要介绍Linux C
FLy_鹏程万里
国内网络安全研究员,专注于Web渗透、移动安全、代码审计、应急响应、内网渗透、区块链安全、云安全等研究方向,擅长渗透测试、红蓝对抗、内网渗透、云安全、区块链安全。
展开
-
Linux C————1、Shell使用
Shell简介Shell是UNIX/Linux系统的重要组成部分。在UNIX/LInux下,Shell扮演了一个双重角色。用户不仅可以通过它执行命令、调用Linux工具,还可以把Shell当做一种编程语言,编写自己的程序。常见的Shell种类Linux Shell的种类繁多,目前流行的Shell包括bash、sh等等,用户可以在终端通过查看“/etc/shells”文件中的内容来查看自己系统主机中...原创 2018-04-09 20:06:03 · 614 阅读 · 0 评论 -
Linux C ————18、认识make
什么是makemake和Makefile提供了一种非常简单有效的工程管理方式。使用这种方式管理工程的原理非常简单,Makefile是一个决定怎样编译工程的文本文件,有一定的书写规则。在工程更新的时候,使用GNU的make工具根据当前的Makefile对工程进行编译。make执行后的退出码表示成功执行如果make运行时出现任何错误,则返回1如果使用了make的“-q”选项,并且make使得一些目标不...原创 2018-05-16 11:14:09 · 478 阅读 · 0 评论 -
Linux C ————17、gdb使用详解
通过使用gdb的逐步调试代码,可以看到程序内部是如何运行的,还可以查看程序中变量的值、内存使用情况、栈信息以及其他一些细节问题。下面通过一个实例来详细的接收gdb的调试的具体步骤。源程序——计算两个整数的平方和:这段代码的功能是输入两个整数,求他们的平方的和,当两个数全为0的时候退出运算。通过阅读代码可以发现,程序使用了一个while(1)的死循序,使其可以一直接受终端的输入,并运行运算后产生输出...原创 2018-05-16 11:13:49 · 499 阅读 · 0 评论 -
Linux C ————16、gdb调试器
gdb是Linux下一款功能强大的C/C++程序的调试工具,本节将通过实例代码简单的介绍一下gdb的各项功能。gdb简介在程序开发的过程中,调试是不可避免的步骤之一,Linux下的GDB(GNU Debugger)是一个用来调试C\C++程序的功能强大的调试器,它能够在程序运行的过程中观察程序员的内部结构和内存的使用情况。程序员也可以使用gdb来跟踪程序中的错误,从而减少程序员的工作量。一般来说G...原创 2018-05-16 11:13:37 · 415 阅读 · 0 评论 -
Linux C ————15、使用GCC
gcc编译器功能强大,包括警告提示功能、代码优化功能、链接库、使用管道加速等,下面通过一个个具体的实例来一一介绍这些功能。GCC编译初步如前面所述,gcc的编译过程分为预处理、编译、汇编、链接4个阶段。从功能上分,预处理、编译、汇编是3个不同的阶段,但gcc在实际操作上,可以吧这3个步骤合并为一个步骤来执行。下面通过简单的Hello world的例子来讲解gcc的工作原理。首先用vi编辑器键入一下...原创 2018-05-16 11:13:29 · 553 阅读 · 1 评论 -
Linux C ————14、GCC编译器简介
GCC编译器简介在Linux环境开发应用程序时,绝大多数情况下都是使用C语言,因此,几乎每一位Linux程序员面临的首要问题都是如何灵魂应用C编译器,目前Linux下最常用的C语言编译器是gcc(GNU Compiler Collection),它是GNU项目中符合ANSI C标准的编译系统,能编译用C、C++和Object C等语言编写的程序。事实上,gcc可以编译如C\C++\Object\j...原创 2018-05-16 11:13:21 · 700 阅读 · 0 评论 -
Linux C ————13、有趣的VI
下面我们来简单的操作一波vi,让你也看看vi的功能强大之处与好用之处:(1)在终端输入vi test.c,启动vi编辑器的同时创建一个test.c的C语言文件(2)之后按下“i”键之后进行插入模式,之后输入以下C语言代码:感觉如何?代码的高亮显示、规范的缩进格式,真的是美呀!(3)之后我们输入"ESC”进入命令模式,之后再输入“:”切换到“行低模式”,之后输入“set nu”,之后你会发现程序代码...原创 2018-04-10 11:29:00 · 408 阅读 · 0 评论 -
Linux C ————12、Vi的使用
启动vi和退出vi在Linux终端命令提示符下输入vi(或vi 文件名),即可启动vi编辑器。如:#vi filename按“Enter”键执行该命令,之后系统便会自动打开文件名为filename的文件的vi编辑界面。其初始界面如下所示:当你使用vi进行编辑的时候如果操作的目标对象文件不存在,那么vi会自动为你在缓冲区内创建一个新文件的缓冲,如果你不保存退出,那么这个文件不会被创建!要退出vi,...原创 2018-04-10 11:02:41 · 385 阅读 · 0 评论 -
Linux C ————11、位运算符和位运算
位运算是C语言提供的对二进制位的操作功能。它应用于整型数据,即把整型数据看成固定的二进制序列,让后对这些二进制序列进行一些按位运算。C语言提供了6中基本的位运算功能:按位与、按位或、取反、异或、左移、右移,下面将分别进行介绍:按位与运算(&)按位与运算是指对两个运算量相应的位进行逻辑与,“&”的运算规则与逻辑与“&&”相同。运算规则:全1出1 ,否则出0按位或运算(...原创 2018-04-10 10:42:29 · 508 阅读 · 0 评论 -
Linux C ————9、指针
指针是C语言中的一种数据类型。掌握指针型数据的使用,是深入理解C语言特性和掌握C语言编程技巧的重要环节,正确灵活的使用指针,可以有效第描述各种复杂的数据结构,能够动态的分配空间,能够方便地操作字符串,还可以自由地在函数之间传递各种类型的数据,是程序便捷、紧凑、执行效率高。地址和指针地址是C语言程序在编译过程中,被分配到的内容地址。在该内存地址的空间中存放着该变量。指针是一个指向内存空间地址的一个“...原创 2018-04-10 10:01:37 · 330 阅读 · 0 评论 -
Linux C ————8、数组
数组是同类型有序数据的集合,可以为这些数据集合起一个名字,称为数组名。该集合中的各个数据项称为数组元素,每个元素可以用数据名称和下标表示。在C程序中,数组是一个十分有用的数据类型,下面对数组进行详细介绍。一维数组的定义和使用在C语言中使用数组必须先进行定义,一维数组的定义方式如下:类型说明符 数组名 [常量表达式];其中类型说明符时任意一种基本数据类型或构造数据类型,它定义了全体数组成员的数据类...原创 2018-04-10 09:38:59 · 328 阅读 · 0 评论 -
Linux C ————7、函数
C源程序是由函数组成的。最简单的程序有一个主函数main(),但实用程序往往有多个函数组成,由主函数调用其他函数,其他函数也可以互相调用。函数C源程序的基本模块,程序的许多功能是通过对函数模块的调用来实现的,学会编写和调用函数可以提高编程效率。函数的定义函数的定义通常包含以下内容:类型 函数名(形参列表){ /*函数首部*/ 说明语句 ...原创 2018-04-09 23:57:43 · 350 阅读 · 0 评论 -
Linux C ————6、数据输入与输出
字符输出函数putcharputchar函数是字符输出函数,其功能是在终端显示输出单个字符。其一般调用形式为:putchar(字符变量);例如:putchar(‘A’); /*输出大写字母A*/putchar(x); /*输出字符变量x的值*/putchar(‘\n’); /*换行*/注意,对控制字符则执行控制功能,不再屏幕上显示。字符输入函数getchar()getc...原创 2018-04-09 23:36:02 · 537 阅读 · 0 评论 -
Linux C ————5、C程序的三种基本结构
算法的实现过程是由一系列操作组成的,这些操作之间的执行次序就是程序的控制结构,计算机科学家证明:任何简单或复杂的算法都可以有顺序、选择、循环这三种基本结构组合而成。所以这三种结构就被称为程序设计的三种基本结构。顺序结构顺序结构的程序设计是最简单的,程序中的各个操作按照他们出现的先后顺序执行,其流程如下: 先执行程序内容S1操作,之后再执行程序内容S2操作选择结构选择程序结构用于判断给定的条件...原创 2018-04-09 23:17:08 · 551 阅读 · 0 评论 -
Linux C ————4、运算符与表达式
C语言中有很多的运算符与表达式,如算术运算、赋值运算、逗号运算、自增、自减、关系运算、逻辑运算、位运算、条件运算等等。这是由于C语言具有丰富的多种类型的表达式,才得以体现出C语言所具有的的表达能力强,使用灵活、适应性好的特点。本节主要介绍算术、赋值和逗号运算符,其他的运算符将在之后的内容的陆续介绍。算术运算符与算术表达式1、基本的算术运算符运算符含义运算对象个数结合方向例子+加法运算或取正值运算双...原创 2018-04-09 22:18:17 · 401 阅读 · 0 评论 -
Linux C ————3.C语言基本数据类型
C语言的基本数据类型在计算机中,数据的性质和表示方式可能不同。所以需要将相同性质的数据归类,并用一定数据类型描述。任何数据对于用户都呈现常量和变量两种形式。常量是指程序在运行时其值不能改变的量。常量不占内存,在程序运行时它作为操作对象直接出现在计算器的各种寄存器中。变量是指在程序运行时其值可以改变的量。变量的功能就是存储数据。C语言的基础数据类型包括整形、实型和字符型。整型整型即整数数据类型。分整...原创 2018-04-09 21:52:44 · 428 阅读 · 0 评论 -
Linux C————2、Linux常用命令
在LInux操作系统中,各式各样的命令有成千上百个,有的命令用户会经常用到,有的则很少甚至几乎用遇到。本小节就简答的介绍一下Linux中的常用命令。与目录相关的命令当用户在Linux的Shell终端执行相关的操作时,目录的操作时最为常见的。与目录操作相关的常用命令有:pwd、cd、mkdir、rdmdir等1、pwd命令格式:pwd 功能:显示当前目录的绝对路径2、cd命令格式:cd 【目...原创 2018-04-09 20:42:24 · 343 阅读 · 0 评论 -
Linux C ————19、Linux文件系统
文件是Linux环境中一个相当重要的概念,文件提供了简单并一致的接口来处理系统服务与设备。在Linux中,一切都是文件。也就是说,在Linux中,所有的内容都被看出文件,所有的操作都可以归结为对文件的操作,操作系统可以像处理普通文件一样用来使用磁盘文件、串口、键盘、显示器、打印机以及其他设备。Linux文件系统结构Linux文件系统是目录和文件的一种层次安排,目录的起点称为根“root”,其名字是...原创 2018-05-16 11:14:21 · 513 阅读 · 0 评论