![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux学习
文章平均质量分 75
PengAcang
这个作者很懒,什么都没留下…
展开
-
Linux基础
一、Linux部分结构目录:1./: 根目录,只存放目录,不要存放文件。目录 如:/etc,/bin, /dev, /lib, /sbin等放置在一个分区中;2./bin:可执行二进制目录文件,如常用的ls,cat, mv, tar命令存放在本目录中。3./boot: 存放linux系统启动时使用的文件,其中vmlinuz为linux内核文件,以及gurb文件4.原创 2017-10-01 10:42:19 · 160 阅读 · 0 评论 -
Linux学习——Linux网络笔记二(UDP Socket 编程)
一、基本的udp socket编程 1. UDP编程框架 要使用UDP协议进行程序开发,我们必须首先得理解什么是什么是UDP?这里简单概括一下。 UDP(user datagram protocol)的中文叫用户数据报协议,属于传输层。UDP是面向非连接的协议,它不与对方建立连接,而是直接把我要发的数据报发给对方。所以UDP适用于一次传输数据量很少、对可靠性要求不高的或对实时性要求高的应用场景原创 2017-12-07 15:16:42 · 296 阅读 · 0 评论 -
Linux网络编程基础---字节序
1.字节序 先上图,帮助理解 假设图 1中在内存 0x1000到 0x1003这连续的 4个字节保存了数据,这段数据对应的数据类型是 int类型。我们知道 int类型的数据在大多数编译器实现中都是 4字节。那么图 1中这个 int 类型数据,到底是 0x10203040还是 0x40302010?实际上这是依赖于处理器架构的。对于 little-endian(小端)机器来说,这 4字节数据被原创 2017-12-07 15:21:27 · 320 阅读 · 0 评论 -
c语言学习——字符数组与字符串的使用详解
1、字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。char str[10]={ 'I',' ','a','m',' ',‘h','a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素 如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即原创 2017-11-02 20:29:25 · 683 阅读 · 0 评论 -
Linux工程管理器和GDB调试器
在实际的开发过程中,仅仅通过使用 gcc 命令对程序进行编译是非常低效的。原因主要有以下两点。1)程序往往是由多个源文件组成的,源文件的个数越多,那么 gcc 的命令行就会越长。此外,各种编译规则也会加大 gcc 命令行的复杂度。所以在开发调试程序的过程中,通过输入gcc 命令行来编译程序是很麻烦的。2)在程序的整个开发过程中,调试的工作量占到了整体工作量的 70%以上。在调试程序的过程...原创 2017-10-01 15:26:57 · 284 阅读 · 0 评论 -
学习C++(1)记载的一些网易云笔记
1.C语言中,未初始化的全局变量为0,未初始化的局部变量为垃圾值。C 支持全局变量的重复定义,而C艹不可以。#include <iostream>using namespace std;int a;int a = 1;int main (){ cout << a << endl;}编译不通过。2 . C 中的一些不...原创 2018-07-19 09:49:49 · 374 阅读 · 0 评论 -
C语言学习——strlen 与 sizeof 的区别
结合学习:c语言学习——字符数组与字符串的使用详解: https://blog.csdn.net/pengacang/article/details/78429012关于 strlen 与 sizeof 的区别,我相信很多人都有所了解。以下我总结了几点关于strlen 与 sizeof 的区别和注意事项。strlen 是函数,sizeof 是运算符。strlen 测量的是字符的实际长...原创 2018-07-25 14:56:26 · 254 阅读 · 0 评论 -
学习c++(5)运算符重载
一、什么是运算符重载 所谓重载,就是重新赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新功能,因此,一个函数名就可以用来代表不同功能的函数,也就是”一名多用”。 又如”<<“是C++的位运算中的位移运算符(左移),但在输出操作中又是与流对 象cout 配合使用的流插入运算符,”>>“也是位移运算符(右移),但在输入操作中又是与流对象 cin 配合使用的...原创 2018-07-29 10:26:04 · 260 阅读 · 0 评论 -
学习C++(6)继承与派生笔记
关键字:继承继承的概念 继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承类似,例如儿子继承父亲的财产。继承(Inheritance)可以理解为一个类从另一个类获取成员变量和成员函数的过程。例如类 B 继承于类 A,那么 B 就拥有 A 的成员变量和成员函数。被继承的类称为父类或基类,继承的类称为子类或派生类。派生类除了拥有基类的成员,还可以定义自...原创 2018-07-29 10:39:48 · 228 阅读 · 0 评论 -
setsockopt函数的作用
本文转自:http://www.2cto.com/kf/201208/150347.html写Socket程序的时候经常会遇到这个问题:如果自己的程序不小心崩溃了,重新启动程序的时候往往会在bind调用上失败,错误原因为Address Already In Use,往往要等待两分钟才能再次绑定。但是在很多的程序(比如nginx)中好像并不存在这个问题,就算被KILL了也能立刻重启。这个区别还是...转载 2018-07-29 15:18:28 · 1704 阅读 · 0 评论 -
Linux学习——Linux下网络编程笔记(一)
网络中进程之间如何通信 网间进程通信要解决的是不同主机进程间的相互通信问题(可把同机进程通信看作是其中的特例)。为此,首先要解决的是网间进程标识问题。同一主机上,不同进程可用进程号(process ID)唯一标识。但在网络环境下,各主机独立分配的进程号不能唯一标识该进程。 其次,操作系统支持的网络协议众多,不同协议的工作方式不同,地址格式也不同。因此,网间进程通信还要解决多重协议的识别问题。原创 2017-12-07 15:14:32 · 258 阅读 · 0 评论 -
操作系统基础训练十个问题及解答
1、简述Linux进程内存空间分为哪几个段?作用分别是什么?Linux的内存空间简单可以分为5个部分:Text(代码区):这里存放的是CPU要执行的指令。代码段是可共享的,相同的代码在内存中只会有一个拷贝,同时这个段是只读的,防止程序由于错误而修改自身的指令。Data(数据区):这里存放的是程序中需要明确赋初始值的变量,例如位于所有函数之外的全局变量:int val=100(初始化为0的全局变量原创 2017-12-07 13:00:02 · 299 阅读 · 0 评论 -
Linux 多线程编程
1. 什么是线程线程是进程的一个实体,是CPU调度和分配的基本单位,它是比进程更小的能独立运行的基本单位,一个进程可以包含多个线程2. 线程里的内容一个指向当前被执行命令的指令指针;一个栈;一个寄存器值的集合,定义了一部分描述正在执行线程的处理器状态的值;一个私有的数据区3. 线程与进程的区别一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。原创 2017-12-07 10:46:48 · 212 阅读 · 0 评论 -
Liunx 应用程序开发——GCC
Liunx 应用程序开发—GCC一、GCC的介绍:在 Linux 平台上,最流行的编译系统是 GCC(GNU Compile Collection)。GCC 也是 GNU发布的最著名的软件之一。GCC 的功能非常强大,主要体现在两方面。1) GCC 可以为 x86、ARM、MIPS 等不同体系结构的硬件平台编译程序。 2) GCC 可以编译 C、C++、Pascal、Java 等...原创 2017-10-01 12:13:12 · 390 阅读 · 0 评论 -
Linux常用的文件处理命令
Linux 系统信息存放在文件里,文件与普通的公务文件类似。每个文件都有自己的名字、内容、存放地址及其它一些管理信息,如文件的用户、文件的大小等。文件可以是一封信、一个通讯录,或者是程序的源语句、程序的数据,甚至可以包括可执行的程序和其它非正文内容。 Linux 文件系统具有良好的结构,系统提供了很多文件处理程序。这里主要介绍常用的文件处理命令。原创 2017-10-02 15:33:40 · 325 阅读 · 1 评论 -
Linux系统管理命令
对于 Linux 系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux 系统管理的命令是它正常运行的核心。熟悉了 Linux 常用的文件处理命令以后,这一讲介绍对系统和用户进行管理的命令。原创 2017-10-03 09:58:10 · 435 阅读 · 0 评论 -
Linux系统安全命令
虽然 Linux 和 Windows NT/2000 系统一样是一个多用户的系统,但是它们之间有不少重要的差别。对于很多习惯了 Windows 系统的管理员来讲,如何保证 Linux 操作系统安全、可靠将会面临许多新的挑战。本文将重点介绍 Linux 系统安全的命令。passwd1. 作 用passwd 命令原来修改账户的登陆密码,使用权限是所有用户。2.格式passwd [选项] 账户名称3.主原创 2017-10-04 12:18:41 · 652 阅读 · 0 评论 -
Linux学习之如何让普通用户获得ROOT权限
在学习sodu的时候,我发现一些命令只能由root用户使用,普通用户使用会提示此用户没有使用sudo的权限。我想到的解方法是把正在使用的普通用户获得root权限,于是我通过百度和询问老师知道了如何去实现。原创 2017-10-04 22:49:36 · 22711 阅读 · 0 评论 -
linux c学习—— 预处理和结构体
1.预处理有哪些类型?C语言提供多种预处理功能,主要处理#开始的预编译指令,如宏定义(# define),文件包含(# include),条件编译(# ifdef)等(以*开头的都是预处理命令)。2.条件语句和条件编译有什么区别?条件编译是C语言中预处理部分的内容,它是编译器编代码时最先处理的部分,。条件编译里面有判断语句,如#if,#else,#endif。它的意思是如果宏条件如果符合,就编译这段原创 2017-10-27 17:16:44 · 364 阅读 · 0 评论 -
数据结构学习——栈与队列
1.定义栈是一种特殊的线性表。其特殊性在于限定只能在表尾进行插入和删除数据元素的操作。如下所示: (1)结论:后进先出(Last In First Out),简称为LIFO线性表。 (2)栈顶(top):允许删除和插入操作的一端,另一端称为栈底(button)。2.抽象数据类型(1)进栈: Push(S,x)、可形象地理解为压入,这时栈中会多一个元素。(2)出栈: Pop(S) 、 可形象地理解原创 2017-11-03 13:14:52 · 296 阅读 · 0 评论 -
Linux学习——进程间通信方式(1)
管道(Pipe)和有名管道(FIFO)一、无名管道(pipe)1.1管道的介绍管道可以用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘进程间的通信。A.管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道B.只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);C.单独构成一种独立的文件系统:管道对于管道两端的进程原创 2017-12-01 10:29:59 · 232 阅读 · 0 评论 -
LINUX学习——LINUX文件结构
Q1:什么是Linux文件系统?文件系统指文件存在的物理空间,Linux系统中每个分区都是一个文件系统,都有自己的目录层次结构,Linux会将这些分属不同分区的,单独的文件系统按一定的方式形成一个系统的总的目录层次结构。(1)主要包括两方面内容:一是文件本身所包含的数据;二是文件的属性。(2)目录也是一种文件,称为目录文件,内容是该目录的目录项,目录项是该目录下的文件和目录的相关信息。(3)标准目录原创 2017-11-23 13:29:32 · 429 阅读 · 0 评论 -
linux进程通信2
1. 何为消息队列?消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。 每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞问题。 但是消息队列与命名管道一样,每个数据块都有一个最大长度的限制。2. 消息队列的该如何应用?消息队列是链表队列,它通过内核提供一个struct msqid_ds *msgque[MSG转载 2017-12-07 10:42:10 · 164 阅读 · 0 评论 -
学习c++(7)多态
一、如果子类定义了父类中原型相同的函数会发生什么? 1、函数重写 在子类中定义与父类中原型相同的函数 函数重写只发生在父类与子类之间2、重载与重写区别: (1)重载:同一个作用域; 子类无法重载父类函数,父类同名函数将被覆盖; 重载是在编译期间根据参数类型和个数决定; (2)重写:发生于父类、子类之间; 父类和子类函数有相同的函数原型; ...原创 2018-08-02 20:26:46 · 237 阅读 · 0 评论