zoukankan      html  css  js  c++  java
  • linux基础文件管理软硬链接

    一、文件系统的基本结构

    1、文件和目录被组成一个单根倒置树目录结构

    2、文件系统从根目录下开始,用“/”表示

    3、根文件系统(rootfs):root filesystem文件名区分大小写

    4、以 . 开头的文件为隐藏文件

    5、路径用/隔离

    6文件有两类数据:元数据和数据本身
    7、文件名规则

    • 文件名最多255个字节包括路径在内文件名称最长4095个字节
    • 蓝色-->目录 绿色-->可执行文件 红色-->压缩文件 浅蓝色-->链接文件 灰色-->其他文件 
    • 除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用它们
    • 标准Linux文件系统(如ext4),文件名称大小写敏感例如:MAIL, Mail, mail, mAiL,部分文件系统大小写不敏感,文件大小写敏感与否取决于文件系统而不是操作系统

    8、文件系统结构

    • /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录 
    • /bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序 
    • /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序 
    • /lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
    • /lib64:专用于x86_64系统上的辅助共享库文件存放位置 
    • /etc:配置文件目录 
    • /home/USERNAME:普通用户家目录 
    • /root:管理员的家目录 
    • /media:便携式移动设备挂载点
    • /mnt:临时文件系统挂载点 
    • /dev:设备文件及特殊文件存储位置
    • b: block device,随机访问
    • c: character device,线性访问
    • /opt:第三方应用程序的安装位置
    • /srv:系统上运行的服务用到的数据
    • /tmp:临时文件存储位置
    • /usr: universal shared, read-only data
    • bin: 保证系统拥有完整功能而提供的应用程序
    • sbin:
    • lib:32位使用
    • lib64:只存在64位系统
    • include: C程序的头文件(header files)
    • share:结构化独立的数据,例如doc, man等
    • local:第三方应用程序的安装位置
    • bin, sbin, lib, lib64, etc, share 
    • /var: variable data files
    • cache: 应用程序缓存数据目录
    • lib: 应用程序状态信息数据
    • local:专用于为/usr/local下的应用程序存储可变数据
    • lock: 锁文件
    • log: 日志目录及文件
    • opt: 专用于为/opt下的应用程序存储可变数据
    • run: 运行中的进程相关数据,通常用于存储进程pid文件
    • spool: 应用程序数据池
    • tmp: 保存系统两次重启之间产生的临时数据
    • /proc: 用于输出内核与进程信息相关的虚拟文件系统
    • /sys:用于输出当前系统上硬件设备相关信息虚拟文件系统 
    • /selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置

    二、linux应用程序的组成部分以及文件的类型

      1、linux文件的组成部分

    • 二进制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
    • 库文件:/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

    2、文件类型

    • - 普通文件 
    • d 目录文件 
    • b 块设备 
    • c 字符设备 
    • l 符号链接文件 
    • p 管道文件pipe 
    • s 套接字文件socket

    三、文件常用的命令  

      ls

      列出当前目录的内容或指定目录
      用法:ls [options] [files_or_dirs]
      示例
      ls -a 包含隐藏文件
      ls -l 显示额外的信息
      ls -R 目录递归
      ls -ld 目录和符号链接信息    
      ls -1 文件分行显示
      ls –S 按从大到小排序
      ls –t 按mtime排序
      ls –u 配合-t选项,显示并按atime从新到旧排序    
      ls –U 按目录存放顺序显示
      ls –X 按文件后缀排序
      stat
      文件:metadata, data
      三个时间戳:
      access time 访问时间,atime,读取文件内容
      modify time 修改时间, mtime,改变文件内容(数据)
      change time 改变
      时间, ctime,元数据发生改变
      touch
      
      -a 仅改变 atime和ctime
      -m 仅改变 mtime和ctime
      -t [[CC]YY]MMDDhhmm[.ss]
      指定atime和mtime的时间戳
      -c 如果文件不存在,则不予创建
      cp
      
      SRC是文件:
      如果目标不存在:新建DEST,并将SRC中内容填充至DEST中
      如果目标存在:
      如果DEST是文件:将SRC中的内容覆盖至DEST中
      基于安全,建议为cp命令使用-i选项
      如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中
      
      -i 覆盖前提示
      -n 不覆盖,注意两者顺序
      -r, -R 递归复制目录及内部的所有内容
      -a 归档,相当于-dR --preserv=all
      -d --no-dereference --preserv=links 不复制原文件,只复制链接名 
      
      --preserv[=ATTR_LIST]
      mode: 权限
      ownership: 属主属组
      timestamp:
      links
      xattr
      context
      all
      -p 等同--preserv=mode,ownership,timestamp
      -v --verbose 显示复制过程
      -f --force 强制
      -u --update 只复制源比目标更新文件或目标不存在的文件
      -b 目标存在,覆盖前先备份,形式为 filename~
      --backu
      p=numbered 目标存在,覆盖前先备份加数字后缀
      mv  
      -i 交互式
      -f 强制
      -b 目标存在,覆盖前先备份
      tree
      -d: 只显示目录
      -L level:指定显示的层级数目
      -P pattern: 只显示由指定pattern匹配到的路径 
      mkdir
      -p: 存在于不报错,且可自动创建所需的各目录
      -v: 显示详细信息
      -m MODE: 创建目录时直接指定权限
      rmdir
      -p: 递归删除父空目录
      -v: 显示详细信息 
      通配符
      * 匹配零个或多个字符
      ? 匹配任何单个字符
      ~ 当前用户家目录
      ~mage 用户mage家目录
      ~+ 当前工作目录
      ~- 前一个工作目录
      [0-9] 匹配数字范围
      [a-z]:字母
      [A-Z]:字母
      [wang] 匹配列表中的任何的一个字符   
      [:digit:]:任意数字,相当于0-9
      [:lower:]:任意小写字母
      [:upper:]: 任意大写字母
      [:alpha:]: 任意大小写字母
      [:alnum:]:任意数字或字母
      [:blank:]:水平空白字符
      [:space:]:水平或垂直空白字符
      [:punct:]:标点符号
      [:print:]:可打印字符
      [:cntrl:]:控制(非打印)字符
      [:graph:]:图形字符  
      [:xdigit:]:十六进制字符
    四、硬链接
      
      1、创建硬链接会增加额外的记录项以引用文件
      2、对应于同一文件系统上一个物理文件
      3、每个目录引用相同的inode号
      4、创建时链接数递增
      5、删除文件时:
      6、rm命令递减计数的链接
      7、文件要存在,至少有一个链接数
      8、当链接数为零时,该文件被删除
      9、不能跨越驱动器或分区
      10、语法:ln filename [linkname ]
    五、软连接
      
      一个符号链接指向另一个文件
      1、ls - l的 显示链接的名称和引用的文件
      2、一个符号链接的内容是它引用文件的名称
      3、可以对目录进行
      4、可以跨分区
      5、指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数
      6、语法:ln -s filename [linkname]
    六、软硬链接的区别
      1、文件类型不同
      2、软连接可跨分区,硬链接不可以
      3、硬链接的与原文件的inode号相同,软连接不同
      4、硬链接可以增加文件的链接数,软连接不可以
      5、主从关系。硬链接无主从关系,原文件删除不会影响访问,软连接则会失效。
  • 相关阅读:
    C#递归方法把数据表加载到treeview控件(C/S和B/S) 子曰
    ASP.NET 2.0 Web Part编程入门(转) 子曰
    C#中委托的运用 子曰
    window.returnValue使用方法(转) 子曰
    Treevi中的checkbox联动选择,以及Treeview的生成(即选择或取消复选框,其自选框同时选择或取消) 子曰
    发布MicrosoftReportViewer时的问题 子曰
    WCF,Net Remoting,Web service概念和区别 子曰
    使用sql字符串查询关键字CHARINDEX 子曰
    Mysql安装时出现APPLY security settings错误 子曰
    设计模式——单例模式(Singleton)
  • 原文地址:https://www.cnblogs.com/kading/p/10885024.html
Copyright © 2011-2022 走看看