linux
竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。
这个作者很懒,什么都没留下…
展开
-
Linux shell中2>&1的含义解释
比如有些人可能会这么想:2是标准错误输入,1是标准输出,>是重定向符号,那么"将标准错误输出重定向到标准输出"是不是就应该写成"2>1"就行了?执行2>&1后, 2----->1 (2指向1,而1指向log,因此2也指向了log)执行2>&1后, 2----->1 (2指向1,而1指向屏幕,因此2也指向了屏幕)执行>log后, 1----->log (1指向log,2还是指向屏幕)执行>log后, 1----->log (1指向log)本来1----->屏幕 (1指向屏幕)转载 2024-08-05 17:47:54 · 30 阅读 · 0 评论 -
Linux 查看磁盘是不是 ssd 的方法
如果 ROTA 值为 1,则磁盘类型为 HDD,如果 ROTA 值为 0,则磁盘类型为 SSD。可以在上面的屏幕截图中看到 sda 的 ROTA 值是 1,表示它是 HDD。此处,该值也是 1,表示磁盘类型为硬盘驱动器 (HDD)。如果值为 0,则它是 SSD。而且,如果驱动器是 HDD,则输出将如下所示。如果驱动器是 SSD,则输出将如下所示。2. 检查磁盘是否旋转。原创 2024-07-05 11:57:05 · 1459 阅读 · 1 评论 -
iostat 输出字段说明
【代码】iostat 输出字段说明。原创 2024-07-05 10:35:43 · 156 阅读 · 0 评论 -
ssh:Permissions 0644 for ‘/root/.ssh/id_rsa’ are too open
ssh:Permissions 0644 for ‘/root/.ssh/id_rsa’ are too open最近,用ssh连接github时,突然提示“Permissions 0644 for ‘/root/.ssh/id_rsa’ are too open”,并且断开连接。仔细阅读了一下ssh文档和这句提示,大概的意思时ssh的私有密钥的权限开放尺度太大了,ssh自身的策略关闭了ssh。解决方案:将权限由0644降低为0600chmod 0600 ~/.ssh/id_rsa原创 2024-06-28 10:41:21 · 427 阅读 · 0 评论 -
Kickstart无人值守常见报错集锦
【代码】Kickstart无人值守常见报错集锦。转载 2024-06-12 09:45:37 · 75 阅读 · 0 评论 -
ssh服务机卡顿
【代码】ssh服务机卡顿。原创 2024-06-06 11:15:55 · 160 阅读 · 0 评论 -
Linux 恢复/tmp目录权限
chmod a+rwx,o+t /tmptmp目录为系统临时目录 一般情况 权限 请不要修改原创 2021-04-21 02:00:17 · 1612 阅读 · 0 评论 -
linux中shell将换行输入到文件中
# echo -e "TEST1=test1\nTEST2=\"test2\"" >> test.txt# cat test.txtTEST1=test1TEST2="test2"当 -e生效时,下面是生效的\\ backslash \a alert (BEL) \b backspace \c produce no further output \e escape原创 2021-01-22 18:34:21 · 2707 阅读 · 0 评论 -
Linux命令详解:SFTP
一、介绍SFTP(Secure File Transfer Protocol,安全文件传输协议)是一种基于可靠数据流(data stream),提供文件存取和管理的网络传输协议与 FTP 协议相比,SFTP 在客户端与服务器间提供了一种更为安全的文件传输方式,如果你还在使用 FTP 来进行文件传输,强烈建议切换到更为安全的 SFTP 上来。本篇文章将会介绍 SFTP 的链接,以及在交互式命令行中的一些常用命令,并对一些参数进行解释,最后给出实际使用中的最佳实践。目前已经有很多 GUI 客户端支持 SF原创 2020-11-15 14:19:06 · 13804 阅读 · 0 评论 -
Linux下的几种负载均衡技术小结
前言Linux系统的数据包处理能力相当强大,通过Netfilter框架或者策略路由系统,用户可以非常灵活的定义数据包的处理规则。因此在Linux下实现负载均衡自然也是非常简单。笔者在此总结了Linux下常用的几种负载均衡技术:bondbond是Linux内核自带的多网卡聚合功能。这个功能可以把多个网卡整合成一个虚拟网卡从而同时利用多块网卡传输数据。bond有多种不同的模式用以适应不同的...转载 2020-04-26 10:47:44 · 1218 阅读 · 0 评论 -
CentOS8新特性
简介CentOS8和和RedHat8新特性一致,基于4.18的内核版本,提供AMD和Intel 64位架构,以及64位的arm、IBM Power Systems、Little Endian、IBM Z目前CentOS8的镜像有DVD的完整镜像,大小7G多,和boot类型的镜像,只有500M大小。不过如果是boot最小化引导的ISO镜像,需要通过BaseOS和AppStream存储库安装软件包...原创 2020-04-26 01:27:50 · 1554 阅读 · 0 评论 -
linux 系统 UDP 丢包问题分析
最近工作中遇到某个服务器应用程序 UDP 丢包,在排查过程中查阅了很多资料,总结出来这篇文章,供更多人参考。在开始之前,我们先用一张图解释 linux 系统接收网络报文的过程。首先网络报文通过物理网线发送到网卡网络驱动程序会把网络中的报文读出来放到 ring buffer 中,这个过程使用 DMA(Direct Memory Access),不需要 CPU 参与内核从 ring buff...转载 2020-04-25 09:49:00 · 1284 阅读 · 0 评论 -
编写内核模块hello_world
1、准备环境#mkdir ~/src/lkm_example#cd ~/src/lkm_example2、创建文件 lkm_example.c#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h>MODULE_LICENSE(“GPL”);MODULE_...原创 2018-11-06 01:56:40 · 464 阅读 · 0 评论 -
RedHat 6.5 企业级下安装nginx
1.安装相关nginx依赖库文件yum -y install gcc gcc-c++ autoconf automakeyum -y install zlib zlib-devel openssl openssl-develpcre库需要源码安装: [下载地址]:(http://sourceforge.net/projects/pcre/files/pcre/) 下载后解压即可 安装: 源原创 2017-12-11 01:47:36 · 2432 阅读 · 0 评论 -
内核源码阅读(九)进程优先级处理
1.进程优先级内核表示 进程的优先级的nice值在-20~+19之间。0~139表示内部优先级,0~99的范围专供实时进程使用。nice值在[-20,+19]映射到100~139之间。如下图所示。 进程优先级宏在不同形式间转换:/* 从用户优先级的nice值和静态优先级的转换 */#define NICE_TO_PRIO(nice) (MAX_RT_PRIO + (nice) + 20原创 2017-08-20 14:14:10 · 1186 阅读 · 0 评论 -
解决/usr/bin/ld: cannot find -lmysqlclient问题
编译代码时经常出现各种缺少什么库的问题,今天刚好遇到了,顺便总结一下,希望对大家有用。当遇到这种情况结局方案如下:1.locate mysqlclient2但出现一下情况时,输入.updatedb命令,可能会等一会 3.重新运行上述命令,即可发现各个库的位置4.建立软连接5.重新编译就行了原创 2016-05-24 21:10:11 · 1185 阅读 · 0 评论 -
文章标题
1.获得特定系统实际支持的限定值: 1)编译时限制(头文件):/usr/include/limits.h #include原创 2016-11-17 14:38:55 · 169 阅读 · 0 评论 -
Linux中限定值、 常用基本系统数据类型和文件I/O
1.获得特定系统实际支持的限定值:1)编译时限制(头文件):/usr/include/limits.h#include 2)与文件或目录无关的限制 long sysconf(int name);3)与文件或目录有关的限制long fpathconf(int fd, int name);long pathconf(char *path, int name);2.UNI原创 2016-11-17 14:40:09 · 864 阅读 · 0 评论 -
Mysql的C语言API接口在项目中的使用
#include "Mysql.h"int Mysql::select_user_store(char *sql,char *user_info){ int reta = mysql_real_query1(sql); if ( 0 != reta){ return (-1); } //process result result原创 2016-12-08 17:12:11 · 1539 阅读 · 0 评论 -
CentOS安装使用git集锦
一.git安装配置1.下载git[root@localhost Desktop]# yum install git -y设置用户名和email地址 $ git config –global user.name”Your Name”$ git config –global user.email”email@example.com”3.让git显示颜色[root@localhost Desktop原创 2017-02-20 00:10:17 · 400 阅读 · 0 评论 -
MongoDB(一)
一.MongoDB是一种强大、灵活、可扩展的数据存储方式。 其有以下特点: 1.丰富的数据类型:MongoDB是面向文档的数据库,其将原来的“行”的概念换成了更加灵活的“文档”模型。 2.容易扩展:其面向文档的模型使得其可以自动在多台服务器间分隔数据,还可平衡集群的数据和负载。 3.丰富的功能:其支持通用辅助索引,可进行多种快速查询;存原创 2017-02-23 15:39:59 · 445 阅读 · 0 评论 -
内核源码阅读(一)进程
1.进程分为实时进程和非实时进程。 硬实时进程有严格的时间限制,某些任务必须在指定的时限内完成。软实时进程是硬实时进程的一种弱化形式。大多数进程没有特定时间约束的普通进程。CPU时间分配简图如2.1所示。图2.1 时间片分配CPU时间抢占式多任务处理:各个进程都分配到一定时间段可以移植,当时间到期后,内核会从进程强制手机控制权,被抢占进程的运行时环境都会被保存起来原创 2017-08-09 20:51:52 · 766 阅读 · 0 评论 -
内核源码阅读(五)进程ID
接着上一节我们继续学习进程ID。 在上一节中我们提到了node是一个散列表元素,对于这个散列表并未做过多解释,在这里我们给出更加详细的描述。这个散列表是为了在给定的命名空间中查找对应与指定PID数值的pid数组的pid结构实例。 static struct hlist_head *pid_hash; 上面的hlist_head是一个内核的标准数据结构,用于建立双向散列表。 pid_hash是原创 2017-08-17 00:45:37 · 884 阅读 · 0 评论 -
内核源码阅读(六)内核线程
内核线程 内核线程是直接由内核本身启动的进程,也经常称之为守护进程。主要用于执行下列任务:周期性地将修改的内存页与页来源块设备同步;如果内存页很少使用,则写入交换区;管理延时操作;实现文件系统的事物日志。有两种类型的内核线程: 类型1:线程启动后一直等待,直至内核请求线程执行某一特定操作。 类型2:线程启动后按周期性间隔运行,检测特定资源的使用,在用量超出或低于预置的限制 值时采取原创 2017-08-18 00:19:34 · 620 阅读 · 0 评论 -
内核源码阅读(二)进程复制
进程复制1.三种常见进程复制API:1)fork()是一个重量级调用,因为它建立了一个父进程的完整副本,然后作为子进程执行。Linux后来采用了写时复制技术对其进行了优化。2)vfork()类似于fork(),但是其父子进程共享数据。vfork()设计用于子进程形成后立即执行execve()加载新程序的情况。子进程退出或开始新程序之前,内核保证父进程处于阻塞状态。原创 2017-08-11 00:08:15 · 884 阅读 · 0 评论 -
内核源码阅读(七)新程序的启动与进程的退出
通过用新代码替换现存程序,即可启动新程序。在Linux下这是通过execve系统调用实现的。 该系统调用的入口点是sys_execve函数,然后委托给do_execve函数。其原型如下:kernel/exec.cint do_execve(char * filename,char user * user *argv, char user * user *envp, struct pt_regs原创 2017-08-18 00:48:08 · 826 阅读 · 0 评论 -
内核源码阅读(八)进程调度器的实现
调度器的任务就是使程序之间共享CPU时间,创造并行执行的假象。其可分为两个方面:一是调度策略;二是上下文切换。 1.总览一般原理:按所能分配的计算能力,向系统中每个进程提供最大的公正性。 调度器对于进程等待时间的记录如下图所示。所有的可运行程序都按时间在红黑树中排序。就绪队列装备了虚拟时钟,其精确速度依赖于当前等待调度器挑选的进程的数目,约为实时时钟速度的1/4。 2.数据原创 2017-08-20 12:26:10 · 932 阅读 · 0 评论 -
linux新内核的freeze框架以及意义
linux新内核的freeze状态以及意义 linux的电源管理发展非常迅速,比如在挂起到内存的时候,系统会冻结住所有的进程,也就是所有的进程都不再运行,它们被冻结之前,最后的状态被保存,等到解冻的时候,所有进程恢复运行,linux对此的实linux新内核的freeze框架以及意义 现非常巧妙,它没有用特殊的机制来实现这一点,而是用它的freeze框架加上信号处理来实现的,在freeze所有进程的原创 2015-11-07 23:45:40 · 522 阅读 · 0 评论