unix环境高级编程java,unix环境高级编程

unix环境高级编程笔记

准备工作

1.安装unix或Linux这里安装的是linux(虚拟机安装)

虚拟机连接有三种方式:host only,桥接,nat,其中

a.Hostonly:

vmnet1 ip :172.16.245.1

vmware虚拟机网络设置:ip:172.16.245.100 gateway:172.16.245.1

b.ridge:主机ip:10.70.54.31设置虚拟机ip:10.70.54.22 ,netmash,broadcast,gateway,dns都与主机相同即可,实现虚拟机主机,互联网通信。

c.和hostoly一样。

2.在LINUX下安装apue

在http://www.apuebook.com/下载src.tar.gz源代码的压缩包,

解压在/usr/目录中,

修改目录中的linux.mk,WKDIR =设置为你安装的目录

修改安装目录下的std/linux.mk将所有的nawk改为awk可以使用这个命令:

%s/nawk/awk/g

返回安装目录运行make

将安装目录下的apue.h和安装目录下的lib/error.c复制到/usr/include目录下。

3.每次有err_开头的函数都要包含apuerror.h并放入/usr/include文件下,内容为:

准备工作

1.安装unix或Linux这里安装的是linux(虚拟机安装)

虚拟机连接有三种方式:host only,桥接,nat,其中

a.Hostonly:

vmnet1 ip :172.16.245.1

vmware虚拟机网络设置:ip:172.16.245.100 gateway:172.16.245.1

b.bridge:主机ip:10.70.54.31设置虚拟机ip:10.70.54.22 ,netmash,broadcast,gateway,dns都与主机相同即可,实现虚拟机 主机 ,互联网通信。

c.和hostoly一样配置,只不过选项不一样

这三种方式的连接的意义不一样,bridge相当于一个物理机器,虚拟网卡相当于在主机和虚拟机前加了个交换机,他们访问时互通的,hostonly方式相当于一个虚拟的网络依附于主机,主机和这个虚拟网络可以互通,但是虚拟网络和主机的别的网络部能互通,NAT则是虚拟网络可以访问别的网络,但是别的网络部能访问虚拟网络。

2.在LINUX下安装apue

在http://www.apuebook.com/下载src.tar.gz源代码的压缩包,

解压在/usr/目录中,

修改目录中的linux.mk,WKDIR =设置为你安装的目录

修改安装目录下的std/linux.mk将所有的nawk改为awk可以使用这个命令:

%s/nawk/awk/g

返回安装目录 运行make

将 安装目录下的apue.h和安装目录下的lib/error.c复制到/usr/include目录下。

3.每次有err_开头的函数都要包含apuerror.h并放入/usr/include文件下,内容为:

#include /* for definition of errno */

#include /* ISO C variable aruments */

static void err_doit(int, int, const char *, va_list);

/*

* Nonfatal error related to a system call.

* Print a message and return.

*/

void

err_ret(const char *fmt, ...)

{

va_listap;

va_start(ap, fmt);

err_doit(1, errno, fmt, ap);

va_end(ap);

}

/*

* Fatal error related to a system call.

* Print a message and terminate.

*/

void

err_sys(const char *fmt, ...)

{

。。。

。。。

第一个例子

b85e19dedf07ca196c1ba441c19c0ae4.png

下面是运行程序,这样本书的运行例子的环境就搭建完成了。

0b1de286eef07873009cc9311618a9b1.png

UNIX基础知识

Unix体系结构

控制计算机硬件资源,提供程序运行的环境,一般而言,我们称此种软件为内核,它相对较小,位于环境中心,

为系统调用,公共函数构建在系统调用接口之上,应用软件即可使用公用函数库,也可以使用系统调用,shell是一种特殊的应用程序,它为运行其他应用程序提供一个接口,

目录文件名

创建目录时会自动创建2哥文件名:.和..。

路径名

绝对路径和相对路径/xxx/sssssdfsdf/erwerw

起始目录

登陆时,工作目录设置为起始目录,该起始目录从口令文件中相应用户的登录项中取得。

输入和输出

1.文件描述符通常是一个小的非负整数,内核用它标识一个特定进程正在访问的文件。当内核打开一个已有文件或创建一个新文件时,它返回一个文件描述符。在读写文件时,就可以使用它。

2.标准输入、输出、和标准出错。可以使用>、

3.不用缓冲的I/O。

函数open、read、write、lseek以及close提供了不用缓冲的I/O。这些函数都使用文件描述符。

步子迈大了,那啥了。。。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值