unix/linux
爱若一生
C 菜鸟即将精通
展开
-
uc下的静态库和共享库创建方式
1、创建静态库的过程: 1)写源程序 math.c view.c 2)编译源程序 gcc -c math.c ==> math.o gcc -c view.c ==> view.o 3)创建静态库文件 ar -r libmyku.a math.o view.o2、使用静态库文件 1)写程序,调用库中的函数 testku.c 2)编译原创 2012-01-11 20:41:55 · 805 阅读 · 0 评论 -
0x7FFFFFFF 是long int的最大值
可以算一下 0x7FFFFFFF 是多少每个十六进制数4bit,因此8位16进制是4个字节,刚好是一个int整型F的二进制码为 11117的二进制码为 0111这样一来,整个整数 0x7FFFFFFF 的二进制表示就是除了首位是 0,其余都是1就是说,这是最大的整型数 int(因为第一位是符号位,0 表示他是正数)用 INT_MAX 常量可以替代这个转载 2013-02-19 10:16:31 · 64263 阅读 · 6 评论 -
linux下线程创建失败问题
linux下线程创建失败问题写个碰到的问题,记录下自己的技术之路点滴pthread_detach(pthread_self())linux线程执行和windows不同,pthread有两种状态joinable状态和unjoinable状态,如果线程是joinable状态,当线程函数自己返回退出时或pthread_exit时都不会释放线程所占用堆栈和线程描述符(总计8K多)。原创 2013-01-09 13:36:44 · 2615 阅读 · 1 评论 -
linux下使用系统调用取得当前用户名
#include #include #include #include int main() { uid_t userid; struct passwd* pwd; userid=getuid(); printf("userid is %d\n",userid); pwd=getpwuid(userid); pr转载 2013-09-04 17:56:50 · 2921 阅读 · 0 评论 -
linux有点奇怪
一.2个文件夹明明里面什么数据都是一模一样,但是为什么文件夹du -b . 出来的大小不一样呢?奇怪了,于是我一个一个找,发现,原来是里面的隐藏文件夹.的大小不一样,为什么不一样呢。因为这个文件夹的权限不一样,所以呢,他们的du -b .出来的大小正好是那个权限差别导致的不同。里面的文件的大小都一样哦。原创 2013-08-09 17:02:11 · 608 阅读 · 0 评论 -
管道
pipe :普通管道,实现父子进程间的数据通信。popen :用于执行shell脚本的管道,最大的特点优点就是,能够在程序中获取到通过该函数执行shell脚本,并且得到该脚本输出到标准缓冲的打印信息(值)。mkfifo:无名管道,实现2个不同进程的通信。即没有血缘关系的进程。原创 2013-06-19 16:28:51 · 567 阅读 · 0 评论 -
linux常识
1.POSIX: 可移植操作系统接口标准。2.linux版本:单数表示测试版本,不稳定版本;双数表示稳定版本,发布版本。原创 2013-04-19 16:55:04 · 734 阅读 · 0 评论 -
shell编程---第一天
Linux下有没有和nbtstat一样的命令! 通过ip查看其他信息:主机名、mac等。已搞定 用 nmblookup -A ip 可以用 nbtscan 也可以arp 命令:arp ipad.local or arp 192.168.1.108 or arp -a or arp vi 查找字符串:切换到命令模式下,然后就那个打个/youstring#!/bi原创 2012-01-10 21:58:28 · 1210 阅读 · 0 评论 -
pthread_detach(pthread_self())
多线程稍微看了下还能接受没想象中的难,写了个示例程序运行修改运行修改几遍后也大致明白了。写个碰到的问题,记录下自己的技术之路点滴pthread_detach(pthread_self())linux线程执行和windows不同,pthread有两种状态joinable状态和unjoinable状态,如果线程是joinable状态,当线程函数自己返回退出时或pthread_exi转载 2013-03-25 10:53:16 · 3252 阅读 · 0 评论 -
uc第二天内存管理
--------内存管理--------1。环境变量: 每个进程都有自己的环境变量表,环境变量表是一个char* 的数组。 指针数组,每个指针指向一个环境变量(字符串)。最后一个元素为NULL指针。这样就能够让程序知道什么时候结束不取值越界。2。每个程序都有一个environ变量,指向该表头(指针数组首地址)extern char** environ; (这里要声明这个变量) char原创 2012-01-13 00:52:19 · 1074 阅读 · 0 评论 -
dup和dup2
dup和dup2都可用来复制一个现存的文件描述符,使两个文件描述符指向同一个file结构体。#include int dup(int newfd);int dup2(int newfd, int oldfd); 下面用一个简单的例子解释两个函数的用法和区别:#include #include #include #include #include转载 2013-11-07 13:58:54 · 660 阅读 · 0 评论 -
Linux下rsync的安装与配置远程服务器数据同步
http://jingyan.baidu.com/article/fdffd1f83bc72bf3e88ca149.htmlLinux下rsync的安装与配置远程服务器数据同步转载 2014-07-29 10:59:22 · 821 阅读 · 0 评论 -
rm命令删除特定文件或目录或不删除特定文件或目录
http://www.pythontab.com/html/2013/linuxkaiyuan_0205/214.html转载 2014-07-30 15:09:10 · 8772 阅读 · 0 评论 -
自动输入密码
[root@CentOS-64-462-C1 sync]# lssync2remote_ex_rules.txt sync2remote.sh[root@CentOS-64-462-C1 sync]# cat sync2remote.sh #!/usr/bin/expect -fset timeout 20000spawn rsync -aLvpz --progres原创 2014-07-29 17:31:43 · 909 阅读 · 0 评论 -
shell数组
_DistributiongServer_IP="look at the following"_LocalDir="/home/buildroot/trunk/mjzw-publish/"#可以采用统一分发,也可以采用自主获取array=("172.16.8.101" "172.16.8.102" "172.16.8.103" "172.16.8.104"原创 2014-07-29 16:46:05 · 686 阅读 · 0 评论 -
svn命令截取库版本号
cd 到svn info | grep Revision | cut -d : -f 2原创 2014-07-23 17:44:53 · 1023 阅读 · 0 评论 -
shell || exit 1
shell || exit 1执行部成功就退出转载 2014-07-22 15:19:33 · 3149 阅读 · 0 评论 -
cygwin怎么执行bat文件
例如D:/cygdrive/d/ImportanceTools/svnRevertAndDelUnversionedItems.bat原创 2014-07-16 20:55:04 · 5086 阅读 · 1 评论 -
技巧:Linux 动态库与静态库制作及使用详解
技巧:Linux 动态库与静态库制作及使用详解http://www.ibm.com/developerworks/cn/linux/l-cn-linklib/转载 2013-12-19 19:54:45 · 747 阅读 · 0 评论 -
sqlite
.header on 显示字段名称信息.tab 列出所有表sqlite database.db 打开数据库select *from corptab;.q 退出原创 2013-03-22 09:43:44 · 630 阅读 · 0 评论 -
Linux操作系统下/etc/hosts文件配置方法
1、关于/etc/host,主机名和IP配置文件Hosts - The static table lookup for host name(主机名查询静态表)hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,以ASCII格式保存在“/etc”目录下,文件名为“hosts”(不同的linux版本,这个配置文件也可能不同。比如Debian的对应文件是/etc转载 2013-03-15 10:49:54 · 854 阅读 · 0 评论 -
uc第11天进程间的通信=
==================进程间的通信========================回顾:1。计时器 1。struct itimerval{ struct tiemval it_interval; // 间隔时间:间隔x时间发送一次信号 struct timeval xxx... ;//开始时间: x时间开始发信号} 2。精确的时间结构体 struct time原创 2012-02-02 23:03:33 · 1032 阅读 · 0 评论 -
uc第12天线程编程
===========================线程编程==========================回顾:1。共享存储段,消息队列,信号量集 统一称为 XSI IPC 他们的共同特点:都是内核提供管理,首先需要一个key(key_t),使用key向内核申请创建IPC结构,一个IPC结构对应一个由内核管理的通信空间(一块共享的物理内存,一个链表组成的队列,一个计数器变量原创 2012-02-02 23:02:57 · 1299 阅读 · 0 评论 -
uc2day02文件描述符
富贵不还乡,锦衣夜行!一。文件I/o:万事万物皆I/O,万事万物皆描述符。1.打开文件描述符号#include int open(pathename,flags) int open(pathename,flags,mode_t) 返回-1表示打开为文件失败。如果>=0:表示打开文件成功,并且返回这个文件所对应的id. 功能:创建/打开文件 参数1:文件名+路径原创 2012-02-14 21:16:51 · 566 阅读 · 0 评论 -
un第13天线程同步(信号量,条件变量)
===============线程同步(信号量,条件变量)==========回顾:一。线程: 1。传参数(传个地址):pthread(&id,0,void*(*)(void*),void*);使用地址传参,这说明了线程可接收任意类型大小的数据 2。返回值(返回一个地址) so ,不能返回局部变量地址(代码区,全局区,堆区) 二。线程同步(即线程间的协调执行)1。互原创 2012-02-02 23:02:21 · 1234 阅读 · 0 评论 -
uc第14天socket通信
回顾:1。需要注意的一点:在Linux系统中,1024以下的端口只有拥有root权限的程序才能绑定,而且这些端口是给系统备用的,我们不可用。线程 信号量,条件变量 互斥量和条件变量结合使用 socket 本地通信,网络通信 本地通信 使用socket文件进行进程间的通信 1。创建socket :int sokfd=socket(int domain,in原创 2012-02-02 23:01:07 · 973 阅读 · 0 评论 -
uc第三天系统调用
-------------系统调用-------------复习: 1。每个进程都有4个G的虚拟地址,但是其中1-3G是用户空间,3-4G属于系统空间。 在3G左右的位置,正是栈空间的开始位置(由后往前) 2。C++ new运算符的定位空间分配:char buf[200]; Cwj * e =new(buf) Cwj; 这样一来,就在栈空间申请了空间了。定位分配 3。malloc原创 2012-01-13 23:31:58 · 3045 阅读 · 0 评论 -
Linux 拷贝文件函数:不知道这个对不对,转载了再说
Linux 拷贝文件函数2007-12-17 10:561 /*2 * Copy a (real) file to another (real) file.3 * file can be a regular file or a simlink4 */5 int create_copy_file(const char *source, const ch转载 2012-06-27 13:32:20 · 3981 阅读 · 0 评论 -
uc第一天
1.C语言是一种弱类型的语言,一切它没有见过的东西,他都会作隐士声明为int类型,但是到了c99标准,这种特点就被扼杀了,因为不好使。要知道,C语言中的隐士转换在编译时转换的,而非运行时。2。预处理一些不常用命令:#error "遇到这东西直接中断" #warning "遇到这东西报错而已" #include_next "在指定位置下的下一个目录寻找(用的少)" #line 100原创 2012-01-11 20:39:57 · 701 阅读 · 0 评论 -
uc第10天信号,进程间的通信
====================信号,进程间的通信===========================一。回顾上一节课程的内容1.信号一般处理非正常情况,是软件中断技术 硬件异常信号:除数为0,段错误,总线错误,文件访问失败,还有一些快捷键:ctrl+c 软件异常信号:kill settimer raise ...等 在程序中认为的写出来的 可靠信号(实时信号):支原创 2012-02-02 23:04:18 · 924 阅读 · 0 评论 -
uc2day01静态动态头文件
调用静态库: 查看二进制目标文件中的函数:nm 二进制目标文件 1。库名:lib库名.a gcc 源代码 -o 输出文件 -l库名 -L库所在的路径1.动态库的连接与调用 1.编译动态库 gcc -c -fpic 源代码 //-fpic 于代码位置无关的 gcc -shared -o 输出文件 目标文件 //gcc -shared -olibmydll.so t原创 2012-02-09 21:57:54 · 538 阅读 · 0 评论 -
linux查看局域网中的主机名或者ip的命令和函数
1. arp 2.nmblookup -A 192.168.1.1183.nbtscan 192.168.1.1184.gethostbyname() gethostbyaddr()5.ping 6。ifconfig . /etc/hosts /etc/host.conf原创 2013-03-07 09:04:51 · 20458 阅读 · 0 评论 -
如何查看linux命令源代码和函数源代码
用linux一段时间了,有时候想看看ls、cat、more等命令的源代码,在下载的内核源码中用cscope没能找到,在网上搜索了一下,将方 法总结如下:以搜索ls命令源码为例,先搜索命令所在包,命令如下:lpj@lpj-linux:~$ which ls/bin/ls用命令搜索该软件所在包,代码如下:lpj@lpj-linux:~$ dpkg -S /bin/lsc转载 2013-01-22 10:06:17 · 5299 阅读 · 2 评论 -
linux 通过Ip获取主机名等信息gethostbyaddr()等。
#include #include #include #include #include #include int main(int argc, char **argv){ char *ptr,**pptr; struct hostent *hptr; char str[32]; char ipaddr[16]; struct in_addr *hipaddr = (st原创 2013-03-06 10:52:31 · 8877 阅读 · 2 评论 -
shell编程--第二天
ls -l dir1 | wc -l . 1。while 条件 ; do done //(()) [] test2。until同上,仅仅是条件不成立的时候才执行3。/dev/null : unix 黑洞。 用于清空文件 cat /dev/null > xx find -name a.txt 2>/dev/null4。注意:陷阱题之continue跳出循环后,把打印原创 2012-01-10 23:06:42 · 1226 阅读 · 0 评论 -
多线程文件读写锁
http://blog.163.com/software_ark/blog/static/175614594201181665330631/三、读写锁的一些函数操作相关函数说明初始化读写锁pthread_rwlock_init 语法读取读写锁中的锁pthrea原创 2012-12-11 11:07:10 · 806 阅读 · 0 评论 -
读文件乱码错误
情况1:字符越界,strncpy(xx,xx,n); 没有预留\0给最后那个字符哦原创 2012-10-09 17:09:47 · 598 阅读 · 0 评论 -
线程编程之:加锁解锁最简单例子
// pthread_mutex_t BackUpKey; main头上应该定义该变量// pthread_mutex_init(&BackUpKey,NULL); main在最前应该申请该资源// pthread_mutex_destroy(&BackUpKey); main原创 2012-08-14 09:27:17 · 2179 阅读 · 0 评论 -
expect实现自动登录
apt-get install expect#!/usr/bin/expectset timeout 2 //设置2秒spawn scp scp.c root@192.168.1.118: //执行命令expect "root@192.168.1.118's password:" //如果出现这个提示,那么就执行下面这个密码输入过去send "nosoup4u\r"set原创 2012-07-23 11:21:50 · 635 阅读 · 0 评论 -
使用sudo命令不用输入密码的方法探究
http://blog.sina.com.cn/s/blog_6bfdefce0101b44i.htmlhttp://blog.chinaunix.net/uid-22174570-id-1786896.html转载 2014-11-25 14:46:14 · 1090 阅读 · 0 评论