UNIX编程
鸭脖
爱学习
展开
-
TCP协议中的三次握手和四次挥手(图解)
建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。那如何断开连接呢?简单的过程如下:转载 2016-05-18 14:23:08 · 1138 阅读 · 0 评论 -
ubuntu下ATI/Intel双显卡切换的方法
装了ubuntu 12.04 32bit和win7 64bit双系统后,win7基本不用了,工作全部在win7下做。但是,存在一个问题:运行ubuntu时,笔记本过热。 由于笔记本是双显卡(HD5650和Intel I5 480集成显卡),所以怀疑是双显卡切换的问题,于是在ubuntu论坛上找到了相关帖子--《(ATI显卡菜鸟x86闭源帖---A鸟都去学雷锋)总结Ubuntu转载 2014-03-18 16:45:23 · 1805 阅读 · 0 评论 -
linux ssize_t与size_t
ssize_t是signed size_t,而size_t是标准C库中定义的,应为unsigned int。socket_t:数据类型"socklen_t"和int应该具有相同的长度.否则就会破坏 BSD套接字层的填充.POSIX开始的时候用的是size_t, Linus Torvalds(他希望有更多的人,但显然不是很多) 努力向他们解释使用size_t是完全错误的,因为在64位转载 2013-06-08 20:13:41 · 1604 阅读 · 0 评论 -
ls -l详解
[root@localhost ~]# ls -l总计 152-rw-r--r-- 1 root root 2915 08-03 06:16 a-rw------- 1 root root 1086 07-29 18:35 anaconda-ks.cfg…………………………………………第1行:总计(total)Total后面的数字是指当前目录下所有文转载 2013-06-08 22:59:34 · 796 阅读 · 0 评论 -
《UNIX环境高级编程》apue源代码Ubuntu下的编译
在编译书中例程时,常会报错,主要问题是以下两句代码[cpp] view plaincopyprint?#include"apue.h" 这两个头文件并非Ubuntu系统自带的,是《UNIX环境高级编程》作者自己编写的用于定义及报错的头文件解决方法:1--下载APUE的代码(http://w转载 2013-06-08 20:04:01 · 960 阅读 · 0 评论 -
linux静态库的生成与使用(转)
库是一种软件组件技术,库里面封装了数据和函数。库的使用可以使程序模块化。Windows系统包括静态链接库(.lib文件)和动态链接库(.dll文件)。Linux通常把库文件存放在/usr/lib或/lib目录下。Linux库文件名由:前缀lib、库名和后缀3部分组成,其中动态链接库以.so最为后缀,静态链接库通常以.a作为后缀。在程序中使用使用静态库和动态库时,他们载入的顺序是转载 2013-06-08 20:02:08 · 842 阅读 · 0 评论 -
shell编程(转三呼的一篇文章)
武汉大学国际软件学院 2010级国际2班 李三乎 好久没写日志了,今天写一个。 对于一种新的语言的学习,最近感觉书上还是很经典的,虽然从标识符开始讲很让人不爽,但是现在发现要想快速掌握一门语言的话按照书上的结构还是很正确的。当然只是说书上的结构,内容有的还是偏容易。 对于shell编程,先说下变量的声名,跟javascript一样,转载 2013-06-16 00:41:31 · 978 阅读 · 0 评论 -
大端(Big Endian)与小端(Little Endian)简介
Byte Endian是指字节在内存中的组织,所以也称它为ByteOrdering,或Byte Order。 对于数据中跨越多个字节的对象, 我们必须为它建立这样的约定:(1) 它的地址是多少?(2) 它的字节在内存中是如何组织的? 针对第一个问题,有这样的解释: 对于跨越多个字节的对象,一般它所占的字节都是连续的,它的地址等于它所占字节最低地址。(链表可转载 2013-06-13 21:41:40 · 740 阅读 · 0 评论 -
Ubuntu下解决Eclipse无法输入中文问题
在editor区域右键单击,选择input method,然后选择x输入法,即可输入中文原创 2013-05-26 22:37:48 · 1191 阅读 · 0 评论 -
将电脑变为无线路由器
今天在某人的要求与启发下成功地完成了无线路由的设置。生活中我们有时候会为遇到这样的情况而苦恼:1、一个宿舍四个人,有的宿舍以为有台式机用的是有线路由器或者交换机(台式机没带无线网卡),而有的宿舍是四台笔记本所以用的是无线网卡。但是现在无线路由器宿舍的人要去有线路由器宿舍一起和他们联dota,这样如果联局域网的话那么台式机用户不能加原创 2013-01-19 12:48:36 · 792 阅读 · 0 评论 -
ubuntu下无法挂载硬盘以及移动硬盘
一般来说ubuntu是将移动硬盘挂载在根目录下的media目录下的一个文件夹里面,这个文件夹的名字一般是你的用户名,之所以出现无法挂载的原因,一是可能这个文件夹不存在,二是你对这个文件夹没有权限。所以一般提示出错的信息是:Adding read ACL for uid 1000 to `/media/yelbosh' failed: Operation not supported‘解决办法就是原创 2013-01-15 11:57:15 · 5179 阅读 · 1 评论 -
利用referer防止盗链下载
一、首先了解下 referer 的原理 request.getHeader("referer") 在开发web程序的时候,有时我们需要得到用户是从什么页面连过来的,这就用到了referer。 它是http协议,所以任何能开发web程序的语言都可以实现,比如jsp中是: request.getHeader("referer"); php是$_SERVER['H转载 2015-06-16 20:25:17 · 1025 阅读 · 0 评论 -
Apache与Nginx优缺点比较
1、nginx相对于apache的优点: 轻量级,同样起web 服务,比apache占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单 社区活跃,各种高性能模块出品迅速apache 相对于nginx 的优点: rewrite ,比nginx 的re转载 2015-06-16 20:30:52 · 650 阅读 · 0 评论 -
git stash
开发人员常常遇到这种情况:花了几天时间一直在做一个新功能,已经改了差不多十几个文件,突然有一个bug需要紧急解决,然后给一个build测试组。在Git问世之前基本上靠手动备份,费时且容易出错。git stash命令简而言之就是帮助开发人员暂时搁置当前已做的改动,倒退到改动前的状态,进行其他的必要操作(比如发布,或者解决一个bug,或者branch,等等),之后还可以重新载入之前搁置的改转载 2015-06-16 11:34:19 · 472 阅读 · 0 评论 -
在windows中开启PHP 的curl模块出错
最近做一个项目遇到curl无法开启的问题,上网搜了,得到的答案大都是将php.ini中的;extension=php_curl.dll前的分号去掉,将php中libeay32.ll, ssleay32.dll, php_curl.dll移入windows/system32中,然后重启Apache服务器,可是这样做我的问题依旧无法解决最后在php的官网中看到有网友留言提到将libssh2原创 2016-05-28 15:56:11 · 1029 阅读 · 0 评论 -
git rebase简介(基本篇)
原文:http://gitbook.liuhui998.com/4_2.html一、基本git rebase用于把一个分支的修改合并到当前分支。假设你现在基于远程分支"origin",创建一个叫"mywork"的分支。$ git checkout -b mywork origin假设远程分支"origin"已经有了2个提交,如图 现在我们在这个分支做转载 2016-03-20 15:29:38 · 560 阅读 · 0 评论 -
Tomcat中更改网站根目录和默认页的配置方法
这篇文章主要介绍了Tomcat中更改网站根目录和默认页的配置方法,需要的朋友可以参考下1.tomcat原来的默认根目录是http://localhost:8080,如果想修改访问的根目录,可以这样:找到tomcat的server.xml(在conf目录下),找到:复制代码 代码如下: unpackWARs="true" autoDeploy="true"转载 2015-06-30 10:34:05 · 2633 阅读 · 0 评论 -
阿里云Ubuntu部署java web(1) - 系统配置
系统版本:ubuntu 12.04 64位ssh链接服务器(使用终端远程链接): ssh -l username IP地址 如果出现类似如下错误: @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ 表示host转载 2015-06-08 16:50:28 · 869 阅读 · 0 评论 -
阿里云ECS服务器配置ubuntu安装openfire服务器
标签:class com http 文件 si it 数据 la Go 最近搞了一台阿里云的ECS服务器,因为搞活动半年免费,所以就申请了一台,过两天就批准下来,顺便多花了1百多RMB买了固定IP。总体说来还是挺值的,觉得一个人用挺浪费,分享出来跟大家一起玩玩。搞台服务器主要为了学习即时聊天功能模块的开发,服务器采用OpenFire,i OS前端转载 2015-06-08 16:53:47 · 3049 阅读 · 0 评论 -
[Linux]在终端启动程序关闭终端不退出的方法
在终端启动程序关闭终端不退出的方法一般情况下关闭终端时,那么在这个终端中启动的后台程序也会终止,要使终端关闭后,后台程序保持执行,使用这个指令:nohup 命令 &转载 2015-06-27 19:38:25 · 2061 阅读 · 0 评论 -
mongodb-java-driver基本用法
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl转载 2015-06-27 19:50:58 · 2592 阅读 · 0 评论 -
搭建Git服务器
在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样转载 2015-06-16 21:42:31 · 598 阅读 · 0 评论 -
Nginx Rewrite规则初探
Nginx rewrite(nginx url地址重写)Rewrite 主要的功能就是实现URL的重写,Nginx的Rewrite规则采用Pcre,perl兼容正则表达式的语法规则匹配,如果需要Nginx的Rewrite功能,在编译Nginx之前,需要编译安装PCRE库。通过Rewrite规则,可以实现规范的URL、根据变量来做URL转向及选择配置。 if转载 2015-06-16 20:24:42 · 526 阅读 · 0 评论 -
ubuntu查看占用某端口的程序
查看端口使用情况,使用netstat命令。查看已经连接的服务端口(ESTABLISHED netstat -a 查看所有的服务端口(LISTEN,ESTABLISHED) netstat -ap 查看8080端口,则可以结合grep命令: netstat -ap | grep 8080 如查看8888端转载 2015-05-21 20:57:07 · 988 阅读 · 0 评论 -
http1.0与http1.1的区别(转)
一个WEB站点每天可能要接收到上百万的用户请求,为了提高系统的效率,HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。但是,这也造成了一些性能上的缺陷,例如,一个包含有许多图像的网页文件中并没有包含真正的图像数据内容,而只是指明了这些图像的URL地址,当WEB浏览器访转载 2012-11-08 16:32:15 · 598 阅读 · 0 评论 -
ubuntu 配置java环境变量
第一步:下载jdk-7-linux-i586.tar.gz[plain] view plaincopywget -c http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586.tar.gz (注:如果下载不下来,建议使用迅雷下载,然后拷贝到Linux系统上。)第二步:解压安装转载 2012-07-01 10:37:05 · 819 阅读 · 0 评论 -
Linux中的文件i节点
linux文件系统是Linux系统的心脏部分,提供了层次结构的目录和文件。文件系统将磁盘空间划分为每1024个字节一组,称为块(也有用512字节为一块的,如:SCOXENIX)。编号从0到整个磁盘的最大块数。 全部块可划分为四个部分,块0称为引导块,文件系统不用该块;块1称为专用块,专用块含有许多信息,其中有磁盘大小和全部块的其他两部分的大小。从块2开始是i节点表,i节点表中含有i节点转载 2012-06-28 20:24:39 · 8530 阅读 · 0 评论 -
学习SSD4的一点总结
马上就考SSD4了,在此小结一下以便自己复习课程单上有四部分,我们只重点讲了其中的3个1。面向用户设计概论面向用户编程和测试的基础:迭代设计,基本迭代设计观点,基本认知心理学构造界面的工具:VB编程环境,用VB编写,调试代码评估界面可用性方法:基本的HE,TA观点,如何编写UAR2。用VB构造界面LABEL,BUTTON,CHECKBOX,RADIOBUTT转载 2012-05-28 23:00:22 · 1488 阅读 · 2 评论 -
Fitts’ Law(费茨法则)在交互设计中的应用
Fitts’ Law(费茨法则)在交互设计中的应用 费茨法则是人机交互领域里一个非常重要的法则,在10年来得到了广泛的应用。Fitts法则最基本的观点就是任何时候,当一个人用鼠标来移动鼠标指针时,屏幕上的目标的某些特征会使得点击变得轻松或者困难。目标离的越远,到达就越是费劲。目标越小,就越难点中。漂亮简单,对么?这意味着要是目标定位越容易,距离鼠标当前位置就应该越近,目标占用空间应该有更大转载 2012-05-28 13:02:53 · 1273 阅读 · 0 评论 -
Ubuntu下修改mysql的字符集
/etc/init.d/mysql start (stop) 为启动和停止服务器/etc/mysql/ 主要配置文件所在位置 my.cnf/var/lib/mysql/ 放置的是数据库表文件夹,这里的mysql相当于windows下mysql的date文件夹启动mysql后,以root登录mysqlisher@isher-ubuntu:~$ mysql -u root>sh原创 2012-05-06 17:26:07 · 2697 阅读 · 0 评论 -
linux chmod命令详细使用参数
摘要:chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。linux下目录和文件的权限区别文件:读文件内容(r)、写数据到文件(w)、作为命令执行文件(x)。目录:读包含在目录中的文件名称(r)、写信息到目录中去(增加和删除索引点的连结)、搜索目转载 2012-05-07 11:11:14 · 784 阅读 · 0 评论 -
mysql中的编码各个变量的含义
character_set_client ,这是用户告诉MySQL查询是用的什么字符集。 character_set_connection ,MySQL接受到用户查询后,按照character_set_client将其转化为character_set_connection设定的字符集。character_set_results , MySQL将存储的数据转换成character_set原创 2012-05-06 21:34:00 · 1827 阅读 · 0 评论 -
解决ubuntu mysql管理软件emma乱码问题
今天鼓倒了一天的mysql乱码,终于在实验室临近关门的时候解决了.其实很简单:我把mysql中的所有字符集和都设置为utf-8,但是在emma客户端上还是乱码,这说明不是mysql的问题了,而是emma自身的客户端编码问题,搜了一下,得到如下解决方案:ubuntu安装的额emma是在/usr/share/emma找到__init__.py修改"db_原创 2012-05-06 21:54:35 · 1779 阅读 · 0 评论 -
vim使用大全[转]
vi/vim 基本使用方法本文介绍了vi (vim)的基本使用方法,但对于普通用户来说基本上够了!vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑转载 2012-05-03 11:17:57 · 811 阅读 · 0 评论 -
Ubuntu 11.04 速度最快的源
昨天完全弃用了使用大半年的Win7旗靓版操作系统,转到Ubuntu的怀抱。装好ubuntu后不可避免要apt一些软件包,还有system update等等,就发现下载的速度比较慢,所以就修改了源,下面是我现在在用感觉速度最快的一个源,下载速度主要在190kb/s ~ 500kb/s,感觉非常不错,现留着存个档,以后可能还用得着。#网易 Ubuntu 11.04 源deb http:/转载 2012-05-01 17:18:29 · 1182 阅读 · 0 评论 -
ubuntu 11.10 3D桌面特效及其窗口特效设置
原来配置过,但是配置失败了,今天下定决心一定要弄好,经过了一个小时自己终于弄好了,现在来总结一下。首先,需要安装compiz和compizconfig设置管理器,然后x运行设置管理器,勾选“旋转立方体”,“桌面立方体”,“ubuntu unity plugins”,有冲突的忽略冲突,该禁用的禁用,需要启用其他模块的启用。等待界面刷新完成按住ctrl+alt,鼠标移动,会看到桌面现在有两个并原创 2012-05-02 15:53:50 · 4076 阅读 · 0 评论 -
解决Ubuntu软件包升级后无法播放flash视频问题
好久没更新空间了,挂篇文章凑个数--------------------------------------春节回家装了个Windows+Ubuntu双系统,安装了快速配置安装包(sudo apt-get install ubuntu-restricted-extras)后优酷等视频站的视频可以播放了,最近更新软件,并打算上奇艺看新版西游记的,结果放不了了,上优酷看下,也是个空白区域,尝试转载 2012-05-01 16:48:39 · 1992 阅读 · 0 评论 -
ssd4
<!--@page {margin:0.79in}p {margin-bottom:0.08in}-->HE1:Match Between System and the Real World1.现实生活理念的模拟。使用显示生活中的文件夹,垃圾箱等概念到计算机系统中。2.现实生活中使用的语言:例:使用“abort”来提示用户是否要停止某项活原创 2012-05-28 23:02:09 · 1559 阅读 · 0 评论 -
Linux make命令介绍
摘要:在开发一个系统时,一般是将一个系统分成几个模块,这样做提高了系统的可维护性,但由于各个模块间不可避免存在关联,所以当一个模块改动后,其他模 块也许会有所更新,当然对小系统来说,手工编译连接是没问题,但是如果是一个大系统,存在很多个模块,那么手工编译的方法就不适用了。为此,在Linux系统中,专门提供了一个make命令来自动维护目标文件,与手工编译和连接相比,make命令的优点在于他只更新修改原创 2012-05-17 16:25:22 · 544 阅读 · 0 评论 -
软件开发模型(SSD9 Life-Cycle Methodologies )
文章来源http://hi.baidu.com/%D0%D0%D7%DF%D4%DA%BF%D5%D6%D0/blog/item/7bbb261bc20988f2af513319.html1. 编码修补模型(Build-and-Fix Model)实现产品既没有需求或规格说明书也没有设计方面的尝试,开发者简单的将代码拼凑在一起,软件随着客户的需要一次又一次地不断被修改. 在这个模型中,开发转载 2012-05-22 11:07:35 · 1667 阅读 · 1 评论