linux
文章平均质量分 79
进击的黑子
JMU-IT
展开
-
Linux-内存共享映射
进程间通信-内存共享映射一、简述mmap()系统调用使得进程之间通过映射同一个普通文件实现共享内存。普通文件被映射到进程地址空间后,进程可以向访问普通内存一样对文件进行访问,不必再调用read(),write()等操作。mmap()的作用是映射文件描述符fd指定文件的 [off,off + len]区域至调用进程的[addr, addr + len]的内存区域, 如下图所示:二、mm...原创 2019-05-05 23:57:52 · 811 阅读 · 0 评论 -
Linux-网络编程
网络编程一、网络基础1.1-OSI参考模型与TCP/IP参考模型1.2-TCP/IP协议族TCP/IP 实际上是一个一起工作的通信家族,为网际数据通信提供通路。为讨论方便可将TCP/IP 协议组大体上分为三部分:1.Internet 协议(IP)2.传输控制协议(TCP)和用户数据报文协议(UDP)3.处于TCP 和UDP 之上的一组协议专门开发的应用程序。它们包括:TELNE...原创 2019-05-09 15:55:46 · 319 阅读 · 0 评论 -
Linux-线程池
线程池一、线程池概述1.1 - 线程池概念线程池是预先创建线程的一种技术。线程池在任务还没有到来之前,创建一定数量(N)的线程(用来对执行任务),放入空闲队列中。这些线程都是处于阻塞(Suspended)状态,不消耗CPU,但占用较小的内存空间。当新任务到来时,缓冲池选择一个空闲线程,把任务传入此线程中运行;如果缓冲池已经没有空闲线程,则新建若干个线程。当系统比较空闲时,大部分线程都一直...原创 2019-05-27 11:46:22 · 233 阅读 · 0 评论 -
Linux-线程同步
线程同步一、概述线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。二、互斥锁(mutex)2.1 - 互斥锁常用函数在编程中,引入了对象互斥锁的概念,来保证共享数据操作的完整性。每个对象都对应于一个可称为" 互斥锁" 的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。...原创 2019-05-16 15:18:31 · 3280 阅读 · 0 评论 -
Linux-套接字I/O模型-epoll
套接字I/O模型-epoll一、epoll简述epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,因为它会复用文件描述符集合来传递结果而不用迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件 ...原创 2019-05-20 22:12:11 · 313 阅读 · 0 评论 -
grep和egrep的区别
1. grep简介grep (global search regular expression_r(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单原创 2020-08-23 16:27:57 · 14975 阅读 · 0 评论 -
nginx(二)- nginx的基本使用
nginx的基本使用1.搭建一个静态的web服务器2.搭建一个动态的web服务器3.反向代理实验环境下载安装虚拟机,我这里使用vitualbox网上下好centos7的系统镜像,在虚拟机器上安装centos7系统,确保在c系统上可以上网,这里推荐使用桥接模式。centos7系统确保可以连上外网使用终端软件连接上虚拟机,我这里使用iterm,类似的xshell也可以。先使用ip addr 命令查看虚拟机centos7的内网ip然后使用终端软件连接:ssh 用户名@ip,我这里原创 2020-08-05 19:53:25 · 782 阅读 · 0 评论 -
Linux系统设置SSH免密连接
Secure Shell 协议,简称 SSH,是一种加密网络协议,用于客户端和主机之间的安全连接,并支持各种身份验证机制,目前最实用的身份验证机制就是基于密码的身份验证和基于公钥的身份验证两种。今天带来的是,Linux系统如何设置基于 SSH 公私钥的身份验证,以及如何免密连接到主机的教程。基于ssh的公私钥的数据传输,前提是通信双方需要有对方的公钥,其原理便是非对称加密详情见:百度百科,所以我们要使用一台电脑的终端去控制另外远程主机,关键步骤便是:把主控端的SSH公钥存到被控端的主机上的 /.ssh/a原创 2020-07-18 23:42:33 · 1140 阅读 · 0 评论 -
centos7中设置nginx的systemctl启动方式
centos7中设置nginx的systemctl启动方式一、首先介绍下nginx自带的启动命令nginx #启动nginx -s reload #重启nginx -s stop #停止当然上面情况是,nginx的可执行文件路径有加到环境变量的情况,也可以使用nginx的可执行文件的绝对路径来执行nginx。首先要找到nginx的可执行命令的位置 ,使用rpm -ql nginx ...原创 2020-02-24 16:31:24 · 1740 阅读 · 0 评论 -
Linux-环境变量执行顺序
Linux-环境变量执行顺序由下可知,linux通过$PATH的路径顺序,由左至由依次查找某个程序,如果有两个路径下都有这个程序,以先找到的为准.还是就是,Linux终端输入一个命令时,会想去查找$PATH中的目录,环境变量中的目录没有我们要执行的命令的二进制文件,才会去当前目录去查找,所以执行当前目录下的文件我们一般都是用 ./文件参考:https://blog.csdn.net/cha...原创 2020-02-23 18:00:43 · 978 阅读 · 0 评论 -
linux - nohup 命令 &后一按回车就exit
linux 中使用nohup 命令 &后一按回车就exit问题描述:先要后台运行一个Django项目,执行命令nohup python manage.py runserver 0:8002 &后,一按回车进程就直接exit了。解决方案:命令使用反引号括起来nohup `你的命令` & 8002端口已经在运行不太懂是什么原理,蛮试出来的,应该是命令使用反...原创 2020-02-23 03:34:55 · 19253 阅读 · 7 评论 -
linux shell对应的配置文件执行流程
聊聊linux shell对应的配置文件执行流程/etc/profile~/.bash_profile~/.bashrc通常以上的配置文件可以用来对系统的初始化,环境变量设置、alias设置等等对于/etc/profile来说, 通常需要root权限才能修改它, 修改后, 其他任意用户再打开shell的时, 都会生效。 所以,改/etc/profile的时候必须仔细斟酌, 小心为妙,...原创 2020-02-11 19:04:57 · 234 阅读 · 0 评论 -
Linux命令行终端提示符修改
提示符变量PS1实例:(用户名+centOS7+完整文件路径+蓝色提示符)export PS1="\[\e[1;34;40m\][\u@centOS7 \w]\[\e[m\]$ "vim /etc/profile,添加PS1变量的设置source /etc/profile使之生效,可以看到效果了格式说明:\d :#代表日期,格式为weekday month date,例如:“M...原创 2020-02-10 22:03:17 · 1541 阅读 · 0 评论 -
阿里云centOS上安装jupyter
阿里云centOS上安装jupyter一、安装Anaconda要搭建Jupyter,首先要安装Anaconda。因为Anaconda集成了许多python库,使用方便,所以我打算适用Anaconda中集成的Jupyter,所以下边来安装Anaconda。根目录下创建一个文件夹用于存放Anaconda安装包,并进入文件夹mkdir anaconda && cd anacond...原创 2020-01-13 17:11:47 · 585 阅读 · 0 评论 -
Linux虚拟终端命令Screen用法详解
Linux虚拟终端命令Screen用法详解在使用ssh或者telnet登录远程主机后,执行一些耗时的命令,如果此时ssh或者telnet中断,那么远程主机上正在执行的程序或者说命令也会被迫终止。比如你远程登录之后需要执行一个耗时的指令如svn checkout,这时马上又要下班了,你要关闭你的电脑走人了,怎么办?screen能够很好地解决这个问题。screen也叫虚拟终端,可以在一个物理终端上实...转载 2020-01-03 23:23:54 · 503 阅读 · 0 评论 -
使用Xshell登陆阿里云服务器
使用Xshell登陆阿里云服务器Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。个人觉得还挺好用的。这里有登陆两种方式:1.使用账号密码登陆。需要在阿里云上的管理控制平台上设置账号的密码2.使用密钥登陆。这里需要先在阿里云上的管理控制平台生成密钥对文件,然后在下载到本地电脑,本地的xshell再导入密钥文件,就可以在登陆阿里云服务...原创 2020-02-11 16:38:12 · 1630 阅读 · 3 评论 -
Linux-进程及服务管理工具
Linux-进程及服务管理工具ps、systemctl、service、pkill、pmap、pidof、screen、w、chkconfigLinux、命令ps 各字段意思USER:该进程属于那个使用者账号的?PID :该进程的进程ID号。%CPU:该进程使用掉的 CPU 资源百分比;%MEM:该进程所占用的物理内存百分比;VSZ :该进程使用掉的虚拟内存量 (Kbytes)...原创 2019-11-17 23:10:24 · 149 阅读 · 0 评论 -
Linux-网络配置相关命令
Linux-网络配置相关命令Linux命令-基础命令ifconfig 、ip 、ethtool、route 、ping、traceroute、traceroute、mtr、dig、tcping、netstatifconfig 、ip 、ethtool、route 、ping、traceroute、mtr、dig、tcping、netstat命令:ifconfigifconfig可...原创 2019-11-16 18:34:58 · 397 阅读 · 0 评论 -
Linux命令-基础命令
Linux命令-基础命令man、ls、cd、mkdir、touch、rm、cp、mv、ln、find、cat、more、less、tail、head、echo、mount寻求帮助:man命令格式:man 命令运行后出现的画面叫man page,其中关键段落如下:Name 命令名Synopsis 命令文法纲要Description 命令、选项、参数等的详细说...原创 2019-11-15 22:40:52 · 814 阅读 · 0 评论 -
Linux-虚拟机中安装Centos7标准版后无法使用yum命令
虚拟机中安装Centos7标准版后无法使用yum命令参考链接:https://jingyan.baidu.com/article/c35dbcb04764ae8916fcbc92.html原创 2019-11-12 17:30:11 · 1093 阅读 · 0 评论 -
Linux-vi编译器
1原创 2019-04-12 11:22:46 · 349 阅读 · 0 评论 -
Ubuntu上安装Redis
Ubuntu上安装RedisRedis能够兼容绝大部分的POSIX系统,例如Linux、OSX、OpenBSD、NetBSD和FreeBSD,其中比较典型的是Linux操作系统(例如CentOS、Redhat、Ubuntu、Debian、OSX等)。在Linux安装软件通常有两种方法,第一种是通过各个操作系统的软件管理软件进行安装,例如CentOS有yum管理工具,Ubuntu有apt。但是由...原创 2019-09-22 20:42:56 · 130 阅读 · 0 评论 -
基于live555、RTSP、的视频点播器设计框架
基于live555、RTSP、的视频点播器设计框架原创 2019-06-04 23:56:11 · 410 阅读 · 0 评论 -
FFmpeg介绍
FFmpeg介绍一、ffmpeg简述FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。框图如图所示:二、编解码基础知识(1)封装格式所...原创 2019-05-31 22:20:39 · 13544 阅读 · 1 评论 -
Linux-套接字I/O模型-select
套接字I/O模型-select一、select模型概述1.1 - select模型的作用在一段指定的时间内,监听用户感兴趣的文件描述符上可读、可写和异常等事件。1.2 - select 机制的优势为什么会出现select模型?先看一下下面的这句代码:int iResult = recv(s, buffer,1024);这是用来接收数据的,在默认的阻塞模式下的套接字里,recv会...原创 2019-05-17 12:56:40 · 309 阅读 · 0 评论 -
Linux-GNU make
,原创 2019-04-17 11:17:16 · 1441 阅读 · 0 评论 -
Linux-shell编程
shell编程1.shell简介实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。终端登录成功进去时,实际上上打开了了一个shell进程命令在shell提示符(可配置)后键入,提示符通常为一个“$”或“#”,超级用户默认为 “#”2.终端常用快捷键...原创 2019-04-14 16:55:08 · 261 阅读 · 0 评论 -
Linux-进程
进程一、进程简介1.1-进程:多任务系统的产物很久很久以前,是没有进程这个东西的。那时候的操作系统只能把要做的工作排好队,做完这件再做下一件,最多也就加个优先级,哪个关系好就先做哪一个。于是那些想一边听歌一边写程序的程序员们便不干了,开始修理那个操作系统,使之能同时运行多个程序。于是进程就出现了:它就是一个程序在数据集合上的一次执行。因为突然变得僧多粥少了,所以每个进程只好做一些额外的事...原创 2019-04-23 14:31:30 · 128 阅读 · 0 评论 -
Linux - 管道
管道一、管道简述管道是Unix中最古老的进程间通信的形式。我们把从一个进程连接到另一个进程的一个数据流称为一个“管道”我们通常把是把一个进程的输出连接或“管接”(经过管道来连接)到另一个进程的输入管道实现通信原理:每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不 到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内...原创 2019-05-16 18:41:53 · 277 阅读 · 0 评论 -
Linux-linux系统函数
linux系统函数1.Linux函数简述Linux系统函数的用法必须结合Linux内核的工作原理 来理解,因为系统函数正是内核提供给应用程序的接口,而要理解内核的工作原理,必须熟练掌握C语言,因为内核也是用C语言写的。我们在描述内核工作原理时必然要用“指 针”、“结构体”、“链表”这些名词来组织语言,就像只有掌握了英语才能看懂英文书一样,只有学好了C语言才能看懂我描述的内核工作原理。2...原创 2019-04-19 19:44:16 · 3251 阅读 · 0 评论 -
Linux - 消息队列
进程间通信-消息队列一、消息队列简述消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值消息队列也有管道一样的不足,就是每个数据块的最大长度是有上限的,系统上全体队列的最大总长度也有一个上限消息队列生命周期随内核,消息队列会一直存在,需要我们显示的调用接口删除或使用命令删除消息队列可以双向通信二、消息...原创 2019-05-05 17:07:14 · 298 阅读 · 0 评论 -
Linux-文件
Linux-文件1.文件详细信息在Linux中一切都是文件:包括设备、进程,可以通过ll命令来查看文件的详细信息原创 2019-04-12 00:31:49 · 187 阅读 · 0 评论 -
Linux-进程(二)
进程一、exec函数1.1-exec函数说明: 用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时,该进程的用户空间代码和数据完全被新程序替换,从新程序的启动例程开始执行。调用exec并不创建新进程,所以调用exec前后该进程的id并未改变。exec名下是由多个关联函数组成的一个完整...原创 2019-04-25 16:05:27 · 103 阅读 · 0 评论 -
Linux-线程
线程一、线程概述1.1 - 线程的概念在一个程序里的多个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”一切进程至少都有一个执行线程1.2 - fork和创建新线程的区别当一个进程执行一个fork调用的时候,会创建出进程的一个新拷贝,新进程将拥有它自己的变量和它自己的PID。这个新进程的运行时间是独立的,它在执行时几乎完全独立于创建它的进程在...原创 2019-05-10 21:33:27 · 112 阅读 · 0 评论 -
Linux-信号
信号一、信号本质及信号来源1.1-信号本质信号可以说是在软件层次上,对中断机制的一种模拟,在原理上,一个进程收到的一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作等待信号到达,事实上进程也不知道进程什么时候可以到达。1.2信号来源信号的发生可以有两个来源硬件来源:比如我们按下键盘或是其他的硬件故障软件来源:最常用的发送信号的系统函数是kill,...原创 2019-04-30 16:32:25 · 192 阅读 · 0 评论 -
Linux-流媒体
流媒体一、流媒体概述流媒体是指以流式的方式在网络中传输音频、视频和多媒体文件的形式。流式传输将视频和音频等多媒体文件经过特殊的压缩方式分成一个个压缩包,由服务器向用户计算机连续、实时传送。顺序流式传输顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体,在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前头部分,顺序流式传输不象实时流式传输在传输期间根据用户连...原创 2019-05-25 00:25:02 · 1132 阅读 · 0 评论