自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

江南又一春

志当存高远,勤必争朝夕。

  • 博客(228)
  • 资源 (1)
  • 收藏
  • 关注

原创 linux命令之(5) find命令

1. NAMEfind - search for files in a directory hierarchy在目录结构中搜索文件。2.SYNOPSIS find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [expression] 链接处理方式 起始目录 限制条件3. DESCRIPTIONThis manual pag

2020-06-14 00:04:39 662

原创 linux命令(4) which命令

1.NAMEwhich - locate a command搜索一个命令2. SYNOPSISwhich [-a] filename …3.DESCRIPTIONwhich returns the pathnames of the files (or links) which would be executed in the current environment, had its arguments been given as commands in a strictly POSIX

2020-06-13 22:05:13 612

原创 linux命令之(3 )whereis命令

1. NAMEwhereis -locate the binary, source, and manual page files for a commandlocate命令查找一个命令的 二进制、源文件、帮助手册文件。2. SYNOPSISwhereis [options] [-BMS directory… -f] name…3. DESCRIPTIONwhereis locates the binary, source and manual files for the specif

2020-06-09 22:46:46 593

原创 linux 命令之(2)grep

1.NAMEgrep, egrep, fgrep, rgrep - print lines matching a pattern打印匹配到模式的行2.SYNOPSISgrep [OPTIONS] PATTERN [FILE…]grep [OPTIONS] -e PATTERN … [FILE…]grep [OPTIONS] -f FILE … [FILE…]3.DESCRIPTIONgrep searches for PATTERN in each FILE. A F

2020-06-08 00:00:35 298

原创 linux 命令之(1) locate命令

1. NAME(名字)locate - find files by name定位- 通过名字查找文件。2. SYNOPSIS (大纲)locate [OPTION]… PATTERN…3. DESCRIPTION (描述)locate reads one or more databases prepared by updatedb(8) and writes file names matching at least one of the PATTERNs to standard o

2020-06-07 23:00:47 533

原创 条件变量

1.线程同步的概念线程同步隐含两层含义:(1)线程互斥(2)线程有先后执行顺序 的约束2. 实现线程同步的方式——条件变量简介2.1 与互斥锁的对比互斥锁只有两种状态: 锁定和非锁定。而条件变量允许线程挂起,以及等待另一个线程发送信号来唤醒该线程。2.2 条件变量的内部实现条件变量的内部实现是一个等待队列(需要调用相应的系统调用),放置等待的线程。线程在条件变量上等待和通知(通知也需要调用系统调用)。互斥锁用来保护等待队列(锁住等待队列,因为等待队列自身对于所有线程来讲也是一个共享的资

2020-06-07 19:03:54 303

原创 Git/Github 使用

1. Git是什么?git是目前世界上最先进的分布式版本控制系统。2. Git的特点版本控制:可以解决多人同时开发的代码问题,也可以解决找回历史代码的问题。分布式:Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。首先找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。可以自己搭建这台服务器,也可以使用GitHub网站。3. Git 的基本使用git

2020-06-07 00:28:27 183

原创 正则表达式入门

1. 什么是正则表达式 ?正则表达式用来干什么?正则表达式是由一些元字符和字符组成的字符串,而这些元字符是一些表示特殊意义的字符,即被正则表达式引擎表达的字符表示与其本意不同的一些字符。正则表达式是描述一些字符串的模式(规则)2. 正则表达式的分类基本正则表达式扩展正则表达式注意:二者主要区别在于:支持的元字符不同。3. 基本的正则表达式正则表达式中进行组成规则的字符称之为元字符,元字符根据其功能不同,可以分为4类。3.1 内容匹配字符.: 匹配任意单个字符[]: 匹配范围内

2020-06-02 23:15:04 543

原创 linux man手册

1、Standard commands (标准命令)2、System calls (系统调用)3、Library functions (库函数)4、Special devices (设备说明)5、File formats (文件格式)6、Games and toys (游戏和娱乐)7、Miscellaneous (杂项)8、Administrative Commands (管理员命令)...

2020-05-12 10:06:36 505

原创 netcat 网络瑞士军刀

1. 创建服务端和客户端1.1 创建一个服务器端nc -l -p port-l: Listen mode, for inbound connects. #即监听模式,监听入站的链接-p: 后面接port, 即监听的端口号1.2 创建一个客户端nc [remote address] [remote port] # 连接远端服务器的地址,连接的端口号1.3 演示背景解释...

2020-04-29 23:31:37 219

原创 第八章、文件与文件系统的压缩,打包与备份

8.1 压缩文件的用途与技术8.1.1为什么压缩文件?节约磁盘空间节约网络带宽…8.1.2 压缩文件的技术技术一:将没有占用的空间填满,(节约了空间,但是不方便cpu读取)技术二: 将重复的码 统计形式记录。压缩后与压缩的文件所占用的磁盘空间大小, 就可以被称为是压缩比。8.2 Linux 系统常见的压缩指令linux下 压缩文件的扩展名*.Z:: compress 程...

2020-04-24 11:51:30 216

原创 第九章、vim程序编辑器

9.1 vi 与vim为什么学vi 和vim ?鼓励使用文字进行linux系统的设定,因此有必要学习一款文字编辑软件。而不同的发行版支持不同的文字编辑器,但是所有的发行版都支持vi文字编辑器。很多软件的编辑接口调用的程序就是vi。vim是vi 的进阶版本, 具有代码高亮,可以作为程序编辑器使用。9.2 vi 的使用一般的账户已经使用vim 来代替vi 编辑器,也就是说 ~$ vi ...

2020-04-24 01:38:18 181

原创 c++语言的 代码组织

1. c/c++ 头文件包含1.1 c++ 程序的 编译链接过程包含的头文件分为三类:c++ 标准库头文件c++ 第三方库 头文件自定义的类等 头文件1.2疑问为什么系统静态库、和第三方静态库动态库 等不提供源码直接给我们链接呢?而是已经编译好的静态库或者动态库 .lib 或者.so 文件呢?原因一:知识产权的原因,有的第三方库不愿意提供源码。原因二:编译效率原因,直接使...

2020-04-22 21:27:23 574 2

原创 命令总结

1. 查看路由表route -n目标(destination):代表的是目标网段。网关(gateway):需要经过的网关子网掩码(Genmask)标志位(flags): 当标志位带有G(即Gateway) 时才能作为 网关转发使用。没有G标志的话,代表是本地的(子网内的),直接通过网卡接口(Iface),不需要通过网关向外发送。越点(mertic)2. 添加路由route ...

2020-04-20 11:05:51 220

原创 c++ 命名空间

1. 全局命名空间污染问题1.1 原因之一:引入的库与库之间的实体名字冲突我们在编写大型程序时,可能会同时引入多方的库。假如我们同时引入A、B、C 三个库。 为了引入这三个库,我们需要使用其定义的类、变量、函数等。 因此会引入他们的头文件。 假如A库的头文件的名字的命名和B库头文件名字的名字是一样的。而对于主函数来说,它要同时引入这两个库,那么编译器就会报错,因为它认为一个实体定义了两次。1...

2020-04-19 00:04:39 365

原创 dpkg 、apt

1. apt简介Advanced Package Tool,即APT。是一款适用于Unix和Linux系统的应用程序管理器。是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似。 最初于1998年发布,用于检索应用程序并将其加载到Debian Linux系统。APT成名的原因之一在于其出色的解决软件依赖关系的能力。APT的命令行工具:apt-get apt等。2. a...

2020-04-18 00:05:51 217

转载 字符串、字符型指针、字符数组

解释一:在函数中定义一个字符串,char *s = “asdfgh”,相当于在代码段申请了7个连续的字节的内存空间用以存储字符串"asdfgh"(为何是7个字节,因为字符串末尾还有一个’\0’字符,加上字符串本身的6个字符,共占7个字节),同时在栈中定义一个字符指针s,即char * s,并将这7个字节组成的这段内存的首地址赋值给s,即将字符’a’的内存地址赋值给s。在函数中定义一个字符数组,...

2020-04-16 14:56:25 244

原创 netfilter_queue

int nfq_set_verdict(struct nfq_q_handle *qh, uint32_t id, uint32_t verdict, uint32_t data_len, const unsigned char *buf)函数功能:对一个数据包发表裁决。函数参数:qh:id:verdict:data_len:buf:包含数据包数据的缓冲...

2020-04-14 22:12:11 1691

原创 c++ 编程的一些守则与注意事项

1. 设计类

2020-04-08 11:23:08 338

原创 linux 软链接和硬链接

1. 用户数据与元数据1.1 基本概念我们都知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件...

2020-04-07 16:23:35 161

转载 gcc 与g++

1.什么是gcc / g++首先说明:gcc 和 GCC 是两个不同的东西GCC:GNU Compiler Collection(GUN 编译器集合),它可以编译C、C++、JAV、Fortran、Pascal、Object-C、Ada等语言。gcc是GCC中的GUN C Compiler(C 编译器)g++是GCC中的GUN C++ Compiler(C++编译器)一个有趣的事实就是,...

2020-04-06 23:41:22 367

转载 Unix域套接字简介

1. unix 套接字简介在Linux系统中,有很多进程间通信方式,套接字(Socket)就是其中的一种。但传统的套接字的用法都是基于TCP/IP协议栈的,需要指定IP地址。如果不同主机上的两个进程进行通信,当然这样做没什么问题。但是,如果只需要在一台机器上的两个不同进程间通信,还要用到IP地址就有点大材小用了。其实很多人并不一定知道,对于套接字来说,还存在一种叫做Unix域套接字的类别,专...

2020-04-06 15:33:48 572

原创 linux 之文网络编程基础 (二)、大小端、地址地址转换函数

1、tcp、udp特点(1)TCP 电话系统服务模式的抽象。(面向连接、可靠)面向连接 需要3次握手。(2)UDP邮件系统服务的抽象。(面向无连接的)经过的路由器多,丢包率高。认为让它可靠。(添加应用层协议。)2、大小端2.1 不同的电脑大小端不同,就会造成问题。主机字节序(大小端都有)网络字节序(都是大端)注意:服务器一般是大端的(因为网络字节序是大端的,服务...

2020-04-02 23:57:20 296

原创 linux 之文网络编程基础 (一)、网络编程基本概念

1. 计算机网络基础1.1 计算机网络的要求1958年,出于军事考虑, 美国国会成立ARPA,目的是造出计算机网络,要求是:1.2 分组交换在各种网络应用中,端系统彼此交换报文( message) 。 报文能够包含协议设计者需要的任何东西 。 报文可以执行一种控制功能(例如,图 1-2 所示例子中的"你好"报文) ,也可以包含数据,例如电子邮件数据、 JPEG 匮|像或 MP3音频文...

2020-04-02 23:08:57 309

原创 Linux下静态库与动态库简单制作与使用

前言在实际的开发过程中,编写程序往往都需要依赖很多基础的底层库,比方说平时用的较多的标准C库,数学库等等;我们会频繁的使用这些库里的函数,这些函数大多数都是前人为我们写好的,所以值得庆幸的是我们的工作不必从零开始,我们要做的只是在恰当的位置调用合适的库函数去实现相应的功能,充分利用前人的劳动成果,就是“站在巨人的肩膀上”。本文主要简述Linux下库的制作以及使用方法。1. 什么是库?库从本质...

2020-04-02 17:23:29 246

原创 linux 之文件基础 (五)、文件属性

简介当我们使用 ls -al 指令时,终端将打印文件的属性信息。那么,在我们实际编程的时候如何取获取文件的属性信息呢? 我们能不能模拟ls -al 命令,写出一个我们自己的ls -al 命令呢? 本文尝试做这个事情。其中用到了获取文件属性的API,我们的主要目的就是学习这些API。1. stat等获取文件属性函数1.1 函数原型#include <sys/types.h>#...

2020-04-02 11:14:56 282

原创 C++ pair

1. pair 简介1.1 功能//类模板:template<class _T1, class _T2> struct pair{ typedef _T1 first_type; typedef _T2 second_type; _T1 first; _T2 second; pair(): first(), second() { } pair(cons...

2020-03-31 23:13:47 154

原创 Ice 线程与并发 C++

1. Thread 类1.1 概述Ice中的基础线程是由ThreadControl类和Thread类来提供的(在IceUtil/IceUtil.h中定义):Thread类是一个抽象基类,拥有一个纯虚方法run。要创建线程,必须特化Thread类,并实现run方法。1.2 其成员函数1)id:该函数返回每个线程的唯一标识符,类型是ThreadID。在调用start函数之前调用它时,会引发T...

2020-03-31 19:33:15 418

原创 linux 之文件基础 (四)、标准IO的API

1. 刷新缓冲区#include <stdio.h>int fflush(FILE *stream);2. 打开一个流#include <stdio.h>FILE *fopen(const char *pathname, const char *mode);FILE *fdopen(int fd, const char *mode);FILE *freope...

2020-03-30 19:10:58 397

原创 linux 之文件基础 (三)、标准IO的两个概念:流、缓冲区

1. 标准IO的一些概念文件IO中使用了文件描述符的概念,但是并不是所有操作系统都提供文件描述符这样抽象的机制。因此 文件IO 的那一套函数,可以在类unix系统下使用。但是换做别的系统,就没有了文件描述符的概念。而c标准库,为我们提供了一套函数叫做标准IO。无论在什么系统上,我们都可以使用标准IO 所提供的函数。标准IO相当于在所有的操作系统的实现上提供了一层封装,使用标准IO 函数 进行IO...

2020-03-30 18:35:38 1259

原创 linux 之文件基础 (二)、文件IO API

1. 操作文件的重要性由于linux的一切皆文件的概念,因此,学会如何操作文件是非常重要的。对于操作文件,我们需要掌握以下内容:基本的文件操作: 以特定的权限打开文件、关闭文件、向文件读写等。操作文件的属性:获取属性、改变属性等。对于目录文件的操作上述的每一类操作都有对应的API。 下面我们分别介绍各种API2. 文件基本操作之 文件IO2.1 文件IO 简介文件IO,是Li...

2020-03-30 00:26:30 571

原创 linux 之文件基础 (一)、linux基础知识、文件基本概念

1. Linux 下系统调用和库函数简介1.1 操作系统概念操作系统(opearting OS)是管理和控制硬件与软件的计算机程序,它是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。1.2 操作系统的功能总结操作系统的功能包括管理计算机系统的硬件、软件及数据资源。对于程序员来讲,操...

2020-03-29 23:22:22 373

原创 linux 之线程基础 (三)、多线程编程的同步和互斥

linux 之线程基础 (三) 多线程编程的同步和互斥线程机制的优点:线程间很容易进行通信,通过全局变量实现数据共享和交换。线程机制缺点:多个线程同时访问共享对象时需要引入同步和互斥机制。1. 同步与互斥的基本概念1.1 同步在多任务的操作系统环境下,多个进程/线程会同时运行。多个任务可能为了完成同一个目标会相互协作,按一定规则有序运行,这样就形成了任务之间的同步关系。同步概念:是...

2020-03-28 18:15:27 736

原创 linux 之线程基础 (二)、 线程相关API

2. 线程相关API2.1 线程ID 的数据类型2.1.1 进程ID的数据类型进程ID的数据类型为 pid_t进程在系统中唯一的标识。获取进程ID的函数为:getpid()。2.1.2 线程ID的数据类型线程ID的数据类型为 pthread_t 线程ID代表 线程所属进程中,线程的唯一标识。它只在所属进程有获取线程ID的函数 pthread_self();注意:线程ID...

2020-03-28 16:39:00 281

原创 linux 之线程基础 (一)、 线程的基本概念

1. 线程基本概念1.1 为什么需要引入线程?现代操作系统OS引入了多任务的概念,传统上多任务的实现是多进程完成的。支持多任务就涉及到进程的切换,也就意味着进程上下文的切换。如果我们进程有很多,多进程的频繁切换,每次上下文切换都要做这些事,还是很耗资源的,我们想用一种机制能减少进程切换带来的资源消耗,所以很多操作系统中都引入了轻量级的进程的概念。也称之为线程。注意:上下文切换,上下文的意思...

2020-03-26 22:43:58 212

原创 linux 之进程基础 (七)、守护进程、进程组等概念

7. 守护进程、进程组等概念7.1 守护进程特点运行方式守护进程,也就是通常所说的Daemon进程,是Linux中的后台服务进程。周期性的执行某种任务或等待处理某些发生的事件。Linux系统有很多守护进程,大多数服务都是用守护进程实现的。比如:像我们的tftp,samba,nfs等相关服务。同时Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务...

2020-03-26 11:14:54 627

原创 linux 之进程基础 (六)、进程API之进程资源回收函数

6. 进程API之进程资源回收函数6.1 wait函数和waitpid函数 简介6.1.1 wait函数调用该函数使进程阻塞,直到任一个子进程结束或者是该进程接收到了一个信号为止。如果该进程没有子进程或者其子进程已经结束,wait函数会立即返回。此时父进程属于可中断状态6.1.2waitpid函数功能和wait函数类似。可以指定等待某个子进程结束以及等待的方式(阻塞或非阻塞)。事实上w...

2020-03-25 21:23:20 256

原创 linux 之进程基础 (五)、进程API之进程终止API

5 . 进程终止API5.1 exit()函数和_exit()函数exit()和_exit()函数都是用来终止进程的。当程序执行exit()和_exit()时,进程会无条件的停止剩下的所有操作。清除各种数据结构,并终止本进程的运行。但是这个两个函数运行还是有点区别的。5.2 exit()函数和_exit()函数 的区别5.2.1exit()函数和_exit()函数 的区别 示意图_...

2020-03-25 21:04:30 577

原创 linux 之进程基础 (四)、进程API之进程执行exec函数簇

4. 进程API之创建执行exec函数簇4.1 exec()函数簇说明可执行文件查找方式:带p:对文件查找方式为p的(以p结尾的函数)可以只给出文件名,系统会自动从环境变量“$PATH”所包含的路径中进行查找。不带p:需要提供完整的路径名。向新程序传递环境表的方式:带e:接受一个附加的环境参数列表,参数格式为NULL结尾的字符串数组,且字符串的格式为“VARIABLE=value...

2020-03-25 20:15:06 394

原创 linux 之进程基础 (三)、进程API之创建进程 fork、vfork函数

3. Linux下进程相关的API 之创建进程函数3.1 fork函数3.1.1 fork 函数原型Fork 的英文意思是叉子 ,意思是 从一个进程分出多个进程 (两个执行流)。#include <sys/types.h>#include <unistd.h>pid_t fork(void);返回值:返回0 : 子进程的执行流返回>0:父进程的...

2020-03-25 19:46:14 449

正则表达式必知必会v_1.0.pdf

正则表达式必知必会v_1.0.pdf

2022-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除