网站大量收购独家精品文档,联系QQ:2885784924

Shell 文件操作.pdf

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Shell 文件操作

Shell ⽂件操作 前言 这周来探讨⽂件操作。 在⽇常学习和⼯作中,总是在不断地和各种⽂件打交道,这些⽂件包 普通⽂本⽂ 件,可以执⾏的程序,带有控制字符的⽂档、存放各种⽂件的⽬录、⽹络套接字⽂ 件、设备⽂件等。这些⽂件又具有诸如属主、⼤⼩、创建和修改⽇期等各种属性。⽂ 件对应⽂件系统的⼀些数据块,对应磁盘等存储设备的⼀⽚连续空间,对应于显⽰设 备却是⼀些具有不同形状的字符集。 在这⼀节,为了把关注点定位在⽂件本⾝,不会深⼊探讨⽂件系统以及存储设备是如 何组织⽂件的 (在后续章节再深⼊探讨),⽽是探讨对它最熟悉的⼀⾯,即把⽂件当 成是⼀系列的字符 (⼀个 byte)集合看待。因此之前介绍的 《 Shell 编程范例之字符 串操作》在这⾥将会得到⼴泛的应⽤,关于普通⽂件的读写操作已经⾮常熟练,那就 是“重定向” ,这⾥会把这部分独⽴出来介绍。关于⽂件在 Linux 下的“数字化” (⽂件 描述符)⾼度抽象,“⼀切皆为⽂件”的哲学在 Shell 编程⾥也得到了深刻的体现。 下⾯先来介绍⽂件的各种属性,然后介绍普通⽂件的⼀般操作。 ⽂件的各种属性 ⾸先通过⽂件的结构体来看看⽂件到底有哪些属性: struct stat { dev_t st_dev; /* 设备 */ ino_t st_ino; /* 节点 */ mode_t st_mode; /* 模式 */ nlink_t st_nlink; /* 硬连接 */ uid_t st_uid; /* ⽤户ID */ gid_t st_gid; /* 组ID */ dev_t st_rdev; /* 设备类型 */ off_t st_off; /* ⽂件字节数 */ unsigned long st_blksize; /* 块⼤⼩ */ unsigned long st_blocks; /* 块数 */ time_t st_atime; /* 最后⼀次访问时间 */ time_t st_mtime; /* 最后⼀次修改时间 */ time_t st_ctime; /* 最后⼀次改 时间(指属性) */ }; 下⾯逐次来了解这些属性,如果需要查看某个⽂件属性,⽤ stat 命令就可,它会按 照上⾯的结构体把信息列出来。另外,ls 命令在跟上⼀定参数后也可以显⽰⽂件的 相关属性,⽐如 l 参数。 ⽂件类型 ⽂件类型对应于上⾯的 st_mode, ⽂件类型有很多,⽐如常规⽂件、符号链接 (硬链 接、软链接)、管道⽂件、设备⽂件(符号设备、块设备)、socket⽂件等,不同的⽂件 类型对应不同的功能和作⽤。 范例:在命令⾏简单地区分各类⽂件 $ ls l total 12 drwxr xr x 2 root root 4096 2007 12 07 20:08 directory_file prw r r 1 root root 0 2007 12 07 20:18 fifo_pipe brw r r 1 root root 3, 1 2007 12 07 21:44 hda1_block_dev_file crw r r 1 root root 1, 3 2007 12 07 21:43 null_char_dev_file rw r r 2 root root 506 2007 12 07 21:55 regular_file rw r r 2 root root 506 2007 12 07 21:55 regular_file_hard_li lrwxrwxrwx 1 root root 12 2007 12 07 20:15 regular_file_soft_li $ stat directory_file/ File: `directory_file/ Size: 4096 Blocks: 8 IO Block: 4096 direc Device: 301h/769d Inode: 521521 Links: 2 Access: (0755/drwxr xr x) Uid: ( 0/ root)

文档评论(0)

ldj215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档