自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

胡胡大妞的博客

健康生活,快乐工作!

  • 博客(90)
  • 收藏
  • 关注

原创 C语言自定义数据类型

共用体关键字:union有时候想用同一段内存单元存放不同类型的变量。如:把一个整型变量、浮点型变量和字符型变量放在同一个内存单元中,它们在内存中所占字节数不同,但是共用同一段内存地址,也就是共用体了。也就是所有数据成员共用同一段内存的数据类型称为共用体,也称其为联合体。共用体和结构体的声明、定义和成员变量引用的语法是类似的,只不过关键字不一样,以及所占内存大小有区别而已。

2023-11-03 15:23:14 332

原创 预处理以及定义

ifndef....#else.....#endif //判断的是#ifndef后面的宏是否定义了。#ifdef....#else.....#endif //判断的是#ifdef后面的宏是否定义了。#include "文件名" //包含自定义头文件用"",在自定义头文件中找不到就会在系统头文件中去找。#if....#else....#endif //判断的是#if后面的条件真假。//在头文件中一般只声明函数,相当于一个功能。

2023-11-02 13:45:43 126

原创 如何编译运行C程序

注意:在运行可执行文件之前,需要保证已经正确地编写了C程序代码,并且没有错误。如果编译过程出现错误,需要先修改错误,并重新编译。命令:gcc -o [可执行文件名称] [C程序文件名称]列如:gcc -o hello hello.c。1. 打开终端,进入C程序所在的目录。2. 编译C程序文件,生成可执行文件。3. 运行生成的可执行文件。命令:./[可执行文件名称]例如:./hello。

2023-10-23 14:25:08 154

原创 C语言程序编译步骤

链接器会将多个目标文件合并成一个可执行文件,它会将所有的函数和数据段放到一个地址空间中,并解析函数之间的调用关系,使得程序可以正确地执行。预处理指令会被替换成对应的文本或代码,例如,#include指令会将指定的文件包含到当前文件中,#define指令会用宏定义的文本替换程序中出现的标识符。编译器的输出通常是汇编代码,这些代码是CPU可以直接执行的指令,但是这些指令通常是以十六进制数的形式表示的,不易读懂。预处理后的代码通常会比源代码大很多,因为预处理器会把包含的文件展开,宏展开,注释删除等操作。

2023-10-23 14:15:19 79

原创 计算机系统概论

1. 现代计算机由哪两部分组成计算机系统:硬件、软件

2023-10-23 13:03:14 354

原创 Linux下搭建sftp服务器

vsftpd是文件传输服务,sshd是远程连接linux的服务。windows系统下:我用的远程工具是xshell,文件传输工具是winscp如果用的是ubuntu桌面:用putty(远程连接shell用) 和 filezilla(文件上传下载用)...

2020-06-05 14:43:34 699

转载 linux (debian) 设置开机自启动

在网上查看,linux有多种设置开机自启动的方法,这里有两种,但第二种一直测试不成功,希望大家可以提出一些建议,非常感谢!方法一:直接在/ect/rc.local 中 exit 0 之前添加,重启即可,最简单的方法方法二:在/etc/init.d/ 下新建启动脚本,在 /etc/rc2.d/ 下用软链接,链接此脚本即可。1. /etc下rc?.d 目录简介/etc 下有 rc0.d -- rc6.d分别代表不同的级别:0:关闭计算机1:单用户模式2:无网络多用...

2020-05-09 16:48:30 2950 1

原创 Ubuntu官方Wiki教程资源

Ubuntu官方Wiki教程资源前言:通常学习一样新知识时,最快的方式是通过搜索引擎然后以最快的方式拿枪上战场,如果接下来还一直依赖搜索引擎去打,那么你会发现自己永远都在打游击;那么如果要解决这个问题,必须要学会系统的学习,只有连贯的学习方法才能把一个新知识学透。而系统学习最有效的方式就是看书,书本的知识点是连贯的,所以这个方式最有效。同样,如果要学习Ubuntu时,一开始学习最基本的操作技巧...

2020-04-25 17:46:24 451

原创 DKMS是什么?

我们都知道,如果要使用没有集成到内核之中的Linux驱动程序需要手动编译。当然,这并不是一件什么难事,即使是对于没有编程经验的Linux使用者,只要稍微有点hacker的意识,努力看看代码包里的Readme或者INSTALL文件,按部就班的执行几条命令还是很容易办到的。但这里还有一个问题,Linux模块和内核是有依赖关系的,如果遇到因为发行版更新造成的内核版本的变动,之前编译的模块是无法继续使用的...

2020-04-25 17:13:45 1565

原创 Linux中检查设备是否已经正常安装

linux系统中的设备驱动是否安装好一般检查几个方面:1、系统日志。嵌入式系统多是直接dmesg一下,看有没有设备关键字相关的出错信息(通用系统可检查/var/log/messages文件)。2、已加载的模块。检查模块加载列表中有没有相关设备的模块。lsmod3、设备列表。检查已加载的设备中有没有相关设备cat /proc/devices4、设备入口。如果以上检查都正常,还需要检查设备...

2020-04-25 16:54:51 623

转载 终于知道为什么apt remove nginx后重装没有声称nginx的配置文件了

今天在Ubuntu服务器上安装supervisor,部署没成功想卸载重来,sudo apt-get remove supervisor 后发现配置文件还在,便手动删除了配置文件。再次安装,提示配置文件不存在,WTF!配置文件不该你软件给我创建吗?我想。查阅资料才知,还有 apt-get purge 这一选项,purge 清除。划重点:apt-get remove 会删除软件包而保留软件的...

2020-04-17 10:01:38 578

原创 Linux文件系统类型介绍

Linux 把设备都当作文件一样来进行操作,这样就大大方便了用户的使用(在后面的Linux 编程中可以更为明显地看出)。在 Linux 下与设备相关的文件一般都在/dev 目录下,它包括两种,一种是块设备文件,另一种是字符设备文件。这就涉及到文件系统,以下介绍以下Linux文件系统。 1.ext2 和 ext3 ext3 是现在 Linux(包括 Red Hat,Mandrake 下...

2020-04-12 10:21:44 7995

原创 Linux操作系统查看系统软硬件内核等版本的命令

查看操作系统版本一般有三种方式:1、lsb_release -a,适用于所有Linux发行版2、cat /etc/redhat-release,适用于Redhat3、cat /etc/issue,适用于所有Linux发行版查看系统内核版本一般有两种方式:1、cat /proc/version2、uname -a注意: uname -r 和 uame -v 的区别:...

2020-04-02 17:23:27 892

原创 CPU架构比较

cpu架构只有cisc和risc区别,而且现在早变天了,x86内核是个risc,但指令集还是cisc的,而纯risc的cpu早没落了,现在没多少了。大概来说一个复杂指令集,一个精简指令集,设计方向有所区别,但现代cpu早就混合了两种设计思路。(一) RISC家族的mips和arm一、概述这里首先介绍的是RISC(精简指令集处理器)家族的两大佼佼者MIPS 和 arm ,相对应的是CI...

2020-03-31 11:03:20 5273

原创 Centos7的网络配置

(一) centos7的网络配置管理较以前有以下2点不同:(1) centos7的网卡命名规则发生了改变,不再是原来那种eth0 eth1 eth2这种名称,而改成enoxxxxxx的格式,en代表的是enthernet以太网,o代表onboard内置,这种新的方式不但长,而且难记,不过优点也比较突出,有编号唯一性,迁移系统的时候不容易出错,网卡名称可以改动。但是有时候再做配置的时候,希...

2020-03-14 23:10:15 360

转载 centos7开机界面出现多个选项

centos7开机界面出现多个选项第一个选项正常启动,第二个选项急救模式启动(系统出项问题不能正常启动时使用并修复系统)在CentOS更新后,并不会自动删除旧内核。所以在启动选项中会有多个内核选项,可以手动使用以下命令删除多余的内核:1.查看系统当前内核版本:# uname -aLinux localhost.localdomain 3.10.0-229.20.1.el7.x86_6...

2020-03-12 17:01:20 1725

转载 Jar包和War包的区别

做Java开发,jar包和war包接触的挺多的,有必要对它们做一个深入的了解,特总结整理如下:1.jar包的介绍JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。JavaSE程序可以打包成Jar包(J其实可以理解为Java了)。JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于...

2020-03-11 10:34:12 849

原创 Linux(日志管理)7/7

(一)日志管理基础rsyslog 日志管理logrotate 日志轮转(二) 处理日志的进程rsyslogd: 处理绝大部分系统相关的日志记录(比如: 和系统操作有关的安全,认证ssh,su,计划任务at/cron......)hrttpd/nginx/mysql: 这些第三方的进程大多可以以自己的方式记录日志,不需要rsyslogd(三)常见的日志文件(系统、...

2020-03-09 17:59:22 1326

原创 Linux(计划任务)6/7

计划任务 at 和 cron 的区别:(一)、 一次性调度执行 at需要确保进行开启才能执行例1(^D结束at编程): 1分钟以后添加uuuu这个用户,用atq命令查询是否还有at计划任务例2:编辑一个任务文件,用at来调度这个文件(二) 循环调度任务croncrond是每分钟都会检查一次任务列表,他的频率是分钟粒度的。crond分为用户级别和系统级别的...

2020-03-08 22:52:37 391

原创 Linux(源码的编译安装)6/7

以Nginx为例:(一) 源码安装三部曲

2020-03-08 21:27:39 107

原创 Linux(RPM-软件管理)6/7

使用RPM工具管理RPM包,无论是yum还是rpm安装软件包,其实最后都是调用的rpm去一个个地安装。可以把yum看成在rpm前端去处理依赖关系。(一) 使用RPM1. 查看系统信息2. 安装3. 查询,rpm只能够去查询rpm本地数据库,就是说只能查询安装过的包4. 卸载,如果有依赖关系,需要指定 --nodeps...

2020-03-08 21:15:25 126

原创 Linux(YUM-软件官方源)6/7

(一) find命令的一些补充(二) 软件包管理-从软件官方源中安装软件对rpm包进行管理的两种方法,1) 使用yum 2)使用rpm这个命令例如需要安装nginx的最新版本,1. 去官网地址: nginx.org 查找,选择稳定版本页面,根据页面提示进行安装,第一步操作如下提示:你需要新创建一个nginx.repo的文件,并且这个文件内容如下:To set...

2020-03-08 20:53:41 903

原创 Linux(YUM-系统级别的官方源)6/7

(一) 概览RPM(Redhat Pagckage Manage)用yum方式安装rpm包,用pip安装python包软件包分类:常见的二进制包:查看yum安装源: yum repolist(二)基础源安装完 centos后,默认会有三个源(一般安装完centos后第一件事是更新系统软件,使用“yum update” 命令从base updates extr...

2020-03-08 10:28:08 668

原创 Linux(LVM快照)5/7

(一) 交换分区SWAP1. 交换分区的意义:交换分区是用硬盘的一部分来当作内存使用,但是性能肯定没有内存好。可以防止内存溢出发生的错误。2. 查看当前的交换分区:free -m[hujianmei@localhost days05]$ free -m total used free shared buff/...

2020-03-08 00:15:02 209

原创 Linux(逻辑卷LVM)5/7

(一) 逻辑卷分区的优势1. 在线扩容2. 在线数据迁移逻辑卷和基本分区进行对比:后面Filesysytem和mount是一样的,不同之处在于分区LVM分区示意图,以下有三个概念:上图右边是指的扩展的时候,pv1 200extents (800M) 是PE,物理扩展。每个块4M的时候,那么这个PE就是 4M*200个扩展(extents)=800MLV1 300...

2020-03-07 23:32:20 503

原创 Linux(基本分区)5/7

(一) 存储基础知识上图左边是ssd(电子盘),右边是hdd从尺寸上区分,分为 3.5英寸、2.5英寸、1.8英寸 现在服务器上面一般都是2.5英寸现在以 SATA和SAS为主,IDE和SCSI已经逐渐被淘汰了。PCIE和FC用的少,了解就行从分区方式:MBR和GPT是分区表,fdisk和gdisk是分区软件。硬盘小于2TB使用MBR,大于2TB使用GP...

2020-03-07 21:38:45 248

原创 Linux(管道和重定向)5/7

(一) 重定向标准输入 输出 标准错误输出012是特殊的FD,进程打开的文件FD从3开始。0123....只是保存文件描述符的编号,是一个数组的下标。一般标准输出重定向:默认情况输出到当前的终端1) 重定向到 文件 2) 重定向到文件描述符,用&文件描述符 3)重定向到设备文件。一般标准输入重定向:默认情况从键盘输入案例1:se...

2020-03-07 18:50:04 250

原创 Linux(进程管理)5/7

(一) 查看进程1. ps命令查看(静态)1.1 ps aux 命令查看结果排序:注意: %cpu 是升序,-%cpu 是降序1.2 ps auxf 命令( f 以层级关系显示进程)1.3 ps -ef命令(显示格式不太一样而已)1.4 ps auo user,pid,ppid,%mem | less ( o 选项...

2020-03-07 12:40:16 178

原创 Linux(进程管理)4/7

什么是进程?进程的生命周期在centos5/6时代,最原始的进程为init,在centos7中,最原始的进程为systemd,原因是centos7的启动方式变了。进程状态进程使用时,一般会使用 cpu mem io 网络资源,以alice帐号修改密码过程为列子进行说明:...

2020-03-04 23:14:06 86

原创 Linux(文件权限)4/7

(1) 文件权限简介:1-1) 基本权限UGO(rwxrw-r--)设置文件权限(root用户和文件所有者有权限修改文件的权限):新建一个文件,文件属主默认为创建他用户,属组默认为创建他用户的主组。使用符号有一个特殊说明,执行权限位,X只针对文件夹不针对文件,x针对文件和文件夹,rw没有这个大小写的用法,只有x才有。例如: chmod -R a=rwX /dir1...

2020-03-04 18:03:16 246

原创 Linux(用户管理)3/7

1. 查看用户信息用户属于(主组(有且只有一个),附加组(可以有多个,以上附加组为 it和hr))2.和用户相关的一些文件centos7开始:普通用户从 1001开始3. 用户管理相关的一些命令groupadd groupdel useradd usermod userdel passwd chage创建一个用户,未指定用户所...

2020-03-03 23:03:32 105

原创 Linux(Linux重器 vi编辑器)3/7

(1) linux的 文件编辑器,图形化界面: gedit (重新打开一个界面,和windows的记事本差不多),如下:(2) 文件编辑器: vi vim nano先看下vim的几个工作模式:编辑模式 命令模式 扩展命令模式 可视模式;;;命令模式是进入其他模式的桥梁注意:vi 编辑器的 ^s 是限制屏幕输出的快捷键,要用 ^q 解除锁屏...

2020-03-03 22:00:36 122

原创 Linux(文件管理)2/7

(1). 查看命令帮助方法1-1) command --help1-2) man {command |configuration file | 针对函数帮助 }man一共分为9个章节,按照查询的时候从小到大进行查询。这9个章节分别如下: 1 Executable programs or shell commands /用户...

2020-03-02 18:46:36 128

原创 Linux(修改root密码)1/7

以下操作只能在l服务器端操作,远程是不行的哈~第一步:启动服务器在读秒界面 按e:第二步: 看到 在 linux16那一行的 en_US.UTF-8 加入 rd.break 第三步:添加完 rd.break后按下 ctrl+x 来以我们设置的参数进行启动。第四步:启动后进入如下界面,输入:4.1 mount -o rw,remount /sysroot/...

2020-02-25 14:58:58 313

原创 Bash的快捷键

Bash常用快捷键快捷键 作用 ctrl+A 把光标移动到命令行开头。如果我们输入的命令过长,想要把光标移动到命令行开头时使用。 ctrl+E 把光标移动到命令行结尾。 ctrl+C 强制终止当前的命令。 ctrl+L 清屏,相当于clear命令。 ctrl+U 删除或剪切光标之前的命令。我输入了一行很长的命令,不用使用退格键一个...

2020-02-25 14:01:23 98

原创 Centos系统安装的时候怎么分区

1. 实验环境,想怎能分就怎么分 实验环境的最简单分区: /2. 相对规范3. 企业环境

2020-02-25 12:24:27 685

转载 U盘安装Centos7的步骤详解

安装操作系统以下采用U盘方式安装CentOS 7.2,若采用其他方式安装,仅第一步不同。第1步:设置U盘为开机启动方式插上U盘,启动服务器,在启动画面时,按F7(机器不同时有所差异),进入设置界面,选择U盘:注意:目前,数据盘没有和系统盘相分离,硬盘的空间是大于2T的,需要选择启动方式为UEFI启动,不能使用legacy启动。第2步:开始安装CentOS7(若第一次使用该U盘则...

2020-02-25 11:49:33 8512 2

转载 U盘安装Centos7提示错误:Warning: /dev/root does not exist

如图:安装centos 7时提示 “Warning: /dev/root does not exist, could not boot”这个问题是没有找到U盘,这个配置是需要在上一步需要完成的,但在上一步我们并不知道U盘的文件名,所以索性在这一步查看一下U盘的设备名,然后再回到上一步完成配置。在界面中查看/dev目录下移动硬盘的盘符#一般有sdb和sdb#,#是数字,例如sdb4...

2020-02-25 11:46:03 7070 1

转载 推荐一个好用的免费开源的笔记本软件CherryTree

推荐一个好用的免费开源的笔记本软件CherryTree 我是一个好奇心很强的人,对未知的事物总有一种想要追根究底的冲动。多年以来,我学了很多东西,也学的很杂,积累了很多领域的知识。但不得不承认,人的记忆力很有限,学的越多忘的就越多。很久以前我就在想,怎么样把自己学过的知识有效的组织并储存起来,在忘记的时候可以快速地检索出来。我也曾考虑过自己去开发这样一个软件,只是一直没有时间(也许是...

2020-02-24 22:18:10 2631 1

原创 Shell学习15天( 配合zabbix收集tcp/mysql/内存信息)- 13ay

1. 配合zabbix收集tcp状态#!/bin/bash#配合zabbix统计tcp连接状态#v1.0 by hujianmei 20200224LISTEN(){ ss -an | grep '^tcp' | grep 'LISTEN' |wc -l}SYN_RECV(){ ss -an | grep '^tcp' |grep 'SYN[-_...

2020-02-24 18:20:15 167

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除