linux系统

如何制作patch文件及如何打patch 附带linux打补丁命令

南楼画角 提交于 2020-04-07 11:11:03
对某个版本的Linux内核做了修改以后,如果希望发布出去给别人用,那么就需要制作针对此版本的patch文件。比如基于Linux-2.6.25内核做了修改,修改后的内容放在文件夹Linux-2.6.25-test下,那么制作patch文件的命令为: diff -uNr Linux-2.6.25 Linux-2.6.25-test > test.patch 这时就 可以把test.patch发布到网上,其他人下载到此文件后,只需在标准的Linux-2.6.25内核里执行: patch -p1 < ../test.patch 这里假设test.patch和Linux-2.6.25文件夹是在同一目录下,且上述命令 在Linux-2.6.25文件夹内执行。 linux下patch命令使用详解---linux打补丁命令 功能说明:修补文件。 语  法:patch [-bceEf l nNRstTuvZ] [-B <备份字首字符串>][-d <工作目录>][-D <标示符号>][-F <监别列数>] [-g <控制数值>][-i <修补文件>][-o <输出文件>][-p <剥离层级>] [-r <拒绝文件>][-V <备份方式>][-Y <备份字首字符串>][-z <备份字尾字符串>][--backup-if   -mismatch][--binary][--help][--nobackup

我使用过的Linux命令之for

点点圈 提交于 2020-04-07 11:00:50
我使用过的Linux命令之for - Bash中的For循环 本文链接: http://codingstandards.iteye.com/blog/778999 (转载请注明出处) 用途说明 在shell中用于循环。类似于其他编程语言中的for,但又有些不同。for循环是Bash中最常用的语法结构。 常用格式 格式一 for 变量 do 语句 done 格式二 for 变量 in 列表 do 语句 done 格式三 for ((变量=初始值; 条件判断; 变量变化)) do 语句 done 使用示例 示例一 Bash代码 for s in ac apropos at arp do echo $s done [root@jfht ~]# for s in ac apropos at arp > do > echo $s > done ac apropos at arp [root@jfht ~]# 示例二 Bash代码 for f in * do echo $f done [root@jfht ~]# for f in * > do > echo $f > done anaconda-ks.cfg bak181 hlx install.log install.log.syslog job.sh job.txt mbox mini setup temp vsftpd-2.0.5-16

MySQL5.7特性:JSON数据类型

谁说胖子不能爱 提交于 2020-04-07 10:52:00
概述 MySQL5.7的发行声明中,官方称之为里程碑式的版本,除了运行速度大幅度提升之外,还添加了之前版本没有的功能,如本文所述的原生JSON数据类型功能。 在此版本之前,MySQL所有的JSON数据类型,全部是使用text等文本类型来实现的,数据的处理只能在应用代码级来实现,十分不方便。 什么是JSON类型 作为DBA,可能会对这个概念稍微有点陌生,但是对于开发者来说,这是一个十分熟悉的事物。 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。 MySQL原始JSON类型的优势在哪? 原生的JSON优势如下: 存储上类似text,可以存非常大的数据。 存储在JSON列中的JSON文档的自动验证 。无效的文档会产生错误。 优化的存储格式。存储在JSON列中的JSON文档将 转换为内部格式,以允许对文档元素进行快速读取访问。 相比于传统形式,不需要遍历所有字符串才能找到数据。 支持索引:通过虚拟列的功能可以对JSON中部分的数据进行索引。 MySQL的JSON类型

Linux学习之\"exit函数\"

此生再无相见时 提交于 2020-04-07 10:17:20
先看下"_exit"和"exit": exit被调用时,将冲刷所有的标准I/O流,关闭所有打开的文件描述符。在 传统实现 中,同时也将关闭标准I/O流。即表示标准输出FILE对象的相关存储区将被清0。而_exit不会执行这些操作。 由于父子进程共享同一地址空间,当父进程恢复运行并调用printf时,不会产生任何输出,它返回-1。这就是上一节调用_exit的原因。 然而,大多数exit的现代实现不再关闭流。因为进程即将终止, 内核 将关闭所有已打开的文件描述符。 Linux程序的终止分为"正常终止"和"异常终止",具体可能情况如下: 正常终止 从main返回 调用exit:ISO C定义 调用_exit或_Exit:前者由ISO C定义,后者由POSIX.1定义 最后一个线程从其启动例程返回 最后一个线程调用pthread_exit 异常终止 调用abort:产生SIGABRT信号 接到某些信号 最后一个线程对取消请求做出响应 几个要点: 1.不管进程如何终止,最后都会执行 内核 中的同一段代码:为相应进程关闭所有打开描述符,释放内存等等。 2. 若父进程在子进程之前终止了,则子进程的 父进程将变为init进程 ,其 PID为1 ; 保证每个进程都有父进程。 3.当子进程先终止,父进程如何知道子进程的终止状态?事实上,内核为每个终止子进程保存了终止状态等信息,父进程调用wait等函数

Genkins git远程分支代码拉取 (四)

为君一笑 提交于 2020-04-07 10:12:03
1.远程拉取gitlab 工程分支,并在本地建立分支 具体过程 新建一个空文件 初始化 git init 自己要与origin master建立连接(下划线远程仓库链接) git remote add origin http://192.168.9.10:8888/root/game-of-life.git 把远程分支拉到本地(game-of-live-first_branch为远程仓库的分支名) git fetch origin game-of-live-first_branch 在本地创建分支game-of-live-first_branch并切换到该分支 git checkout -b game-of-live-first_branch origin/game-of-live-first_branch 把game-of-live-first_branch远程分支上的内容都拉取到本地 git pull origin game-of-live-first_branch 2.修改分支的内容并上传给远程分支 3.如果想在linux中拉取远程分支代码 [root@localhost rollBack]# git init Initialized empty Git repository in /test/rollBack/.git/ [root@localhost rollBack]#

Linux下patch的制作和应用

女生的网名这么多〃 提交于 2020-04-07 10:06:17
转自: http://blog.chinaunix.net/u3/100239/showart_1984963.html 首先介绍一下diff和patch。在这里不会把man在线文档上所有的选项都介绍一下,那样也没有必要。在99%的时间里,我们只会用到几个选项。所以必须学会这几个选项。 1、diff -------------------- NAME diff - find differences between two files SYNOPSIS diff [options] from-file to-file -------------------- 简 单的说,diff的功能就是用来比较两个文件的不同,然后记录下来,也就是所谓的diff补丁。语法格式:diff 【选项】 源文件(夹) 目的文件(夹),就是要给源文件(夹)打个补丁,使之变成目的文件(夹),术语也就是“升级”。下面介绍三个最为常用选项: -r 是一个递归选项,设置了这个选项,diff会将两个不同版本源代码目录中的所有对应文件全部都进行一次比较,包括子目录文件。 -N 选项确保补丁文件将正确地处理已经创建或删除文件的情况。 -u 选项以统一格式创建补丁文件,这种格式比缺省格式更紧凑些。 2、patch ------------------ NAME patch - apply a diff file to an

常用linux命令

感情迁移 提交于 2020-04-07 09:12:25
最近再一次拾起了Ubuntu,为了更好的玩儿转Linux,专门到网上搜到的这些常用的终端命令,根据命令使用类别的不同分为了9个大类,都在下面一一列举了出来,个人觉得还是很有用的,在以后的时间里,小弟会随时更新自己对于Ubuntu的使用心得一. 文件目录类 1.建立目录:mkdir 目录名 2.删除空目录:rmdir 目录名 3.无条件删除子目录: rm -rf 目录名 4.改变当前目录:cd 目录名 (进入用户home目录:cd ~;进入上一级目录:cd -) 5.查看自己所在目录:pwd 6.查看当前目录大小:du 7.显示目录文件列表:ls -l (-a:增加显示隐含目录) 其中:蓝:目录;绿:可执行文件;红:压缩文件;浅蓝:链接文件;灰:其他文件;红底白字:错误的链接文件 8.浏览文件:more 文件名.txt;less 文件名.txt 9.复制文件: cp 源文件 目标文件 (-r:包含目录) 10.查找文件:(1)find (2)locate 命令名 11.链接:(1)建立hard链接:ln 来源文件 链接文件(-d:创建目录链接);(2)建立符号链接:ln -s 来源文件 链接文件 二.驱动挂载类 1.检查硬盘使用情况:df -T -h 2.检查磁盘分区:fdisk -l 3.挂载软硬光区:mount -t /dev/fdx|hdax /mnt/目录名 其中:

三张图看遍Linux 性能监控、测试、优化工具

落爺英雄遲暮 提交于 2020-04-07 08:45:43
Linux 平台上的性能工具有很多,眼花缭乱,长期的摸索和经验发现最好用的还是那些久经考验的、简单的小工具。系统性能专家 Brendan D. Gregg 在最近的 LinuxCon NA 2014 大会上更新了他那个有名的关于 Linux 性能方面的 talk (http://www.brendangregg.com/linuxperf.html) 和幻灯片。 和 Brendan 去年的 talk (http://www.vpsee.com/2013/06/linux-system-performance-monitoring-tools/)比较,今年增加了测试和优化两部分。下面的三张图片分别总结了 Linux 各个子系统以及监控、测试、优化这些子系统所用到的工具。 监控 测试 优化 来源: oschina 链接: https://my.oschina.net/u/76091/blog/534698

Linux进程退出

僤鯓⒐⒋嵵緔 提交于 2020-04-07 08:18:23
在Linux下,进程退出就表示进程即将结束了(为什么是即将,这是因为Linux设计的是父进程给子进程收尸)。正常退出包括3种情形。 main函数中执行return 0; 调用exit函数,函数原型:void exit(int status); 调用_exit函数,函数原型:void exit(int status); return只能结束函数,当他结束main函数的时候才是进程退出;exit函数用于正常结束进程。并把参数status返回给父进程,并且进程中所有缓冲区数据会自动写回并关闭未关闭的文件;_exit函数立即结束进程并返回内核,它不会更新缓冲区。 exit和_exit最大的区别在于,exit会刷新缓冲,这点很重要,因为Linux有“缓冲I/O”,这种技术是当缓冲区中的数据满足一定的条件后,才会写入文件中。因此为了保证数据不会丢失,请使用exit函数。 exit是在_exit的基础上封装的库函数,而_exit是系统调用。他们的参数为0的时候,表示进程正常结束,若为其他值表示执行过程中有错误发生。也就是进程异常结束。进程异常结束时有两种情形。 调用abort函数 进程收到了某个信号,而该信号使程序终止。 来源: https://www.cnblogs.com/zy666/p/10504276.html

Linux 性能监控、测试、优化工具测试

情到浓时终转凉″ 提交于 2020-04-07 08:00:22
Linux 平台上的性能工具有很多,眼花缭乱,长期的摸索和经验发现最好用的还是那些久经考验的、简单的小工具。系统性能专家 Brendan D. Gregg 在最近的 LinuxCon NA 2014 大会上更新了他那个有名的关于 Linux 性能方面的 talk ( Linux Performance Tools ) 和幻灯片。 和 Brendan 去年的 talk 比较,今年增加了测试和优化两部分。下面的三张图片分别总结了 Linux 各个子系统以及监控、测试、优化这些子系统所用到的工具 监控 测试 优化 来源: oschina 链接: https://my.oschina.net/u/2009021/blog/311735