看了unix环境高级编程第三章,把代码也都自己敲了一遍,另主要讲解了一些IO函数,read/write/fseek/fcntl;这里主要是c函数,比较容易,看多了就熟悉了。对fcntl函数讲解比较到位,它可以得到和改变打开文件的属性(只读,只写等等,注意后面和stat区别),下面记录了自己在学习的时候一些命令及概念,供学习使用:

ls 命令的含义是list显示当前目录中的文件名字。注意不加参数它显示除隐藏文件外的所有文件及目录的名字。

1)ls –a 显示当前目录中的所有文件,包含隐藏文件.

2)ls –l 显示文件及其详细信息。

$ ls -l
total 56
-rwxrw-rw- 1 zcx zcx  1840  8月  6 20:19
alloc.h
-rwxrwxr-x 1 zcx zcx  8078  8月 18 21:48 a.out
-rwxrw-rw- 1 zcx
zcx  4754  7月 31 16:37 apue.h
-rwxrw-rw- 1 zcx zcx  2021  5月 24  2005
error.c
-rw-r--r-- 1 zcx zcx 16394  8月 18 21:48 file.hole
drwxrwxr-x 2
zcx zcx  4096  8月 17 21:50 firstChapter
-rw-rw-r-- 1 zcx zcx   391  8月 18
21:48 holefile3.2.c
-rw-rw-r-- 1 zcx zcx   139  8月 17 21:56 lseek3.1.c

drwxrwxr-x 2 zcx zcx  4096  8月 18 11:15 secondChapter
drwxrwxr-x 2 zcx
zcx  4096  8月 18 21:41 thirdChapter
-rw-rw-r-- 1 zcx zcx   271  8月  1 09:44
ws_fork.c

显示的文件详细信息分别代表什么呢?

total 56 代表当前目录下文件大小的总和为56K(每个目录的大小都按4K算)

drwxr-xr-x 第一个字符有3种情况:“-”表示普通文件,“d”代表目录,“l”代表连接文件,“b”代表设备文件。

后面的9个字符每3个为一组,分别代表文件所有者、文件所有者所在用户组、其它用户对文件拥有的权限。每组中3个字符分别代表读、写、执行的权限,若没有其中的任何一个权限则用“-”表示。执行的权限有两个字符可选“x”代表可执行,“s”代表套接口文件。

紧接着的数字2代表 “aa”这个目录下的目录文件数目(这个数目=隐藏目录数目+普通目录数目)。我们进入“aa”目录用命令 ls
–al (为了看到隐藏文件我们加上-a这个参数).

total 112
drwxrwxr-x 5 zcx zcx  4096  8月 18 21:48 .
drwxrwxr-x 4 zcx
zcx  4096  8月  3 10:18 ..
-rwxrw-rw- 1 zcx zcx  1840  8月  6 20:19 alloc.h

-rwxrwxr-x 1 zcx zcx  8078  8月 18 21:48 a.out
-rwxrw-rw- 1 zcx zcx 
4754  7月 31 16:37 apue.h
-rwxrw-rw- 1 zcx zcx  2021  5月 24  2005 error.c

-rw-r--r-- 1 zcx zcx 16394  8月 18 21:48 file.hole
drwxrwxr-x 2 zcx zcx 
4096  8月 17 21:50 firstChapter
-rw-rw-r-- 1 zcx zcx   391  8月 18 21:48
holefile3.2.c
-rw-r--r-- 1 zcx zcx 12288  8月 18 21:45 .holefile3.2.c.swn

-rw------- 1 zcx zcx 12288  8月 18 11:31 .holefile3.2.c.swo
-rw------- 1
zcx zcx 12288  8月 18 11:31 .holefile3.2.c.swp
-rw------- 1 zcx zcx 12288  8月
18 21:45 .ho.swp
-rw-rw-r-- 1 zcx zcx   139  8月 17 21:56 lseek3.1.c

drwxrwxr-x 2 zcx zcx  4096  8月 18 11:15 secondChapter
drwxrwxr-x 2 zcx
zcx  4096  8月 18 21:41 thirdChapter
-rw-rw-r-- 1 zcx zcx   271  8月  1 09:44
ws_fork.c
后面的zcx zcx 分布为用户名
和组用户名,接着后面的数据为文件或目录大小,再接着就是最后修改时间等。

linux重定向

看了./a.out 2 2>>temp.foo
这个命令,网上查了讲的事重定向问题,这个命令的意思把标准错误信息重定向到temp.foo(0文件描述符代表标准输入,1代表标准输出,2代表标准错误信息).

这里推荐一个网址,作者讲的比较详细,我就不啰唆了:http://www.cnblogs.com/wawlian/archive/2012/12/16/2820351.html

unix环境高级编程基础知识之第二篇(3)的更多相关文章

  1. unix环境高级编程基础知识之第一篇

    陆陆续续看完了圣经第一章,熟悉了unix的整个编程流程,c语言的用处在这里得到伸张. 从unix的体系结构,原来操作系统包括内核及一些其他软件,我们常常误称为linux内核为操作系统,这俨然成为一种共 ...

  2. unix环境高级编程基础知识之第四章

    1.从当前用户转到root用户:直接输入su命令,然后输入root密码,如果之前没有设置root命令密码会登陆不成功,这里需要命令sudo passwd命令设置密码,然后按照上面输入就成:从root命 ...

  3. Unix环境高级编程——守护进程记录总结(从基础到实现)

    一.概念及其特征 守护进程是系统中生存期较长的一种进程,常常在系统引导装入时启动,在系统关闭时终止,没有控制终端,在后台运行.守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程 ...

  4. Unix 环境高级编程

    UNIX 环境高级编程 本书描述了UNIX系统的程序设计接口--系统调用接口和标准C库提供的很多函数. 与大多数操作系统一样,Unix为程序员运行提供了大量的服务--打开文件,读文件,启动一个新程序, ...

  5. 《UNIX环境高级编程》(APUE) 笔记系列

    本系列笔记主要是对于 <UNIX环境高级编程>(APUE) 各章节内容 概念性的总结 ,不涉及代码解读 . 目录 : 第一章 UNIX基础知识 第二章 UNIX标准及实现 第三章 文件I/ ...

  6. (十三) [终篇] 一起学 Unix 环境高级编程 (APUE) 之 网络 IPC:套接字

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  7. (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  8. (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  9. (六) 一起学 Unix 环境高级编程 (APUE) 之 进程控制

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

随机推荐

  1. Maven在Windows上的安装与配置

    下载Maven 1.进入Maven官网下载:maven.apache.org(点击进入或复制浏览器地址栏,回车进入) 注意事项:需要大家要注意的是(截至目前2015年12月1日)最新版本的Maven3 ...

  2. Java数组的12个常用方法

    以下是12个关于Java数组最常用的方法,它们是stackoverflow得票最高的问题. 声明一个数组 String[] aArray = new String[5]; String[] bArra ...

  3. Java Security:公钥私钥、数字签名、消息摘要是什么

    1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥. 2. 鲍勃把公钥送给他的朋友们----帕蒂.道格.苏珊----每人一把. 3. 苏珊要给鲍勃写一封保密的信.她写完后用鲍勃的公钥加密,就可以达到保密的 ...

  4. Filestream 使用简单步骤

    为了减少大文件在数据库的存储对数据库的读写效率造成的压力,多了FileStream这一个功能,下面介绍一下如何快速使用FileStream. 1.开启SqlServer实例对FileStream 的开 ...

  5. cocos之观察者模式应用实例

    观察位置: 定义宏常量位置: 添加观察者回调函数位置: 回调函数实现位置:

  6. mysql备份还原

    备份java代码如下: /** * 备份单个数据库 * @param dbName 数据库名称 * @return 备份成功或者失败 */ @Override public boolean backu ...

  7. IntelliJ IDEA14.1中java项目Maven中没有配置JDK时的问题

    在IntelliJ IDEA 14.1中使用在java项目中使用Maven时当没有在Maven中配置JDK编译版本.源码版本时,IDEA将默认的编译版本.源码版本设置为jdk5. 在IDEA中Lang ...

  8. JavaScript目录菜单滚动反显组件的实现

    JavaScript目录菜单滚动反显组件,有以下两个特点 每个导航菜单项(nav)对应页面一个内容区域(content) 滚动页面到特定内容区域(content)时,对应的菜单会自动切换,一般会添加一 ...

  9. ELF Format 笔记(二)—— ELF Header

    ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 以 32 位的 ELF header 数据结构为例: #define EI_NIDENT 16 typede ...

  10. 设置SecureCRT配色和解决乱码问题

    SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单的说是Windows下登录UNIX或Linux服务器主机的软件. 一.配色 第一步: Options => Sessi ...