linux
文章平均质量分 65
只会吃吃睡
这个作者很懒,什么都没留下…
展开
-
Linux:分区指南
Linux:分区指南 2011-02-26 12:00:20| 分类: Linux|举报|字号 订阅 一个合理的分区可以省去您许多的麻烦,尤其是在个人服务器很少添加硬件的情况下,最初的分区方案是否合理直接决定着你以后是否能安心的维护您的服务器。由于根据您的硬件配置不同,所以分区的具体方案也不同,不同的硬件配置按照解释说明按比例划分自己的分区。转载 2014-11-14 20:42:30 · 510 阅读 · 0 评论 -
Here Document
我们经常需要在shell中新建文件并输入内容,通常的做法有2种。 第一种: 用vim打开一个文件,输入内容,保存并退出。 第二种: 用echo输出重定向:echo “hello world” > a.out。 但是这两种方法都有一定弊端,比如第一种无法在shell脚本里面实现往文件中输入内容。第二种,无法输入多行内容。 如果我们需要在shell脚本中对文件中输入多行内容,这时转载 2016-11-20 21:35:44 · 439 阅读 · 0 评论 -
在linux shell 下切换程序
我们都知道,在 Windows 上我们可以轻松打开多个窗口并用Alt+TAB进行切换。但是在 Linux Shell下如何实现呢?请看下面的介绍。原文:小宇的博客让程序在后台执行命令: & 这个用在一个命令的最后,可以把这个命令放到后台执行。 例如 ./program1 &程序便在后台执行了,此时用户可以继续输入其他命令。把程序放到后台命令:ctrl + z 可以将一个正在前台执行的命令放到原创 2016-11-20 21:38:55 · 559 阅读 · 0 评论 -
linux中的僵尸进程
如果一个进程已经退出或者被杀死,但是它的父进程尚未执行wait操作,那么该进程进入僵尸(zombie)状态。这种进程不再参与调度,它的内存也会被释放,但系统不会把它从进程表中删除(top 命令中显示状态为Z)。僵尸在进程等待父进程回收它的退出状态。原文:小宇的博客这篇文章会告诉你: 1. 僵尸进程产生原理。 2. 如何产生僵尸进程。 3. 如何回收僵尸进程。产生僵尸进程根据僵尸进程的定义,我原创 2016-11-20 21:39:46 · 473 阅读 · 0 评论 -
linux中的本地化
linux中显示乱码了怎么办?这时候需要设置对本地化。知其然还要知其所以然,下面一步步来为你截开linux中的本地化的神秘面纱。原文:小宇的博客从locale说起locale翻译过来是本地的意思。linux中的locale工具能够输出当前本地化信息,或者输出所有支持的本地化、编码信息。 在linux中执行locale命令可以显示出当前的本地化信息。$ localeLANG=zh_CN.UTF-原创 2016-11-20 21:40:44 · 1462 阅读 · 0 评论 -
linux中的硬链接和软链接
建立硬链接和软链接在linux中我们通过ln命令来建立硬链接和软链接,默认是建立硬链接,加上-s参数那么建立的就是软链接。原文:小宇的博客$ echo "Hello world" > a$ ln a a_hard_link$ ln -s a a_soft_link建立好之后,用ls命令看一下,记得加上-i这样我们就可以看到inode号了$ls -ali19796575 -rw-rw-r--原创 2016-11-20 21:41:41 · 516 阅读 · 0 评论 -
linux把文件放置到剪贴板
如果想要把一个文件中的内容放置到剪贴板,通常的做法是用vim打开文件,然后复制粘贴。有时候文章很长,那么需要多次操作才可以。能不能用一个命令把文件中的内容放置到剪贴板呢?原文:小宇的博客installsudo apt-get install xselhow tocat xxx.txt | xsel -b -i如果还想看到更多此类文章,请移步到小宇的博客。原创 2016-11-20 21:43:08 · 3930 阅读 · 0 评论 -
linux查找文件内容
有时候我们需要在一堆文件中查找包含某单词的文件。比如在一堆源码文件中找出来调用一个函数的地方。原文:小宇的博客可以用find,xargs,grep三个命令联合起来实现。find ./ -type f -name *.c | xargs grep "word"find找出当前目录下所有.c的普通文件 xargs将文件名变成参数传入到grep grep打开该文件并找出文件中包含word的行一个脚本原创 2016-11-20 21:43:57 · 654 阅读 · 0 评论 -
linux性能曲线工具
linux下有很多监控工具,如top,free,vmstat等。有一大痛点就是各种工具生成的结果格式不一致,较长一段时间内监控数据量大,人工阅读非常困难。所以写了一个脚本,把各种监控参数输出为一个表格,最后再画出图形。原文:小宇的博客目前脚本能够监控如下内容 1. 平均负载 2. 空闲内存 3. 已用内存 3. 可用内存 4. 缓存中的脏页面 5. 硬盘使用率 6. 进程占用CPU百原创 2016-11-20 21:44:57 · 2180 阅读 · 0 评论 -
linux进程改名
在多进程程序中,用ps命令能看到进程的名字。这样能够方便管理,不会因为看到好多同样的进程而不知道他们在干什么而茫然,同时也能避免管理员kill掉错误的进程。原文:小宇的博客比如PostgreSQL刚启动时共有7个进程,通过ps可以清楚的看到每个进程是干什么的。$ ps ax | grep postgres26300 pts/26 S 0:00 ./postgres -D ../da原创 2016-11-20 21:45:43 · 2172 阅读 · 0 评论 -
缓冲区溢出的那些事儿
缓冲区溢出是引发程序崩溃的常见原因之一,也常常被黑客利用来发起攻击。缓冲区溢出引发的bug常常难以定位。那么缓冲区溢出问题有什么现象呢?如何找出蛛丝马迹从而何定位缓冲区溢出问题呢?原文:小宇的博客什么是缓冲区?缓冲区就是在程序中开辟的一块区域。这块区域可以在堆上也可以在栈上。int function(){ char buffer1[256]; // 在栈上的缓冲区 char *bu原创 2016-11-26 21:21:02 · 718 阅读 · 0 评论 -
深入理解静态链接库和动态链接库
为什么要使用链接库?大概有如下几个原因:1.利用前人为我们写好的库,比如数学库libm.so,免去再造轮子的困扰。2.充分使得程序的模块化,方便开发和后期升级。 3. 减小可执行文件的体积。链接库分为静态链接库、动态链接库。动态链接库还有不同的使用形式。那么他们的区别是什么?在什么情况下使用?编程时需要考虑那些方面呢?原文:小宇的博客静态库 static linking library静态库一般命原创 2016-11-26 21:22:22 · 1062 阅读 · 0 评论 -
c和汇编混合编程
在各种高级语言大行其道的今天为什么要用汇编呢?其实主要的原因有:第一,在C语言在关键地方嵌入汇编可以获得最大的性能提升,比如说一些关键算法;第二,实现硬件相关的功能(这点嵌入式开发经常用到)。第三,不能用C语言实现的特性可以用汇编实现,比如说可以利用lock指令来实现原子操作。 本文介绍了如何把汇编语言嵌入到c语言中的基础,然后给了2个例子。原文:小宇的博客在数据库中,为了实现一些特殊的操作原创 2016-11-26 21:24:53 · 1202 阅读 · 0 评论 -
【小宇带你学PostgreSQL内核】第一课:课程简介
如果还想看到更多此类文章,请移步到小宇的博客。http://player.youku.com/embed/XMTg1NzAxNjM4NA==' frameborder=0 'allowfullscreen'>大纲课程简介开发环境内核架构parserrewriteroptimizerexecutoraccessstorage自己动手开发新特性1. 简介课程目标:通过该课程了原创 2016-12-24 12:58:27 · 2372 阅读 · 4 评论 -
GDB图形界面大PK
gdb虽然很强大,但是却略显单调。其实gdb有很多前端图形界面。那么选哪个呢?请看GDB图形界面大PK。原文:http://shenyu.wikiTUIgdb原生的图形模式,支持gdb所有的特性。使用方法:gdb attach pid 之后ctrl+x acgdbhttp://cgdb.github.io/可以认为是TUI模式的增强版,具有代码高亮、查找等等功能。同时也支持gdb所有的特性。 如转载 2016-12-29 20:16:01 · 15015 阅读 · 1 评论 -
c和汇编混合编程
c和汇编混合编程 在各种高级语言大行其道的今天为什么要用汇编呢?其实主要的原因有:第一,在C语言在关键地方嵌入汇编可以获得最大的性能提升,比如说一些关键算法;第二,实现硬件相关的功能(这点嵌入式开发经常用到)。第三,不能用C语言实现的特性可以用汇编实现,比如说可以利用lock指令来实现原子操作。 本文介绍了如何把汇编语言嵌入到c语言中的基础,然后给了2个例子。c和汇编混合编程Assem原创 2016-11-19 21:31:42 · 1261 阅读 · 0 评论 -
在linux SHELL 下切换程序
在linux shell下切换程序我们都知道,在 Windows 上我们可以轻松打开多个窗口并用Alt+TAB进行切换。但是在 Linux Shell下如何实现呢?请看下面的介绍。一、让程序在后台执行命令: &这个用在一个命令的最后,可以把这个命令放到后台执行。例如 ./program1 &程序便在后台执行了,此时用户可以继续输入其他命令。二、把程序放到后台原创 2015-05-15 18:59:48 · 2588 阅读 · 0 评论 -
linux系统下挂载命令详解 mount
linux系统下挂载命令详解 mount-a 安装在/etc/fstab文件中类出的所有文件系统。-f 伪装mount,作出检查设备和目录的样子,但并不真正挂载文件系统。-n 不把安装记录在/etc/mtab 文件中。-r 讲文件系统安装为只读。-v 详细显示安装信息。-w 将文件系统安装为可写,为命令默认情况。-t 指定设备转载 2014-11-22 16:19:38 · 3011 阅读 · 0 评论 -
linux下使用tar命令压缩与解压缩
解压语法:tar [主选项+辅选项] 文件或者目录使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。主选项:c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。x 从档案文件中释放文件。相当于拆包。t 列出档案文件的内容,查看已经备份了哪些文件。特别注意,在参数的下达中, c/x/t 仅转载 2014-11-23 10:30:47 · 546 阅读 · 0 评论 -
如何在老机器上用U盘安装linux
最近研究所淘汰了一台老旧电脑,原创 2014-11-24 18:29:03 · 2379 阅读 · 0 评论 -
C mySQL编程 linux
1 先看看效果输入相关设置,就能显示查询结果。2 注意的几个问题2.1 汉字的显示 (参考http://my.oschina.net/mjRao/blog/100661)今天在linux下用C++封装了一下mysql数据库的连接,在执行 mysql_query(connection, sql_str.c_str())时,查询得到的汉字是乱码。 最后在网上查阅资料发现需原创 2014-12-17 13:31:44 · 367 阅读 · 0 评论 -
mysql 源码下载、编译、安装
1.源码下载1.1在主机上配置好git环境,sudu apt-get install1.2从git上下载源码~$ git clone https://github.com/mysql/mysql-server.git Cloning into 'mysql-server'...remote: Counting objects: 1035465, done.remote: To原创 2015-01-28 09:15:22 · 1185 阅读 · 0 评论 -
远程管理局域网里的Linux主机
1 配置固定IP为了防止修改错误无法挽回,建议先备份配置文件sudo cp /etc/network/interfaces /etc/network/interfaces.bak再用root权限打开配置文件sudo vim /etc/network/interfaces修改为以下内容address对应的就是固定IP地址netmask是子网掩码gateway是原创 2014-12-07 11:32:53 · 899 阅读 · 0 评论 -
动态增大的栈
C语言写的stack能够push的时候动态增长。每次扩大一倍:2,4,8,16,32,。pop的时候还能自动释放地址。#ifndef _MY_STACK_H_#define _MY_STACK_H_#include#include#include /*memset(void *s, int c, size_t n)*/#define _DEBUG_/*type for原创 2015-01-31 17:29:44 · 329 阅读 · 0 评论 -
c语言转汇编的脚本 在linux下
无图无真相。如题。。。源代码#!/bin/bashif [ "$#" = "0" ] ; then echo 'help: c2asm FILENAME' exit 1;fiif [ -f "$1" ] ; then echo 'check file ok!'else echo 'c2asm: file no原创 2014-12-07 18:10:54 · 1111 阅读 · 0 评论 -
线程同步 mutex
#include#include#include#include#includepthread_mutex_t mutex;char c[]="Hello world!\n";void function_a(){ int i; int len=strlen(c); //wiping working area pthread_mutex_lock(&mutex原创 2015-02-02 17:24:13 · 378 阅读 · 0 评论 -
linux C/S 架构 shell图形化 聊天室
Linux下的shell聊天室:里程碑0:1、基于C/S架构的聊天室,分为客户端和服务器。2、客户端登陆时输入服务器IP、port、 昵称不能重复里程碑1:3、可以群发消息或指定接收人4、admin账号可以踢人5、新加入用户可以看到聊天历史记录里程碑2:5、可以互传文件6、保存聊天信息里程碑3:7、第一次登录时,需要注册。技术设计:1原创 2014-12-28 19:38:41 · 2479 阅读 · 0 评论 -
ubuntu下安装Apache+PHP+Mysql
转载自:http://www.comflag.com/2011/05/01/apache-web.htm电影《社交网络》中,facebook创始人马克.扎克失恋后入侵哈佛大学宿舍楼服务器,窃取数据库资料,并在两个小时内完成了一个给校内女生评分的交互网站,该网站一天内点击数过10W,直接导致学校服务器崩溃。。。。。。 其实,构建那样一个网站并不需要很多高深的技术,任何一个有一定网络编程基础的转载 2014-12-30 18:34:56 · 321 阅读 · 0 评论 -
linux下LAMP环境搭建
打开终端,也就是命令提示符。我们先来最小化组建安装,按照自己的需求一步一步装其他扩展。命令提示符输入如下命令:1sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server上面的命令是最小化组建安装amp也就是apache2 ,ph转载 2014-12-30 18:35:59 · 408 阅读 · 0 评论 -
Subversion Quick-Start Guide
Subversion Quick-Start Guide“Please make sure your seat backs are in their full, upright position and that your tray tables are stored. Flight attendants, prepare for take-off….”What fol转载 2015-01-05 16:40:32 · 460 阅读 · 0 评论 -
C#用socket和linux服务器通信,发送struct 类型数据
C#用socket和linux服务器通信,发送struct 类型数据最近有个需求,是在windows平台上通过socket传输struct类型的数据到linux服务器上。因为C#貌似没有直接传输struct类型的内置方法,需要一些处理。需要传输的数据如下://sensor msg structstruct sensor_st{ char sname[256]; dou原创 2015-01-06 11:20:33 · 1148 阅读 · 0 评论 -
用gdb调试mysql
用gdb调试mysqlmysql的源代码很多,估计有百万行以上了,如何能够快速了解其内容,跟踪代码运行是一个好方法。mysql的调试有很多方法,下面来探讨一下用其自带的mysql-test-run命令和gdb调试。首先进入mysql-test/tp1这个目录下面有很多测试用例,就是很多用来测试的sql语句p2新建一个名为example.test的文件,在里面原创 2015-05-13 21:52:14 · 4960 阅读 · 0 评论 -
nextcloud——搭建自己的云盘
nextcloud——搭建自己的云盘 最近多家云盘相继关停,费了很多时间才把上面的东西下载到本地,而且各大云盘都限速500KB/s,尤其是百度云上的小电影都变成了8秒。技术宅岂能容忍?是时候搭建自己的私有云盘了!原文来自小宇的博客搭建自己的私有云有什么好处呢?首先没有什么容量、下载速度的限制,而且本地访问速度很快。然后可以和本地的cifs、ftp配合使用来实现多个设备文件共享:比如可以在电视、原创 2017-03-05 19:05:56 · 90431 阅读 · 3 评论