⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unix编程应用问答中文版.txt

📁 这份文档不是FAQ(Frequently Answered Question)
💻 TXT
📖 第 1 页 / 共 5 页
字号:
--------------------------------------------------------------------------
名称 -- Unix编程/应用问答中文版
版本 -- 0.04 ( 2003-10-09 外发版 )
维护 -- 小四 <scz@nsfocus.com>
主页 -- http://www.nsfocus.com
创建 -- 2001-02-05 13:49
更新 -- 2003-10-08 10:13

感谢 --

    感谢C语言的发明者、Unix操作系统的发明者、感谢全世界C程序员创造的Unix共
    享传统文化圈,她是如此强大、充满禁忌、而又魅力四射。

    感谢deepin <deepin@nsfocus.com>,在整个维护过程中的支持、帮助和鼓励。
    感谢所有NSFOCUS安全研究小组(security@nsfocus.com)的朋友。

主要支持人员(字母顺序) --

    Andrew Gierth   <andrew@erlenstar.demon.co.uk>
    backend         <backend@nsfocus.com>
    Casper H.S. Dik <Casper.Dik@Sun.COM>
    deepin          <deepin@nsfocus.com>
    scz             <scz@nsfocus.com>
    jbtzhm          <jbtzhm@nsfocus.com>
    suxm            <suxm@nsfocus.com>
    tt              <warning3@nsfocus.com>

简介 --

    这份文档不是FAQ(Frequently Answered Question),不少问题属于FUQ(Freque-
ntly Unanswered Question)。换句话说,不一定是最常见的编程、应用问答,很可
能其中的答案尚是一个构思,还没有成为现实,又或者根本是个错误的思想火花。但
是,她的确在试图回答一些很有意义的问题,让更多的Unix/C程序员、系统管理员共
享彼此的智慧,那是三十年前无数前辈精英做到过的,也是我们正试图做到的。

    Q -- Question
    A -- Answer
    D -- Discuss

声明 --

    永久拒绝任何商业性质的转载、摘录、引用。在不对所有文字做任何修正的前提
下,允许一切教育性质的转载、摘录、引用,无须提前知会维护者(就是me,faint)。
一旦出现需要修正文字的情况,只能通过维护者修正。维护者会在下一次版本升级过
程中正式增加这种修正,保留提供修正者应有信息。同时意味着提供修正者永久自愿
放弃商业性质的所有权益。不接受这种条件的提供修正者,务必提前知会维护者,此
类修正将不出现在下一次版本升级中。

    文中所附各种源代码,在严格意义上可能存在版权问题,所以事实上这份文档带
有"半地下"性质,使用者务必自己小心卷入此类纠纷。

    文中技术可能涉及未公开的、未文档化的、非规范的编程、应用接口,文档提供
的重在思想,而不保证是正确、高效、唯一的解答。

    维护者不对文中任何技术引起的任何灾难性后果负任何法律上的、道义上的责任。

    Ok, Let's go.

辅助说明 --

    2003-10-09 12:49

    辅助说明只在"外发版"中存在,稍微解释一下。

    一直没有单独出一份完整的,原因很多。如果搁在1995/1996/1997时的CERNET,
    这些原因都不成为原因,现在成为原因。不想多说为什么,明白的自然明白,不
    明白的当我白痴好了,反正别问我。

    出于"声明"中的某些理由,不能在单份完整文档中附带可能会带来麻烦的文字、
    代码,比如Solaris libproc编程接口。但是,在散篇中你能找到它们。如果你
    愿意,可以自己将散篇收回到该文档中,这将与我无关。一切索要残缺部分的邮
    件概不回复。

    本份文档的绝大多数内容在"中国教育科研网华南地区网络中心BBS"(bbs.gznet.
    edu.cn)的Solaris版发布过了,包括下面处理掉的目录列表。是该版前版主CPU
    师兄当年的风范促使我开始整理这份文档的,当还昔日指教之情谊。

    该份文档"允许一切教育性质的自由转载、摘录、引用,无须提前知会维护者"。
    我也只是义务维护一下,不对本文档拥有任何权益。如果不幸潜在拥有而践踏了
    某种信念,在你看到该辅助说明的同时,我将自动放弃这种潜在可能拥有的权益。
    同时意味着一切因本文档带来的麻烦,将由你个人承担。

    既然来自Unix共享传统文化圈,就让它彻底回到Unix共享传统文化圈中去吧。

    欢迎一切建设性的、非索要性质的Email交流。

--------------------------------------------------------------------------

目录

0.    Unix/C传奇问题
0.0
0.1   Dennis Ritchie 和 Ken Thompson
0.2   W. Richard Stevens 之死
0.3   更多Unix传奇故事
0.4   那些Unix传奇人物长什么样,不会都是三头六臂吧
0.5   "3y3"是如何转换成"eye"的
0.6

1.    系统管理配置问题
1.0   如何屏蔽power-button
1.1   如何给SUN工作站增加eeprom硬件口令保护
1.2   如何增加交换空间
1.3   为什么我不能在/home目录下创建子目录
1.4   如何改变一台主机的locale
1.5   Solaris 7自动注销
1.6   一个目录拥有setgid设置,怎么理解
1.7   非Sun Console上有无等价Stop-A的按键
1.8   如何让一个用户只能ftp而无法telnet
1.9   Solaris 8上tftpd的使用
1.10  为什么Sun工作站非要输入boot命令才能启动
1.11  如何让Solaris识别新增加的硬件
1.12  Solaris 9如何在命令行上增加新用户

2.    堆栈相关问题
2.0   理解SIGBUS与SIGSEGV
2.1   如何理解pstack的输出信息
2.2   Solaris的pstack实现源码
2.3   Solaris中如何获取一个C程序的调用栈回溯
2.4   如何编程获取栈底地址
2.5   如何得到一个运行中进程的内存映像
2.6   调试器如何工作的
2.7   x86/Linux上如何处理SIGFPE信号
2.8   GDB调试时没有符号表,如何设置断点

3.    -lelf、-lkvm、-lkstat相关问题
3.0
3.1   如何判断可执行文件是否携带了调试信息
3.2   mprotect如何用
3.3   mmap如何用
3.4   getrusage如何用
3.5   setitimer如何用

4.    系统资源相关问题
4.0
4.1   主流Unix操作系统上如何编程获取进程的内存、CPU利用状况
4.2   Solaris下如何获知CPU速率
4.3   如何编程获取Solaris系统当前内存大小

5.    块设备相关问题
5.0   Solaris/FreeBSD/Linux中如何mount ISO文件
5.1   CDROM设备究竟在哪里
5.2   如何弹出光驱
5.3   如何利用超级块进行恢复工作
5.4   Solaris root口令忘记了
5.5   如何使用fmthard
5.6   如何从光盘恢复Solaris 7的引导扇区
5.7   Solaris支持类似微软autorun.inf文件的功能吗
5.8   如何修改/dev/null的属性
5.9   如何读取Solaris disk label信息
5.10  如何自己制作Solaris启动软盘
5.11  x86/Solaris如何访问FAT32分区
5.12

6.    /etc/system可调资源限制
6.1   Solaris下如何限制每个用户可拥有的最大进程数
6.2   如何配置系统使之支持更多的伪终端
6.3   如何增加每个进程可打开文件句柄数
6.4
6.5   做了setuid()这类调用的程序如何产生core dump
6.6   消息队列调整

7.    DNS相关问题
7.1   如何进行DNS区传输
7.2   如何获知权威名字服务器
7.3   如何配置DNS的委托解析
7.4   如何获知BIND的版本号
7.5   Solaris/FreeBSD/Linux如何指定域名解析的顺序

8.    Solaris编程相关问题
8.0   Solaris多线程编程与errno全局变量
8.1   Solaris内核模块中如何getcwd
8.2   Solaris下如何动态增加系统调用
8.3   如何避免一个套接字进入TIME_WAIT状态
8.4   结构在优化编译中的对齐问题
8.5   kvm编程举例: 如何编程读取shmsys:shminfo_shmmax的值
8.6   如何得到非局部变量列表
8.7   内核可加载模块引用了无法解析的符号
8.8   如何单独获得Solaris编译环境
8.9   如何获取Solaris内核可调参数列表
8.10  如何获取自Unix纪元以来的秒数,如何转换成可理解的表达方式
8.11  如何页边界对齐式分配内存
8.12  Solaris下究竟如何使用setuid/seteuid/setreuid
8.13  compile()和step()怎么用
8.14  Solaris系统中如何检查内存泄露、腐烂
8.15  How to enable microstate accounting in order to use gethrvtime(3C)
8.16  如何让普通用户可以绑定[1, 1023]闭区间上的特权端口
8.17  SPARC/Solaris 7 64-bit kernel mode下dumpadm(1M)手册页
8.18

9.    图形界面相关问题
9.1   如何避免进入Solaris的图形界面
9.2   Solaris 7的锁屏
9.3   如何调整键盘重复率
9.4   如何拔掉键盘继续运行Solaris
9.5   Solaris下如何设置显卡分辨率
9.6   Solaris下如何设置显示刷新率
9.7   在PC X Server上使用中文
9.8   如何让Solaris Console保持在字符登录界面,同时可以远程使用PC X Server

10.   网卡相关问题
10.0  怎样将第二块网卡名改成hme0
10.1  如何在程序中获取本机MAC地址
10.2  如何在Sun工作站上安装3块网卡
10.3  如何在Solaris x86上安装网卡驱动
10.4  Solaris 单网卡多IP(以太网卡别名)
10.5  如何修改主机名(hostname)
10.6  SPARC/Solaris 2.5/2.6/7/8下如何设置网卡100Mb全双工
10.7  Unix如何对抗ARP欺骗
10.8  SPARC/Solaris 2.6/7/8下如何检查网卡混杂模式
10.9  FreeBSD下ifconfig的man手册
10.10 FreeBSD下arp的man手册
10.11 x86/Solaris如何强制设定网卡速率
10.12 Solaris/FreeBSD/Linux如何确定网卡Capability/Speed
10.13 x86/FreeBSD 4.3-RELEASE下LINK_ADDR(3)手册页
10.14 traceroute是怎么实现的
10.15 SPARC/Solaris 8 snoop(1M)手册页
10.16 x86/FreeBSD TCPDUMP(1)手册页
10.17 Solaris系统中ip_strict_dst_multihoming的确切含义是什么

11.   package相关问题
11.0  在SPARC/Solaris 8上手工安装libpcap
11.1  Solaris下如何将二进制软件包安装到指定目标路径下
11.2  Solaris下如何自己定制二进制安装包
11.3  如何恢复/usr/bin/su的缺省安装属性
11.4  如何获知指定包与其他包之间的依赖关系
11.5  如何获得Linux命令的源代码
11.6  Solaris下如何知道某包中有哪些文件
11.7  RedHat下如何检查文件是否被改动过

12.   日志相关问题
12.0  Solaris 8如何enable FTP session log
12.1  如何查看/var/adm/utmp、/var/adm/wtmp、/var/adm/lastlog
12.2  logger/syslogd问题
12.3  如何关闭cron的日志
12.4  /var/adm/lastlog文件看上去太大了

13.   进程相关问题
13.1  如何根据进程名获得PID
13.2  如何在命令行上访问指定进程P、U两区,如何欺骗Solaris的ps
13.3  getexecname(3C)是怎么实现的
13.4  Solaris 7/8下ps输出中的问号
13.5  如何根据某种原则终止一批进程
13.6  利用libproc库编程举例
13.7  给定一个PID,如何知道它对应一个运行中的进程
13.8  Unix编程中所谓"僵尸进程"指什么
13.9  x86/FreeBSD 4.3-RELEASE的ptrace(2)手册页
13.10 如何知道哪个进程使用了哪个端口
13.11 x86/FreeBSD如何快速获取指定用户拥有的进程数
13.12 如何获取当前进程对应之静态映像文件的绝对路径
13.13 x86/Linux Kernel 2.4.7-10的ptrace(2)手册页
13.14 x86/Linux Kernel 2.4.7-10下如何欺骗ps

14.   一些小工具的使用
14.0
14.1  如何在命令行上进行8进制、10进制、16进制之间的转换
14.2  显示文件的三个时间戳(atime、mtime、ctime)
14.3  只在本地文件系统上查找
14.4  join命令
14.5  反汇编

15.   32-bit/64-bit相关问题
15.0
15.1  Solaris下如何识别当前内核版本
15.2  如何启动Solaris 32-bit/64-bit内核
15.3  gcc支持64-bit编译吗
15.4  Solaris启动时内核文件找不到了
15.5  64-bit驱动程序无法在8下关联,但在7下工作正常

16.   库相关问题
16.0  为什么用高版glibc编译生成的程序不能与低版glibc搭配运行
16.1  在Solaris 7下编写网络程序需要链接哪些库
16.2  SUID设置和LD_LIBRARY_PATH环境变量
16.3  链接过程中库的顺序
16.4  Solaris 2.x下如何构造动态链接库
16.5  如何生成linux下的共享库
16.6  /usr/lib/ld.so.1损坏或丢失
16.7  Solaris下如何使用LD_PRELOAD环境变量
16.8
16.9  Solaris 8下如何配置运行时链接环境
16.10 libcrypto.so.0.9.6是什么软件包里的
16.11 共享库的动态加载/卸载
16.12 编译时命令行指定-ldl,ldd观察时却是libdl.so.2,为什么
16.13 如何进行部分静态链接

17.   文件查看问题
17.0  如何改变vi临时目录
17.1  如何直接查看man文件
17.2  .tex文件怎么读
17.3  Solaris下怎么看.ps文件

18.   补丁相关问题
18.0
18.1  如何根据补丁号从Sun主站下载补丁
18.2  删除旧式补丁备份,释放被占用的磁盘空间
18.3  patchdiag如何使用
18.4  给Solaris 2.6安装推荐补丁集(未完成)
18.5  已知补丁号,如何最快判断系统中是否已经安装该补丁
18.6  如何安装补丁

19.   终端相关问题
19.0  如何将stdin、stdout、stderr重定向到/dev/null
19.1  如何使Backspace键做删除操作,而不是显示^H
19.2  telnet时如何关闭本地回显
19.3  如何清空stdin的缓冲
19.4  Linux Console下一按错键就叫,怎么关
19.5  从stdin立即获取按键
19.6  如何屏蔽Ctrl-D

20.   shell script问题
20.0  不用临时文件完成字符串替换
20.1  如何获取一个字符串的长度
20.2  读超时自动使用缺省值
20.3  如何删除空行、空白符组成的行
20.4  BASH中如何得到一个字符串的子串
20.5  shell script中如何关闭stdout
20.6  如何将一个文本文件开始的N行删除
20.7  以字符串(非单个字符)为分隔的析取
20.8  使用tr命令加密文件
20.9  有哪些命令用于查找定位
20.10 非递归删除目录树
20.11 如何将大写文件名转换为小写文件名
20.12 shell script中有办法实现段落注释吗
20.13 批量文件字符串替换

21.   BSD相关问题
21.0  在x86/FreeBSD 4.5-RELEASE上安装nessus
21.1  如何将/var文件系统mount成mfs并支持cron daemon
21.2  如何将一个512字节的文件写入主引导扇区
21.3  x86/FreeBSD 4.3-RELEASE下FDISK(8)手册页
21.4  x86/FreeBSD 4.3-RELEASE下HEXDUMP(1)手册页
21.5  x86/FreeBSD 4.3-RELEASE下DISKLABEL(8)手册页
21.6  x86/FreeBSD 4.x下不能cp覆盖/kernel
21.7  x86/FreeBSD下如何设置路由
21.8  x86/FreeBSD 4.4-RELEASE下DIFF(1)手册页
21.9  什么是locale
21.10 用cvsup安装vim
21.11 FreeBSD下显示、输入中文
21.12 如何在OpenSSH中限制只允许某些用户登录
21.13 在FreeBSD 4.3-RELEASE上安装libpcap、libnet
21.14 如何使自己的BMP图象成为启动logo
21.15 UDMA ICRC error是什么意思
21.16 Limiting closed port RST response什么意思
21.17 如何获取FreeBSD Kernel Source Code
21.18 /boot/defaults/loader.conf中的技巧
21.19 FreeBSD中sysctl可控内核参数
21.20 x86/FreeBSD 4.3-RELEASE下GETIFADDRS(3)手册页
21.21 FreeBSD下如何访问显存
21.22 FreeBSD下如何为指定用户设定chroot的FTP环境
21.23 如何利用FKLD动态增加一个新协议
21.24 修改/etc/mail/sendmail.cf关闭ident功能
21.25 FreeBSD下如何获取系统负载
21.26 *BSD下如何屏敝远程登录时Copyright显示
21.27 cvsup安装BASH
21.28 配置core dump
21.29 在OpenBSD 3.0上安装Gcc
21.30 在NetBSD 1.5.2上安装BASH
21.31 找不到何处启动了snmpd
21.32 FreeBSD远程root访问

22.   Linux Kernel Programming
22.0
22.1  直接访问内存[显存]地址
22.2  /proc可控内核参数

23.   Linux相关问题
23.0  以POST方式提交URL请求
23.1  RedHat 7.2远程root访问
23.2  TELNET/FTP连接耗时过长
23.3  Debian/Linux中如何修改本机IP
23.4  如何确认是何种Unix Release
23.5  vi/insert状态下copy/paste时不回车、只换行
23.6  如何产生core dump
23.7  Socket( PF_PACKET, SOCK_RAW, htons( ETH_P_ARP ) )报错

24.   Unix编程相关问题
24.0  如何知道fd是有效文件句柄
24.1  如何使代码段可写
24.2  建议性文件锁与强制性文件锁
24.3  如何编写daemon程序
24.4  将编译、链接过程分开

25.   AIX相关问题
25.0  如何查看AIX版本号
25.1  如何在AIX命令行上修改IP地址
25.2  如何查看RS/6000物理内存大小
25.3  AIX 4.3.3中"ls a*"不正常

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -