文件属性详解

合集下载

spring配置文件各个属性详解

spring配置文件各个属性详解

spring配置文件各个属性详解分类:spring 2012-08-09 11:25 9316人阅读评论(2) 收藏举报springaophibernateattributesxhtmlwebsphere目录(?)[+]一、引用外部属性文件<bean id="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations"><list><value>classpath:mail.properties</value><value>classpath:jdbc.properties</value></list></property></bean>我们定义了一个PropertyPlaceholderConfigurer类的实例,并将其位置属性设置为我们的属性文件。

该类被实现为Bean工厂的后处理器,并将使用定义在文件中的属性来代替所有的占位符(${...}value)。

注意:而在spring2.5的版本中提供了一种更简便的方式,如:1.<context:property-placeholderlocation="classpath:config/jdbc.properties"/>这样以后要使用属性文件中的资源时,可以使用${属性名}来获得。

二、常用数据源的配置第一种是:DBCP数据源,(需要加入2个jar文件,在spring中的lib下jakarta-commons/commons-dbcp.jar和commons-pools.jar)主要配置如下:<!-- Mysql版--><bean id="dataSource"class="mons.dbcp.BasicDataSource"><property name="driverClassName"value="com.mysql.jdbc.Driver"></property><property name="url"value="${jdbc.url}"></property><property name="username" value="${ername}"></property><property name="password" value="${jdbc.password}"></property></bean>第二种是:c3p0数据源,跟第一种一个类型,需加入c3p0.jar包。

文件(夹)的属性

文件(夹)的属性

添加桌面小工具
1、控制面板-所有控制面板项-桌面小工具-右键要添加的工具-添加
2、删除桌面小工具 1)右键-删除桌面小工具 2)点击关闭按钮 3、卸载桌面小工具 控制面板-所有控制面板项-桌面小工具-右键要卸载的小工具-卸载-确 定
4、设置日期和时间 控制面板-所有控制面板项-日期和时间-更改日期和时间-确定-确定
2、更改桌面背景 控制面板-所以控制面板项-个性化-更改桌面图标-在“桌面图标设置”里选 中要更改的图标单击“更改图标”-选中要替换的图标或浏览选择-确定-确 定
3、创建桌面快捷方式 1)开始-选择要创建桌面快捷方式的项目-右键-发送到-桌面快捷方式 2)按住Ctrl不放,直接拖拉到桌面
开始-右键项目-锁定到任务 栏 右键项目快捷方式-删除
谢谢!再见!
文件(夹)的属性
文件(夹)属性有4种:只读、隐藏、存档、系统 查看方法: 1、文件-属性 2、右键-属性
系统的设置与优化
字体设置 1、查看字体 开始-控制面板-字体-单击任一字体预览
2、安装字体 1)复制字体粘贴到C:\Windows\Fonts地址的文件夹中 2)快捷方式安装字体-控制面板-字体-字体设置-勾选“允许使用快捷键方 式安装字体”-确定
,选择任一种输入语言。
2、热键法 Ctrl+Space Ctrl+Shift Shift+Space Ctrl+句号键
打开或关闭输入法 循环切换以安装的输入法 全角和半角切换 中、英文符号切换
美化桌面
1、更改桌面背景 控制面板定-确定-保存修 改
3、删除字体 1)控制面板-字体-右键-删除
2)控制面板-文件-删除 3)菜单栏-删除
输入法管理

VBA 中的文件属性与标签操作指南

VBA 中的文件属性与标签操作指南

VBA 中的文件属性与标签操作指南随着计算机技术的不断发展与普及,文件管理成为了我们日常工作中不可避免的一部分。

而在 VBA(Visual Basic for Applications)编程中,文件属性与标签的操作是非常重要的。

本篇文章将向您介绍 VBA 中的文件属性与标签操作指南,帮助您更好地管理和操作文件。

一、文件属性的获取与修改在 VBA 中,我们可以使用 Shell 对象来获取或修改文件的属性。

以下是一些常用的文件属性的获取和修改方法:1. 文件路径和文件名通过 VBA 中的 FileDialog 对象,我们可以创建一个文件对话框并让用户选择文件。

然后,我们可以获取所选文件的路径和文件名,并将其保存到一个变量中,以便后续的操作。

2. 文件大小使用FileLen 函数可以获取文件的大小。

该函数接受文件的完整路径作为参数,返回文件的大小(以字节为单位)。

3. 创建日期和修改日期通过使用 VBA 中的 FileSystemObject 对象,我们可以获取文件的创建日期和修改日期。

使用此对象的 GetFile 方法,将文件路径作为参数传递给该方法,然后可以使用 FileDateTime 属性来获取文件的创建日期和修改日期。

4. 文件类型使用 FileSystemObject 对象的 GetExtensionName 方法,可以获取文件的扩展名。

该方法将文件路径作为参数传递,并返回文件的扩展名。

5. 文件属性使用 FileSystemObject 对象的 GetAttr 方法,可以获取文件的属性。

该方法将文件路径作为参数传递,并返回文件的属性。

例如,如果返回 1,则表示文件为只读属性。

以上是一些常用的文件属性的获取方法。

如果需要修改文件属性,可以使用SetAttr 方法。

这个方法接受文件路径和属性值作为参数,将属性值写入文件的属性中。

请注意,如果要修改文件的只读属性,需要在修改前先将其取消只读。

二、文件标签的操作文件标签是文件的元数据,用于描述文件的特定信息。

iec61850规约SCL文件属性详解

iec61850规约SCL文件属性详解

SCL文件属性详解目录0 前言 (5)1 术语 (5)2 概述 (5)2.1SCL语言介绍 (5)2.2SCL文件分类 (6)3 工程实施过程 (8)3.1公共部分 (8)3.2我们监控与我们装置 (8)3.3我们监控与外厂家装置 (8)3.4我们装置与外厂家监控 (9)4 文件错误验证规则 (9)4.1验证规则概述 (9)4.2语法验证细则 (9)4.2.1 SCL节点 (9)4.2.2 Header节点 (10)4.2.3 History节点 (10)4.2.4 Hitem节点 (10)4.2.5 Communication节点 (11)4.2.6 SubNetwork节点 (11)4.2.7 BitRate节点 (11)4.2.8 ConnectedAP节点 (11)4.2.9 Address节点 (12)4.2.10 P节点 (12)4.2.11 GSE节点 (12)4.2.12 MinTime、MaxTime节点 (12)4.2.13 SMV节点 (12)4.2.14 PhysConn节点 (13)4.2.15 IED节点 (13)4.2.16 Services节点 (14)4.2.17 DynAssociation节点 (14)4.2.18 SettingGroups节点 (14)4.2.19 GetDirectory节点 (15)4.2.20 GetDataObjectDefinition节点 (15)4.2.21 DataObjectDirectory节点 (15)4.2.22 GetDataSetValue节点 (15)4.2.23 SetDataSetValue节点 (15)4.2.24 DataSetDirectory节点 (15)4.2.25 ConfDataSet节点 (15)4.2.26 DynDataSet节点 (15)4.2.27 ReadWrite节点 (16)4.2.28 TimerActivatedControl节点 (16)4.2.29 ConfReportControl节点 (16)4.2.31 ConfLogControl节点 (16)4.2.32 ReportSettings节点 (16)4.2.33 LogSettings节点 (16)4.2.34 GSESettings节点 (17)4.2.35 SMVSettings节点 (17)4.2.36 GSEDir节点 (17)4.2.37 GOOSE节点 (17)4.2.38 GSSE节点 (17)4.2.39 SMV节点 (18)4.2.40 FileHandling节点 (18)4.2.41 ConfLNs节点 (18)4.2.42 ClientServices节点 (18)4.2.43 ConfLdName节点 (18)4.2.44 AccessPoint节点 (18)4.2.45 Server节点 (19)4.2.46 Authentication节点 (19)4.2.47 LDevice节点 (19)4.2.48 LN0节点 (20)4.2.49 DataSet节点 (20)4.2.50 FCDA节点 (21)4.2.51 FCCB节点 (21)4.2.52 ReportControl节点 (21)4.2.53 TrgOps节点 (22)4.2.54 OptFields节点 (22)4.2.55 RptEnabled节点 (23)4.2.56 ClientLN节点 (23)4.2.57 LogControl节点 (23)4.2.58 DOI节点 (24)4.2.59 SDI节点 (24)4.2.60 DAI节点 (24)4.2.61 Val节点 (25)4.2.62 Inputs节点 (25)4.2.63 ExtRef节点 (25)4.2.64 Log节点 (26)4.2.65 GSEControl节点 (26)4.2.66 SampledValueControl节点 (26)4.2.67 SmvOpts节点 (27)4.2.68 SettingControl节点 (27)4.2.69 SCLControl节点 (27)4.2.70 LN节点 (27)4.2.71 AccessControl节点 (28)4.2.72 Association节点 (28)4.2.73 ServerAt节点 (28)4.2.75 Sunject节点 (29)4.2.76 IssuerName节点 (29)4.2.77 SMVSecurity节点 (29)4.2.78 DataTypeTemplates节点 (29)4.2.79 LNodeType节点 (30)4.2.80 DO节点 (30)4.2.81 DOType节点 (30)4.2.82 SDO节点 (31)4.2.83 DA节点 (31)4.2.84 DAType节点 (31)4.2.85 BDA节点 (32)4.2.86 EnumType节点 (32)4.2.87 EnumVal节点 (32)4.3标准验证细则 (33)4.3.1 概述 (33)4.3.2 检查没有引用的LNType[告警] (33)4.3.3 检查没有引用的DOType[告警] (33)4.3.4 检查没有引用的DAType[告警] (33)4.3.5 检查没有引用的EnumType[告警] (33)4.3.6 检查重复的LNType [告警] (33)4.3.7 检查重复的DOType [告警] (33)4.3.8 检查重复的DAType [告警] (33)4.3.9 检查重复的EnumType [告警] (33)4.3.10 检查LN引用的type类型[错误] (33)4.3.11 检查DO引用的type类型[错误] (34)4.3.12 检查SDO引用的type类型[错误] (34)4.3.13 检查DA引用的type类型[错误] (34)4.3.14 检查BDA引用的type类型[错误] (34)4.3.15 检查DA引用的type类型的存在性[错误] (34)4.3.16 检查BDA引用的type类型的存在性[错误] (34)4.3.17检查DataSet中的成员[错误] (34)4.3.18检查BSC中的btype类型是不是Tcmd [错误] (35)4.3.19检查DPS错误[错误] (35)4.3.20检查数据类型EntryTime [错误] (35)4.3.21检查CDC-ING(ENG)-INC(ENC)-INS(ENS) [错误] (35)4.3.22检查ReportControl控制块中的属性name和datSet同名[告警] (35)4.3.23检查LNType扩充的情况[告警] (35)4.4应用验证细则 (35)4.4.1概述 (35)4.4.2检查rptID的唯一性 (35)4.4.3检查LLN0的存在性 (35)4.4.4检查LPHD的存在性 (35)4.4.5检查LLN0实例号 (36)4.4.7检查ClientLN中的iedName在通讯中是否配置 (36)5 常见问题说明 (36)5.1ICD文件错误 (36)5.2系统配置错误 (37)6 参考文献 (37)0 前言随着数字化工程的逐渐增多,我们也应该为数字化普及所涉及到的技术,由原来的少部分人掌握,普及到每个人的身上。

NTFS格式的文件属性

NTFS格式的文件属性

Windows下NTFS权限设置详解随着动网论坛的广泛应用和动网上传漏洞的被发现以及SQL注入式攻击越来越多的被使用,WEBSHELL让防火墙形同虚设,一台即使打了所有微软补丁、只让80端口对外开放的WEB服务器也逃不过被黑的命运。

难道我们真的无能为力了吗?其实,只要你弄明白了NTFS系统下的权限设置问题,我们可以对crackers们说:NO!要打造一台安全的WEB服务器,那么这台服务器就一定要使用NTFS和WindowsNT/2000/2003。

众所周知,Windows是一个支持多用户、多任务的操作系统,这是权限设置的基础,一切权限设置都是基于用户和进程而言的,不同的用户在访问这台计算机时,将会有不同的权限。

DOS是个单任务、单用户的操作系统。

但是我们能说DOS没有权限吗?不能!当我们打开一台装有DOS操作系统的计算机的时候,我们就拥有了这个操作系统的管理员权限,而且,这个权限无处不在。

所以,我们只能说DOS不支持权限的设置,不能说它没有权限。

随着人们安全意识的提高,权限设置随着NTFS的发布诞生了。

WindowsNT里,用户被分成许多组,组和组之间都有不同的权限,当然,一个组的用户和用户之间也可以有不同的权限。

下面我们来谈谈NT中常见的用户组。

Administrators,管理员组,默认情况下,Administrators中的用户对计算机/域有不受限制的完全访问权。

分配给该组的默认权限允许对整个系统进行完全控制。

所以,只有受信任的人员才可成为该组的成员。

PowerUsers,高级用户组,PowerUsers可以执行除了为Administrators组保留的任务外的其他任何操作系统任务。

分配给PowerUsers组的默认权限允许PowerUsers组的成员修改整个计算机的设置。

但PowerUsers不具有将自己添加到Administrators组的权限。

在权限设置中,这个组的权限是仅次于Administrators的。

如何在Windows中设置文件和文件夹的属性

如何在Windows中设置文件和文件夹的属性

如何在Windows中设置文件和文件夹的属性在Windows操作系统中,设置文件和文件夹的属性可以帮助我们更好地管理和组织我们的电脑文件。

通过设置属性,我们可以为文件和文件夹添加描述性的信息,例如作者、主题、关键字等。

同时,设置属性还可以控制文件和文件夹的可见性、只读状态以及其他一些特殊属性。

下面,让我们来了解如何在Windows中设置文件和文件夹的属性。

1. 打开文件资源管理器要设置文件和文件夹的属性,首先需要打开文件资源管理器。

在Windows系统中,可以通过点击桌面左下角的"开始"按钮,并选择"文件资源管理器"来打开。

2. 选择文件/文件夹在文件资源管理器中,浏览到你想要设置属性的文件或文件夹所在的位置。

可以通过单击左侧的目录树或者在地址栏中输入路径来导航。

3. 进入属性对话框选中文件或文件夹后,右键点击并选择"属性"选项。

这将弹出属性对话框,显示该文件或文件夹的详细属性信息。

4. 查看和修改常规属性在属性对话框的"常规"选项卡中,可以查看和修改文件或文件夹的常规属性。

这些属性包括名称、位置、大小、类型以及创建、修改和访问日期等信息。

5. 设置描述性属性在属性对话框的"详细信息"或"摘要"选项卡中,可以设置描述性属性,例如作者、主题、关键字等。

点击相应属性的输入框,可以键入相关信息。

这些属性可以帮助我们更好地组织和搜索文件。

6. 控制可见性和只读属性在属性对话框的"常规"或"安全"选项卡中,可以控制文件或文件夹的可见性和只读属性。

如果需要隐藏文件或文件夹,可以勾选"隐藏"选项。

如果需要禁止对文件进行修改或删除,可以选中"只读"选项。

7. 设置其他属性在属性对话框的其他选项卡中,还可以设置一些其他特殊属性。

Linuxll查看文件属性详解-软硬链接详解

Linuxll查看文件属性详解-软硬链接详解

Linuxll查看⽂件属性详解-软硬链接详解Linux⽂件属性及类型[root@localhost ~]# ll anaconda-ks.cfg⽂件类型权限硬连接数⽂件的⼤⼩⽂件的创建,修改时间- rw-------. 1 root root 1379 3⽉ 12 17:43 anaconda-ks.cfg[root@localhost ~]# ll -d zls⽂件类型权限硬连接数所属⽤户所属⽤户组⽂件的⼤⼩⽂件的创建修改时间d rwxr-xr-x. 2 root root 6 3⽉ 12 18:00⽂件名zls-:普通⽂件d:⽬录⽂件rw- --- --- :权限rwx r-x r-x :权限r:读 readw:写 writex:执⾏权限 executeLinux系统⽂件的类型ll 查看file # 查看⽂件类型- 普通⽂件d directory ⽬录⽂件c char 字符设备⽂件b block 块设备⽂件(⽤来存储数据的设备)s socket,安全套接字⽂件l link 软链接⽂件(快捷⽅式)p pipe 管道⽂件注意:通过颜⾊或者后缀判断⽂件类型不⼀定准确.系统链接⽂件⼀个⽂件分为两部分:真实数据 block元数据 inodeblock:真实数据占⽤的空间,默认⼀个block 4k,使⽤下⾯命令查看df -hinode:元数据占⽤的空间,形容⽂件属性。

df -i # 查看inode使⽤情况ls -i # 查看⽂件inode模拟inode占满场景[root@oldboy dev]# dd if=/dev/zero of=/opt/disk bs=1K count=1024 1024+0 records in1024+0 records out1048576 bytes (1.0 MB) copied, 0.00210524 s, 498 MB/s[root@oldboy dev]# ll /opt/disk-rw-r--r-- 1 root root 1048576 Mar 25 22:22 /opt/disk[root@oldboy dev]# mkfs.ext4 -i 1024 /opt/diskmke2fs 1.42.9 (28-Dec-2013)/opt/disk is not a block special device.Proceed anyway? (y,n) [root@oldboy dev]# mkfs.ext4 -i 1024 /opt/disk mke2fs 1.42.9 (28-Dec-2013)/opt/disk is not a block special device.Proceed anyway? (y,n) yFilesystem too small for a journalDiscarding device blocks: doneFilesystem label=OS type: LinuxBlock size=1024 (log=0)Fragment size=1024 (log=0)Stride=0 blocks, Stripe width=0 blocks1024 inodes, 1024 blocks51 blocks (4.98%) reserved for the super userFirst data block=1Maximum filesystem blocks=10485761 block group8192 blocks per group, 8192 fragments per group1024 inodes per groupAllocating group tables: doneWriting inode tables: doneWriting superblocks and filesystem accounting information: done[root@oldboy dev]# mkdir /data1[root@oldboy dev]# mount -t ext4 -o loop /opt/disk /data1[root@oldboy dev]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda3 28G 1.5G 27G 6% /devtmpfs 476M 0 476M 0% /devtmpfs 487M 0 487M 0% /dev/shmtmpfs 487M 7.6M 479M 2% /runtmpfs 487M 0 487M 0% /sys/fs/cgroup/dev/sda1 497M 120M 378M 25% /boottmpfs 98M 0 98M 0% /run/user/0/dev/sr0 4.3G 4.3G 0 100% /mnt/dev/loop0 891K 21K 799K 3% /data1[root@oldboy dev]# df -iFilesystem Inodes IUsed IFree IUse% Mounted on/dev/sda3 14423552 31519 14392033 1% /devtmpfs 121779 379 121400 1% /devtmpfs 124487 1 124486 1% /dev/shmtmpfs 124487 704 123783 1% /runtmpfs 124487 16 124471 1% /sys/fs/cgroup/dev/sda1 256000 326 255674 1% /boottmpfs 124487 1 124486 1% /run/user/0/dev/sr0 0 0 0 - /mnt/dev/loop0 1024 11 1013 2% /data1[root@oldboy dev]# cd /data1/# 尝试创建1024个⽂件到1014的时候就创建不了了。

iec61850规约SCL文件属性详解

iec61850规约SCL文件属性详解

SCL文件属性详解目录0 前言 51 术语 52 概述 52.1 SCL语言介绍 52.2 SCL文件分类 63 工程实施过程 83.1 公共部分 83.2 我们监控与我们装置 83.3 我们监控与外厂家装置 83.4 我们装置与外厂家监控 94 文件错误验证规则 94.1 验证规则概述 94.2 语法验证细则 94.2.1 SCL节点 94.2.2 Header节点 104.2.3 History节点 104.2.4 Hitem节点 104.2.5 Communication节点 114.2.6 SubNetwork节点 114.2.7 BitRate节点 114.2.8 ConnectedAP节点 114.2.9 Address节点 124.2.10 P节点 124.2.11 GSE节点 124.2.12 MinTime、MaxTime节点 124.2.13 SMV节点 124.2.14 PhysConn节点 134.2.16 Services节点 144.2.17 DynAssociation节点 144.2.18 SettingGroups节点 144.2.19 GetDirectory节点 154.2.20 GetDataObjectDefinition节点 15 4.2.21 DataObjectDirectory节点 154.2.22 GetDataSetValue节点 154.2.23 SetDataSetValue节点 154.2.24 DataSetDirectory节点 154.2.25 ConfDataSet节点 154.2.26 DynDataSet节点 154.2.27 ReadWrite节点 164.2.28 TimerActivatedControl节点 16 4.2.29 ConfReportControl节点 164.2.30 GetCBValue节点 164.2.31 ConfLogControl节点 164.2.32 ReportSettings节点 164.2.33 LogSettings节点 164.2.34 GSESettings节点 174.2.35 SMVSettings节点 174.2.36 GSEDir节点 174.2.37 GOOSE节点 174.2.38 GSSE节点 174.2.39 SMV节点 184.2.40 FileHandling节点 184.2.41 ConfLNs节点 184.2.42 ClientServices节点 184.2.43 ConfLdName节点 184.2.44 AccessPoint节点 184.2.45 Server节点 194.2.46 Authentication节点 194.2.47 LDevice节点 194.2.48 LN0节点 204.2.49 DataSet节点 204.2.50 FCDA节点 214.2.52 ReportControl节点 214.2.53 TrgOps节点 224.2.54 OptFields节点 224.2.55 RptEnabled节点 234.2.56 ClientLN节点 234.2.57 LogControl节点 234.2.58 DOI节点 244.2.59 SDI节点 244.2.60 DAI节点 244.2.61 Val节点 254.2.62 Inputs节点 254.2.63 ExtRef节点 254.2.64 Log节点 264.2.65 GSEControl节点 264.2.66 SampledValueControl节点 26 4.2.67 SmvOpts节点 274.2.68 SettingControl节点 274.2.69 SCLControl节点 274.2.70 LN节点 274.2.71 AccessControl节点 284.2.72 Association节点 284.2.73 ServerAt节点 284.2.74 GOOSESecurity节点 284.2.75 Sunject节点 294.2.76 IssuerName节点 294.2.77 SMVSecurity节点 294.2.78 DataTypeTemplates节点 29 4.2.79 LNodeType节点 304.2.80 DO节点 304.2.81 DOType节点 304.2.82 SDO节点 314.2.83 DA节点 314.2.84 DAType节点 314.2.85 BDA节点 324.2.86 EnumType节点 324.2.87 EnumVal节点 324.3 标准验证细则 334.3.1 概述 334.3.2 检查没有引用的LNType[告警] 334.3.3 检查没有引用的DOType[告警] 334.3.4 检查没有引用的DAType[告警] 334.3.5 检查没有引用的EnumType[告警] 334.3.6 检查重复的LNType [告警] 334.3.7 检查重复的DOType [告警] 334.3.8 检查重复的DAType [告警] 334.3.9 检查重复的EnumType [告警] 334.3.10 检查LN引用的type类型[错误] 334.3.11 检查DO引用的type类型[错误] 344.3.12 检查SDO引用的type类型[错误] 344.3.13 检查DA引用的type类型[错误] 344.3.14 检查BDA引用的type类型[错误] 344.3.15 检查DA引用的type类型的存在性[错误] 344.3.16 检查BDA引用的type类型的存在性[错误] 344.3.17检查DataSet中的成员[错误] 344.3.18检查BSC中的btype类型是不是Tcmd [错误] 354.3.19检查DPS错误 [错误] 354.3.20检查数据类型EntryTime [错误] 354.3.21检查CDC-ING(ENG)-INC(ENC)-INS(ENS) [错误] 35 4.3.22检查ReportControl控制块中的属性name和datSet同名[告警] 354.3.23检查LNType扩充的情况[告警] 354.4 应用验证细则 354.4.1概述 354.4.2检查rptID的唯一性 354.4.3检查LLN0的存在性 354.4.4检查LPHD的存在性 354.4.5检查LLN0实例号 364.4.6检查logName与LD一致 364.4.7检查ClientLN中的iedName在通讯中是否配置 365 常见问题说明 365.1 ICD文件错误 365.2 系统配置错误 376 参考文献 370 前言随着数字化工程的逐渐增多,我们也应该为数字化普及所涉及到的技术,由原来的少部分人掌握,普及到每个人的身上。

一文了解我们常用的文件与文件夹的一些属性

一文了解我们常用的文件与文件夹的一些属性

一文了解我们常用的文件与文件夹的一些属性文件属性是指文件分为不同类型的文件,以便存放和传输,它定义了文件的某种独特性质。

常见的文件属性有系统属性、隐藏属性、只读属性和归档属性。

下面我们一起来了解一下吧。

一、系统属性文件的系统属性是指系统的文件,它将被隐藏起来了,在一般的情况下,系统文件是不能被查看的,也不能被删除,是操作系统对重要的一种保护属性,防止这些文件被意外的损坏和丢失。

二、隐藏属性在我们查看磁盘文件的名称时,系统一般不会显示具有隐藏属性的文件名。

具有隐藏属性的文件是不能被删除的,也不能被复制和更改名称的。

三、只读属性对于具有只读属性的文件,可以查看它的名字,它能被应用,也能被复制,但是不能被修改和删除。

如果将可执行文件设置为只读文件,那不会影响它的正常执行,但是可以避免意外的删除和修改。

四、存档属性一个文件如果被创建之后,系统会自动将其设置成存档属性的文件,这个属性常用于文件的备份。

下面以文件夹为例介绍一下如何设置属性,具体操作步骤如下。

1、右键单击需要设置属性的文件夹,在弹出的快捷菜单中单击“属性”选项。

2、在弹出的窗口中,可以设置文件夹的各种属性。

单击“常规”选项卡,可以查看文件夹的基本属性内容,如文件夹类型、所在位置、大小占用空间、文件夹内包含文件及子文件的数量。

勾选“只读”“隐藏”单选框,可以设置文件夹的“只读”“隐藏”属性。

3、单击“高级”按钮,弹出“高级属性”窗口,可以设置存档文件夹、索引文件夹、压缩文件属性等。

4、单击“共享”按钮选项卡,弹出“文件共享”窗口,可以在文本框内输入希望共享的用户名称。

单击“添加”按钮,即可将该用户添加到共享用户清单中,单击“共享”按钮,即可共享此文件夹。

5、单击“高级共享”按钮,弹出“高级共享”窗口,勾选“共享此文件夹”单选框,可以进行“共享名”属性的设置,同时共享用户数量限制的设置、注释填写等属性。

单击“权限”按钮,弹出“共享权限”窗口,可以针对不同的用户,分别进行“完全控制”“更改”“读取”权限的设置。

文件的定义、文件各组成部分及其作用

文件的定义、文件各组成部分及其作用

文件的定义、文件各组成部分及其作用
文件的定义、文件各组成部分及其作用
文件是由数据和元数据组成的一种存储单位,它是在计算机的操作系统中创建的,包括文本、图像、视频等内容。

文件的各组成部分及其作用包括:
文件名:文件名是文件的标识,用来区分不同的文件,文件名可以由字母数字字符等组成,并且文件名的长度取决于操作系统。

文件类型:文件类型是标示文件类型的一个标识,一般可以用文件扩展名来表明文件的类型,如.doc文件的类型为word文档,.jpg 文件的类型为图像文件等。

文件内容:文件内容指的是文件中存储的数据,它们可以是文本、图像、视频、音频等文件格式的数据。

元数据:元数据是一种关于文件属性的信息,它可以包括文件的大小、创建时间、创建者以及文件的作用等信息,用于提供文件的一些基本信息。

- 1 -。

word2007-xml存储标签属性说明文件

word2007-xml存储标签属性说明文件

标签标签名称/属性中文名称/解释注解属性范围w:document(Main Document Story)主文件此部分为word文件的主体部分、包含字符、表格、图片、公式等w:body 主体正文部分内容w:p 段落代表着一个自然段落w:rsidR(Revision Identifier for Paragraph) 修订标识符指定唯一一个标识符,用来跟踪编辑在修订时表行标识,所有段落和段落中的内容都应该拥有相同的属性值,如果出现差异,那么表示这个段落在后面的编辑中被修改。

P标签名称/属性中文名称/解释注解属性范围①作用是在文档修改中记录修改的信息,尤其是合并等情况,特性:只是属性,没有特殊意义,可以关闭,信任中心“存储随机数以改善合并准确性”。

②Revision Information for Run Properties on the Paragraph Mark运行修订时信息的段落标记。

rsidRPr(Revision Identifier for Table Row Glyph Formatting)段落字形修订标识符指定唯一一个标识符,用来跟踪编辑在修订时字符或字形发生的改变,所有段落都应该拥有相同的属性值,如果出现差异,那么表示这个段落在后面的编辑中字形被修改。

w:rsidRDefault(Default Revision Identifier forRuns)默认的版本标识符指定唯一一个标识符,“w:rsidR”属性变化之前的默认属性,也就是版本属性。

Pw:rsidP(Revision Identifier for Paragraph Properties)段落属性修订标识符P(Paragraph Properties)段落属性Pw:pPr(1)Paragraphs and Rich Formatting(2) Text Paragraph Properties (1)段落格式(2) 文本段落属性●出现在非默认的段落中,如此段落定义为“标题二”的段落样式的段落。

[转]文件file属性详解

[转]文件file属性详解

[转]⽂件file属性详解不能直接访问⽤户计算机中的⽂件,⼀直都是Web应⽤开发中的⼀⼤障碍。

2000年以前,处理⽂件的唯⼀⽅式就是在表单中加⼊<input type="file">字段,仅此⽽已。

FileAPI(⽂件API)的宗旨是为Web开发⼈员提供⼀种安全的⽅式,以便在客户端访问⽤户计算机中的⽂件,并更好地对这些⽂件执⾏操作。

本⽂将详细介绍⽂件File API [注意]IE9-浏览器不⽀持File File API在表单中的⽂件输⼊字段的基础上,⼜添加了⼀些直接访问⽂件信息的接⼝。

HTML5在DOM中为⽂件输⼊元素添加了⼀个files集合。

在通过⽂件输⼊字段选择了⼀或多个⽂件时,files集合中将包含⼀组File对象,每个File对象对应着⼀个⽂件。

每个File对象都有下列只读属性 name:本地⽂件系统中的⽂件名 size:⽂件的字节⼤⼩ type:字符串,⽂件的MIME类型 lastModifiedDate:字符串,⽂件上⼀次被修改的时间 通过侦听change事件并读取files集合就可以知道选择的每个⽂件的信息<input type="file" id="file1"><div id="result"></div><script>file1.onchange = function(){var data = file1.files[0];result.innerHTML = '类型:' + data.type + '<br>⼤⼩:' + data.size + '(字节)<br>名称:' + + '<br>修改时间:' + stModifiedDate;}</script>【隐藏⽂件input】 现代浏览器⽀持隐藏掉默认的的⽂件输⼊框<input>元素,使⽤⾃定义的界⾯来充当打开⽂件选择对话框的按钮。

NTFS属性分析

NTFS属性分析

文件名属性内容结构
文件标志含义
命名空间
将一个POSIX或Win32文件名转换成一个DOS友好的文件名,遵循以下步骤: • 删除所有Unicode字符; • 删除所有的“.”,保留最后但又不是第一个字符的“.”; • 将所有字母转换成大写字母; • 删除禁止使用的字符: • 截断“.”之前的所有字符,使之只保留6个字符,然后加上“~1”; • 截断“.”后3个字符以后的所有字符: • 如果这样得到的文件名已经存在,将“~1”值递增,这也意味着,即使产生的DOS文件名是惟一的, 也不能断定产生这个DOS名的Win32文件名是惟一的。 • 根据图可以知道,其文件名为Win32&DOS类型,长为4个字符,从偏移0x42开 始,所以文件名为 “24004D0046005400",因为是Unicode字符,所以占用了8个字节, 也就是“$MFT”。
从偏移00H开始的四个字节表示类型,即属性名,这里是10H,在SAttrDef中, 10H表示标准信息; 从偏移04H开始的4个字节表示本属性长度,包括头部,这里是60H,即本属 性长度为96个字节,从属性开始的38H算起,38H+60H=98H,所以下一个属 性的起始偏移为98H。 从偏移08H开始的一个字节是非常驻标志,0表示本属性值常驻,1表示非常驻: 从偏移09H开始的1字节表示属性名长度,为0表示是$AttrDef中定义的标准属 性; 从偏移0AH开始的两个字节表示名称相对于本属性起始地址的偏移值,由于名 称长度为0,所以这里的值没有意义; 从偏移0CH开始的两个字节是标志字节;从偏移0EH开始的两个字节是标识字; 从偏移10H开始的四个字节表示常驻属性值的长度,此处为48H,表示属性部 分占用48H,属性头为18H;属性值为48H,共计18H+48H=60H,是属性长 度; 从偏移14H开始的两个字节表示相对属性起始地址的属性的起始偏移地址:从 偏移16H开始的1个字节表示索引标志;从偏17H开始的字节为填充字节;从 偏移18H开始的L(L为属性长度)个字节为属性字节,所使用的偏移是相对于属 性内容起始偏移的偏移,即相对于属性头起始偏移0x18处,相对于整个文件 记录偏移0x48处。

iec61850icd模型文件属性详解

iec61850icd模型文件属性详解

iec61850icd模型⽂件属性详解ICD模型⽂件属性详解⽬录0 前⾔ (5)1 术语 (5)2 概述 (5)2.1SCL语⾔介绍 (5)2.2SCL⽂件分类 (6)3 ⼯程实施过程 (8)3.1公共部分 (8)3.2我们监控与我们装置 (8)3.3我们监控与外⼚家装置 (8)3.4我们装置与外⼚家监控 (9)4 ⽂件错误验证规则 (9)4.1验证规则概述 (9)4.2语法验证细则 (9)4.2.1 SCL节点 (9)4.2.2 Header节点 (10)4.2.3 History节点 (10)4.2.4 Hitem节点 (10)4.2.5 Communication节点 (11)4.2.6 SubNetwork节点 (11)4.2.7 BitRate节点 (11)4.2.8 ConnectedAP节点 (11)4.2.9 Address节点 (12)4.2.10 P节点 (12)4.2.11 GSE节点 (12)4.2.12 MinTime、MaxTime节点 (12)4.2.13 SMV节点 (12)4.2.14 PhysConn节点 (13)4.2.15 IED节点 (13)4.2.16 Services节点 (14)4.2.17 DynAssociation节点 (14)4.2.18 SettingGroups节点 (14)4.2.19 GetDirectory节点 (15)4.2.20 GetDataObjectDefinition节点 (15) 4.2.21 DataObjectDirectory节点 (15) 4.2.22 GetDataSetValue节点 (15)4.2.23 SetDataSetValue节点 (15)4.2.24 DataSetDirectory节点 (15)4.2.25 ConfDataSet节点 (15)4.2.26 DynDataSet节点 (15)4.2.27 ReadWrite节点 (16)4.2.28 TimerActivatedControl节点 (16) 4.2.29 ConfReportControl节点 (16)4.2.31 ConfLogControl节点 (16)4.2.32 ReportSettings节点 (16)4.2.33 LogSettings节点 (16)4.2.34 GSESettings节点 (17)4.2.35 SMVSettings节点 (17)4.2.36 GSEDir节点 (17)4.2.37 GOOSE节点 (17)4.2.38 GSSE节点 (17)4.2.39 SMV节点 (18)4.2.40 FileHandling节点 (18)4.2.41 ConfLNs节点 (18)4.2.42 ClientServices节点 (18)4.2.43 ConfLdName节点 (18)4.2.44 AccessPoint节点 (18)4.2.45 Server节点 (19)4.2.46 Authentication节点 (19)4.2.47 LDevice节点 (19)4.2.48 LN0节点 (20)4.2.49 DataSet节点 (20)4.2.50 FCDA节点 (21)4.2.51 FCCB节点 (21)4.2.52 ReportControl节点 (21)4.2.53 TrgOps节点 (22)4.2.54 OptFields节点 (22)4.2.55 RptEnabled节点 (23)4.2.56 ClientLN节点 (23)4.2.57 LogControl节点 (23)4.2.58 DOI节点 (24)4.2.59 SDI节点 (24)4.2.60 DAI节点 (24)4.2.61 Val节点 (25)4.2.62 Inputs节点 (25)4.2.63 ExtRef节点 (25)4.2.64 Log节点 (26)4.2.65 GSEControl节点 (26)4.2.66 SampledValueControl节点 (26) 4.2.67 SmvOpts节点 (27)4.2.68 SettingControl节点 (27)4.2.69 SCLControl节点 (27)4.2.70 LN节点 (27)4.2.71 AccessControl节点 (28)4.2.72 Association节点 (28)4.2.73 ServerAt节点 (28)4.2.75 Sunject节点 (29)4.2.76 IssuerName节点 (29)4.2.77 SMVSecurity节点 (29)4.2.78 DataTypeTemplates节点 (29) 4.2.79 LNodeType节点 (30)4.2.80 DO节点 (30)4.2.81 DOType节点 (30)4.2.82 SDO节点 (31)4.2.83 DA节点 (31)4.2.84 DAType节点 (31)4.2.85 BDA节点 (32)4.2.86 EnumType节点 (32)4.2.87 EnumVal节点 (32)4.3标准验证细则 (33)4.3.1 概述 (33)4.3.2 检查没有引⽤的LNType[告警] (33) 4.3.3 检查没有引⽤的DOType[告警] (33)4.3.4 检查没有引⽤的DAType[告警] (33)4.3.5 检查没有引⽤的EnumType[告警] (33)4.3.6 检查重复的LNType [告警] (33)4.3.7 检查重复的DOType [告警] (33)4.3.8 检查重复的DAType [告警] (33)4.3.9 检查重复的EnumType [告警] (33)4.3.10 检查LN引⽤的type类型[错误] (33)4.3.11 检查DO引⽤的type类型[错误] (34)4.3.12 检查SDO引⽤的type类型[错误] (34)4.3.13 检查DA引⽤的type类型[错误] (34)4.3.14 检查BDA引⽤的type类型[错误] (34)4.3.15 检查DA引⽤的type类型的存在性[错误] (34)4.3.16 检查BDA引⽤的type类型的存在性[错误] (34)4.3.17检查DataSet中的成员[错误] (34)4.3.18检查BSC中的btype类型是不是Tcmd [错误] (35)4.3.19检查DPS错误[错误] (35)4.3.20检查数据类型EntryTime [错误] (35)4.3.21检查CDC-ING(ENG)-INC(ENC)-INS(ENS) [错误] (35)4.3.22检查ReportControl控制块中的属性name和datSet同名[告警] (35)4.3.23检查LNType扩充的情况[告警] (35)4.4应⽤验证细则 (35)4.4.1概述 (35)4.4.2检查rptID的唯⼀性 (35)4.4.3检查LLN0的存在性 (35)4.4.4检查LPHD的存在性 (35)4.4.5检查LLN0实例号 (36)4.4.7检查ClientLN中的iedName在通讯中是否配置 (36)5 常见问题说明 (36)5.1ICD⽂件错误 (36)5.2系统配置错误 (37)6 参考⽂献 (37)0 前⾔随着数字化⼯程的逐渐增多,我们也应该为数字化普及所涉及到的技术,由原来的少部分⼈掌握,普及到每个⼈的⾝上。

NTFS文件系统常用属性表

NTFS文件系统常用属性表

NTFS元文件
文件记录可能的属性
MFT文件记录头部结构布局
标准属性的属性头结构
标准属性的属性体结构
文件名属性的属性头结构
文件名属性体结构布局
文件名命名空间
数据流属性的属性头结构
未命名常驻属性标准属性头结构
未命名非常驻属性标准属性头结构
命名常驻属性标准属性头结构
命名非常驻属性标准属性头结构
索引根的结构如表4-81所示。

索引根结构
索引头的结构如表4-82所示。

索引头结构
其标志字节的含义如表4-83所示。

索引头标志字节含义
索引项的结构
标准索引头结构
索引项结构。

文件系统属性详解

文件系统属性详解

⽂件系统属性详解⽆论在dos下还是在windows下,所有磁盘⽂件的系统属性⼀般分为:系统属性(s),隐含属性(h),只读属性(r),存档属性(a),这些属性到底有什么特点呢?⽂件系统属性详解:1、系统属性(s),是表⽰⽂件是否为系统⽂件的属性。

具有系统属性的⽂件是系统专⽤⽂件,也是区别⾮系统⽂件的标志。

系统属性的特点:⽂件本⾝是隐藏起来的,不能⽤列出⽬录清单,也不能被删除、拷贝、更名。

如果是可执⾏⽂件,设置了系统属性,也不能执⾏。

2、隐含或隐藏属性(h),⽤来阻⽌⽂件在列表显⽰的属性,具有隐藏属性的⽂件,特点是:⽂件本⾝是隐藏的,dos系统命令不能列出清单,也不能删除,拷贝和更名。

如果是可执⾏⽂件不影响执⾏。

3、只读属性(r),⽤来保护⽂件不被删除和修改具有只读属性的⽂件,特点是:只能读⼊内存,也能拷贝但是不能⽤dos系统命令修改,也不能删除,有防⽌意外删除的意思。

可执⾏⽂件不影响执⾏。

4、存档属性(a),⽤来表⽰⽂件被写⼊时是否被关闭,如果⽂件具有这种属性,则表明⽂件写⼈时被关闭。

各种⽂件⽣成时,dos系统均会⾃动设置为存档属性,只有具备存档属性的⽂件,才可以被列⽬录,删除,修改,更名,拷贝等等操作。

通过这篇⽂章你应当对,⽂件系统属性有全新的认识了吧。

其实很简单,只要认真看了这篇⽂章,你就完全明⽩了。

Linux 内核/sys ⽂件系统介绍sysfs 是 Linux 中设计较新的⼀种虚拟的基于内存的⽂件系统,它的作⽤与 proc 有些类似,但除了与 proc 相同的具有查看和设定参数功能之外,还有为 Linux 统⼀设备模型作为管理之⽤。

相⽐于 proc ⽂件系统,使⽤ sysfs 导出数据的⽅式更为统⼀,并且组织的⽅式更好,它的设计从 proc 中吸取了很多教训。

本⽂就 sysfs 的挂载点 /sys ⽬录结构、其与 Linux 统⼀设备模型的关系、常见属性⽂件的⽤法等⽅⾯对sysfs 作介绍,并且就编程⽅⾯,以具体的例⼦来展⽰如何添加 sysfs ⽀持。

文件的属性及基本操作

文件的属性及基本操作

⽂件的属性及基本操作⽂件的属性⽂件有⼀定的属性,这根据系统的不同⽽有所不同,但是通常都包括如下属性:①名称:⽂件名称唯⼀,以容易读取的形式保存。

②标识符:标识⽂件系统内⽂件的唯⼀标签,通常为数字,它是对⼈不可读的⼀种内部名称。

③类型:被⽀持不同类型的⽂件系统所使⽤。

④位置:指向设备和设备上⽂件的指针。

⑤⼤⼩:⽂件当前⼤⼩(⽤字节、字或块表⽰),也可包含⽂件允许的最⼤值。

⑥保护:对⽂件进⾏保护的访问控制信息。

⑦时间、⽇期和⽤户标识:⽂件创建、上次修改和上次访问的相关信息,⽤于保护、安全和跟踪⽂件的使⽤。

所有⽂件的信息都保存在⽬录结构中,⽽⽬录结构也保存在外存上。

⽂件信息当需要时再调⼊内存。

通常,⽬录条⽬包括⽂件名称及其唯⼀标识符,⽽标识符定位其他属性的信息。

⽂件的基本操作⽂件的基本操作有:创建、写、读、定位、删除和截断:①创建⽂件:创建⽂件有两个必要步骤,⼀是在⽂件系统中为⽂件找到空间;⼆是在⽬录中为新⽂件创建条⽬,该条⽬记录⽂件名称、在⽂件系统中的位置及其他可能信息。

②写⽂件:为了写⽂件,执⾏⼀个系统调⽤,指明⽂件名称和要写⼊⽂件的内容。

对于给定⽂件名称,系统搜索⽬录以查找⽂件位置。

系统必须为该⽂件维护⼀个写位置的指针。

每当发⽣写操作,便更新写指针。

③读⽂件:为了读⽂件,执⾏⼀个系统调⽤,指明⽂件名称和要读⼊⽂件块的内存位置。

同样,需要搜索⽬录以找到相关⽬录项,系统维护⼀个读位置的指针。

每当发⽣读操作时,更新读指针。

⼀个进程通常只对⼀个⽂件读或写,所以当前操作位置可作为每个进程当前⽂件位置指针。

由于读和写操作都使⽤同⼀指针,节省了空间也降低了系统复杂度。

④⽂件重定位(⽂件寻址):按某条件搜索⽬录,将当前⽂件位置设为给定值,并且不会读、写⽂件。

⑤删除⽂件:先从⽬录中找到要删除⽂件的⽬录项,使之成为空项,然后回收该⽂件所占⽤的存储空间。

⑥截断⽂件:允许⽂件所有属性不变,并删除⽂件内容,即将其长度设为0并释放其空间。

linux文件属性详解及文件类型

linux文件属性详解及文件类型

linux⽂件属性详解及⽂件类型⼀ drwxr-xr-x的意思解释:ls -al得到如下列表:drwxr-xr-x 4 oracle dba 4096 May 2011:47 oralog1drwxr-x--- 18 root root 4096 May 2013:51 root解释:d :第⼀位表⽰⽂件类型,d是⽬录⽂件、l是链接⽂件、-是普通⽂件、p是管道rwx :第2-4位表⽰这个⽂件的属主拥有的权限。

r是读、w是写、x是执⾏r-x :第5-7位表⽰和这个⽂件属主所在同⼀个组的⽤户所具有的权限r-x :第8-10位表⽰其他⽤户所具有的权限⽐如:drwxr-xr-x 4 oracle dba 4096 May 2011:47 oralog1表⽰oralog1是个⽬录,oracle拥有读写执⾏的权限,和oracle所在同⼀个dba组⾥的⽤户拥有只读和执⾏权限,剩下其他⽤户拥有只读和执⾏权限!ls -al 的各段含义:第1字段: ⽂件属性字段⽂件属性字段总共有10个字母组成,第⼀个字母表⽰⽂件类型,如果这个字母是⼀个减号”-”,则说明该⽂件是⼀个普通⽂件。

字母”d”表⽰该⽂件是⼀个⽬录,字母”d”,是dirtectory(⽬录)的缩写。

请注意,⼀个⽬录或者说⼀个⽂件夹是⼀个特殊⽂件,这个特殊⽂件存放的是其他⽂件和⽂件夹的相关信息。

第2字段⽂件硬链接数或⽬录⼦⽬录数第3字段:⽂件拥有者第4字段:⽂件拥有者所在的组第5字段:⽂件⽂件⼤⼩(以字节为单位)第6字段:⽂件创建⽉份第7字段:⽂件创建⽇期第8字段:⽂件创建时间第9字段:⽂件名(如果是⼀个符号链接,那么会有⼀个 “->”箭头符号,后⾯根⼀个它指向的⽂件)rwxrwxrwx=777的解释:针对字母的操作⽐较臃肿,可以简化为数字的写法,如超级权限777。

其实就是数字相加得出的结果。

r:read就是读权限 --数字4表⽰w:write就是写权限 --数字2表⽰x:excute就是执⾏权限 --数字1表⽰读、写、运⾏三项权限可以⽤数字表⽰,就是r=4,w=2,x=1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

linux中各种文件类型普通文件(- regular file)(1)文本文件。

文件中的内容是由文本构成的,文本指的是ASCII码字符。

文件里的内容本质上都是数字(不管什么文件内容本质上都是数字,因为计算机中本身就只有1和0),而文本文件中的数字本身应该被理解为这个数字对应的ASCII码。

常见的.c 文件, .h文件 .txt文件等都是文本文件。

文本文件的好处就是可以被人轻松读懂和编写。

所以说文本文件天生就是为人类发明的。

(2)二进制文件。

二进制文件中存储的本质上也是数字,只不过这些数字并不是文字的编码数字,而是就是真正的数字。

常见的可执行程序文件(gcc编译生成的a.out,arm-linux-gcc编译连接生成的.bin)都是二进制文件。

(3)对比:从本质上来看(就是刨除文件属性和内容的理解)文本文件和二进制文件并没有任何区别。

都是一个文件里面存放了数字。

区别是理解方式不同,如果把这些数字就当作数字处理则就是二进制文件,如果把这些数字按照某种编码格式去解码成文本字符,则就是文本文件。

(4)我们如何知道一个文件是文件文件还是二进制文件?在linux系统层面是不区分这两个的(譬如之前学过的open、read、write等方法操作文件文件和二进制文件时一点区别都没有),所以我们无法从文件本身准确知道文件属于哪种,我们只能本来就知道这个文件的类型然后用这种类型的用法去用他。

有时候会用一些后缀名来人为的标记文件的类型。

(5)使用文本文件时,常规用法就是用文本文件编辑器去打开它、编辑它。

常见的文本文件编辑器如vim、gedit、notepad++、SourceInsight等,我们用这些文本文件编辑器去打开文件的时候,编辑器会read读出文件二进制数字内容,然后按照编码格式去解码将其还原成文字展现给我们。

如果用文本文件编辑器去打开一个二进制文件会如何?这时候编辑器就以为这个二进制文件还是文本文件然后试图去将其解码成文字,但是解码过程很多数字并不对应有意义的文字所以成了乱码。

(6)反过来用二进制阅读工具去读取文本文件会怎么样?得出的就是文本文字所对应的二进制的编码。

目录文件(d directory)(1)目录就是文件夹,文件夹在linux中也是一种文件,不过是特殊文件。

用vi打开一个文件夹就能看到,文件夹其实也是一种特殊文件,里面存的内容包括这个文件的路径,还有文件夹里面的文件列表。

(2)但是文件夹这种文件比较特殊,本身并不适合用普通的方式来读写。

linux中是使用特殊的一些API来专门读写文件夹的。

字符设备文件(c character)块设备文件(b block)(1)设备文件对应的是硬件设备,也就是说这个文件虽然在文件系统中存在,但是并不是真正存在于硬盘上的一个文件,而是文件系统虚拟制造出来的(叫虚拟文件系统,如/dev /sys /proc等)(2)虚拟文件系统中的文件大多数不能或者说不用直接读写的,而是用一些特殊的API产生或者使用的,具体在驱动阶段会详解。

管道文件(p pipe)套接字文件(s socket)符号链接文件(l link)常用文件属性获取stat、fstat、lstat函数简介(1)每个文件中都附带了这个文件的一些属性(属性信息是存在于文件本身中的,但是它不像文件的内容一样可以被vi打开看到,属性信息只能被专用的API打开看到)(2)文件属性信息查看的API有三个:stat、fstat、lstat,三个作用一样,参数不同,细节略有不同。

(3)linux命令行下还可以去用stat命令去查看文件属性信息,实际上stat命令内部就是使用stat系统调用来实现的。

(4)stat这个API的作用就是让内核将我们要查找属性的文件的属性信息结构体的值放入我们传递给stat函数的buf中,当stat这个API调用从内核返回的时候buf中就被填充了文件的正确的属性信息,然后我们通过查看buf这种结构体变量的元素就可以得知这个文件的各种属性了。

(5)fstat和stat的区别是:stat是从文件名出发得到文件属性信息结构体,而fstat是从一个已经打开的文件fd出发得到一个文件的属性信息。

所以用的时候如果文件没有打开(我们并不想打开文件操作而只是希望得到文件属性)那就用stat,如果文件已经被打开了然后要属性那就用fstat效率会更高(stat是从磁盘去读取文件的,而fstat是从内存读取动态文件的)。

(6)lstat和stat/fstat的差别在于:对于符号链接文件,stat和fstat查阅的是符号链接文件指向的文件的属性,而lstat查阅的是符号链接文件本身的属性。

struct stat结构体简介(1)struct stat是内核定义的一个结构体,在<sys/stat.h>中声明,所以我们可以用。

这个结构体中的所有元素加起来就是我们的文件属性信息。

stat函数的应用案例用代码判断文件类型(1)文件类型就是-、d、l·(2)文件属性中的文件类型标志在struct stat结构体的mode_t st_mode元素中,这个元素其实是一个按位来定义的一个位标志(有点类似于ARM CPU的CPSR寄存器的模式位定义)。

这个东西有很多个标志位共同构成,记录了很多信息,如果要查找时按位&操作就知道结果了,但是因为这些位定义不容易记住,因此linux系统给大家事先定义好了很多宏来进行相应操作。

(3)譬如S_ISREG宏返回值是1表示这个文件是一个普通文件,如果文件不是普通文件则返回值是0.用代码判断文件权限设置(1)st_mode中除了记录了文件类型之外,还记录了一个重要信息:文件权限。

(2)linux并没有给文件权限测试提供宏操作,而只是提供了位掩码,所以我们只能用位掩码来自己判断是否具有相应权限。

st_mode中记录的文件权限位(1)st_mode本质上是一个32位的数(类型就是unsinged int),这个数里的每一个位表示一个含义。

(2)文件类型和文件的权限都记录在st_mode中。

我们用的时候使用专门的掩码去取出相应的位即可得知相应的信息。

ls -l打印出的权限列表(1)123456789一共9位,3个一组。

第一组三个表示文件的属主(owner、user)对该文件的可读、可写、可执行权限;第2组3个位表示文件的属主所在的组(group)对该文件的权限;第3组3个位表示其他用户(others)对该文件的权限。

(2)属主就是这个文件属于谁,一般来说文件创建时属主就是创建这个文件的那个用户。

但是我们一个文件创建之后还可以用chown命令去修改一个文件的属主,还可以用chgrp命令去修改一个文件所在的组。

文件操作时的权限检查规则(1)一个程序a.out被执行,a.out中试图去操作一个文件1.txt,这时候如何判定a.out是否具有对1.txt的某种操作权限呢?(2)判定方法是:首先1.txt具有9个权限位,规定了3种人(user、group、others)对该文件的操作权限。

所以我们判定1.txt是否能被a.out来操作,关键先搞清楚a.out对1.txt到底算哪种人。

准确的说是看a.out被谁执行,也就是当前程序(进程)是哪个用户的进程。

(3)刚才上面说的是我的分析,到底对不对还得验证。

access函数检查权限设置(1)文本权限管控其实蛮复杂,一般很难很容易的确定对一个文件是否具有某种权限。

设计优秀的软件应该是:在操作某个文件之前先判断当前是否有权限做这个操作,如果有再做如果没有则提供错误信息给用户。

(2)access函数可以测试得到当前执行程序的那个用户在当前那个环境下对目标文件是否具有某种操作权限。

chmod/fchmod与权限修改(1)chmod是一个linux命令,用来修改文件的各种权限属性。

chmod命令只有root用户才有权利去执行修改。

(2)chmod命令其实内部是用linux的一个叫chmod的API实现的。

chown/fchown/lchown与属主修改(1)linux中有个chown命令来修改文件属主(2)chown命令是用chown API实现的umask与文件权限掩码(1)文件掩码是linux系统中维护的一个全局设置,umask的作用是用来设定我们系统中新创建的文件的默认权限的。

(2)umask命令就是用umask API实现的opendir与readdir函数(1)opendir打开一个目录后得到一个DIR类型的指针给readdir使用(2)readdir函数调用一次就会返回一个struct dirent类型的指针,这个指针指向一个结构体变量,这个结构体变量里面记录了一个目录项(所谓目录项就是目录中的一个子文件)。

(3)readdir调用一次只能读出一个目录项,要想读出目录中所有的目录项必须多次调用readdir函数。

readdir函数内部户记住哪个目录项已经被读过了哪个还没读,所以多次调用后不会重复返回已经返回过的目录项。

当readdir函数返回NULL时就表示目录中所有的目录项已经读完了。

可重入函数介绍(1)有些函数是可重入的有些是不可重入的,具体概念可以去百度。

(2)readdir函数和我们前面接触的一些函数是不同的,首先readdir函数直接返回了一个结构体变量指针,因为readdir内部申请了内存并且给我们返回了地址。

多次调用readdir其实readir内部并不会重复申请内存而是使用第一次调用readdir时分配的那个内存。

这个设计方法是readdir不可重入的关键。

(3)readdir在多次调用时是有关联的,这个关联也标明readdir函数是不可重入的。

(4)库函数中有一些函数当年刚开始提供时都是不可重入的,后来意识到这种方式不安全,所以重新封装了C库,提供了对应的可重复版本(一般是不可重入版本函数名_r)。

相关文档
最新文档