
linux
文章平均质量分 84
AAA20090987
一个喜欢编程,喜欢C 的人
展开
-
Linux定时任务设置
配置步骤:1.Linux下必须编译安装PHP解释器,在安装完成后,要将安装目录下${PHP}/bin/php 文件复制到/usr/bin/下,并使用chmod +x ./php 为其添加可执行权限,ok了,然后在linux命令行下输入:php -q *.php执行一个php程序,以验证是否解释器工作正常2.发布php文件:将编写好的php程序发布到apache的发布目录:如:/转载 2015-01-15 10:45:03 · 1226 阅读 · 0 评论 -
聊一下我在LINUX环境下用过的C/C++编辑器(或IDE)
昨天有个朋友问我想在LINUX环境下学习C++,用什么IDE好?想想我也玩LINUX几年了,就总结一下我在LINUX环境下用过的C/C++编辑器(或IDE)吧。在Windows上,肯定是Visual Studio一家独大,在LINUX上,可以选择的IDE就大多了。。1:gedit 虽然这只是一个普通的本文编辑器(外加关键字高亮),但却是我初学LINUX时所用的C++编辑器。不过,原创 2013-04-19 21:11:27 · 5077 阅读 · 7 评论 -
VMWare虚拟机下为Ubuntu配置静态IP(NAT方式)
背景在虚拟机下运行操作系统,尤其是Linux系统已经是非常常见的做法。有时你想在虚拟机下搭建一个(模拟)服务器来供主机访问,比如搭建一个telnet/ssh。此时你会发现,每次启动虚拟机,VMWare为虚拟机系统分配一个动态IP,这样每次去连接虚拟机的telnet时很不方便。如果设成静态IP就好了。 VMnet8和NAT如果你的虚拟机是以NAT方式连入互联网的话,那么虚转载 2012-11-06 10:43:03 · 1558 阅读 · 0 评论 -
设置修改CentOS系统时区
在我们使用CentOS系统的时候,也许时区经常会出现问题,有时候改完之后还是会出错,下面我们就来学习一种方法来改变这个状况。如果没有安装,而你使用的是 CentOS系统 那使用命令 yum install ntp然后:ntpdate us.pool.ntp.org 。因为CentOS系统是用rhas的源码再编译的,很多地方是完全一样的。rhas5的时区是以文件形式存在的,当转载 2013-04-08 17:57:41 · 1073 阅读 · 0 评论 -
CENTOS 设置文件夹打开方式:在同一窗口打开文件夹
系统默认的行为,有很多地方与ubuntu操作习惯不一样,其中一个最让我不能忍受的就是,每次双击文件夹,都会在一个新窗口打开,而且打开的文件夹不像 windows那样,有后退/向上按钮,也没有文件夹的具体路径。如果一个文件夹的路径很深,则需要打开n多的窗口才能找到最终想要的。后来研究了一下,发现这个问题也可以通过设置改变一下,方法如下:1,打开一个文件夹2,编辑 - 首选项转载 2013-04-02 16:38:00 · 2160 阅读 · 0 评论 -
ANSI/VT100 Terminal Control Escape Sequences(对控制终端的操作)
Many computer terminals and terminal emulators support colour and cursor control through a system of escape sequences. One such standard is commonly referred to as ANSI Colour. Several terminal specif转载 2013-01-18 11:56:23 · 3453 阅读 · 0 评论 -
Linux系统调用-- recv/recvfrom/recvmsg函数详解
Linux系统调用-- recv/recvfrom/recvmsg函数详解功能描述: 从套接字上接收一个消息。对于recvfrom 和 recvmsg,可同时应用于面向连接的和无连接的套接字。recv一般只用在面向连接的套接字,几乎等同于recvfrom,只要将recvfrom的第五个参数设置NULL。如果消息太大,无法完整存放在所提供的缓冲区,根据不同的套接字,多余的字节转载 2013-01-12 10:14:24 · 3336 阅读 · 0 评论 -
setsockopt函数详解
功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。用法:转载 2013-01-12 10:22:29 · 6992 阅读 · 0 评论 -
Linux下如何发布Qt程序
在X11平台下qt程序,首先准备好程序中需要使用的资源,库和插件... 比如你的可运行程序取名叫作panel,那把你的panel,那些libQt*.so.4和libQt*.so.4.6.0(链接和共享库都要)放在同一目录下(也可以不同,只要小小修改下shell文件).plugins就不多说了。 在程序的同目录下,新建一個空文档,取名panel.sh (文件名与程序名同名,扩展名转载 2012-02-28 21:54:33 · 3596 阅读 · 4 评论 -
LINUX 使用tcgetattr函数与tcsetattr函数控制终端
为了便于通过程序来获得和修改终端参数,Linux还提供了tcgetattr函数和tcsetattr函数。tcgetattr用于获取终端的相关参数,而tcsetattr函数用于设置终端参数。这两个函数的具体信息如表6.2所示。表6.2 tcgetattr函数和tcsetattr函数头文件函数形式int tcgetattr(int转载 2012-12-28 17:47:04 · 1212 阅读 · 0 评论 -
Linux中用st_mode判断文件类型
在Linux中,可以利用stat()函数来获取一个文件的状态[cpp] view plaincopy#include #include int stat(const char *file_name, struct stat *buf); 这个函数执行成功返回0,失败返回-1。取得的文件状态存放在buf指针指向的str转载 2012-12-22 15:00:42 · 2424 阅读 · 0 评论 -
linux进程间传递描述符
linux进程间传递描述符每个进程都拥有自己独立的进程空间,这使得描述符在进程之间的传递变得有点复杂,这个属于高级进程间通信的内容,下面就来说说。Linux 下的描述符传递Linux 系统系下,子进程会自动继承父进程已打开的描述符,实际应用中,可能父进程需要向子进程传递“后打开的描述符”,或者子进程需要向父进程传递;或者两个进程可能是无关的,显然这需要一套传递机制。简单的说,首转载 2012-11-20 16:56:55 · 1508 阅读 · 0 评论 -
linux查找目录下的所有文件中是否含有某个字符串
查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xargs grep -ri "IBM" -l 1.正则表达式 (1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/、*、?等)组成。 (转载 2012-11-20 16:24:59 · 968 阅读 · 0 评论 -
利用VNC实现Windows远程访问Linux小结
环境VMWare 7.1 + Redhat Linux9 + VNCViewer 小结1. Linux 下安装VNCServer,由于我的机子上本来就有,在此不赘述。详情参考此文;2. 准备VNCViewer,点击此处下载;3. Linux下启动VNCServer,然后终端输入vncs转载 2012-11-17 09:08:47 · 1484 阅读 · 0 评论 -
在Ubuntu上用apt-get安装opencv
0:网上很多安装opencv的教程都是基于源码安装的,这样又麻烦又容易出错,用apt-get安装,只要输入几条命令就行,方便多了(我是菜鸟,高手绕路,呵呵)1:搜索与OPENCV相关的软件包:apt-cache search opencv2:安装这些软件包(我全部用默认安装)sudo apt-get install XXX XXX XXX3:查看安装好的(与OPENCV相关原创 2013-05-31 17:18:01 · 9216 阅读 · 4 评论 -
STDIN_FILENO
最近在学《UNIX高级环境编程》,遇到有关STDIN_FILENO的问题,在此总结一下。在UNIX一些系统调用中使用到STDIN_FILENO表示标准输入,STDOUT_FILENO表示标准输出,STDERR_FILENO表示标准出错,使用时需要加头文件在UNIX下还有stdin,stdout,stderr表示同样的含义。二者的主要区别为:1.数据类型不同,前者为i转载 2013-06-07 10:00:41 · 2311 阅读 · 0 评论 -
网络并发 工作经验总结(2W/S级别吞吐)
协议设计原则:第一条 使用文本协议, 尽量使用http协议;(文本协议利于调试和测试,也利于脚本使用, http协议成熟,比较多工具支持)第二条 如果效率成为问题,可以在实现了文本协议之后,支持二进制协议;(这样程序的BUG可以用文本协议及早发现,后来调试也更方便);第三条 选择二进制协议时(protocal_buffer, memcache协议, MessagePack)转载 2013-06-07 14:11:07 · 1772 阅读 · 0 评论 -
推荐一个代码行数统计工具cloc
代码行数统计工具cloc,它不但能统计代码行数,还能自动过滤掉代码中的注释,使用起来也很方便,强力推荐。安装很方便,Ubuntu上直接udo apt-get install cloc就可以了原创 2015-01-08 10:51:05 · 5450 阅读 · 0 评论 -
基本unrar用法
unrar使用帮助用法: unrar - - e 解压压缩文件到当前目录 l[t,b] 列出压缩文件[技术信息,简洁] p 打印文件到标准输出设备 t 测试压缩文件 v[t,b] 详细列出压缩文件[技转载 2014-09-20 13:13:33 · 5271 阅读 · 0 评论 -
linuxmint 16 国内源
linuxmint 16 国内源先将/etc/apt/sources.list 及deb http://mirrors.oschina.net/linuxmint/ petra main upstream importdeb http://mirrors.oschina.net/ubuntu/ saucy main restricted universe multivers转载 2014-09-19 21:30:53 · 2131 阅读 · 0 评论 -
linux中vi命令的常用参数使用总结
1.*关于退出:*:wq! ----强制保存退出:wq ---- 保存退出: x ----- 作用和:wq 一样ZZ ---- 作用和:wq一样,(注意Z是大写的,并且不是在命令模式):q ---- 退出:q! --- 强制退出========================================================2.*关于移动转载 2014-07-04 15:50:35 · 2207 阅读 · 0 评论 -
记录一下我的GDB配置
一:为了更好的在GDB中显示STL容器,我们首先要下载一个python脚本PS:要确定你所安装的GDB可以执行python脚本cd ~mkdir .gdbcd .gdbsvn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python二:修改用户目录下的.gdbinit文件(将以下文本复制一份就行)#为了更好的在GDB中显示STL原创 2014-07-21 12:01:25 · 1636 阅读 · 0 评论 -
epoll的高效实现原理
开发高性能网络程序时,windows开发者们言必称iocp,linux开发者们则言必称epoll。大家都明白epoll是一种IO多路复用技术,可以非常高效的处理数以百万计的socket句柄,比起以前的select和poll效率高大发了。我们用起epoll来都感觉挺爽,确实快,那么,它到底为什么可以高速处理这么多并发连接呢?先简单回顾下如何使用C库封装的3个epoll系统调用吧。转载 2014-05-07 11:36:25 · 1006 阅读 · 0 评论 -
Linux使用eclipse编译,调试Nginx模块
1.进入nginx 源码目录/home/song/nginx-1.3.9/命令行执行(最简单的参数,配置安装目录) 代码如下复制代码a>./configure –prefix=/home/song/test_nginxb>makec>make installnginx就安装在了/home/song/test_n转载 2014-01-21 09:18:05 · 1694 阅读 · 0 评论 -
LINUX时间同步
1. 安装ntpdate工具# sudo apt-get install ntpdate2. 设置系统时间与网络时间同步# ntpdate cn.pool.ntp.org3. 将系统时间写入硬件时间# hwclock --systohc原创 2014-01-21 09:27:15 · 1058 阅读 · 0 评论 -
在C/C++程序中打印当前函数调用栈
前几天帮同事跟踪的一个程序莫名退出,没有core dump(当然ulimit是打开的)的问题。我们知道,正常情况下,如果程序因为某种异常条件退出的话,应该会产生core dump,而如果程序正常退出的话,应该是直接或者间接的调用了exit()相关的函数。基于这个事实,我想到了这样一个办法,在程序开始时,通过系统提供的atexit(),向系统注册一个回调函数,在程序调用exit()退出的时候,这个回转载 2014-01-07 09:52:14 · 1620 阅读 · 0 评论 -
Linux Mint 的国内软件源(支持 Linux Mint 13/14/15)
这个 Linux Mint 的国内软件源是由开源中国架设的,源的地址:http://mirrors.oschina.net/linuxmint/使用方式:首先,备份软件源文件sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup复制代码Linux Mint推荐使用Software Source转载 2014-01-02 22:37:25 · 7519 阅读 · 0 评论 -
Nginx模块开发入门
前言Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%。与Apache相比,Nginx在高并发情况下具有巨大的性能优势。Nginx属于典型的微内核设计,其内核非常简洁和优雅,同时具有非常高的可扩展性。Nginx最初仅仅主要被用于做反向代理,后来随着HTTP核心的成熟和各种HTT转载 2013-12-02 11:27:14 · 1491 阅读 · 0 评论 -
一个简单的makefile示例及其注释
相信在unix下编程的没有不知道makefile的,刚开始学习unix平台下的东西,了解了下makefile的制作,觉得有点东西可以记录下。 下面是一个极其简单的例子:现在我要编译一个Hello world,需要如下三个文件: 1. print.h #include void printhello(); 2. print.c转载 2013-11-19 17:26:04 · 1230 阅读 · 1 评论 -
linux下获取程序当前目录绝对路径
1、Shell版#获取当前脚本所在绝对路径 cur_dir=$(cd "$(dirname "$0")"; pwd) 2、C语言版 方法一:用realpath函数。这种方法用于开机启动程序获取自身目录会出错。char current_absolute_path[MAX_SIZE]; //获取当前目录绝对路径 if (NULL == realpath("./", c转载 2013-06-28 17:41:56 · 6103 阅读 · 0 评论 -
Linux top 命令详解
查看多核CPU命令 mpstat -P ALL 和 sar -P ALL 说明:sar -P ALL > aaa.txt 重定向输出内容到文件 aaa.txt top命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。本文转载 2013-07-06 14:31:35 · 1155 阅读 · 0 评论 -
Nginx配置文件详细说明
在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络.#运行用户user www-data; #启动进程,通常设置成和cpu的数量相等worker_processes 1;#全局错误日志及PID文件error_log /var/log/nginx/error.log;pid /var/run/nginx.pid;转载 2012-11-10 17:18:24 · 806 阅读 · 0 评论 -
linux多进程和多线程分析之一
多线程 or 多进程?在Unix上编程采用多线程还是多进程的争执由来已久,这种争执最常见到在C/S通讯中服务端并发技术的选型上,比如WEB服务器技术中,Apache是采用多进程的(perfork模式,每客户连接对应一个进程,每进程中只存在唯一一个执行线程),Java的Web容器Tomcat、Websphere等都是多线程的(每客户连接对应一个线程,所有线程都在一个进程中)。从Unix发转载 2012-11-08 10:26:44 · 1772 阅读 · 1 评论 -
libcurl的使用总结
最近的项目中由于要在C++代码中调用PHP的URL,所以不得不借助libcurl这个库,由于第一次用,所以很多地方很是纠结,特此写在这里,方便给同样刚入门的朋友指引。分两篇介绍,第一篇是理论知识,第二篇是实例。快速链接--libcurl的使用总结(一)一.下载安装 1.到http://curl.haxx.se/download.html上下载最新版本,由于公司的机器安装rpm转载 2012-09-07 17:00:04 · 2264 阅读 · 0 评论 -
Can't connect to local MySQL server through socket 问题解决
Fedora8启动mysql 报错:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)1、先查看 /etc/rc.d/init.d/mysqld status 看看m y s q l 是否已经启动.另外看看是不是权限问题.转载 2012-09-06 17:14:55 · 1162 阅读 · 0 评论 -
Linux上vi(vim)编辑器使用教程
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。下面vps侦探整理一下vi的使用教程:包含vi的基本介绍、使用模式、文件的打转载 2012-09-03 15:29:39 · 921 阅读 · 1 评论 -
GDB十分钟教程
GDB十分钟教程作者: liigo原文链接: http://blog.csdn.net/liigo/archive/2006/01/17/582231.aspx日期: 2006年1月16日本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的转载 2012-08-21 17:19:48 · 1325 阅读 · 0 评论 -
Source Insight 教程
Source Insight实质上是一个支持多种开发语言(java,c ,c 等等)的编辑器,只不过由于其查找、定位、彩色显示等功能的强大,常被我们当成源代码阅读工具使用。作为一个开放源代码的操作系统,Linux附带的源代码库使得广大爱好者有了一个广泛学习、深入钻研的机会,特别是Linux内核的组织极为复杂,同时,又不能像windows平台的程序一样,可以使用集成开发环境通转载 2011-12-04 19:05:02 · 2631 阅读 · 0 评论 -
Ubuntu更改GRUB默认启动系统
如何更改 GRUB 菜单内开机系统的预设值?sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_backupsudo gedit /boot/grub/menu.lst以上是在9.10版本之前,之后的版本:sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg_backupsu转载 2012-02-21 17:35:31 · 1417 阅读 · 0 评论 -
Ubuntu下的deb包制作详解
QT程序制作deb包并安装在应用程序菜单制作原理:打包:将QT制作的源程序(没有编译的)用debian压缩打包(这里是用脚本对源程序再编译)安装:将deb包中的源程序解压(默认解压到根目录)到规定系统文件中并编译(postinst脚本)卸载:将解压的所有文件删除(postrm脚本)例子:1.新建deb包文件myded|——mydeb |————a转载 2011-11-14 10:10:51 · 8046 阅读 · 7 评论