看了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. HashMap常用方法

    当需要对元素进行计数时,HashMap非常有用,如下例子,统计一个字符串中每个字符出现的次数: package simplejava; import java.util.HashMap; import ...

  2. C#语句1:选择语句二(switch break)

    (二)switch case switch case 必须与 break 一同使用.break是跳转语句.与switch case连用的时候是跳出最近的{}. 注: ●若case后面接收的是字符串类型 ...

  3. .NET/ASP.NET 4.5 Bundle组件(捆绑、缩小静态文件)

    阅读目录: 1.开篇介绍 2.System.Web.Optimization 组件 3.System.Web.Optimization 组件基本原理 4.扩展自定义类型静态文件 1]开篇介绍 这篇文章 ...

  4. my_strcmp()

    void my_strcmp(const char* s1,const char* s2){ int i=0; while(*(s1+i)!='\0'||*(s2+i)!='\0'){ if(*(s1 ...

  5. Linux工具之man手册彩色页设置

    说明: 对于我们开发人员或者运维工程师来说,经常要查询某个系统命令或者C函数接口的使用方法,最好的最专业的资料就是man手册,通过一些设置可以让man手册页面显示适当颜色,方便阅读,增强美观性. 设置 ...

  6. Mac OSX下卸载Nodejs

    有时手贱看到新版本就升级,升级后发现一堆模块不能用了,心情好慢慢调,但也有调不好的时候,只能卸载重装低版本的node了. 我的机器环境如下 1. Mac OSX 10.10.3 2. node为0.1 ...

  7. RCC BUCK-BOOST变压器设计

    电路处于Buck-Boost DCM模式,最恶劣情况为输入电压最低时.取频率为f 以下图为例: 1.MOS耐压选择: Vmos≥Vinmax+Vout+80 2.保证磁芯不饱和且始终工作在DCM模式 ...

  8. 我要好offer之 二叉树大总结

    一. 二叉树定义 二叉树具有天然的递归特性,凡是二叉树相关题,首先应该联想到递归 struct BinTreeNode { BinTreeNode* left; BinTreeNode* right; ...

  9. ArrayList实现线程安全的blogs

    ArrayList是线程不安全的,轻量级的.如何使ArrayList线程安全? 1.继承Arraylist,然后重写或按需求编写自己的方法,这些方法要写成synchronized,在这些synchro ...

  10. lock关键字只不过是C#提供的语法糖

    lock关键字只不过是C#提供的语法糖, 最终使用的还是Monitor类. Monitor类的Enter方法要求传入的参数不为null, 否则会有ArgumentNullException excep ...