Linux
文章平均质量分 68
多些不为什么的坚持
这个作者很懒,什么都没留下…
展开
-
centos出现 fatal error: X11/Xmu/WinUtil.h: No such file or directory
在安装 ns2 的过程中出现fatal error: X11/Xmu/WinUtil.h: No such file or directory解决办法:查找 Xmu 相关包yum search Xmu会出现以下结果:libXmu.i686 : X.Org X11 libXmu/libXmuu runtime librarieslibXmu.x86_64 : X.Org X11 libXmu/libXmuu runtime librarieslibXmu-devel.i686 : X.Org原创 2021-03-17 13:30:06 · 1138 阅读 · 0 评论 -
Linux 下常用的网络命令汇总
在 Linux 下开发应用程序,避免不了使用一些网络工具排查、分析,下面总结了一些常用的网络工具。一、ifconfig 和 ip addr在 windows 中经常使用 ipconfig 查询网卡、IP 和 网关等信息。在 Linux 中则一般使用 ifconfig 来查看这些信息。一般使用下面命令进行安装yum install -y net-tools一般使用只需要输入 ifconfig 即可:# ifconfig eth0 Link encap:Ethernet HW.原创 2021-01-07 16:48:06 · 839 阅读 · 0 评论 -
gcc 安装为什么安装不上呢? 踩坑
gcc 安装为什么安装不上呢? 踩坑应与实验要求,需要 gcc 版本降级成 gcc-4.8, 网上教程很多,坑无下限。问题: apt-get install gcc-4.8 ,提示已经安装, 但是 gcc -v: /usr/bin/gcc 找不到该文件。解决办法: 1、先进入 /var/lib/dpkg/status 中, 备份 status: mv status status.bak2、清空 status 文件, 切记一定要使用: cat /dev/null > status3、原创 2020-12-29 10:45:19 · 4168 阅读 · 0 评论 -
Cento6.* 配置 yum 源老报错问题
什么是 yum ? yum 源又是什么鬼?在 windows 中安装软件,360 管家可以一键帮你安装,省时省力。同理 Linux 中也有一个家伙和管家一样,他叫 yum。有了它,下载软件只需要一行命令就可以了。那么什么是 yum 源呢? 故名思意: 就是yum 安装包的资源中心。一般在 Linux 的安装镜像中就包含了常见的源。配置 yum 源国外的源一般都需要强,所以通常可以配置国内的源,比如阿里源等。1、进入 /etc/yum.repos.d2、先备份以前的源mv /etc/yum.r.原创 2020-12-17 16:17:22 · 304 阅读 · 0 评论 -
c++ 获取线程标识的 4 中方法
在 Linux C++ 网络编程中,经常会使用到线程的标识,下面整理了常用的获取线程标识的方法:1、gettid获取内核线程的 ID, 当只有一个线程时得到的是进程的 pid,和使用 getpid 获取的结果相同。#include <sys/types.h>pid_t gettid(void);此方法在 glibc 中并没有封装,需要使用 syscall 系统调用封装#include <sys/types.h>#define gettid() syscall(_NR原创 2020-12-14 09:52:08 · 1091 阅读 · 0 评论 -
Linux 下开发常用工具 WinScp、Putty 和共享文件夹
前言对于很多在 Linux 开发的程序员来说,面对一个黑窗口显然没有如 Windows 这样具有图形画界面的操作系统更能直观、快速的进行开发和管理,本文将介绍常用的 Windows 和 Linux 之间相互联系的软件, 将分别介绍文件传输、 Shell登录 和 文件夹共享 。文件传输现在有很多 Linux 服务器都是在内网中部署的,很多软件和代码都需要使用文件传输的方式传到服务器进行部署和维护。下面将介绍一款文件传输软件 -------WinScp下载地址: https://winscp.ne.原创 2020-11-30 21:01:06 · 386 阅读 · 0 评论 -
vim 看这篇教程就够了
前言在 Liunx 下编程或者运维,掌握一种编辑工具是必不可少的技能。本文将带你了解 vim 的常见使用方法,让你在使用 Linux 游刃有余。vim 安装centos 安装: yum install -y vimubutuo 安装: sudu apt-get install vim安装完成后,可使用 vim -v 查看版本号vim 状态介绍NORMAL (默认) 状态: 此状态是 vim 的默认状态;INSERT (插入) 状态: 此状态是 vim 的插入状态,输入的.原创 2020-11-30 09:19:13 · 370 阅读 · 0 评论 -
Linux C++网络编程
Linux C++ 网络编程(二)前言在上一节中以拆分的方式学习完 Linux 、C++、网络等知识后,这节会将这三个模块糅合起来,站在项目的基础上再次去学习这三个模块。 Linux 网路编程比较经典的有 Redis、Muduo、TeamTalk等开源项目。本文将以 Muduo 来介绍 网络编程的框架,学习完 Muduo 再去学习其他框架就容易许多了。注意, 文中贴的代码均为核心代码,且注释详细,认真阅读。Linux C++ 网络编程 (一)Linux C++ 开发环境搭建下载路径githu原创 2020-11-18 09:05:49 · 746 阅读 · 0 评论 -
Linux C++ 开发环境搭建
Linux C++ 开发环境搭建前言工欲善其事必先利其器,想要学好 Linux C++ 编程,那么就要有对应环境,本文将带你一步步搭建开发环境。准备工作为了学习方便,在 win 下面安装虚拟机,然后安装 CentOs 操作系统。当然也可以使用 阿里云等云产品(但个人推荐本地搭建,因为阿里云远程连接经常掉线)。搭建 centos 开发环境:centos安装教程 前面介绍过,这里将不再赘述。安装常用工具作为一个合格的程序员我觉得所有的东西都应该标准化、文档化。所以我对我的文件进行规划:原创 2020-11-13 20:32:57 · 804 阅读 · 1 评论 -
常见服务器模型
常见服务器模型对比,已经优缺点分析1. 迭代式服务器 accept + read / write特 点: 这种迭代器其实不是并发服务器, 而是迭代服务器, 因为他一次只能服务一个客户端, 属于单线程。长连接:需要read – write 之间循环接受客户端请求, 但此时该模型只能服务一个客户端短链接:如果想要支持短链接,其中的 计算 - 处理 - 打包 操作不能太耗时, 应为太过耗时会影响其他客户端连接到来。2. fork/thread - per - connection特 点:原创 2020-09-07 10:16:18 · 1497 阅读 · 0 评论 -
Linux下LAMPP搭建 + mysql自动备份
Linux下LAMPP搭建 + mysql自动备份一、下载lampp集成包wget https://jaist.dl.sourceforge.net/project/xampp/XAMPP%20Linux/1.8.3/xampp-linux-x64-1.8.3-3-installer.runwget [https://jaist.dl.sourceforge.net/project/xampp/XAMPP%20Linux/1.8.3/xampp-linux-x64-1.8.3-3-installe原创 2020-06-17 20:32:40 · 595 阅读 · 0 评论 -
Linux申请免费证书+Apace配置+http重定向到https
Linux申请免费证书+Apace配置+http重定向到https一、环境:宿主机: Centos站环境:Apache(LAMPP)证书方:Let’s Encrypt二、获取Let’s Encrypt 免费SSL证书#1、下载 letsencrypt-auto 脚本,使用它能够很方便地完成域名验证和SSL证书的获取。$ git clone https://github.com/letsencrypt/letsencrypt#2、进入到脚本所在目录 $ cd letsencryp原创 2020-06-17 18:51:09 · 368 阅读 · 0 评论 -
unique_lock和lock_guard
互斥锁保证了线程间的同步,但是却将并行操作变成了串行操作,这对性能有很大的影响,所以我们要尽可能的减小锁定的区域,也就是使用细粒度锁。这一点lock_guard做的不好,不够灵活,lock_guard只能保证在析构的时候执行解锁操作,lock_guard本身并没有提供加锁和解锁的接口,但是有些时候会有这种需求。看下面的例子。class LogFile { std::mutex _mu;...转载 2020-03-17 10:09:09 · 385 阅读 · 0 评论 -
condition_variable详解
互斥锁std::mutex是一种最常见的线程间同步的手段,但是在有些情况下不太高效。假设想实现一个简单的消费者生产者模型,一个线程往队列中放入数据,一个线程往队列中取数据,取数据前需要判断一下队列中确实有数据,由于这个队列是线程间共享的,所以,需要使用互斥锁进行保护,一个线程在往队列添加数据的时候,另一个线程不能取,反之亦然。用互斥锁实现如下:#include <iostream>...转载 2020-03-17 09:52:01 · 871 阅读 · 0 评论 -
ssh
一、SSH口令登录方式1、 客户端 -- > 服务端发起ssh请求2、 服务端收到请求, 发送 公钥 -- > 客户端3、 客户端将用户名和密码用公钥加密 -- > 服务端 服务端根据私钥解密和本地用户名密码对比,成功,允许登录二、使用密钥登录三、ssh登录端口设置配置文件: /etc/ssh/sshd_config#Port 22#LIste...原创 2020-03-15 20:12:50 · 108 阅读 · 0 评论 -
软件安装
Linux软件安装一、源码包需要用户下载源码包,进行编译安装,比较耗时二、二进制包源码包经过成功编译之后产生的包,在发布之前已经编译好了,安装速度快。主流包管理系统 RPM :功能强大,安装、升级、査询和卸载非常简单方便,因此很多 Linux 发行版都默认使用此机制作为软件安装的管理方式,例如 Fedora、CentOS、SuSE 等。三、yum安装RPM 和 源码安装需要手...原创 2020-03-15 20:07:19 · 212 阅读 · 0 评论 -
shell常用命令
一、cut-b :以字节为单位进行分割。-c :以字符为单位进行分割。-d :自定义分隔符,默认为制表符。-f :与-d一起使用,指定显示哪个区域。field 字段eg: $ who root pts/0 2020-03-12 21:00 (124.114.237.101) root pts/1 2020-03-12 21:18 ...原创 2020-03-15 20:05:42 · 216 阅读 · 0 评论 -
linux下/etc目录下常用文件
一、/etc/passwdLinux 系统中的 /etc/passwd 文件,是系统用户配置文件,存储了系统中所有用户的基本信息,并且所有用户都可以对此文件执行读操作。mysql:x:996:1001::/home/mysql:/bin/bash用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell1、真正的密码保存在/etc/shadow中2、默认...原创 2020-03-15 20:00:59 · 2959 阅读 · 0 评论