- 博客(66)
- 资源 (25)
- 收藏
- 关注

原创 Linux文件实时同步,可实现一对多,直接下载配置使用,完胜inotify+rsync
点击下载filesync实时同步程序点击下载filesync实时同步程序使用手册filesync实时同步系统是 WnNanhui 个人研究开发Linux操作系统下文件实时同步软件,它以Linux内核作为基础,采用C++ 11编程技术,将事件扫描技术和数据传输技术加载在操作系统底层,实现了对文件系统发生的所有事件 (新增 | 删除 | 内容修改 | 属性修改 | 移入 | 移除 ) 进...
2019-10-19 20:23:33
1324
1
原创 linux查看目录下所有文件内容中是否包含某个字符串
脚本名称:ffind#!/bin/sh#按日志等级进行打印echo_x(){ if [ "${1}" = "info" ]; then echo -e "\033[37m${2}\033[0m"; #白色字 elif [ "${1}" = "notice" ];then echo -e "\033[36m${2}\033[0m"; #天蓝字 elif [ "${1}" = "warn" ];then echo -e "\033[33m${2}\033[0m"; #黄色字 el
2020-06-14 12:58:19
3260
原创 概念异常和Bug异常和BUG对比:C语言异常处理方法
程序中不可避免的会发生异常。而异常是在开发阶段就可以预见的运行时问题。下面我们来分析一下C语言中异常处理的方式!概念程序在运行过程中可能产生异常。异常是程序运行时可预料的执行分支异常和Bug异常是程序运行时可预料的执行分支Bug是程序中的错误,是不被预期的运行方式。异常和BUG的对比:异常:1.运行时产生除0的情况2.需要打开的外部文...
2019-03-14 14:24:12
876
原创 C++类对象的浅拷贝
在未定义显示拷贝构造函数的情况下,系统会调用默认的拷贝函数——即浅拷贝,它能够完成成员的一一复制。在某些状况下,类内成员变量需要动态开辟堆内存,如果实行位拷贝,也就是把对象里的值完全复制给另一个对象,如A=B。这时,如果B中有一个成员变量指针已经申请了内存,那A中的那个成员变量也指向同一块内存。这就出现了问题:当B把内存释放了(如:析构),这时A内的指针就是野指针了,出现运行错误。mystr...
2019-03-14 14:24:06
549
原创 栈空间与堆空间
一个由C/C++编译的程序占用的内存分为以下几个部分:1、栈区(stack):又编译器自动分配释放,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构的栈。2、堆区(heap):一般是由程序员分配释放,若程序员不释放的话,程序结束时可能由OS回收,值得注意的是他与数据结构的堆是两回事,分配方式倒是类似于数据结构的链表。3、全局区(static):也叫静态数据内存空间,存储全局变量...
2019-03-14 14:24:00
2578
原创 一个强壮的C++类
mystring - 源码文件 - 点击下载mystring.h#ifndef MYSTRING_H#define MYSTRING_H class mystring{private: static mystring *self; char *s;public: ~mystring(); static mystring *makestrin...
2019-03-14 14:23:53
145
原创 makefile
值得一提的是,在Makefile中的命令,必须要以[Tab]键开始。 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Uni...
2019-03-14 14:23:47
340
原创 G++
gcc and g++分别是GNU的c & c++编译器gcc/g++在执行编译工作的时候,总共需要4步1.预处理,生成.i的文件[预处理器cpp]2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]4.连接目标代码,生成可执行程序[链接器ld]操作指南[参数详解]-x language filena...
2019-03-14 14:23:38
4034
原创 跨平台网络编程
myudp - 源码文件 - 点击下载udp.h//C++为了实现函数的重载,在编译的时候要将函数名进行重命名//C没有函数重载,所以不会在编译的时候带对函数名进行重命名//所以在C++中如果要使用C的函数,需要明确的告诉编译器,这是一个C的函数,不要对其进行重命名//使用exten "C"关键字来实现//extern "C"//{//int socket_send(cons...
2019-03-12 14:49:29
310
原创 拷贝构造函数
一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如: int a = 100; int b = a;而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include <iostream> using namespace std;...
2019-03-12 14:49:20
122
原创 VC编译器与GCC编译器的区别
首先,所谓语法区别是针对程序设计语言而言的,这里首先你要分清楚它们之间的区别。Gcc:它是一款开源的C语言编译器,原来只能在Linux系统上使用,后来移植到了Windows操作系统上,以此为基础的编译环境典型的又MinGW。它不是编程语言,所以没有语法这一说。G++:和GCC一个性质,只不过它是针对C++语言的。VC:它有两种解释:1.即VC本身,是微软公司推出的一款C++编译器,Visu...
2019-03-12 14:49:12
15136
4
原创 C++左值、右值、右值引用详解
左值、右值最简单的理解:可以对表达式取地址就是左值,否则就是右值。在C++11中所有的值必属于左值、右值两者之一,右值又可以细分为纯右值、将亡值。在C++11中可以取地址的、有名字的就是左值,反之,不能取地址的、没有名字的就是右值(将亡值或纯右值)。举个例子,int a = b+c, a 就是左值,其有变量名为a,通过&a可以获取该变量的地址;表达式b+c、函数int func()的返...
2019-03-12 14:49:04
364
原创 C++运算符重载
C++中预定义的运算符的操作对象只能是基本数据类型,实际上,对于很多用户自定义类型,也需要有类似的运算操作。例如:class complex{public: complex(double r=0.0,double I=0.0) { real=r; imag=I; } void display();private: doub...
2019-03-12 14:48:53
715
原创 C++对象对new,delete拦截实现内存监视
object_memory_monitoring - 源码文件 - 点击下载C或C语言和其他语言不同,需要自己管理内存,对不需要的内存要及时释放,否则就会导致内存泄露,导致内存不足让程序崩溃。在C程序员中,很容易导致内存忘记释放,特别是在程序出现异常的情况下。在对象中我们可以对new,delete进行重写,实现内存监视#include <iostream>#include...
2019-03-12 14:48:43
786
原创 Eratosthenes筛选求质数
说明:除了自身之外,无法被其它整数整除的数称之为质数,要求质数很简单,但如何快速的 求出质数则一直是程式设计人员与数学家努力的课题,在这边介绍一个着名的 Eratosthenes求质 数方法。解法:首先知道这个问题可以使用回圈来求解,将一个指定的数除以所有小于它的数,若可以 整除就不是质数,然而如何减少回圈的检查次数?如何求出小于N的所有质数? 首先假设要检查的数是N好了,则事实上只要检查至N...
2019-03-11 09:37:17
206
原创 蒙地卡罗法求PI
说明:蒙地卡罗为摩洛哥王国之首都,该国位于法国与义大利国境,以赌博闻名。蒙地卡罗的 基本原理为以乱数配合面积公式来进行解题,这种以机率来解题的方式带有赌博的意味,虽然 在精确度上有所疑虑,但其解题的思考方向却是个值得学习的方式。解法:如果随意的在正方形中投射飞标(点)好了,则这些飞标(点)有些会落于四分之一圆内,假 设所投射的飞标(点)有n点,在圆内的飞标(点)有c点,则依比例来算,就会得到上...
2019-03-11 09:37:09
169
原创 背包问题(Knapsack Problem)
说明:假设有一个背包的负重最多可达8公斤,而希望在背包中装入负重范围内可得之总价物品,假设是水果好了,水果的编号、单价与重量如下所示:0 李子 4KG NT$4500 1 苹果 5KG NT$5700 2 橘子 2KG NT$2250 3 草莓 1KG NT$1100 4 甜瓜 6KG N...
2019-03-11 09:37:00
279
原创 双色、三色河内塔
说明:双色河内塔与三色河内塔是由之前所介绍过的河内塔规则衍生而来,双色河内塔的目的是将下图左上的圆环位置经移动成为右下的圆环位置:而三色河内塔则是将下图左上的圆环经移动成为右上的圆环:解法:无论是双色河内塔或是三色河内塔,其解法观念与之前介绍过的河内塔是类似的,同样也是使用递回来解,不过这次递回解法的目的不同,我们先来看只有两个盘的情况,这很简单,只要将第一柱的黄色移动至第二柱,而接下来第...
2019-03-11 09:36:51
386
原创 字串核对
说明:今日的一些高阶程式语言对于字串的处理支援越来越强大(例如Java、Perl等),不过字串搜寻本身仍是个值得探讨的课题,在这边以Boyer- Moore法来说明如何进行字串说明,这个方法快且原理简洁易懂。解法:字串搜寻本身不难,使用暴力法也可以求解,但如何快速搜寻字串就不简单了,传统的字串搜寻是从关键字与字串的开头开始比对,例如 Knuth-Morris-Pratt 演算法 字串搜寻,...
2019-03-11 09:36:45
245
原创 生命游戏
说明:生命游戏(game of life)为1970年由英国数学家J. H. Conway所提出,某一细胞的邻居包括上、下、左、右、左上、左下、右上与右下相邻之细胞,游戏规则如下:孤单死亡:如果细胞的邻居小于一个,则该细胞在下一次状态将死亡。拥挤死亡:如果细胞的邻居在四个以上,则该细胞在下一次状态将死亡。稳定:如果细胞的邻居为二个或三个,则下一次状态为稳定存活。复活:如果某位置原无...
2019-03-11 09:36:37
266
原创 八枚银币
说明:现有八枚银币a b c d e f g h,已知其中一枚是假币,其重量不同于真币,但不知是较轻或较重,如何使用天平以最少的比较次数,决定出哪枚是假币,并得知假币比真币较轻或较重。解法:单就求假币的问题是不难,但问题限制使用最少的比较次数,所以我们不能以单纯的回圈比较来求解,我们可以使用决策树(decision tree),使用分析与树状图来协助求解。一个简单 的状况是这样的,我们比较a+b+...
2019-03-11 09:36:28
256
原创 骑士走棋盘
说明:骑士旅游(Knighttour)在十八世纪初倍受数学家与拼图迷的注意,它什么时候被提出已不可考,骑士的走法为西洋棋的走法,骑士可以由任一个位置出发,它要如何走完[所有的位置?解法:骑士的走法,基本上可以使用递回来解决,但是纯綷的递回在维度大时相当没有效率,一个聪明的解法由J.C.Warnsdorff在1823年提出,简单的说,先将最难的位置走完,接下来的路就宽广了,骑士所要走的下一步,「为下...
2019-03-11 09:36:17
189
原创 河内之塔
说明:河内之塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内为越战时北越的首都,即现在的胡志明市;1883年法国数学家 Edouard Lucas曾提及这个故事,据说创世纪时Benares有一座波罗教塔,是由三支钻石棒(Pag)所支撑,开始时神在第一根棒上放置64个由上至下依由小至大排列的金盘(Disc),并命令僧侣将所有的金盘从第一根石棒...
2019-03-11 09:36:08
135
原创 八皇后问题
说明:西洋棋中的皇后可以直线前进,吃掉遇到的所有棋子,如果棋盘上有八个皇后,则这八个皇后如何相安无事的放置在棋盘上,1970年与1971年, E.W.Dijkstra与N.Wirth曾经用这个问题来讲解程式设计之技巧。解法:关于棋盘的问题,都可以用递回求解,然而如何减少递回的次数?在八个皇后的问题中,不必要所有的格子都检查过,例如若某列检查过,该该列的其它格子就不用再检查了,这个方法称为分支修剪...
2019-03-11 09:35:51
123
原创 Linux关于文件管理的命令
cat使用权限:所有使用者使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)参数: -n 或 --number 由 1 开始对所有输出的行数编号 -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号 -s 或 --...
2019-03-08 09:04:57
310
原创 Linux关于文件传输的命令
bye功能说明:中断FTP连线并结束程序。语法:bye补充说明: 在ftp模式下,输入bye即可中断目前的连线作业,并结束ftp的执行。ftpftp(file transfer protocol)功能说明:设置文件系统相关功能。语法:ftp [-dignv][主机名称或IP地址]补充说明:FTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身。参数:-d...
2019-03-08 09:04:44
1089
原创 Linux关于文档编辑的命令
col功能说明:过滤控制字符。语 法:col [-bfx][-l<缓冲区列数>]补充说明:在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符">"和">>",把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。参 数:-b 过滤掉所有的控制字符,包括RLF和HRLF。-f 滤除RL...
2019-03-08 09:04:31
324
原创 Linux关于系统管理的命令
adduser功能说明:新增用户帐号。语 法:adduser补充说明:在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户帐号资料,然后再交由真正建立帐号的useradd指令建立新用户,如此可方便管理员建立用户帐号。在Red Hat Linux中,adduser指令则是useradd指令的符号连接,两者实际上是同一个指令。chfnchfn(chan...
2019-03-08 09:04:20
251
原创 Linux关于系统设置的命令
alias功能说明:设置指令的别名。语 法:alias[别名]=[指令名称]补充说明:用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。 alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在.profile或.cshrc中设定指令的别名。参 数:若不加任何参数,则列出目前所有的别名设置。apmdapmd(advanced pow...
2019-03-08 09:04:01
516
原创 Linux关于网络通信的命令
apachectlapachectl(Apache control interface)功能说明:可用来控制Apache HTTP服务器的程序。语 法:apachectl [configtest][fullstatus][graceful][help][restart][start][status][stop]补充说明:apachectl是slackware内附Apache HTTP服务...
2019-03-08 09:03:51
1286
原创 Linux关于磁盘管理的命令
cdcd(change directory)功能说明:切换目录。语 法:cd [目的目录]补充说明:cd指令可让用户在不同的目录间切换,但该用户必须拥有足够的权限进入目的目录。dfdf(disk free)功能说明:显示磁盘的相关信息。语 法:df [-ahHiklmPT][--block-size=<区块大小>][-t <文件系统类型>][-x <...
2019-03-08 09:03:38
273
原创 Linux关于磁盘维护的命令
badblocks功能说明:检查磁盘装置中损坏的区块。语 法:badblocks [-svw][-b <区块大小>][-o <输出文件>][磁盘装置][磁盘区块数][启始区块]补充说明:执行指令时须指定所要检查的磁盘装置,及此装置的磁盘区块数。参 数:-b<区块大小> 指定磁盘的区块大小,单位为字节。-o<输出文件> 将检查的...
2019-03-08 09:03:21
275
原创 Linux关于压缩备份的命令
ar功能说明:建立或修改备存文件,或是从备存文件中抽取文件。语 法:ar[-dmpqrtx][cfosSuvV][a<成员文件>][b<成员文件>][i<成员文件>][备存文件][成员文件]补充说明:ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。参 数: 指令参数 -d 删除备存文件中的成员文件。...
2019-03-08 09:03:09
1085
原创 Linux关于设备管理的命令
dumpkeys 名称: dumpkeys 使用权限: 所有使用者 使用方式: dumpkeys [ -hilfn1 -Sshape -ccharset --help --short-info --long-info --numeric --full-table --separate-lines --shape=shape --funcs-only --keys-on...
2019-03-08 09:02:57
724
原创 你不知道的Linux Kernel——Linux内核的工作原理
Linux内核更新是越来越快了,可能由于Linux的普及,大家都开始关注了,各种安全隐患也越来越多。支持Intel、Alpha、PPC、Sparc、IA-64、ARM、MIPS、Amiga、Atari和IBMs/390等,还支持32位大文件系统。而在Intel平台上,物理内存最大支持可以达到64GB。加强对IDE和SCSI硬件系统的支持,并增强了对USB设备和3D加速卡的支持。下面向大家详细介绍L...
2019-03-06 10:32:18
15220
原创 linux下的C语言开发
在很多人的眼里,C语言和linux常常是分不开的。这其中的原因很多,其中最重要的一部分我认为是linux本身就是C语言的杰出作品。当然,linux操作系统本身对C语言的支持也是相当到位的。作为一个真正的程序员来说,如果没有在linux下面用C语言编写过完整的程序,那么只能说他对C语言本身的理解还相关肤浅,对系统本身的认识也不够到位。作为程序员来说,linux系统为我们提供了很多理想的环境,这其中包...
2019-03-06 10:32:01
25541
3
原创 CentOS设置系统时间与网络时间同步
Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC)。系统时间:指当前Linux Kernel中的时间。硬件时间:主板上有电池供电的时间。查看系统时间的命令: #date设置系统时间的命令: #date –set(月/日/年 时:分:秒)例:#date –set “10/11/10 10:15”查看硬件时间的命令: # hw...
2019-03-06 10:31:53
576
原创 kvm虚拟机扩展磁盘容量
virt-resize扩展#关闭kvm虚拟机virsh shutdown testkvm2#安装工具yum install -y libguestfs-tools#查看磁盘文件位置virsh edit testkvm2#查看磁盘分区信息virt-filesystems --partitions --long -a /var/lib/libvirt/images/testkvm2.q...
2019-03-06 10:31:46
1134
原创 nginx搭建流媒体服务器实现点播和直播
nginx搭建流媒体服务器实现点播和直播教程 - 源码文件 - 点击下载前言流媒体指以流方式在网络中传送音频、视频和多媒体文件的媒体形式。相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕。由于流媒体技术的优越性,该技术广泛应用于视频点播、视频会议、远程教育、远程医疗和在线直播系统中。作为新一代互联...
2019-03-06 10:31:39
4142
3
Linux启动管理视频教程
2019-12-03
Linux系统管理视频教程
2019-12-03
Linux服务管理视频教程
2019-12-03
linux-Shell编程视频教程
2019-12-03
linux-Shell基础视频教程
2019-12-03
linux-文件系统管理视频教程
2019-12-03
linux-权限管理视频教程
2019-12-03
linux-用户和用户组管理视频教程
2019-12-03
linux-软件包管理-rpm和yum使用视频教程
2019-12-03
Linux常用命令教学视频
2019-12-03
Linux系统安装教学视频
2019-12-03
Linux系统简介视频
2019-12-03
Linux系统基础教程视频
2019-12-03
filesync-v1.0.0.tar.gz
2019-10-19
Openstack云系统教程视频
2019-07-15
Docker虚拟化轻量容器技术教程视频
2019-03-04
云计算Docker虚拟化技术视频教程
2019-03-04
ID自学教程视频
2019-03-04
CDR自学教程视频
2019-03-04
AI自学教程视频
2019-03-04
麻省理工学院《算法导论》- 视频教程
2019-03-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人