一、文件系统的基本结构

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、主从关系。硬链接无主从关系,原文件删除不会影响访问,软连接则会失效。

linux基础文件管理软硬链接的更多相关文章

  1. Linux中的软硬链接

    说到Linux中的软硬链接,就必须谈一下Linux的文件系统的组成的重要部分iNode和block. 首先是iNode,先用一张图了解一下iNode在Linux文件系统中的地位: Linux中的文件的 ...

  2. 6.Linux文件属性及软硬链接

    1.文件属性 使用ll -h 查看的详细信息,每一列都是干什么的 第一列第一个字符 表示文件类型---> rw-r--r-- 文件权限 1 这个文件被链接次数 root 文件的拥有者(用户) r ...

  3. Linux基础-文件管理

    <1>查看文件信息:ls ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令. Linux文件或者目录名称最长可以有265个字符,“ ...

  4. linux文件属性软硬链接知识

    链接的概念 在linux系统中,链接可分为两种:一种为硬链接,另一种为软链接或符号链接.在默认不带参数的情况下,执行ln命令创建的链接是硬链接. 如果使用ln  -s创建链接则为软链接,前面文件类型为 ...

  5. Linux 软硬链接区别

    一.“硬链接“和“软链接“ 链接的概念:链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念,主流文件系统都支持链接文件. 链接的作用:可以将链接简单地理解为 Windows 中常见的快捷方 ...

  6. 初始Linux软硬链接

    转载 https://blog.csdn.net/libaineu2004/article/details/85918682 用实践让你明白"软链接"和"硬链接" ...

  7. NO21 Llinux的文件种类与扩展名--文件权限--软硬链接--Linux删除文件原理

    Linux的文件种类与扩展名 一.文件种类:1.普通文件(regular file)第一个字符为[ - ]包括:①纯文本档(ASCII):这是Linux系统中最多的一种文件类型,称为纯文本档.是因为内 ...

  8. linux 基础命令与文件管理

      Linux终端介绍 Shell提示符 Bash Shell基本语法 基本命令的使用:ls.pwd.cd 查看系统和BIOS硬件时间 Linux如何获得帮助 Linux关机命令:shutdow.in ...

  9. 软硬链接、文件删除原理、linux中的三种时间、chkconfig优化

    第1章 软硬链接 1.1 硬链接 1.1.1 含义 多个文件拥有相同的inode号码 硬链接即文件的多个入口 1.1.2 作用 防止你误删除文件 1.1.3 如何创建硬链接 ln 命令,前面是源文件  ...

随机推荐

  1. js的this、bind、call、apply个人领悟

    this 1.非箭头函数: 如果是该函数是一个构造函数,this指针指向一个新的对象 在严格模式下的函数调用下,this指向undefined 如果是该函数是一个对象的方法,则它的this指针指向这个 ...

  2. showkey - 检查来自键盘的扫描码和键盘码

    览 (SYNOPSIS) showkey [ -[hVskm] | --help | --version | --scancodes | --keycodes | --keymap ] [ -t N ...

  3. Codeforces 1197E Culture Code DP

    题意:你有n个俄罗斯套娃,已知每个套娃的容积和体积,问有多少个子集满足以下条件: 1:这个子集是一个极大子集,即不能再添加其它的套娃到这个子集里. 2:子集的套娃之间的间隙和最小. 思路1:线段树优化 ...

  4. 入门GoldenGate总结

    前言 GoldenGate 是oracle官方的一款数据同步产品,类似于msyql的主从复制,配置也稍稍复杂,其中概念一定要搞清楚,不然会被坑的爬不起. 坑 1.数据在线同步(不是指数据初始化),只能 ...

  5. Java 代码规范,你应该知道的一些工具和用法(转)

    转自:http://yifeng.studio/2017/06/30/coding-with-code-style/ Java 代码规范,你应该知道的一些工具和用法 2017-06-30 从事编程这个 ...

  6. 代码解释n |= n >>> 16

    public static int nextPowerOf2(int n) {n -= 1;n |= n >>> 16;n |= n >>> 8;n |= n &g ...

  7. python 控制终端执行的subprocess.getoutput函数

    devices = subprocess.getoutput('ios-deploy -c') print(devices) 如上代码中,subprocess.getoutput函数首先在终端执行命令 ...

  8. UNP学习 路由套接口

    一.概述 在路由套接口中支持三种类型的操作: 1.进程能通过写路由套接口想内核发消息.举例:路径就是这样增加和删除的. 2.进程能在路由套接口上从内核读消息. 3.进程可以用sysctl函数得到路由表 ...

  9. 洛谷P1122 最大子树和 (树状dp)

    题目描述 小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题.一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题.于是当日课后,小明 ...

  10. 【LeetCode 41】缺失的第一个正数

    题目链接 [题解] 先明确一点假设给的数字有n个. 那么最后的答案最情况下就是n+1 首先我们先判断一下所给的数组里面有没有1 如果没有直接返回1 否则. 把数组中所有的范围超过n或者小于1的数字全都 ...