看了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. Go语言异步服务器框架原理和实现

    Go语言类库中,有两个官方的服务器框架,一个HTTP,一个是RPC.使用这个两个框架,已经能解决大部分的问题,但是,也有一些需求,这些框架是不够的,这篇文章,我们先分析一下HTTP 和 RPC服务器的 ...

  2. ASP.NET MVC 在控制器中获取某个视图动态的HTML代码

    如果我们需要动态的用AJAX从服务器端获取HTML代码,拼接字符串是一种不好的方式,所以我们将HTML代码写在cshtml文件中,然后通过代码传入model,动态获取cshtml中的HTML代码 当然 ...

  3. partproble在RHEL 6下无法更新分区信息

    在RHEL5.x版本下面,在添加磁盘分区等操作后,一直使用partproble命令使内核重新读取分区表信息,从而不用重新启动.但是最近在RHEL 6(Red Hat Enterprise Linux ...

  4. java JedisUtils工具类

    package com.sh.xrsite.common.utils; import java.util.List; import java.util.Map; import java.util.Se ...

  5. python 笔记(一) —— 不要误用 ++i、--i

    ilocker:关注 Android 安全(新手) QQ: 2597294287 在 python 中也可以写 ++i,但含义完全不同于 c/c++.python 的 ++i 并不是将 i 自增 1, ...

  6. RedHat 6.2 Linux修改yum源免费使用CentOS源

    在没有光盘的情况,需要安装软件包,就要用到共网的yum源来安装了. RedHat linux 默认是安装了yum软件的,但是由于激活认证的原因让redhat无法直接进行yum安装一些软件,如果我们需要 ...

  7. CentOS最大文件描述符限制更改

    系统级的限制:/proc/sys/fs/file-max中设定了系统最大能打开的文件数. 查看该值可以用如下方式: [root@#panda ~]# cat /proc/sys/fs/file-max ...

  8. .NET导入导出Excel

    若是开发后台系统,ASP.NET MVC中总是涉及了很多导入导出Excel的问题,有的时候处理起来比较烦 如果能使用以下代码解决,就完美了 public class ReportModel { [Ex ...

  9. 记一次ganglia的故障分析 mem_report不显示

    ganglia集群中mem_report不能正确显示,有的显示有些不显示. 我通过web开发工具F12,获取生成图片的路径,然后加上&debug=3 显示发现: No matching met ...

  10. AWS国际版的Route 53和CloudFront

    注册AWS国际版账号后,却发现Route 53和CloudFront功能是无法使用的.于是提交了一个Service Request,得到的答复是这两个功能需要验证后才能激活. 在控制台中点击进入Rou ...