unix环境高级编程基础知识之第二篇(3)

  看了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

原文地址:https://www.cnblogs.com/zCoderJoy/p/3933434.html