码迷,mamicode.com
首页 > 其他好文 > 详细

文件管理

时间:2018-08-12 23:39:55      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:需要   upper   access   media   执行   文件通配符   标识   载器   操作   

数据 就是存放资源
元数据 用来标识数据的特性 比如数据的属主和属组 数据修改时间 数据大小 访问时间 属性等等。
文件名 不能使用特殊符号
 

一般来说
.sh 脚本文件
.tar.g2 压缩文件
.conf/cnf 配置文件
.log 日志文件
同时linux系统对 大小非常敏感,所以在操作的时候一定要注意 大小写

文件名规则:
文件名最长255个字节
包括路径在内的文件名最长4095个字节
文件颜色类型:
蓝色 --> 目录
绿色 --> 可执行文件
红色 --> 压缩文件
浅蓝色 -->链接文件
灰色 --> 其他文件
××× -->设备文件 包括char fifo
红色闪烁 --> 表示链接的文件有问题
 

除了 斜杠和NUK,所有的字符都有效,但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用他们

 
 

linux系统可以看做为 树状的文件系统
命令:tree -L 1 -d /
tree 用来查看目录结构
-L 指定层数
-d 只查看目录

 
 
linux文件的系统结构:

  1. /boot:引导文件存放目录,内核文件(vmlinuz),引导加载器(bootloader,grub)都存放于此目录
  2. bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到程序
  3. /sbin:管理员的基本命令:不能关联至独立分区,OS启动即会用到程序
    存放二进制文件。root用户使用
  4. /etc 各种系统包括应用的配置文件
  5. /home 每个普通用户的家目录,而且每个用户默认的工作目录
  6. /lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
  7. /lib64:专用于X86_64系统上的辅助共享库文件存放位置 系统程序所依赖的库的文件 .so 结尾 (windows .ddl 结尾)
  8. /media 光盘或者U盘挂载点 媒体介质挂载点
  9. /mnt:临时文件系统挂载点
  10. /dev:设备文件及特殊文件存储位置
    b:block device ,随机访问
    c:character device 线性访问
  11. /opt:第三方应用程序的安装位置
  12. /srv:系统上运行的服务用到的数据文件
  13. /tmp:临时文件存储位置 (临时文件以及应用产生的临时文件)
  14. /lost+found 垃圾回收站 ??? (centos7没有)
  15. /usr:universal shared ,read-only data
    bin:保证系统拥有完整功能而提供的应用程序
    sbin:目录用来存放用于管理员使用的存储二进制系统程序文件
    lib:32位使用
    lib64:只存在64位系统
    include:C程序的头文件(header files)存放头文件,对第三方应用做二次开发可能会用到
    头文件:是一种包含功能函数,数据接口声明的载体文件
    share:结构化独立的数据,例如doc,man等 存放帮助文档
    tmp 临时文件
    local:第三方应用程序安装位置
    bin,sbin,lib,lib64,etc,share
  16. /proc:用于输出内核与进程信息相关的虚拟文件系统 在内存中运行
  17. /sys:用于输出当前系统上硬件设备相关信息虚拟文件系统 硬件的状态和内存
  18. /selinux:security enhanced Linux,selinux 相关的安全策略等信息存储位置
     
     
    应用程序的组成部分
    二进制程序 :
    /bin /sbin /usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin echo&PATH
    /usr/local/sbin:/usr/local/bin:/sbin:/usr/bin:/root/bin
    库文件: :/lib /lib64 /usr/lib /usr/lib64 /usr/local/lib,
    /usr/local/lib64
    配置文件:/etc, /etc/DIRECTORY, /usr/local/etc
    帮助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc
     
     

linux下的文件类型
-:普通文件
d:目录文件
b:块设备
c:字符设备
I:符号链接文件
p:管道文件pipe
s:套接字文件socket
  
 
 

文件的时间戳
时间戳mtime atime ctime
atime 最近访问时间 Access
mtime 修改时间 Modify
ctime 最近改变时间 Change
文件创建之初 所有时间戳都是一致的
 
 

正常的情况下是访问一次,文件的atime就应该upper更新一次
系统加了一个新的特性relatime
atime不会经常改变,只有在mtime比atime新的时间,再次访问文件atime 才会发生改变
 
 
mtime或者是atime都会造成ctime修改
修改文件的属性 比如文件的属主和属组的时候 ctime的修改
使用编辑器打开文件也有可能造成atime的改变
 
 

使用touch -a 修改文件(修改文件属性)的访问时间也会造成ctime的改变
 
 
mtime改变 ,ctime也会跟着改变
修改文件属性或者权限 ,则 ctime也会跟着改变
atime并不会时时发生改变,只有当mtime比atime新的时候才会改变

 
还有一种关于 时间戳的区别
文件的 Access time,atime 是在读取文件或者执行文件时更改的。
文件的 Modified time,mtime 是在写入文件时随文件内容的更改而更改的。
文件的 Create time,ctime 是在写入文件、更改所有者、权限或链接设置时随 Inode 的内容更改而更改的。
 
 
 
文件通配符
 

  • 匹配零个或多个字符
    ?匹配任何单个字符
    ~ 当前用户家目录
    ~mage 用户mage家目录
    ~+ 当前工作目录
    ~- 前一个工作目录
    [0-9]匹配数字范围
    [a-z]字母
    [A-Z]字母
    [wang]匹配列表中的任何的一个字符
    [^wang]匹配列表中的所有字符以外的字符

 
 

字符类:man 7 glob

[:lower:]:任意小写字母
[:upper:]:任意大写字母
[:alpha:]:任意大×××字母
[:alnum:]:任意数字或字母
[:blank:]:水平空白字符
[:space:]:水平或垂直空白字符
[:punct:]:标点符号
[:print:]:可打印字符

[:xdigit:]十六进制字符

 
 
 

初学者自用

文件管理

标签:需要   upper   access   media   执行   文件通配符   标识   载器   操作   

原文地址:http://blog.51cto.com/12580998/2158566

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!