Linux的文件概念

qindarkstone 发布于 2023-07-14 205 次阅读 预计阅读时间: 7 分钟 1526 字


文件挂载

  • 将设备文件中的顶级目录i连接到Linux根目录下的某一目录(最好是空目录),访问此目录就等同于访问设备文件。
  • 比如主硬盘,挂载点被设定为/根目录
  • 所有文件都位于根目录(/)下
    • /bin 可执行二进制文件的目录,如常用命令ls,tar,mv,cat等,实际上是一些小的应用程序
      • ls 查看目录
      • ll 查看详细信息
    • /home普通用户的主目录,对应windows下的c盘users
    • /root root用户的主目录(root用户是具有最高权限的用户)
    • /boot 内核文件的引导目录,放置linux系统启动时所用的文件
    • /sbing 超级用户使用的指令文件
    • /tmp 临时文件目录,一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
    • /dev 设备文件目录,在linux中万物皆文件,实际上插入的U盘等设备都会在dev目录下生成一个文件,可以很方便的通过文件IO方式去操作外设,对嵌入式开发极为友好
    • /lib 共享库,系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助
    • /usr 第三方程序目录
    • /etc 配置程序目录,系统配置文件存放的目录
    • /var 可变文件,放置系统执行过程中经常变化的文件
    • /opt 用户使用目录,给主机额外安装软件所摆放的目录

文件列表

  • 第一栏字符串用于表示文件的属性
    • 第一个字符表示此文件的类型
      • -表示普通文件
      • l为链接文件
      • d表示目录(文件夹)
      • c表示字符设备
      • b表示块设备
      • 还用用于进程间通信使用的:p有名管道,f堆栈文件,s套接字等
    • 第2-4个字符表示文件的拥有者(User)对该文件的权限
    • 第5-7个字符表示文件所属用户组(Group)内用户对该文件的权限
    • 最后8-10个字符表示其他用户(Other)对该文件的权限
    • 顺序为UGO
      • r为读权限,如获取目录列表
      • w为写权限,如在目录中新建文件
      • x为执行权限
  • 第二栏是一列数字,表示文件创建的链接文件(快捷方式)的数量
    • 一般1表示只有当前文件
  • 第三栏为该文件或是目录的拥有者
  • 第四栏数据表示所属的组
  • 第五栏数据表示文件大小,以字节为单位
  • 第六栏数据为文件的最后一次修改时间
  • 最后一栏为文件名称
    • ../表示上级目录
    • ./表示当前目录
    • 最前面有一个.开头的文件为隐藏文件

常用文件操作命令

  • mkdir(make directory)创建目录
    • 可以加上-p来创建多级目录
    • mkdir -p folder1/folder2/folder3
  • touch更新或创建文件
    • 若存在文件可以用于直接更新文件修改时间
  • ls(list):列出所有文件
    • -a(all) 列出隐藏文件(以.开头的都是隐藏文件)
    • -l(long)列出文件详细信息,文件类型(例如:普通文件、目录、链接等),权限(例如:读、写、执行权限),所有者,所属组,文件大小(以字节为单位),最后修改时间,文件名或目录名,功能与ll相同
    • alias列出相关操作别名
  • ln创建链接文件(硬链接或符号链接)
    • 创建硬链接:ln [选项] 目标文件 链接名称
    • 创建符号链接:ln -s [选项] 目标文件 链接名称
  • du(disk usage命令用于查看文件或目录大小
  • cp复制文件或目录
    • cp [选项] 源文件或目录... 目标目录
    • -r对目录文件夹中的所有文件进行递归复制。即复制整个目录
  • mv移动或重命名文件和目录
    • 移动 mv oldfile。txt /home/user/newlocation/
    • 重命名 mv oldfile.txt newfile.txt
  • rm删除命令
    • rm -rf /*表示删除根目录下所有的文件
    • -f表示强制删除文件或忽略不存在的文件
    • *为通配符,表示任意文件
  • find进行文件的搜索,支持通配符
  • cat命令查看文件内容
  • echo命令后接内容通过>可直接新建文本文件
    • echo Hello World > file.txt
    • 若不加入>会直接将文本输出
  • chmod对文件属性进行修改
    • chmod [选项] 模式 文件或目录...
    • chmod u+x,g-w file.txt会为文件 file.txt 的所有者添加执行权限,同时移除所属组的写权限。
      • 选项中+表示添加权限,-表示减少权限
      • 加减号前加入u、g、o分别表示给用户、组和其他用户修改权限
    • 还有数字表示法:r=4,w=2,x=1,需要什么权限就让对应权限的数字相加,一个数字表示一个rwx 的权限状态,比如想修改为 -rw-rw-r-,对应的数字就是664
  • chownchgrp修改文件的拥有着或是所属组
  • 文件链接ln
    • ln -s 源文件 链接文件表示软链接
      • 软连接可以指向文件或目录,当链接的目标文件删除后,链接文件失效
    • ln 源文件 链接文件表示硬链接