学习linux环境高级编程首先学习的是文件的操作。因为有

学习 Linux 环境高级编程,首先学习的是文件的操作。因为有一句很有趣的话“Linux

下一切皆文件”。所以掌握了文件操作的方法,也就算摸到了门路。

5.1 文件和目录

首先直观地感受一下,在终端下输入命令 ls -l,如图 5-1 所示。

图5-1 文件目录

5-1 2

图 的前 行为

drwxr-xr-x 2 root root 4096 2015-06-25 1111

-rw-r--r-- 1 root root 0 2015-06-25 11.c

125

1.drwxr-xr-x

drwxr-xr-x 代表的是文件类型和文件权限。常用的文件类型有:

1 -

() :普通文件,存各种数据。

2 d

() :目录文件,存结构体,结构体内部标识这个目录中的文件名称等信息。

3 l

() :链接文件,需要注意的是,软链接才是文件,而硬链接仅仅是一节点。

4 c

() :字符设备,除了块设备都是字符设备,没有扇区的概念。

5 b

() :块设备,所有存储类的驱动都称为块设备,包含扇区处理。

6 p

() :管道设备,是用内核内存模拟的通道。

从上述说明可以看出,例子中的文件是一个目录文件,原因是第一个符号代表文件类型,

d 代表此文件是一个目录文件。

2 .文件权限

文件权限有:

1 r 100 4

() 为读,二进制权重为 ,即 。

2 w 010 2

() 为写,二进制权重为 ,即 。

3 x 001 1

() 为执行,二进制权重为 ,即 。

4 - 0

() 为无操作,二进制权重为 。

5 rwx

() 的顺序不可改,表示可读可写可执行。

6 -wx

() 表示不能读,可写可执行。

上述就是文件权限的表示方法,文件权限是用八进制来表达的,如果一个文件有全部的

7 4+2+1 rwx

权限,那么对应八进制里的数是 ( )。同时读者会发现有多组 ,它所表达的不仅

仅是它自身的权限。这里涉及一个分组的概念。

1 u user

() 组:创建者( );

2 g group

() 组:创建者所在组的成员( );

3 o other

() 组:其他人所具备的权限( )。

也就是说,例子中的三组 rwx 都是依照上述顺序来说明权限的。例子里的文件权限就是:

创建者可读可写可执行,所在组的成员可读可执行,其他成员可读不可写不可执行。

3 .2

2 2

图中文件类型和权限之后是数字 ,这个 表示的是文件节点数,也就是说,此文件是

一个目录文件。所以,目录的节点数代表该目录下的文件个数,在这里应该是有两个文件。

如果此文件不是目录,只是普通文件,那么这个数字就代表硬链接的个数。关于链接的几点

说明如下:

1

()链接分为硬链接和软链接(符号链接,即快捷方式)。

2

()硬链接,只是增加一个引用计数,本质上并没有物理上的增加文件。硬链接不是

文件。

3

()符号链接,是在磁盘上产生一个文件,这个文件内部写入了一个指向被链接的文件

的指针。

4 ln

()采用

linux环境编程 学习,学习linux环境高级编程首先学习的是文件的操作。因为有.pdf...相关推荐

  1. OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作

    OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作 一.Write_XML_and_YAML_File(写入XML) #include <opencv2/opencv ...

  2. Python学习笔记:面向对象高级编程(完)

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  3. Python学习笔记:面向对象高级编程(中下)

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  4. Python学习笔记:面向对象高级编程(中上)

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  5. Python学习笔记:面向对象高级编程(上)

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  6. 嵌入式Linux编程基础ppt,嵌入式LinuxC高级编程.ppt

    <嵌入式LinuxC高级编程.ppt>由会员分享,可在线阅读,更多相关<嵌入式LinuxC高级编程.ppt(45页珍藏版)>请在装配图网上搜索. 1.嵌入式Linux C高级编 ...

  7. abb机器人编程手册_002.ABB机器人高级编程--String飞升篇

    ABB机器人高级编程--String飞升篇 最近国庆节所以托更了,不好意思. 今天也分享的也不能算是飞升,只是把我几年前写的代码和大家分享一下,希望大家相互学习一起进步,希望更多有这方便意向和天赋的朋 ...

  8. android高级编程新浪,《C高级编程(第4版)》-完整教材教程

    崇仁不畅陌生丽台怪声礼物两可.寰球撬杠倡导搏击电星新盘蒙住<C高级编程(第4版)>-完整教材教程,胚柄抽空绿化些微两路.恸哭浅山转折乐华被迫党员心咒.国网茶荷前镇鬼物奶羊,全班柳铁路遥橱窗 ...

  9. c#高级编程第11版 pdf网盘_c#高级编程_c#高级编程 目录 微盘_c#高级编程第10版 pdf...

    c#高级编程 C#高级编程(第9版)-C# 5.0 & .NET 4.5.1是由.NET专家的梦幻组合编写,包含开发人员使用C#所需的所有内容.C#是编写.NET应用程序的一种语言,本书适合于 ...

  10. 【廖雪峰Python学习笔记】面向对象高级编程

    文章目录 为实例和类绑定属性和方法 \_\_slots__限制当前class实例,对子类不管用 @property装饰器,将`getter`方法变成属性 多重继承 -- 一个子类可同时获得多个父类的所 ...

最新文章

  1. 在ASP程序设计中在使用Response对象
  2. memcached mysql 性能测试_memcached +mysql+php 测试例子
  3. Ubuntu系统启动错误问题的解决
  4. php管道邮件,php进程通信-PIPE管道通信
  5. 正则表达式收藏(四)之MySQL的正则
  6. 算法竞赛进阶指南第一章--题解
  7. GBDT是如何成为推荐系统顶级工具人的?
  8. vimrc.local 备份
  9. MySQL Operators(比较操作符,逻辑运算符)
  10. 系统与服务器断开了连接不上,win7系统电脑玩跑跑卡丁车出现与服务器断开连接的解决方法...
  11. liunx中安装软件的几种方式
  12. 计算机和机械交叉学科会议期刊,机器视觉相关的研究团队
  13. NOR Flash、NAND Flash、SPI Flash、CFI Flash
  14. JAVA日期格式化大写YYYY-MM-dd和小写yyyy-MM-DD的坑
  15. Msm8960(APQ8064)平台的MSM-AOSP-kitkat编译适配(7):信号通讯
  16. Excel怎么做均值-极差控制图
  17. 页面导航-声明式/编程式导航
  18. send message
  19. 【数据库】Navicat编写MySQL自定义函数详解
  20. 功率半导体的正负温度系数

热门文章

  1. 岗位内推 | 微软亚洲研究院智能多媒体组招聘计算机视觉算法实习生
  2. 2017年度最值得读的AI论文评选 | 大张旗鼓送福利
  3. 【华为云踩坑】开启了入方向规则的 tcp/80 端口,仍然无法访问
  4. HDU1506 / POJ2339 Largest Rectangle in a Histogram 单调递减栈
  5. vc++ 6.0 创建程序快捷方式的一个例子源码_漏洞复现:phpcms v9.6.0任意文件上传漏洞(CVE201814399)...
  6. pagehelper 不分页几种情况的解决方法
  7. protobuf windows java_protobuf windows java 环境搭建
  8. linux增加php进程数,linux - 调整php-fpm进程数之后,为什么负载飙升的厉害
  9. Shiro+springboot+mybatis+EhCache(md5+salt+散列)认证与授权-03
  10. Shiro+springboot+mybatis(md5+salt+散列)认证与授权-01