Linux学习笔记
文章平均质量分 65
寂寞的泡面
我只是一个快乐的程序员。
展开
-
Shell指令中的单引号,双引号,反引号,反斜杠
<br />1.‘string’ 单引号<br />被单引号括住的内容将被视为单一的字符串,在引号内的$符号没有作用,也就是说$被当做普通字符处理。<br />例如:<br />[root@localhost root]#echo '$HOME'<br />$HOME<br /> <br />2."string"双引号<br />被双引号括住的内容将被视为单一的字符串,他防止通配符扩展,但允许变量扩展。这点与单引号不同。<br />例如:<br />[root@localhost root]#echo "$原创 2010-09-26 17:14:00 · 1086 阅读 · 0 评论 -
redhat9安装配置mysql数据库(系统自带,版本3.23.54)
Mysql安装:首先,查看你的系统中是否已经安装了mysql,在终端里输入mysql,[root@localhost root]#mysqlbash: mysql: command not found说明系统中还没有安装mysql数据库,如果出现,说明已经安装了mysql数据库,那么跳过接下来的安装步骤,直接看配置步骤吧。“从这里开始”——>“系统设置”——>“添加/删除应用软件”——>“SQL数据库服务器”,如下图所示。选择——>“细节”,安装“标准软件包”和“额外软件包”,系统会提示你插入第二张和第三张原创 2011-04-12 18:11:00 · 4003 阅读 · 0 评论 -
linux下C语言操作mysql数据库(系统自带版本3.23.54)
我的上一篇blog介绍了在linux环境下如何安装配置系统自带的mysql数据库,并列举了mysql的一些简单的操作。接下来我将介绍一下如何利用mysql提供给我们的API来访问并操作mysql数据库(C语言)。首先,我们需要安装mysql-devel-3.23.54a-11.i386.rpm包,这样我们才能使用mysql提供的API和类库。mysql-devel-3.23.54a-11.i386.rpm的下载地址:http://www.rpmfind.net/linux/rpm2html/se原创 2011-04-12 23:58:00 · 4355 阅读 · 0 评论 -
linux库文件编写
静态库与动态库的区别: 如果程序是在编译时加载库文件的,就是使用了静态库。如果是在运行时加载目标代码,就成为动态库。换句话说,如果是使用静态库,则静态库代码在编译时就拷贝到了程序的代码段,程序的体积会膨胀。如果使用动态库,则程序中只保留库文件的名字和函数名,在运行时去查找库文件和函数体,程序的体积基本变化不大。静态库的原则是“以空间换时间”,增加程序体积,减少运行时间;动态库则是“以时间换空间”,增加了运行时间,但减少了程序本身的体积。其实,程序设计就是一个“时间与空间的矛盾”。下面我们就以实际例原创 2011-02-05 22:12:00 · 2911 阅读 · 1 评论 -
搭建linux C语言开发环境——redhat9+vim+ctags+taglist+cscope
搭建linux C语言开发环境——vim+ctags原创 2011-01-02 00:20:00 · 9907 阅读 · 1 评论 -
linux下Epoll实现简单的C/S通信
<br />epoll的优点:<br />1.支持一个进程打开大数目的socket描述符(FD)<br /> select 最不能忍受的是一个进程所打开的FD是有一定限制的,由FD_SETSIZE设置,默认值是2048。对于那些需要支持的上万连接数目的IM服务器来说显然太少了。这时候你一是可以选择修改这个宏然后重新编译内核,不过资料也同时指出这样会带来网络效率的下降,二是可以选择多进程的解决方案(传统的 Apache方案),不过虽然linux上面创建进程的代价比较小,但仍旧是不可忽视的,加上进程间数据原创 2010-12-28 20:27:00 · 19908 阅读 · 4 评论 -
socket编程小问题:地址已经被使用——Address already in use
很多socket编程的初学者可能会遇到这样的问题:如果先ctrl+c结束服务器端程序的话,再次启动服务器就会出现Address already in use这个错误,或者你的程序在正常关闭服务器端socket后还是有这个问题。正如下面的这段简单的socket程序。server.c#include #include #include #include #include #include #include #define BUFFER_SIZE 40int mai原创 2010-12-25 22:07:00 · 114852 阅读 · 9 评论 -
细谈linux下的posix多线程编程
下面实现一个简单的多线程编程的例子。#include #include #include #include #include char message[]="Hello World!";void * thread_function(void * arg);int main(){ pthread_t second_thread; void * thread_result; // create new thread if(pthread_create(原创 2010-12-22 13:15:00 · 2261 阅读 · 0 评论 -
Linux目录结构解析
存放命令的目录:/bin:系统工具/sbin:系统管理员使用的工具程序/usr/bin和/usr/sbin:存放用户的应用程序的可执行文件,例如mysql数据库,apache服务器等。/usr/local/bin:用户自定义的可执行文件/boot:内核及其他系统启动所需的文件/opt:安装大的应用程序/tmp:临时文件/lost+found:系统修复过程中恢复的文件/root:超级用户的主目录/dev:device设备目录b——block块设备c——character字符设备linux的硬件设备对应文件光驱原创 2010-10-18 16:42:00 · 916 阅读 · 0 评论 -
linux 进程通信——C语言实现
一.低级通信--信号通信signal.c#include #include #include /*捕捉到信号sig之后,执行预先预定的动作函数*/void sig_alarm(int sig){ printf("---the signal received is %d. /n", sig); signal(SIGINT, SIG_DFL); //SIGINT终端中断信号,SIG_DFL:恢复默认行为,SIN_IGN:忽略信号}int main(){ signal(SIGINT, sig_alarm);//捕原创 2010-10-15 16:48:00 · 13760 阅读 · 1 评论 -
linux--redhat 如何修改root用户密码
<br />1. 开机在出现grub画面,按e键,如下图所示:<br /> <br /><br /><br />2. 用上下键选中第二项,然后按e键编辑,输入空格+single+Enter,结果如下图所示: <br /> <br /><br /> <br />3. 按b键启动进入系统,输入passwd root ,回车如下图所示: <br /><br /><br />4. 修改新的密码 <br /><br />5. reboot后即可用新密码登录原创 2010-10-04 22:18:00 · 7560 阅读 · 0 评论 -
linux shell 编程
基本的输入与输出示例:#!/bin/sh#ShowHello.sh#To show hello to somebodyecho -n "Enter Your Name:"read NAMEecho "Hello,$NAME!"if条件判断示例:#!/bin/sh#iftest#to show the method of ifecho -n "Enter the first integer:"read FIRSTecho -n "Enter the second integer:"read SECONDif原创 2010-10-04 20:40:00 · 1635 阅读 · 0 评论 -
vmware7.1.0 build-261024+redhat9下如何安装vmware-tools
安装vmware-tool原创 2010-10-04 22:41:00 · 1947 阅读 · 0 评论 -
linux socket 编程(C语言)
最近看了一些网络编程的书籍,一直以来总感觉网络编程神秘莫测,其实网络编程入门还是很容易学的,下面这些代码是我在linux下编写的,已经运行过了,编译之后就可以运行了。有不足之处希望大家多多指出,共同学习交流。TCP协议:服务器端:tcp_server.c#include #include #include #include #include int main(int argc, char *argv[]){ int s; int fd; int len; struct sockaddr_in m原创 2010-10-04 11:22:00 · 74495 阅读 · 14 评论 -
linux命令大全(不断更新中)
Linux关机方法:shutdown -h now 关机(推荐) -h表示需要关机 now表示立即关机 now可以换成时间,表示等待一定时间关机shutdown -r now 重启(推荐)reboot 快速启动(跳过sync过程)init 0 关机 init 1 单用户模式启动 一般是系统管理员进行维护时init 3 文字界面启动init 5 图形界面启动init 6 重启halt 系统停机Linux光驱与软驱的装载与卸载:mount -t iso9660 /dev/cdrom /mnt/cdrommou原创 2010-09-27 18:15:00 · 1137 阅读 · 0 评论