linux
linux&操作系统
mhHao
Talk less, do more.
展开
-
shell中#*,##*,#*,##*,% *,%% *的含义及用法 替换字符
介绍下Shell中的KaTeX parse error: Expected 'EOF', got '#' at position 4: {}、#̲#和%%使用范例,本文给出了不…{ }分别替换得到不同的值:${file#/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##/}:删掉最后一个 / 及其左边的字符串:my.file.txt${file#.}:删掉第一个 . 及其左边的字符串:file.txt${file##.}:删掉最后一个 .转载 2020-07-02 11:24:58 · 2510 阅读 · 0 评论 -
CentOS7下Systemctl详解
一、Systemd简介Systemd是由红帽公司的一名叫做Lennart Poettering的员工开发,systemd是Linux系统中最新的初始化系统(init),它主要的设计目的是克服Sys V 固有的缺点,提高系统的启动速度,systemd和upstart是竞争对手,ubantu上使用的是upstart的启动方式,centos7上使用systemd替换了Sys V,Systemd目录是要取代Unix时代依赖一直在使用的init系统,兼容SysV和LSB的启动脚本,而且能够在进程启动中更有效地引导加转载 2020-06-29 19:35:04 · 1945 阅读 · 0 评论 -
SSH的免密登录详细步骤
需求为了保证一台Linux主机的安全,所以我们每个主机登录的时候一般我们都设置账号密码登录。但是很多时候为了操作方便,我们都通过设置SSH免密码登录。在这里我对本地机器Cloud10和目标机器Cloud11、Cloud12进行免密登录大致的三步1.本地机器生成公私钥2.上传公钥到目标机器3.测试免密登录具体操作1.准备工作使用root权限分别修改每台机器的hosts,添加每台机器所对应的IP和主机名(我这里分布式集群是3台机器组成的,所以配置3台,习惯将自己的ip和主机名放在第一行)su转载 2020-06-29 16:28:31 · 8860 阅读 · 0 评论 -
gcc 编译工具(上)--- 编译过程和原理浅析
gcc 编译工具(上)— 编译过程和原理浅析什么是gccgcc(GNU C Compiler)编译器的作者是Richard Stallman,也是GNU项目的奠基者。gcc是GNU Compiler Collection的缩写。最初是作为C语言的编译器,现在已经支持多种语言了,如C、C++、Java、Pascal、Ada、COBOL语言等。gcc支持多种硬件平台,甚至对Don Knuth设计的MMIX这类不常见的计算机都提供了完善的支持。gcc的主要特征gcc是一个可移植的编译器,支持多种硬件转载 2020-06-20 22:50:22 · 720 阅读 · 0 评论 -
epoll使用详解(精髓)
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __FD_SETSIZE 1024转载 2020-06-17 22:03:40 · 766 阅读 · 0 评论 -
CentOS 7 挂载本地光盘作为镜像源
上传iso文件到/usr/local/src一定要确保这个ISO文件上传完毕后再进行下面的操作。创建挂载目录mkdir /media/CentOS7挂载iso文件mount -t iso9660 -o loop /usr/local/src/CentOS-7-x86_64-Everything-1503-01.iso /media/CentOS74. 设置开机自动挂载光盘镜像执行 vi /etc/fstab(fstab 输入错误会使主机无法正常启动而进入emerge.转载 2020-06-16 09:11:53 · 2107 阅读 · 0 评论 -
一台java服务器可以跑多少个线程?
一台java服务器能跑多少个线程?这个问题来自一次线上报警如下图,超过了我们的配置阈值。京东自研UMP监控分析打出jstack文件,通过IBM Thread and Monitor Dump Analyzer for Java工具查看如下:IBM Thread and Monitor Dump Analyzer for Java共计1661个线程,和监控数据得出的吻合。但这个数量应该是大了,我们都知道线程多了,就会有线程切换,带来性能开销。当时就想到一台java服务器到底可以跑多少个线程呢?跟什么转载 2020-06-15 19:14:38 · 1186 阅读 · 0 评论 -
centos7 开启mysql5.7远程连接授权并连接
centos7 开启mysql5.7远程连接授权并连接Aledsan 2020-04-13 11:48:46 302 收藏展开在centos7安装了mysql数据库,却发现只能本地连接,那么如何来实现远程连接呢, 下面就讲述如何开启mysql5.7远程连接授权并远程连接。一、远程连接授权如果要用第三方工具,如Navicat启用远程访问,是要授权的,因为mysql默认禁止远程访问这里我们有两种方法,一种是下面这种sql语句授权GRANT ALL PRIVILEGES ON . TO ‘roo转载 2020-06-08 19:11:59 · 775 阅读 · 0 评论 -
Redis的epoll模型
之前相关文章推荐:Redis高性能与epoll本文,我们从源代码的角度,简单理解Redis是如何使用epoll以及epoll的实现原理。浅入浅出~ 找我交流通过本文了解如下三件事儿,就算是达到了本文目的:1、epoll是Linux提供的系统实现,核心方法只有三个2、epoll效率高,是因为基于红黑树、双向链表、事件回调机制3、redis的IO多路复用,Linux上用epoll进行了实现epoll是Linux内核提供的一种多路复用器,照例问问Linux的男人:EPOLL(7)转载 2020-06-04 22:41:48 · 3026 阅读 · 0 评论 -
Linux vmstat命令详解
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。物理内存和虚拟内存区别我们知道,直接从物理内存读写数据要比从硬盘读写数据要快的多,因此,我们希望所有数据的读取和写入都在内存完成,而内存是有限的,这样就引出了物理内存与虚拟内存的概念。物理内存就是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就是转载 2020-06-01 14:24:32 · 173 阅读 · 0 评论 -
不记住这些操作系统知识,拿什么备战校招!
不记住这些操作系统知识,拿什么备战校招!转载 2019-10-25 18:34:54 · 91 阅读 · 0 评论 -
码农翻身讲操作系统3:硬盘与键盘的故事
https://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=2665513289&idx=1&sn=ab19dcad7b1dc217463f155fe106091a&scene=21#wechat_redirecthttps://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&am...原创 2019-09-08 19:33:40 · 130 阅读 · 0 评论 -
进程间通信的方式——信号、管道、消息队列、共享内存
多进程:首先,先来讲一下fork之后,发生了什么事情。由fork创建的新进程被称为子进程(child process)。该函数被调用一次,但返回两次。两次返回的区别是子进程的返回值是0,而父进程的返回值则是新进程(子进程)的进程 id。将子进程id返回给父进程的理由是:因为一个进程的子进程可以多于一个,没有一个函数使一个进程可以获得其所有子进程的进程id。对子进程来说,之所以fork返回0给它...转载 2019-09-08 19:31:54 · 194 阅读 · 0 评论 -
码农翻身讲操作系统2:进程,线程与操作系统那些事
https://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=2665513283&idx=1&sn=4e5ea6d64a7687d1ddee20fe7de947c1&scene=21#wechat_redirecthttps://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&am...原创 2019-09-08 19:30:41 · 159 阅读 · 0 评论 -
码农翻身讲操作系统1:CPU阿甘系列
https://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=2665513017&idx=1&sn=5550ee714abd36d0b580713f673e670b&scene=21#wechat_redirecthttps://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&am...转载 2019-09-08 19:24:49 · 232 阅读 · 0 评论 -
操作系统基础学习总结
##这部分内容主要是基于一些关于操作系统基础的学习总结,内容不全面,只讲述了其中的一小部分,后续会再补充,如有错误,还请见谅。操作系统CPUcpu是中央处理器,他是计算机的核心。cpu通过和寄存器,高速缓存,以及内存交互来执行程序。主板分为南桥和北桥,北桥主要是内存总线,通往内存。而南桥主要是慢速设备的IO总线,包括硬盘,网卡等IO设备。32位cpu最多寻址4g内存,而64位cpu目...原创 2019-09-08 19:16:06 · 242 阅读 · 0 评论 -
堆外内存 之 DirectByteBuffer 详解
堆外内存堆外内存是相对于堆内内存的一个概念。堆内内存是由JVM所管控的Java进程内存,我们平时在Java中创建的对象都处于堆内内存中,并且它们遵循JVM的内存管理机制,JVM会采用垃圾回收机制统一管理它们的内存。那么堆外内存就是存在于JVM管控之外的一块内存区域,因此它是不受JVM的管控。在讲解DirectByteBuffer之前,需要先简单了解两个知识点java引用类型,因为Direct...转载 2019-08-11 21:04:31 · 125 阅读 · 0 评论 -
认真分析mmap:是什么 为什么 怎么用
阅读目录mmap基础概念mmap内存映射原理mmap和常规文件操作的区别mmap优点总结mmap相关函数mmap使用细节回到顶部mmap基础概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应...转载 2019-08-11 21:01:40 · 99 阅读 · 0 评论 -
awk命令详解
Linux三剑客之awk命令awk简介awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数...转载 2019-12-19 14:53:54 · 176 阅读 · 0 评论 -
rsyslog教程:配置日志客户端和服务端
简介rsyslog是Linux系统自带的高性能、高安全性的用来收集、处理日志的程序。rsyslog可以通过TCP/UDP协议转发或接收日志,其可以作为日志服务器接受日志,也可以用作客户端发送日志。客户端配置修改 /etc/rsyslog.conf 配置文件:##################### MODULES #####################module(load=...原创 2019-12-04 16:12:36 · 2721 阅读 · 0 评论 -
Linux 之 rsyslog 系统日志转发
一、rsyslog 介绍ryslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍,现在可以处理100万条信息。特性:1.多线程2.支持加密协议:ssl,tls,relp3.mysql、oracle、postgreSQL4.等等…二、实践部署()2.1 环境图2.2...转载 2019-11-26 14:55:54 · 1264 阅读 · 0 评论 -
Vim的终极配置方案,完美的写代码界面
配置如果你需要配置vim,只需在Home目录创建一个/.vimrc文件即可以配置vim了,如需安装插件,在/.vim目录下创建一个bundle文件夹,插件装在里面。(我通过Vundle管理插件,自行百度Vundle怎么使用),可以参考我的vimrc配置文件:含有完整的注释set nocompatiblefiletype onset rtp+=~/.vim/bundle/Vundle.vi...转载 2019-11-06 14:11:43 · 1181 阅读 · 0 评论 -
Linux内核基础与常用命令总结
##这部分内容主要是基于一些关于Linux系统的内核基础和基本命令的学习总结,内容不全面,只讲述了其中的一小部分,后续会再补充,如有错误,还请见谅。Linux操作系统Linux操作系统博大精深,其中对线程,IO,文件系统等概念的实现都很有借鉴意义。文件系统和VFS文件系统的inode上面讲过了。VFS主要用于屏蔽底层的不同文件系统,比如接入网络中的nfs文件系统,亦或是windows文件系...转载 2019-09-08 19:08:02 · 442 阅读 · 0 评论 -
《Linux内核设计与实现》读书笔记 - 目录
《Linux内核设计与实现》读书笔记 - 目录 (完结)读完这本书回过头才发现, 第一篇笔记居然是 2012年8月发的, 将近一年半的时间才看完这本书(汗!!!).为了方便以后查看, 做个《Linux内核设计与实现》读书笔记 的目录:《Linux内核设计与实现》读书笔记(一)-内核简介《Linux内核设计与实现》读书笔记(二)- 内核开发的准备《Linux内核设计与实现》读书笔记(三)-...转载 2019-09-08 19:06:08 · 248 阅读 · 1 评论 -
linux各个目录作用
/binbin是Binary的缩写,这个目录存放着最经常使用的命令。/boot这里存放的是启动Linux时的一些核心文件,包括一些连接文件以及镜像文件。/devdev是Device的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。/etc这个目录用来存放所有的系统管理所需要的配置文件和子目录。/home用户的主目录,在Linux中,每个用户都有一个自原创 2017-10-22 19:51:18 · 1866 阅读 · 0 评论 -
linux 常用命令(2)
type:显示命令类型hmh@hmh-ubuntu:~$ type cpcp 是 /bin/cphmh@hmh-ubuntu:~$ type cdcd 是 shell 内建hmh@hmh-ubuntu:~$ type lsls 是 `ls --color=auto' 的别名hmh@hmh-ubuntu:~$ type nodenode 是 /home/hmh/.nvm/versions原创 2017-10-22 19:50:26 · 300 阅读 · 0 评论 -
linux 常用命令(1)
ls 用于列出文件:ls -a列出所有文件,包括文件名以圆点开头的默认会被隐藏的文件。ls -d与-l结合使用可以查看所指定目录的详细信息ls -r以相反的顺序来显示结果,通常,ls命令的输出结果按照字母升序排列。ls -t按照修改时间来排序ls -S输出结果按照文件大小排序例如将桌面的文件全部列出:hmh@hmh-ubuntu:~$ cd 桌面hmh@hmh-ubuntu:~/桌面$ ls -原创 2017-10-21 15:40:29 · 245 阅读 · 0 评论