
Linux
jadeshu
这个作者很懒,什么都没留下…
展开
-
Centos6更换源
以前的6版本都取消了可以使用vault.centos.org作为更新源!!!CentOS官方:http://vault.centos.org/阿里云镜像:http://mirrors.aliyun.com/centos-vault/解决方案1、关闭fastestmirrorvi /etc/yum/pluginconf.d/fastestmirror.conf#修改参数enable=02、将原来的源备份mv /etc/yum.repos.d/CentOS-Base.re原创 2021-07-01 13:43:25 · 1214 阅读 · 0 评论 -
linux网页运行版
1.在线运行https://bellard.org/jslinux/2.简单版本https://www.masswerk.at/jsuix/index.html原创 2021-05-24 18:22:52 · 14793 阅读 · 1 评论 -
centos搭建LAMP环境
1.搭建 MySQL 数据库安装 MySQLyum install mysql-server -y安装完成后,启动 MySQL 服务:service mysqld restartcentos7系统高级版本systemctl restart mysqld.service设置 MySQL 账户 root 密码:(下面命令中的密码是123456。如果设置其它密码,请把密码记住。)/usr/bin/mysqladmin -u root password '123456'2.原创 2020-12-06 23:16:33 · 133 阅读 · 0 评论 -
Linux内存管理
1、物理内存1.1页框1.2整页分配Buddy(伙伴)分配算法Linux内核引入了伙伴系统算法(Buddy system),什么意思呢?就是把相同大小的页框块用链表串起来,页框块就像手拉手的好伙伴,也是这个算法名字的由来。具体的,所有的空闲页框分组为11个块链表,每个块链表分别包含大小为1,2,4,8,16,32,64,128,256,512和1024个连续页框的页框块。最大可以申请1024个连续页框,对应4MB大小的连续内存。伙伴系统因为任何正整数都可以由2^n...转载 2020-12-06 22:57:48 · 231 阅读 · 0 评论 -
centos搭建Git服务器仓库
1.下载安装 git1.1安装依赖库和编译工具为了后续安装能正常进行,我们先来安装一些相关依赖库和编译工具yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel安装编译工具yum install gcc perl-ExtUtils-MakeMaker1.2下载 git选一个目录,用来放下载下来的安装包,这里将安装包放在/usr/local/src目录里cd /usr/local.原创 2020-12-06 22:57:20 · 313 阅读 · 0 评论 -
GRUB软盘和硬盘在虚拟机中启动系统内核
平台选择:1.linux上 需要安装bochs工具,gcc,nasm1.1目录结构 Demo | +--src +--fd +--hd1.2运行 不使用bootloader,直接使用grub去加载系统内核。1.3Bochs配置megs: 32romimage: file=/usr/share/bochs/BIOS-bochs-latest, address=0xf0000...原创 2020-11-27 18:07:56 · 855 阅读 · 0 评论 -
linux多线程
Linux中多进程是内核本身就支持的,而多线程则需要Thread库来支持。编译的时候需要带上 -l thread命令gcc main.c -o main -l pthread线程API1. 线程创建APIint pthread_create(pthread_t * thread, pthread_attr_t * attr, void * (*start_routine)(void *),void * arg)参数:thread:返回创建的线程的ID attr:线.转载 2020-11-19 01:03:03 · 290 阅读 · 0 评论 -
ubuntu20.4上不网、进不了root和编译内核出现:cc1: error: code model kernel does not support PIC mode
1.ubuntu20.4上不了网1.1、删除NetworkManager缓存文件service NetworkManager stoprm /var/lib/NetworkManager/NetworkManager.stateservice NetworkManager start1.2、修改vim /etc/NetworkManager/NetworkManager.confmanaged=true1.3、重启NetworkManagerservice net..原创 2020-09-06 23:14:58 · 1218 阅读 · 0 评论 -
centos7 ubuntuX64上编译linux内核
1.网上下载你要的linux源码版本www.kernel.org或者https://mirrors.edge.kernel.org/pub/linux/kernel/2.解压放到你想要放的位置并cd到该目录linux源码目录下3.复制config配置文件 cp /boot/config-xxx ./.config4.make menuconfig 如果出错error: curses.h ,请进入https://jadeshu.blog.youkuaiyun.com/article...原创 2020-09-06 17:27:19 · 370 阅读 · 0 评论 -
centos7 X64上编译linux内核4.X源码出错(error: curses.h)
1.出错2.解决错误提示curses.h 这个文件找不到,需要在从yum源上查找curses相关的包2.1安装ncurses2.2安装ncurses-dev3.执行make menuconfig原创 2020-09-06 16:52:05 · 398 阅读 · 0 评论 -
makefile
1.格式 (三要素:目标 依赖 命令规则)目标:依赖TAB键 命令规则 默认make文件时处理的是第一个目标文件 具体处理指定目标 ,需要make指定 ,如make test (其中test就是指定目标)2.变量如下面的obj3函数 wildcard:通用符搜索 patsubst:替换#get all .c filesSrcFiles=$(wildcard *.c)#将获取的.c文件替换为.o文件名SrcFiles1=$(patsubs...原创 2020-07-12 16:52:03 · 190 阅读 · 0 评论 -
同步异步、阻塞和非阻塞、网络模型
同步异步、阻塞和非阻塞是两套概念,容易混淆。同步异步是进程和内核之间阻塞和非阻塞是进程在访问数据时候,根据IO操作的就绪状态来采取的不同方式1.同步和异步 同步和异步是针对应用程序和内核的交互来说的,同步指的是用户进程触发IO操作并等待或者轮询的去查看IP操作是否就绪,而异步是指用户进程触发IO操作以后便开始做自己的事情,交给OS,而当IO操作完成时会得到IO完成的通知。...原创 2020-04-10 01:53:46 · 564 阅读 · 0 评论 -
gcc -o 生成的obj 文件格式
一、实例demo.cpp#include <iostream>using namespace std;int main(){ int count = 0; printf("result: %d\n", count); return 0;}编译gcc -c demo.cpp [-lstdc++]生成一个demo.o文件,即obj文件二、基础...原创 2019-12-27 22:45:51 · 2996 阅读 · 0 评论 -
linux静态库和动态库
一.基础 在实际开发中,对于一些需要被许多模块反复使用的公共代码,我们通常可以将它编译为库文件。 库从本质上来说就是一种可执行的二进制格式,可以被载入内存中执行。在linux系统中,库是以文件形式的,并且可以分为动态链接库和静态链接库。静态链接库文件的后缀名.a ;动态链接库文件的后缀名.so 动态和静态二者的区别在于代码被载入的时刻不同。静态是编译时直接连接到目标代码中,...原创 2019-12-16 15:45:18 · 298 阅读 · 0 评论 -
Shell的语法
Shell的语法:变量:字符串、数字、环境和参数; 条件:shell中的布尔值; 程序控制:if、elif、for、while、until、case; 命令列表; 函数; Shell内置命令; 获取命令的执行结果; Here文档;1.变量在shell里,使用变量之前通常并不需要事先为它们做出声明。你只有通过使用它们来创建它们。使用引号一般情况下,脚本文件中的参数以空...原创 2019-11-15 02:23:49 · 301 阅读 · 0 评论 -
虚拟机VM三种网络连接方式说明
原创 2019-03-07 19:14:37 · 1680 阅读 · 0 评论 -
linux文件IO
文件IO,它们设计是分层的,分层有2个好处,一是架构清晰,二是解耦。让我们看一下下面这张图。1. 穿越各层写文件方式程序的最终目的是要把数据写到磁盘上, 但是系统从通用性和性能角度,尽量提供一个折中的方案来保证这些。让我们来看一个最常用的写文件典型example,也是路径最长的IO。{ char *buf = malloc(MAX_BUF_SIZE); ...转载 2019-03-25 19:03:25 · 609 阅读 · 0 评论 -
linux目录详细列表
详细列表目录 说明 备注 bin 存放普通用户可执行的指令 即使在单用户模式下也能够执行处理 boot 开机引导目录 包括Linux内核文件与开机所需要的文件 dev 设备目录 所有的硬件设备及周边均放置在这个设备目录中 etc 各种配置文件目录 大部分配置属性均存放在这里 lib/lib64 ...原创 2019-03-23 19:33:32 · 662 阅读 · 0 评论 -
gcc/g++ 链接库的编译与链接
GCC编译步骤gcc -E t1.c -o t1.i 预处理gcc -S t1.i -o t1.s 转成汇编语言gcc -c t1.s -o t1.o 转成机器码gcc t1.o -o t1.exe 链接直接使用gcc t1.c将自动编译链接生成t1.out或gcc t1.c -o t1.exe规定生成可执行文件的文件名举例:#include <stdio.h>...原创 2019-03-31 01:21:09 · 3753 阅读 · 0 评论 -
gcc编译流程
GCC编译流程如下图所示:GCC 编译器在编译一个C语言程序时需要经过以下 4 步:将C语言源程序预处理,生成.i文件。 预处理后的.i文件编译成为汇编语言,生成.s文件。 将汇编语言文件经过汇编,生成目标文件.o文件。 将各个模块的.o文件链接起来生成一个可执行程序文件。.exe/.outgcc -E xx.c -o xx.i 预处理gcc -S xx.i ...原创 2019-07-16 00:06:02 · 377 阅读 · 0 评论 -
ld命令
ld 用于把目标代码文件连接为可执行文件或者库文件参数-b: 指定目标代码输入文件的格式-Bstatic: 只使用静态库-Bdynamic: 只使用动态库-Bsymbolic: 把引用捆绑到共享库中的全局符号-c: 从指定的命令文件读取命令--cref: 创建跨引用表-d: 设置空格给通用符号,即使指定了可重定位输出-defsym: ...转载 2019-04-04 19:30:13 · 6339 阅读 · 0 评论 -
dd命令
一、dd命令的解释dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2参数注释:1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output...转载 2019-04-04 19:31:43 · 828 阅读 · 0 评论 -
linux源码网址和常用的命令
常用安装包 centos yum / Ubuntu Debian apt-getclear :清空终端 [cmd 下是cls]vi/vim 编辑器 详情请点击uname -a: 查看系统内核chmode :改变文件模式 (chmod +x ./test.sh #使脚本具有执行权限)man :查看命令 库函数等 详情请点击...原创 2019-03-27 22:28:38 · 864 阅读 · 0 评论 -
传统PC机I/O位址空间范围
空间范围是0x000--0x3FF,有1024个I/O端口位址可供使用! 使用EISA或PCI等汇流排结构的现代PC机,有64KB的I/O位址空间可供使用。在普通Linux系统下透过查看/proc/ioports(对应的I/O口),可以得到相关控制器或设置使用的I/O位址范围!/proc/ioports0000-0cf7 : PCI Bus 0000:00 000...原创 2019-07-15 01:32:25 · 2479 阅读 · 0 评论 -
linux打包压缩与搜索命令
1.tar命令tar命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。 tar命令的参数及其作用 参数 作用 -c 创建压缩文件 -x 解开压缩文件 -t 查看压缩包内有哪些文件 -z 用Gzip压缩或解压 -j 用bzip2压缩或解压 -v 显示压缩或解压的过程 -f 目标文件名 -...原创 2018-12-25 20:12:53 · 371 阅读 · 0 评论 -
linux文件目录管理命令
1.touch命令touch命令用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”。touch test命令可以创建出一个名为test的空白文本文件 touch命令的参数及其作用 参数 作用 -a 仅修改“读取时间”(atime) -m 仅修改“修改时间”(mtime) -d 同时修改atime与mtime 2.mkd...原创 2018-12-25 20:09:22 · 263 阅读 · 1 评论 -
linux文本文件编辑命令
1.cat命令cat命令用于查看纯文本文件(内容较少的),格式为“cat [选项] [文件]”。Linux系统中有多个用于查看文本内容的命令,每个命令都有自己的特点,比如这个cat命令就是用于查看内容较少的纯文本文件的。如果在查看文本内容时还想顺便显示行号的话,不妨在cat命令后面追加一个-n参数:2.more命令more命令用于查看纯文本文件(内容较多的),格式为“mor...原创 2018-12-25 20:04:45 · 6511 阅读 · 0 评论 -
Linux 环境下使用g++编译C++
下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码:/* helloworld.cpp */#include <iostream>int main(int argc,char *argv[]){ std::cout << "hello, world" << std::endl; return(0);}程序...转载 2018-03-06 23:00:41 · 389 阅读 · 0 评论 -
linux基本命令<二>
原创 2018-02-06 00:41:05 · 521 阅读 · 0 评论 -
linux下安装mysql等信息
1.安装apt-get update;// 第一次的时候,你更新一下你的软件包的源地址数据;apt-get install mysql-server2.账号登陆mysql -h localhost -u root -p-h数据库主机-u用户-p密码-P端口号(大写P)例如mysql -h localhost -u root -p 12345 -P 3306...原创 2018-11-09 22:50:23 · 152 阅读 · 0 评论 -
linux文本编辑器VIM
1: Linux文本编辑器VIM的基本使用 a/i 进入编辑状态 Esc 退出编辑状态 :w, 编辑 :wq 保存退出 :q 退出 :q! 强制退出2: CC剪切一行, C数字C 剪切几行 (c3c) yy 复制一行 y数字y 复制几行(y3y) p 粘贴一行; dd删除一行;3: vim 文件名...原创 2018-11-10 00:16:55 · 318 阅读 · 0 评论 -
PM2管理工具的使用
linux上PM2可以管理服务程序,防止程序无故关闭,具有程序守护功能,自动重启服务器程序,监控程序等好处,很方便,具体自己去体会!官网地址: http://pm2.keymetrics.io/文档指南: http://pm2.keymetrics.io/docs/usage/cluster-mode/1.安装 (需要安装npm,简便直接安装node.js,里面附带...原创 2018-11-10 21:14:22 · 4210 阅读 · 1 评论 -
Linux命令简写和全称
su:Swith user 切换用户,切换到root用户cat: Concatenate 串联uname: Unix name 系统名称df: Disk free 空余硬盘du: Disk usage 硬盘使用率chown: Change owner 改变所有者chgrp: Change group 改变用户组ps:Process Status 进程状态tar:Tape ...转载 2018-11-27 03:06:38 · 199 阅读 · 0 评论 -
man查看帮助命令
man -h/-help1.在man命令帮助信息的界面中,所包含的常用操作按键及其用途按键 用处 空格键 向下翻一页 PaGe down 向下翻一页 PaGe up 向上翻一页 home 直接前往首页 end 直接前往尾页 / 从上至下搜索某个关键词,如“/linux” ? 从下至上搜索某个关键词,如“?linux...原创 2018-12-25 19:23:54 · 1198 阅读 · 0 评论 -
linux常用系统工作命令
1.echo命令echo命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”。2.date命令date命令用于显示及设置系统的时间或日期,格式为“date [选项] [+指定的格式]”。只需在强大的date命令中输入以“+”号开头的参数,即可按照指定格式来输出系统的时间或日期。 ...原创 2018-12-25 19:39:29 · 206 阅读 · 0 评论 -
linux系统状态检测命令
1.ifconfig命令ifconfig命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”。使用ifconfig命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就是网卡名称、inet参数后面的IP地址、ether参数后面的网卡物理地址(又称为MAC地址),以及RX、TX的接收数据包与发送数据包的个数及累计流量2.uname命令un...原创 2018-12-25 19:50:51 · 341 阅读 · 0 评论 -
linux工作目录切换命令
1.pwd命令pwd命令用于显示用户当前所处的工作目录,格式为“pwd [选项]”。2.cd命令cd命令用于切换工作路径,格式为“cd [目录名称]”。这个命令应该是最常用的一个Linux命令了。可以通过cd命令迅速、灵活地切换到不同的工作目录。除了常见的切换目录方式“cd -”命令返回到上一次所处的目录,“cd..”命令进入上级目录,“cd ~”命令切换到当前用户...原创 2018-12-25 19:55:37 · 8606 阅读 · 0 评论 -
linux基本格式和常用目录命令一
1: cd 绝对路径2: cd 相对路径 名字开头 ./开头 ../开头3: cd ~: 去到当前用户所在目录;4: pwd获取当前的路径的绝对路径;5: ls 与ls -l6: cat 操作: 把内容显示出来7: find 查找: find 路径[./] -name “*.*”8: rm 文件操作9: rm -rf 文件夹10: top查看CPU占用率,查看进程, kill ...原创 2018-02-05 23:49:42 · 323 阅读 · 0 评论