
Linux
文章平均质量分 60
幽雨雨幽
C/C++软件工程师
展开
-
linux之autoconf/automake
官网地址:Software- GNU Project - Free Software FoundationAutoconfautomakeLibtool原创 2022-04-11 16:59:49 · 885 阅读 · 0 评论 -
.in‘ig.status: error: cannot find input file: `Makefile
使用autotoos 编译程序,执行autoreconf -ivf出现如下错误:checking for stddef.h... yeschecking for stdint.h... (cached) yeschecking for stdlib.h... (cached) yeschecking for string.h... (cached) yeschecking for unistd.h... (cached) yeschecking for int64_t... y.原创 2022-04-11 13:48:32 · 1581 阅读 · 0 评论 -
Linux系统获取硬件方面信息dmidecode命令
dmidecode命令可以让你在Linux系统下获取有关硬件方面的信息。dmidecode的作用是将DMI数据库中的信息解码,以可读的文本方式显示。由于DMI信息可以人为修改,因此里面的信息不一定是系统准确的信息。dmidecode遵循SMBIOS/DMI标准,其输出的信息包括BIOS、系统、主板、处理器、内存、缓存等等。DMI(Desktop Management Interface,DMI)就是帮助收集电脑系统信息的管理系统,DMI信息的收集必须在严格遵照SMBIOS规范的前提下进行。SMBIOS(转载 2022-04-01 13:52:45 · 668 阅读 · 0 评论 -
linux服务器之查看内存使用情况
读取/proc/meminfo 文件MemTotal: 45964 kB //所有可用的内存大小,物理内存减去预留位和内核使用。系统从加电开始到引导完成,firmware/BIOS要预留一些内存,内核本身要占用一些内存,最后剩下可供内核支配的内存就是MemTotal。这个值在系统运行期间一般是固定不变的,重启会改变。MemFree: 1636 kB //表示系统尚未使用的内存。MemAvailable: 8496 kB //真正原创 2022-02-15 14:45:56 · 1225 阅读 · 0 评论 -
linux 服务器之查看磁盘使用情况
使用接口statfs函数接口:int statfs(const charpath, struct statfsbuf); 参数: path: 位于需要查询信息的文件系统的文件路径 buf: statfs结构体类型的指针变量,用于存储文件系统的相关信息statfs 结构体:struct statfs{ long f_type; //文件系统的类型 long f_bsize; //经优化后的传输块的大小 long f_blocks; //文...原创 2022-02-15 13:59:02 · 6188 阅读 · 0 评论 -
日志切割之Logrotate
https://www.cnblogs.com/clsn/p/8428257.html#auto-id-0原创 2021-07-29 15:58:09 · 196 阅读 · 0 评论 -
ubuntu20.04 sshd 配置root 登录
背景:1. 安装openssh-serverapt-get install openssh-server2. 配置/etc/ssh/sshd_config, 开启允许root 登录LoginGraceTime 2mPermitRootLogin yes3. 重启ssh 服务systemctl restart sshd问题: 使用root 登录ssh -p 22 root@10.20.9.205root@10.20.9.205's password:Pe..原创 2021-07-05 18:51:27 · 2399 阅读 · 0 评论 -
select、poll、epoll之间的区别(搜狗面试)
(1)select==>时间复杂度O(n)它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。(2)poll==>时间复杂度O(n)poll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态,但是它没有最大连接数的限制,原因是它是基于链表来存.转载 2021-04-15 15:03:30 · 295 阅读 · 0 评论 -
深入理解Linux IO复用之epoll
作者:后端技术指南针 来自:后端技术指南针0.概述通过本篇文章将了解到以下内容:I/O复用的定义和产生背景Linux系统的I/O复用工具epoll设计的基本构成epoll高性能的底层实现epoll的ET模式和LT模式1.复用技术和I/O复用复用的概念复用技术(multiplexing)并不是新技术而是一种设计思想,在通信和硬件设计中存在频分复用、时分复用、波分复用、码分复用等,在日常生活中复用的场景也非常多,因此不要被专业术语所迷惑。从本质上来说,复用就是为了解决有限资源和...转载 2021-01-24 16:33:42 · 815 阅读 · 0 评论 -
浅析三种特殊进程:孤儿进程,僵尸进程和守护进程.
其实有时想想linux内核的设计也蕴含着很多人生哲学,在linux中有这么几个特殊进程中,我们一开始见到它们的名字可能还会觉得很诧异,但在了解完了原理后,我们仔细想想,这样的命名也不无道理!下面我就给大家分别介绍一下这三种特殊的进程! 1.孤儿进程 如果父进程先退出,子进程还没退出那么子进程将被 托孤给init进程,这是子进程的父进程就是init进程(1号进程).其实还是很好理转载 2018-01-20 17:11:15 · 366 阅读 · 0 评论 -
孤儿进程与僵尸进程[总结]
1、前言 之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入,倍感惭愧。晚上回来google了一下,再次参考APUE,认真总结一下,加深理解。2、基本概念 我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进转载 2018-01-20 17:10:13 · 316 阅读 · 0 评论 -
br-lan、eth0、eth1及lo
如果你的设备含有不少于1个的LAN接口,那这个设备在不同的接口之间可能有一个被称为交换(switch)的特殊连接。大多数的内部构造如下图所示:Linux 系统下输入ifconfig命令,会有如下输出br-lan=lan网桥eth0=lan接口(注意 是路由上的LAN RJ45口)eth1=wan接口(注解同上)wlan0=无线端口转载 2018-01-16 17:47:52 · 11183 阅读 · 2 评论 -
sed命令
sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反转载 2018-01-24 16:18:42 · 411 阅读 · 0 评论 -
Linux awk 命令
AWK是一种处理文本文件的语言,是一个强大的文本分析工具。之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的Family Name的首字符。语法awk [选项参数] 'script' var=value file(s)或awk [选项参数] -f scriptfile var=value fil转载 2018-01-24 14:41:54 · 356 阅读 · 0 评论 -
ftruncate函数的功能及使用
ftruncate()函数功能:改变文件大小相关函数:open、truncate表头文件:#include 函数原型:int ftruncate(int fd, off_t length)函数说明:ftruncate()会将参数fd指定的文件大小改为参数length指定的大小。参数fd为已打开的文件描述词,而且必须是以写入模式打开的文件。如果原来的文件件大小比参数le转载 2017-12-19 15:35:29 · 16372 阅读 · 0 评论 -
Linux 内存映射函数 mmap()函数详解
一、概述 内存映射,简而言之就是将用户空间的一段内存区域映射到内核空间,映射成功后,用户对这段内存区域的修改可以直接反映到内核空间,同样,内核空间对这段区域的修改也直接反映用户空间。那么对于内核空间用户空间两者之间需要大量数据传输等操作的话效率是非常高的。以下是一个把普遍文件映射到用户空间的内存区域的示意图。图一:二、基本函数转载 2017-12-19 14:58:01 · 1054 阅读 · 0 评论 -
Linux下" >/dev/null 2>&1 "相关知识说明
在学习Linux的过程中,常会看到一些终端命令或者程序中有">/dev/null 2>&1 "出现,由于已经遇到了好几次了,为了理解清楚,不妨花点时间百度或者google一下相关的知识。 0:表示键盘输入(stdin)1:表示标准输出(stdout),系统默认是1 2:表示错误输出(stderr)command >/dev/null 2>&1 & == c转载 2017-12-05 16:59:13 · 817 阅读 · 0 评论 -
Linux netstat命令详解
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Rec转载 2017-11-22 11:58:21 · 375 阅读 · 0 评论 -
linux lsof详解
lsof简介lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用转载 2017-11-22 11:39:03 · 400 阅读 · 0 评论 -
lsof/netstat命令的一个重要作用: 根据进程查端口, 根据端口查进程
我们知道, 根据ps -aux | grep xxx就是很快实现进程名和进程号的互查, 所以我们只说进程号pid就行。 如下示例中, 进程pid常驻。 1. 根据进程pid查端口: lsof -i | grep pid 2. 根据端口port查进程(某次面试还考过): lsof -i:p转载 2017-11-22 11:21:13 · 868 阅读 · 0 评论 -
linux系统编程之进程(八):守护进程详解及创建,daemon()使用
linux系统编程之进程(八):守护进程详解及创建,daemon()使用一,守护进程概述Linux Daemon(守护进程)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。它不需要用户输入就能运行而且提供某种服务,不是对整个系统就是对某个用户程序提供服务。Linux系统的大多数服务器就是通过守护进程实现的。常见的守护进程包括系统转载 2017-10-16 11:23:32 · 481 阅读 · 0 评论 -
UNIX环境编程学习笔记(19)——进程管理之fork 函数的深入学习
在“进程控制三部曲”中,我们学习到了 fork 是三部曲的第一部,用于创建一个新进程。但是关于 fork 的更深入的一些的东西我们还没有涉及到,例如,fork 创建的新进程与调用进程之间的关系、父子进程的数据共享问题等。fork 是否可以无限制的调用?如果不行的话,最大限制是多少?另外,我们还将学习一个 fork 的变体 vfork。1 fork 创建的新进程与调用进程之间的关系转载 2017-10-13 17:16:59 · 357 阅读 · 0 评论 -
arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别
命名规则交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]arch - 体系架构,如ARM,MIPSvendor - 工具链提供商os - 目标操作系统eabi - 嵌入式应用二进制接口(Embedded Application Binary Interface)根据对操作系统的支持与否,ARM GCC可分为支持和不支持操作系统,转载 2017-10-20 14:17:49 · 303 阅读 · 0 评论 -
./configure,make,make install的作用
这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。make是用来编译的,它从Makefile中读取指令,然后编译。make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。转载 2017-10-18 15:43:02 · 511 阅读 · 0 评论 -
Linux系统调用--getrusage函数详解
功能描述: 获得进程的相关资源信息。如:用户开销时间,系统开销时间,接收的信号量等等;用法: #include #include #include #define RUSAGE_SELF 0 #define RUSAGE_CHILDREN -1转载 2017-10-17 17:48:33 · 1610 阅读 · 0 评论 -
centos7.2源码安装openssl1.0.2
centos7.2默认是安装了opensll软件包的,但是部署个别服务时,由于版本太低。会影响服务的正常部署。只能使用源码安装提高openssl软件版本。因为之前有openssl软件包,所以要先移除之前版本:删除旧版本: yum remove -y openssl openssl-devel源码安装openssl需要perl环境编译,如果没有perl环境还是需要安装: yum -y install...转载 2018-03-20 09:35:22 · 7435 阅读 · 1 评论 -
vim编辑器---批量注释与反注释
在使用vim编写代码的时候,经常需要用到批量注释与反注释一段代码。下面简要介绍其操作。方法一 块选择模式插入注释:用v进入virtual模式用上下键选中需要注释的行数按Control+v(win下面ctrl+q)进入列模式按大些“I”进入插入模式,输入注释符“#”或者是"//",然后立刻按下ESC(两下)取消注释:Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意// 要选中两个...转载 2018-03-20 17:19:32 · 419 阅读 · 0 评论 -
设置vim打开文件光标指在上次退出位置
本人最近在使用vim编辑文件的过程中发现,打开文件光标总是停留在文件开头,特别麻烦,尤其是当文件比较大的时候。于是想修改vim配置文件,让vim能记住上一次光标退出位置。最终问题终于解决了,所以分享出来给大家,希望能帮助到你。我的系统是debian系统,在文件/etc/vim/vimrc中增加以下内容:au BufReadPost * if line("'"") > 0|if line("'...转载 2018-03-30 15:37:38 · 1827 阅读 · 0 评论 -
网络编程(32)—— linux中销毁僵尸进程的四种方法
一、wait函数函数原型:pid_t wait(int *status);描述:wait可以回收任意一个僵尸进程,只要系统中存在僵尸进程,调用一次wait,就会回收一个僵尸进程。参数说明:status - 当子进程结束之后,其进入僵尸进程状态。其状态变化信息被操作系统放置在内存中某一处位置,而status就是这处位置的指针,通过调用wait函数可以获取这部分位置的数据。获取到...转载 2019-07-01 11:37:36 · 1001 阅读 · 0 评论 -
rsync:基本命令和用法
见:https://www.cnblogs.com/f-ck-need-u/p/7220009.html#blog212.1 说在前面的话rsync官方网站:https://www.samba.org/ftp/rsync/rsync.htmlrsync是可以实现增量备份的工具。配合任务计划,rsync能实现定时或间隔同步,配合inotify或sersync,可以实现触发式...转载 2019-07-02 15:44:32 · 484 阅读 · 0 评论 -
利用linux的df和du命令查看文件和目录的内存占用
版权声明:本文为博主原创文章,转载请超链接注明出处。 https://blog.youkuaiyun.com/ljc1026774829/article/details/74935658当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。du可以查看文件及文件夹的大小。两者配合使用,非常...转载 2018-12-03 16:52:29 · 2493 阅读 · 0 评论 -
htop 命令详解
htop 简介 htop类似于 top 命令,但可以让你在垂直和水平方向上滚动,所以你可以看到系统上运行的所有进程,以及他们完整的命令行。可以不用输入进程的 PID 就可以对此进程进行相关的操作 (killing, renicing)。htop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。与Linux传统的top相比,hto...转载 2018-12-03 16:25:07 · 2378 阅读 · 0 评论 -
socket编程为什么需要htons(), ntohl(), ntohs(),htons() 函数
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题。这是就可能用到htons(), ntohl(), ntohs(),htons()这4个函数。网络字节顺序与本地字节顺序之间的转换函数: htonl()--"Host to Network Long" ntohl()--"Network to Host Long" htons()--"Host t...转载 2018-10-22 19:45:48 · 13069 阅读 · 0 评论 -
Syslog系统日志配置
Linux保存了系统中所发生事件的详细记录,这些记录称作日志文件或消息文件。可以查阅日志文件来确定系统当前状态,观察入侵者踪迹,寻找某特定程序(或事件)相关的数据。syslogd与klogd(监控linux内核提交的消息)守护进程负责记录,发送系统或工具产生的信息,二者的配置文件都是/etc/syslog.conf。当系统内核或工具产生信息时,通过调用相关函数将信息发送到syslogd或klogd...转载 2018-10-08 14:22:07 · 10054 阅读 · 0 评论 -
linux编程之pipe()函数
管道是一种把两个进程之间的标准输入和标准输出连接起来的机制,从而提供一种让多个进程间通信的方法,当进程创建管道时,每次都需要提供两个文件描述符来操作管道。其中一个对管道进行写操作,另一个对管道进行读操作。对管道的读写与一般的IO系统函数一致,使用write()函数写入数据,使用read()读出数据。#include<unistd.h>int pipe(int fil...转载 2018-08-27 15:36:23 · 1044 阅读 · 0 评论 -
curl常用功能
本文介绍curl的:1)参数被截断;2)自动转义编码;3)如何发GET和POST;参数被截断若欲发送:curl http://host:port/test?a=1&b=2curl会将其作为两条命令发送,此时需要对参数分割符&进行转义(见http://blog.youkuaiyun.com/top_code/article/details/41447281),即改为 cu...转载 2018-08-16 14:11:05 · 887 阅读 · 0 评论 -
curl命令
《Linux就该这么学》是一本基于最新Linux系统编写的入门必读书籍,内容面向零基础读者,由浅入深渐进式教学,销量保持国内第一,年销售量预期超过10万本。点此免费在线阅读。curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持PO...转载 2018-06-26 19:26:41 · 468 阅读 · 0 评论 -
在 Linux/UNIX 终端下使用 nload 实时监控网络流量和带宽使用
摘要:如果你想在命令行界面监控网络吞吐量,nload应用程序是个不错的选择。它是一个实时监控网络流量和带宽使用的控制台应用程序,使用两个图表可视化地展示接收和发送的流量,并提供诸如数据交换总量、最小/最大网络带宽使用量等附加信息。安装在CentOS/RHEL/RedHat/FedoraLinux上安装nload首先在CentOS或者基于RHEL的操作系统上启用EPEL仓库,然后键入yum命令安装n...转载 2018-03-29 16:23:34 · 1682 阅读 · 0 评论 -
Linux的打开文件表:打开文件表、文件描述符、打开的文件句柄以及i-node之间的关系
转载请说明出处:http://blog.youkuaiyun.com/cywosp/article/details/389652391. 概述 在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是一个非负整数(通常是小整数),用于指代被打开的文件,所有执行I/O操作的系...转载 2018-03-29 10:11:57 · 14083 阅读 · 5 评论 -
Linux下区分物理CPU、逻辑CPU和CPU核数
㈠ 概念 ① 物理CPU 实际Server中插槽上的CPU个数 物理cpu数量,可以数不重复的 physical id 有几个 ② 逻辑CPU Linux用户对 /proc/cpuinfo 这个文件肯...转载 2018-04-09 16:39:00 · 496 阅读 · 0 评论