![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unix
文章平均质量分 76
大头码农
这个作者很懒,什么都没留下…
展开
-
APUE源代码编译
转自: http://linux.chinaunix.net/doc/2004-10-05/22.shtml一最近学习Linux编程,收获真的很多。以前都是别人或man告诉你某个命令怎么使用,但现在我才领悟到,是程序的源代码决定了全部。linux编程,首先需要安装gcc与其它编程工具与库文件。最简单的方法是进入图形界面的添加删除程序,选上开发工具就可以了。 1.APUE2源代码下载:http://www.apuebook.com/src.tar.gz2.我保存到了/root下.解压缩:tar -xzvf s转载 2010-12-01 14:06:00 · 463 阅读 · 0 评论 -
用getopt解析命令行参数
用过gcc的都知道gcc有许多参数。例如要将hello.c译成hello.exe并加上调试信息,用gcc hello.c -g -o hello.exe即可。现在分析gcc的参数。对于这个例子,参数可分成三个部分:输入文件(hello.c)、是否包含调试信息(-g)、输出文件 (-o hello.exe)。这三个部分的次序是无关紧要的,例如可以确保,-o后面跟的一定表示输出文件。getopt是C语言标准库中用来处理命令行参数的一个函数,其原型声明在unistd.h文件中:int getopt( int ar转载 2010-11-19 21:16:00 · 668 阅读 · 0 评论 -
ubuntu10.04 默认BASH问题
看下面一段shell:read -p "Please input (Y/N): " yn[ "$yn" == "Y" -o "$yn" == "y" ] && echo "OK,continue." && exit 0[ "$yn" == "N" -o "$yn" == "n" ] && echo "oh,interrupt!" && exit 0echo "I don't know what is you choice" && exit 0执行的时候,总是发现提示 [: 10: y: un转载 2010-11-17 13:47:00 · 1306 阅读 · 0 评论 -
Linux Ctrl+z jobs bg fg &使用及区别
一、& 最经常被用到这个用在一个命令的最后,可以把这个命令放到后台执行二、ctrl + z可以将一个正在前台执行的命令放到后台,并且暂停三、jobs查看当前有多少在后台运行的命令四、fg将后台中的命令调至前台继续运行如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)五、bg将一个在后台暂停的命令,变成继续执行如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通转载 2011-01-04 18:05:00 · 3286 阅读 · 0 评论 -
Unix 不回显输入密码
<br />原帖见: http://blog.163.com/xiaolei-li/blog/static/114404451200911172155783/<br /><br /><br /><br />在软件开发中,往往会遇到要求用户输入密码的情况。出于对密码的保密,输入的字符是不会显示到屏幕上的。例如,在登录Linux系统时,输入用户名后,输入的密码是不显示的。这里介绍两种方法来解决这一问题。6.5.1 使用curses库<br />curses库是由柏克莱大学的Bill Joy及Ken Arnol转载 2010-12-26 16:21:00 · 1197 阅读 · 0 评论 -
linux tty pty pts 概念 区别
<br /><br />基本概念:<br />1> tty(终端设备的统称):<br />tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。<br />终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。<br /><br />2> pty(虚拟终端):<br />但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?转载 2010-12-27 22:03:00 · 444 阅读 · 0 评论 -
不带缓存的I/O和标准(带缓存的)I/O
<br />转自: http://hi.baidu.com/ganss/blog/item/3e9736c6389ac7199d163d94.html<br /> <br />先来看看不带缓存的I/O和标准(带缓存的)I/O都有那些<br />不带缓存的I/O: read,write,open......<br />标准(带缓存的)I/O: fgets,fread,fwrite.....<br />这里使用两个对应的函数进行比较:<br />ssize_t write(int filedes,转载 2010-12-16 16:22:00 · 493 阅读 · 0 评论 -
标准IO缓冲详解 全缓冲 行缓冲 不缓冲
<br />原文见: http://hi.baidu.com/wuji_sky/blog/item/92333898de61f9016e068ce7.html<br /> <br /><br />标准I/O库提供缓冲的目的是尽可能地减少使用read和write调用的次数。他也对每个I/O流自动地进行缓冲管理,从而避免了应用程序需要考虑这一点所带来的麻烦。不幸的是,标准I/O库最令人迷惑的也是他的缓冲。<br />标准I/O提供了三种类型的缓冲:<br />1、全缓冲。这种情况下,在填满标准I/O缓冲区后才进转载 2010-12-16 16:21:00 · 1131 阅读 · 0 评论 -
undefined reference to 'pthread_create'问题解决
<br />由于是Linux新手,所以现在才开始接触线程编程,照着GUN/Linux编程指南中的一个例子输入编译,结果出现如下错误:<br />undefined reference to 'pthread_create'<br />undefined reference to 'pthread_join'<br /><br />问题原因:<br /> pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,转载 2010-12-03 11:52:00 · 425 阅读 · 0 评论 -
unix解释器原理
<br /> <br />转自: http://www.cnblogs.com/hbt19860104/archive/2008/07/24/1250898.html<br /> <br />引言<br />使用Shell进行工作的人们对Unix/Linux下的Shell编程都很熟悉,在所有的Shell编程的书中都会提到#!/bin/bash,而这里到底包含了些什么?对操作系统而言,这一行字符串意味着什么?你可能会说,不就是会让 /bin/bash程序来解释这个脚本程序吗?当然你是对的,看看我们的标题,这里转载 2010-12-01 16:58:00 · 676 阅读 · 0 评论 -
unix实际用户ID和有效用户ID解析
今天在看APUE,这两个问题很难理解,GOOGLE一下,有篇文章总结的不错,看了一下才明白透彻了。由于用户在UNIX下经常会遇到SUID、SGID的概念,而且SUID和SGID涉及到系统安全,所以用户也比较关心这个问题。关于SUID、 SGID的问题也经常有人提问,但回答的人一般答得不够详细,加上曾经回答过两个网友的问题,还查了一些资料,决定整理成本文,以供大家参考。限于本人的水平问题,文章中如果有不当之处,请广大网友指正。一、UNIX下关于文件权限的表示方法和解析SUID 是 Set User ID,转载 2010-12-01 15:37:00 · 341 阅读 · 0 评论 -
apue读书笔记之socket
创建 Socket:#includeintsocket(int domain, int type, int protocol);domain: AF_INET AF_UNIX(AF_LOCAL 在某些系统)规定通信的本质,比如地址的格式type: SOCK_STREAM SOCK_DGRAM SOCK_RAW SOCK_SEQPACKET 规定数据的传输方式protocol: 通常为0,使用默认值。四种 type 区别:感觉听上去很简单,其实还是需要理解的SOCK_DGRAM: 数据报方式。无原创 2011-05-16 16:19:00 · 1237 阅读 · 0 评论