linux学习
Linux学习
Linux知识点总结
double_happiness
这个作者很懒,什么都没留下…
展开
-
退出telnet交互
linux命令拾遗原创 2022-07-25 10:59:24 · 229 阅读 · 0 评论 -
设置静态ip
设置静态ip网络配置的配置文件所在位置:/etc/sysconfig/network-scripts查看所有的设备配置文件[root@zsx1 ~]# ls /etc/sysconfig/network-scripts/ifcfg-*/etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-lo 默认情况下是dhcp[root@zsx1 ~]# cat /etc/sysconfig/原创 2022-03-09 11:18:09 · 156 阅读 · 0 评论 -
linux下设置免密登录
文章目录配置本机免密登录设置远程免密登录配置本机免密登录未配置免密登录的时候需要输入密码ssh localhost[root@zsx3 ~]# ssh localhostThe authenticity of host 'localhost (::1)' can't be established.ECDSA key fingerprint is SHA256:cxQwCEDiV5hQkBznV0erMMOdOAvyG8QQph9Badft9zU.ECDSA key fingerprint i原创 2022-03-09 10:48:53 · 1359 阅读 · 0 评论 -
【通信方式五】socket编程之TCP通信
1、网络字节序网络字节序就是熟知的关于大小端的问题,关于前面的大小端的判断方法,以及代码实现再此就不在赘述,下面只谈网络中的字节序问题(如何判定当前机器的大小端:http://blog.csdn.net/double_happiness/article/details/71480861)发送方主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出,接收主机把从网络中接收到的字节依次保原创 2017-07-11 23:35:36 · 1700 阅读 · 0 评论 -
time_wait与面试的暧昧
【背景知识】TCP三次握手与四次挥手http://blog.csdn.net/double_happiness/article/details/70160738time_wait是什么?通过上面三次握手和四次挥手的学习,在TCP连接断开的时候,断开的一方将处于time_wait状态。为什么主动断开连接的一方将处于time_wait状态?(1)等待被关闭方应答ACK确认因原创 2017-07-10 23:54:39 · 979 阅读 · 0 评论 -
TCP协议中的URG和PSH位
相关背景知识http://blog.csdn.net/double_happiness/article/details/74025156在探讨TCP协议中的URG和PSH控制位时,我们先来简单的复习一下TCP协议URG(紧急位)紧急指针的起始位=序号紧急指针的结束位=序号+紧急指针(如上TCP报头中的紧急指针)紧急指针为设置为1时有效,设置为0时无效。紧急指原创 2017-07-08 13:51:45 · 1315 阅读 · 0 评论 -
【网络】网络端口号分类
在开始之前有必要先说一下为什么要网络要对对端口号进行细分,而像常见的端口号之间又是什么东西,有什么作用,为什么要学习端口号相关的知识,带着这些疑问,下面开始今天知识的学习。在我学习网络的过程中第一次听到端口号的时并不知道,端口号究竟是什么鬼,心里想着端口应该就是我们手下正在使用的电脑上面的一些拓展端口,像我们插电源、插鼠标、连接键盘直接的吧。然而网络中的端口并不是我当时这样的天真的想法。比较正原创 2017-07-08 12:30:04 · 1047 阅读 · 0 评论 -
浅析TCP协议中的各种定时器
TCP在建立连接之后可能会启动四个定时器重传计时器:Retransmission Timer坚持计时器:Persistent Timer保活计时器:Keeplive Timer时间等待计时器:Time_Wait Timer。重传计时器:Retransmission Timer重传定时器:为了控制丢失的报文段或丢弃的报文段,也就是对报文段确认的等待时间。当TCP发送报转载 2017-07-02 21:13:28 · 739 阅读 · 0 评论 -
代理服务器与NAT技术
1.1 简介1.1.1 名词解释公有IP地址: 也叫全局地址,是指合法的IP地址,它是由NIC(网络信息中心)或者ISP(网络服务提供商)分配的地址,对外代表一个或多个内部局部地址,是全球统一的可寻 址的地址。私有IP地址: 也叫内部地址,属于非注册地址,专门为组织机构内部使用。因特网分配编号委员会(IANA)保留了3块IP地址做为私有IP地址:10.0.0.0转载 2017-06-30 06:46:54 · 1831 阅读 · 0 评论 -
【网络】网络基础知识总结
谈到网络,首先就需要知道计算机网络中的两个参考模型,即OSI参考模型与TCP/IP参考模型。OSI参考模型OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互联模型。该体系结构标准定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层),即ISO开放系原创 2017-07-02 09:09:43 · 3066 阅读 · 0 评论 -
【进程间通信方式二】消息队列
消息队列消息队列提供了一种从一个进程向另一个进程发送数据快的方法原创 2017-06-29 08:19:18 · 1000 阅读 · 0 评论 -
linux下的crond&&crontab
基本概念(1)crond和crontab是不可分割的,crontab是一个命令,常用于Unix/Linux系统之中,用于设置周期性被执行的指令。(2)crontab命令常用于从标准输入设备中读取指令,并将其存放于“crontab”文件中,方便今后的读取和查询。(3)crond则正是crontab的守护进程。功能:crontab在一定的时间间隔调度一些命令原创 2017-06-26 15:24:57 · 1504 阅读 · 0 评论 -
终端与作业控制
进程组 1)简单来说进程组就是多个进程组成的集合 2)和进程一样,进程有唯一的PID进行表识,同样进程组也有一个唯一的标识就是进程组ID,即每个组长的ID(组长ID一般是该组的第一个进程的ID)3)进程组的生命周期:一个进程组是用组长ID进行标识的,但是不要错误的认为组长进程结果,该进程组就结束;而进程组的生命周期是取决于该组中最后一个退出的进程,只要该组还有一个进程就认为该进原创 2017-06-26 23:11:03 · 596 阅读 · 0 评论 -
守护进程&创建
守护进程守护进程也称为精灵进程,是一种运行在后台的特殊进程。和其他后台进程所不同的是,它始终独立其他会话,自成会话组,不受系统登录和注销的影响,一般都是7*24小时在后台运行的,并且守护进程是去关联的(因为不需要和前台服务进行交互)背景知识建立新会话:setsid()函数原型:#include pid_t setsid(void); //返回值:若成功则返回进程原创 2017-06-27 14:05:08 · 774 阅读 · 0 评论 -
关于子进程异步等待方式(SIGCHLD信号)
相关博客Linux下的信号(一)http://blog.csdn.NET/double_happiness/article/details/72848372Linux下的信号(二)http://blog.csdn.Net/double_happiness/article/details/72897148原创 2017-06-07 21:20:13 · 1321 阅读 · 0 评论 -
信号捕获之pause函数和竟态条件(mysleep)
相关博客Linux下的信号(一)http://blog.csdn.NET/double_happiness/article/details/72848372Linux下的信号(二)http://blog.csdn.Net/double_happiness/article/details/72897148原创 2017-06-07 20:06:32 · 1098 阅读 · 0 评论 -
深入理解信号阻塞实现原理
相关博文:Linux下的信号(一)http://blog.csdn.net/double_happiness/article/details/72848372Linux下的信号(二)http://blog.csdn.net/double_happiness/article/details/72897148信号在内核中的表示信号递达(Deliver原创 2017-06-07 13:57:40 · 4504 阅读 · 0 评论 -
Linux下的信号(一)
信号主要是用于不同进程之间进行通信的机制,进程之间的相互协作也正是通过发送信号来完成的,而信号的本质就是修改PCB中关于信号变量的某个比特位(至于为什么是一个比特位,随后就会做出解释) 查看当前系统定义的信号列表:kill -l 请看仔细咯,上面的信号量列表个数并不是64个,而是62个信号分类:普通信号:1——31号信号实时信号:34——64号信号原创 2017-06-03 00:27:19 · 1729 阅读 · 0 评论 -
GDB调试下的多进程与多线程
主要方法1、attach方法2、follow-fork-mode方法背景知识首先要进行调试,我们就不得不先搞清楚调试的一些基本操作。gdb(Linux调试器)使用(1)产生调试信息:要进行代码的调试,就需要有调试信息,要产生调试信息,就需要在源代码生成时添加-g选项;(2)调试的开始和退出开始调试:gdb file(file表示要进行原创 2017-06-02 19:54:48 · 1066 阅读 · 0 评论 -
Linux实现生产者消费者模型
生产者消费者模型简单来说就是“321原则(并非某一规则,而是为了理解生产者消费者模型)”“3”代表的是三种关系生产者与消费者的互斥与同步关系生产者与生产者的互斥(或竞争)关系消费者与消费者的互斥(或竞争)关系“2”代表两种角色生产者:往交易场所放东西(在计算机中一般都是数据)的人消费者:从交易场所取东西的人“1”代原创 2017-06-01 11:35:03 · 13488 阅读 · 1 评论 -
深入理解死锁
死锁定义死锁是指两个或两个以上的进程在执行过程中,由于资源竞争或者由于彼此通信而造成的一种阻塞现象,若无外力作用,他们都将无法推进下去,此时称系统处于死锁状态,这些永远在互相等待的进程称为死锁进程。死锁产生的四个必要条件(1)最基本的条件是互斥条件,只有多个进程互斥的求访问同一个资源,才会导致某个资源不能被某些需要的进程所得到(2)请求和保持条件:对于请求和原创 2017-05-30 22:31:00 · 1107 阅读 · 0 评论 -
Linux下的管道组织管理与容量测试
管道通信方式实现:http://blog.csdn.net/double_happiness/article/details/71685414在学习完管道的通信方式之后,我们知道管道是用来实现进程之间的相互通信的机制,接下来为了更深一步的学习管道的底层实现,我们需要知道Linux下管道是如何进行组织和管理的,同时管道容量也是必须知晓的一个重要参数,该参数可以在我们使用管道进行通信时原创 2017-05-15 13:19:14 · 900 阅读 · 0 评论 -
【通信方式一】管道
引进原因:由于各个进程之间是相互独立的,这样虽然有助于程序内部自己的处理,同时也避免各个进程之间相互影响,但是有时候程序之间就是需要进行一些信息传递,这时就需要相办法来实现这些不同进程之间的通信。管道就是为了解决这种问题应用而生的一种最基本的IPC机制。管道基本信息系统调用函数pipe头文件:#include函数原型:int pipe(int fil原创 2017-05-15 11:32:47 · 1118 阅读 · 0 评论 -
Linux常用工具安装和vim设置的命令实现
声明:本文是针对centos6.0的版本进行安装和设置的,在现在下载的Centos版本上基本上会自带一些基本的工具,因此在安装之前需要先进行检查,如果不存在,在进行下载安装gcc安装(1)检查是否有gcc(2)存在;如果不存在则需要在联网的状态下,使用命令:yum install gccg++的安装(1)检查是否有原创 2017-05-09 15:45:53 · 818 阅读 · 0 评论 -
Linux背景设置
桌面背景设置对于Linux的CentOs系统,刚进入时系统默认的生成的背景如下显然对于一些比较有艺术欣赏的人来说,这个背景显然是很让人感到很不好受,所以下面就来看一下如何更换桌面背景(1)单击鼠标右键(2)双击鼠标左键选中Change Desktop Background(3)选择你喜欢的图原创 2017-05-09 13:49:11 · 5356 阅读 · 3 评论 -
Linux下的各种id
分类用户标识符:几个典型进程的ID及其类型和功能常见标识符的返回值#include#includepid_t getpid(void); //返回调用进程的IDpid_t getppid(void); //返回调用进程的父进程IDuid_t getuid(void); //返回调用进程的实际用户IDui原创 2017-05-06 22:16:59 · 1633 阅读 · 0 评论 -
fork与vfork创建进程的区别
进程创建的方式:(1)fork函数(2)vfork函数fork函数头文件:#include函数原型:pid_t fork(void);返回值:创建成功子进程返回0,父进程返回子进程的PID;创建失败,返回-1;fork用法:(1)父进程希望创建子进程,让父子进程执行不同的代码;(2)一个进程要执行不同的分支;f原创 2017-05-04 19:24:20 · 869 阅读 · 0 评论 -
浅析FILE和fd之间的关系
背景知识fd——文件描述符FILE——文件指针文件描述符fdfd只是一个整数,在open时产生。起到一个索引的作用,进程通过PCB中的文件描述符表找到该fd所指向的文件指针file,因此在Linux系统下面,文件描述符主要是被用来标识一个文件。内核通过文件对象表来管理系统中各种各样的文件,而文件表则是通过指针来指向打开的文件,进而达到管理整个文件系统的目的。原创 2017-05-04 14:11:50 · 1696 阅读 · 0 评论 -
atexit函数总结
函数名:atexit头文件:#include 函数原型:int atexit( void (*func)(void) );功能:当程序终止执行时,函数调用函数指针func所指向的函数。可以执行多重调用(至少32个),这些函数以其注册的倒序执行。执行成功返回零值,失败则返回非零值。在Linux的帮助文档中我们可以看到,当该注册函数结束时,需要调用exit(3)原创 2017-04-24 23:50:26 · 818 阅读 · 0 评论 -
僵尸进程与孤儿进程模拟实现
背景知识僵尸进程(Zombies):(1)僵尸进程是一个比较特殊的状态,当进程退出父进程(使用wait()系统调用)没有没有读取到子进程退出的返回代码时就会产生僵尸进程。僵尸进程会在以终止状态保持在进程表中,并且会一直等待父进程读取退出状态代码。(2)一个进程在其父进程没有调用wait()或waitpid()的情况下退出。这个子进程就是僵尸进程。如果其父进程还存在而一直不调用w原创 2017-04-14 11:18:12 · 1250 阅读 · 0 评论 -
task_struct结构体成员小结
背景概念task_stuct结构体被称为进程描述符,用来管理进程Linux内核的进程,这个结构体包含了一个进程所需的所有信息。它定义在include/linux/sched.h文件中。可以说它是linux内核源码中最复杂的一个结构体了,成员最多,占用内存最大。进程是处于执行期的程序以及它所管理的资源(如打开的文件、挂起的信号、进程状态、地址空间等等)的总称。注意,程序并不是进程,实际上原创 2017-04-07 17:17:46 · 879 阅读 · 0 评论 -
linux下的常见命令
cd【change directory】 进入个人的主目录cd /home 进入 '/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd - 返回上次所在的目录 ls 【list】 查看目录中的文件 ls -l 显示文件和目录的详细资料 ls-a :Linux上的文件以“.”开头的文件被系统视为隐藏文件,仅用ls原创 2017-04-07 15:53:13 · 513 阅读 · 0 评论 -
Linux下的文件操作权限
Linux下进入一个目录需要什么权限?普通用户下:首先我们在普通用户下,取消文件code的所有权限chmod 000 code当我们执行cd code想进入当前目录时,发现权限不允许。接下来我们为拥有者赋予读的权限当我们cd code 想进入当前文件时,发现依旧没有权限。接下来给予拥有者写的权限当我们cd code想进入当前文件时,发现依旧没有权原创 2017-03-19 21:26:03 · 1056 阅读 · 0 评论 -
Linux下的简单进度条实现
进度条即计算机在处理任务时,实时的,以图片形式显示处理任务的速度,完成度,剩余未完成任务量的大小,和可能需要处理时间,一般以长方形条状显示。主要功能:(1)显示进度条的处理进度(2)显示进度条完成任务的百分比(3)显示进度条的运行状态(在此以顺时针旋转的|为例)代码实现:完成截图:原创 2017-04-13 12:47:43 · 1342 阅读 · 0 评论