![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux/ubuntu
freeboy1015
这个作者很懒,什么都没留下…
展开
-
Linux Ubuntu常用软件
速配指南之软件参考 本文定位:作为速配指南的补充,列出国内用户比较常用的软件。请将论坛软件推荐版块的内容逐步转移至wiki,而非本文。 本文作用:为新手指明软件的方向,也可供已入门的同仁参考。 注意事项:本文及文中涉及到的词条亟待你的完善。编辑本文前请访问本文讨论页文中标 和 分别代表 Ubuntu/GNOME (使用GTK+) 和 Kubuntu/KDE (使原创 2011-11-06 18:54:57 · 3839 阅读 · 0 评论 -
经典vim插件功能说明、安装方法和使用方法介绍
1 #============================================================================= 2 转载请注明出处: http://blog.csdn.net/tge7618291 http://nuoerlz.35free.net 8 #==============转载 2013-05-24 11:13:25 · 996 阅读 · 0 评论 -
信号安全跟线程安全函数背后本质
看UNIX编程相关的书在讲信号的时候会列出一大堆的保证信号安全的函数,在讲线程的时候也会例出一些不保证线程安全的函数。需要把它们都记下来吗?我觉得太可不必,也不科学,不了解根本你很可能自己写出一个不安全的函数,然后在信号处理里或是多线程程序里使用,出了问题却莫名其妙! 一般来说如果函数内部使用了静态变量或是全局变量,或是传了引用进去的函数就不具可重入性。具体可重入函数的概念可以去百度一转载 2013-05-27 16:47:35 · 724 阅读 · 0 评论 -
Linux内存管理之mmap详解
Linux内存管理之mmap详解一. mmap系统调用1. mmap系统调用 mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。当使用mmap映射文件到进程后,就可以直接操作这段虚拟地址进行文件的读写等操作转载 2013-05-27 20:48:07 · 839 阅读 · 0 评论 -
Linux内核的ioctl函数学习
我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl, 所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。一、 什么是ioctl。 ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传转载 2013-05-14 10:13:23 · 579 阅读 · 0 评论 -
实际用户ID,有效用户ID、设置用户ID
解释一:摘要:最近看APUE时为这几个ID困扰了很久,查找了很多资料后,终于感觉比较清晰了。先记在这里。或许还有些理解上的偏差,后续更正。本文主要讲述这几种ID的区别和联系。 实际用户ID:有的文章中将其称为真实用户ID,这个ID就是我们登陆unix系统时的身份ID。有效用户ID:定义了操作者的权限。有效用户ID是进程的属性,决定了该进程对文件的访问权限。转载 2013-05-06 17:25:34 · 915 阅读 · 0 评论 -
强制性锁建议性锁
fcntl有强大的功能,它能够复制一个现有的描述符,获得/设置文件描述符标记,获得/设置文件状态标记,获得/设置异步I/O所有权,获得/设置纪录锁。当多个用户共同使用,操作一个文件的情况,Linux通常采用的方法就是给文件上锁,来避免共享资源产生竞争的状态。fcntl文件锁有两种类型:建议性锁和强制性锁建议性锁是这样规定的:每个使用上锁文件的进程都要检查是否有锁存在,当然还转载 2013-05-29 16:06:57 · 833 阅读 · 0 评论 -
Linux Epoll介绍和程序实例
1. Epoll是何方神圣?Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll 在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。其实在Linux下设计并发网络程序,向来不缺少方法,比如典型的Apache模型(Process Per Connection,简称PPC),TPC(Thread PerConnecti转载 2013-05-29 17:17:10 · 591 阅读 · 0 评论 -
I/O事件处理模型之Reactor和Proactor
Reactor模型Reactor模式是处理并发I/O比较常见的一种模式,中心思想就是,将所有要处理的I/O事件注册到一个中心I/O多路复用器上,同时主线程阻塞在多路复用器上;一旦有I/O事件到来或是准备就绪(区别在于多路复用器是边沿触发还是水平触发),多路复用器返回并将相应I/O事件分发到对应的处理器中。这里有三个重要的组件:多路复用器:由操作系统提供,在linux上一转载 2013-06-14 08:40:50 · 905 阅读 · 0 评论 -
在windows中安装ubuntu
关于Wubi ubuntu很酷,8.04开始就正式提供了Wubi(基于windows的安装程序,Windows-based Ubuntu Installer),可以在windows系统中创建一个几GB的虚拟硬盘,将ubuntu独立安装在其中,并把windows系统的硬盘挂载进来。 这样有很明显的好处,尤其是对刚接触linux不久的人来说。无需跑VMwar转载 2013-07-13 17:07:15 · 8027 阅读 · 0 评论 -
访问PostgreSQL:C语言接口
C语言接口 在与数据库连接方面,C语言是一种常用语言,许多数据库都是用C写的。该语言高效灵活,因此如果想要写一款客户端接口,不管是仅仅包含控制台还是基于GUI的,并且不想用到浏览器,C语言也许是最好的选择。 连接C语言与Postgres使用的库名为libpq,它与PostgreSQL源码树绑定在一起。如果安装数据库系统时使用的是二进制文件而不是从源码编译安装,libpq可被单独转载 2013-07-12 10:51:53 · 5276 阅读 · 0 评论 -
open/read/write和fopen/fread/fwrite的区别
open/read/write和fopen/fread/fwrite的区别 open:系统调用,返回的是文件描述符,即文件句柄,是文件在文件描述副表里的索引。fopen:C语言库函数,返回的是一个指向文件结构的指针。fopen是ANSI C标准中的C语言库函数,在不同的操作系统中应该调用不同的内核API,UNIX环境下,fopen是对open的封装。文件描述符是UNIX/Linux转载 2013-07-16 16:20:35 · 857 阅读 · 0 评论 -
采用CBP2MAKE工具由CODE::BLOCKS工程创建MAKEFILE文件
Linux下有一款非常好用的写C++的IDE,code::blocks,其采用自有的工程文件(.cbp)来组织相关源代码。但是有的时候希望能够脱离CB,以便于源代码的分享。常见开源项目采用makefile来组织源代码的编译。cbp2make可以很好的将CB的工程文件转换为makefile文件。1、下载cbp2make的源代码;2、解压后打开工程文件cbp2make.cbp,转载 2013-07-17 20:34:24 · 2305 阅读 · 0 评论 -
如何在openSUSE上安装postgresql数据库
本文我们介绍如何在openSUSE安装postgresql数据库,就让我们通过下面的介绍介绍大家来了解一下安装步骤吧!环境我测试了在openSUSE 11.3上安装postgresql 8.4.6,也测试了在openSUSE 11.4上安装postgresql 9.0.3。步骤没有任何区别。安装zypper install postgresql-server转载 2013-07-24 17:49:13 · 1401 阅读 · 0 评论 -
写给那些让我糊里糊涂的HTTP、TCP、UDP、Socket
先来一个讲TCP、UDP和HTTP关系的,注意红色mark的部分 1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有TCP协议与UDP协议。在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。因此,HTTP本身就是一个协议,是从Web服务器传输超文转载 2013-08-02 17:20:40 · 865 阅读 · 0 评论 -
Vim 与系统剪切板交互
很多时候使用 Vim 编辑文本,总需要复制里面的东西出来,粘贴到其他地方,比如说网页,聊天窗口等等,而有些时候有需要从网页等地方复制文字过来粘贴到 Vim 正在编辑的文件里。这个两个过程应该怎么完成呢?一般的解决方法复制文本当我们要将 Vim 里面的文本复制出来,往往会用鼠标选中,然后到需要粘贴的地方小点下鼠标中键或 Shift-Insert,完成复制粘贴的过程。但转载 2013-09-12 09:46:10 · 4460 阅读 · 0 评论 -
socket的通信过程
下图是基于TCP协议的客户端/服务器程序的一般流程:服务器调用socket()、bind()、listen()完成初始化后,调用accept()阻塞等待,处于监听端口的状态,客户端调用socket()初始化后,调用connect()发出SYN段并阻塞等待服务器应答,服务器应答一个SYN-ACK段,客户端收到后从connect()返回,同时应答一个ACK段,服务器收到后从ac转载 2013-05-24 09:48:00 · 887 阅读 · 0 评论 -
select、poll和epoll
一,POLL、 SELECT 、EPOLL 简介selectselect最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点,转载 2013-05-14 08:56:53 · 689 阅读 · 0 评论 -
GCC介绍
准备工作注意:本文可能会让你失望,如果你有下列疑问的话:为什么要在终端输命令啊? GCC 是什么东西,怎么在菜单中找不到? GCC 不能有像 VC 那样的窗口吗?…… 那么你真正想要了解的可能是 anjuta,kdevelop,geany,code blocks,eclipse,netbeans 等 IDE 集成开发环境。即使在这种情况下,由于 GCC 是以上 IDE 的后台的编译器,原创 2012-08-16 15:39:51 · 730 阅读 · 0 评论 -
gcc编译过程
目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序.GCC不仅功能非常强大,结构也异常灵活.最值得称道的一点就是它可以通过不同的前端模块来支持各种语言,如Java、Fortran、Pascal、Modula-3和Ada等.Linux系统下的gc原创 2012-08-16 15:50:08 · 521 阅读 · 0 评论 -
exit()函数详解与Exit() 和 Return() 的区别
exit(0) 表示程序正常, exit(1)/exit(-1)表示程序异常退出exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用。在多个进程时.如果有时要检测上进程是否正常退出的.就要用到上个进程的返回值..exit(1)表示进程正转载 2012-08-16 16:55:32 · 516 阅读 · 0 评论 -
c语言中return与exit的区别
c语言中return与exit的区别1,exit用于在程序运行的过程中随时结束程序,exit的参数是返回给OS的。main函数结束时也会隐式地调用exit函数。exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流、关闭所有打开的流并且关闭通过标准I/O函数tmpfile()创建的临时文件。exit是结束一个原创 2012-08-16 16:50:06 · 949 阅读 · 0 评论 -
vim文件保存退出命令":wq"和":x"的区别
vim是Unix/Linux系统最常用的编辑器之一,我习惯使用":x"命令来保存文件并退出,不愿意使用":wq"命令是因为它得多敲一个字母。但是,今天我才知道":x"和":wq"的真正区别,如下::wq 强制性写入文件并退出(存盘并退出 write%quite)。即使文件没有被修改也强制写入,并更新文件的修改时间。:x 写入文件并退出。仅当文件被修改时才写入,并更原创 2012-11-29 10:52:00 · 1173 阅读 · 0 评论 -
PuTTY 提供的文件传输工具PSCP
通过 SSH 连接,在两台机器之间安全的传输文件,可以用于任何 SSH(包括 SSH v1、SSH v2) 服务器。PSCP 的使用在控制台直接执行 pscp 可以看到帮助C:\>pscpPuTTY Secure Copy clientRelease 0.58Usage: pscp [options] [user@]host:source tar原创 2012-12-26 16:10:55 · 1168 阅读 · 0 评论 -
ubuntu解压命令全览
.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)---------------------------------------------.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName转载 2012-12-27 10:20:32 · 434 阅读 · 0 评论 -
ubuntu---使用axel命令下载文件
使用命令行下载文件首先安装axel这个命令sudo apt-get install axel然后使用这个命令下载文件例如:axel http://soft.vpser.net/lnmp/lnmp0.8-full.tar.gz就会自动下载文件了原创 2012-12-27 10:15:37 · 652 阅读 · 0 评论 -
Linux问题诊断工具strace
引言“Oops,系统挂死了..."“Oops,程序崩溃了..."“Oops,命令执行报错..."对于维护人员来说,这样的悲剧每天都在上演。理想情况下,系统或应用程序的错误日志提供了足够全面的信息,通过查看相关日志,维护人员就能很快地定位出问题发生的原因。但现实情况,许多错误日志打印模凌两可,更多地描述了出错时的现象(比如"could not open file","connect转载 2012-12-21 10:38:27 · 875 阅读 · 0 评论 -
ubuntu下MySQL的安装及远程连接配置等配置
一、ubuntu下MySQL的安装 在ubuntu命令行下输入 sudo apt-get install mysql-server 即可安装mysql服务,默认在安装mysql-server时,会自动安装好mysql-client。 同时安装好的mysql配置文件位置:/etc/mysql/my.cnf 启动mysql的快捷图标为:/etc/init.d转载 2013-01-21 16:54:40 · 471 阅读 · 0 评论 -
Ubuntu安装配置Mysql
一. 三种安装方式: 1. 从网上安装 sudo apt-get install mysql-server。装完已经自动配置好环境变量,可以直接使用mysql的命令。 注:建议将/etc/apt/source.list中的cn改成us,美国的服务器比中国的快很多。 2. 安装离线包,以mysql-5.0.45-linux-i686-icc-glibc23.tar.转载 2013-01-21 16:56:17 · 404 阅读 · 0 评论 -
关于mysql清除密码、重置用户
Quote:First things first. Log in as root and stop the mysql daemon. sudo /etc/init.d/mysql stop Now lets start up the mysql daemon and skip the grant tables which store the passwords原创 2013-01-21 16:59:40 · 1228 阅读 · 0 评论 -
进程间通信的方式及比较
进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其它数据库中的某些表项和记录交换信息。广义转载 2013-04-12 16:21:21 · 709 阅读 · 1 评论 -
Linux远程下载文件的两种方法之 ftp命令和scp命令
ftp命令: 服务器有安装ftp Server,另外一台linux可以使用ftp的client程序来进行文件的拷贝读取和下载。 1. 连接ftp服务器 格式:ftp [hostname| ip-address] a)在linux命令行下输入:ftp 192.168.26.66 b)服务器询问你用户名和口令,分别输入用户名和相应密码,待认证通过即可。 2.转载 2013-05-03 09:56:35 · 821 阅读 · 0 评论 -
线程与fork(2) (进程):把它们一起使用前,请谨慎考虑 (翻译)
本文译自: http://www.linuxprogrammingblog.com/threads-and-fork-think-twice-before-using-them作者: Damian Pietras转载请著名作者,译者和出处。 某天,我(原作者:Damian Pietras,下同。下面所有全角括号内的文字,没有说明都为译者所加 ── 译者 周翀)遇到了转载 2013-05-10 15:08:14 · 867 阅读 · 0 评论 -
我读过的最好的epoll讲解
首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要转载 2013-11-13 19:57:21 · 1348 阅读 · 0 评论