Linux系统文件权限、管理-知识点总结

一、文件管理

1.文件系统得目录结构

1.1 文件系统的目录结构

/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相关的安全策略等信息的存储位置

1.2 Linux下的文件类型

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

注:文件系统目录结构需要理解,不能只是记忆,灵活运用才是关键。

2.文件操作命令

1.绝对和相对路径需要重点掌握,理解绝对和相对的含义,在什么情况下用哪个才是关键。
2. 更改目录命令 cd
切换至父目录: cd …
切换至当前用户主目录: cd
切换至以前的工作目录: cd -

…也可以理解为通配符,一个.表示当前目录。

  1. ls 命令可以列出当前目录的内容或指定目录
  2. 查看文件状态 stat
  3. 确定文件内容 file
  4. 文件通配符可以用来匹配符合条件的多个文件,方便批理管理文件。需要多多练习
  5. 创建空文件和刷新时间。touch
  6. 复制文件和目录 cp
  7. 移动和重命名文件 mv
  8. 删除文件 rm

rm 为危险命令,可以用别名定义为mv从而避免误操作

3.文件目录操作命令

  1. 显示目录树 tree
  2. 创建目录 mkdir
  3. 删除目录 rmdir

4.文件元数据和节点表结构

  1. inode表结构
    每个文件的属性信息,比如:文件的大小,时间,类型等,称为文件的元数据(meta data)。这此元数
    据是存放在node(index node)表中。node 表中有很多条记录组成,第一条记录对应的存放了一个文
    件的元数据信息
  2. 硬链接 ln
  3. 符号(或软)链接
  4. 硬链接和软链接区别总结
  5. 本质:
    硬链接:本质是同一个文件
    软链接:本质不是同一个文件
  6. 跨设备
    硬链接:不支持
    软链接:支持
  7. inode
    硬链接:相同
    软链接:不同
  8. 链接数
    硬链接:创建新的硬链接,链接数会增加,删除硬链接,链接数减少
    软链接:创建或删除,链接数不会变化
  9. 文件夹
    硬链接:不支持
    软链接:支持
  10. 相对路径
    硬链接:原始文件相对路径是相对于当前工作目录
    软链接:原始文件相对路径是相对于链接文件的相对路径
  11. 删除源文件
    硬链接:只是链接数减一,但链接文件的访问不受影响
    软链接:链接文件将无法访问
  12. 文件类型
    ln -s filename [linkname] #绝对路径 ln -s /data/dir /data/dirlink #相对路径 cd /data ln -s …/data/dir /root/dirlink rm -rf /data/dirlink #删除软链接本身,不会删除源目录内容 rm -rf /data/dirlink/ #删除源目录的文件,不会删除链接文件
    硬链接:和源文件相同
    软链接:链接文件,和源文件无关

5.标准I/O重定向和管道

  1. 标准输入和输出
    程序:指令+数据
    读入数据:Input
    输出数据:Output
    打开的文件都有一个fd: file descriptor (文件描述符)
    Linux给程序提供三种 I/O 设备
    标准输入(STDIN) -0 默认接受来自终端窗口的输入
    标准输出(STDOUT)-1 默认输出到终端窗口
    标准错误(STDERR) -2 默认输出到终端窗口
  2. I/O重定向redirect
  3. tr 命令 转换和删除字符
  4. 利用“<” 可以将标准输入重定向
  5. 使用 “<<终止词” 命令从键盘把多行重导向给STDIN,直到终止词位置之前的所有文本都发送给
    STDIN,有时被称为就地文本(here documents)
  6. 管道(使用符号“|”表示)用来连接多个命令
  7. 管道中有时会使用 - 符号
  8. 利用tee命令可以重定向到多个目标

二、文件权限及用户、组

  1. 用户和组的主要配置文件
    /etc/passwd:用户及其属性信息(名称、UID、主组ID等)
    /etc/shadow:用户密码及其相关属性
    /etc/group:组及其属性信息
    /etc/gshadow:组密码及其相关属性
  2. 用户和组管理命令
    用户管理命令
    useradd
    usermod
    userdel
    authconfig --passalgo=sha256 --update
    组帐号维护命令
    groupadd
    groupmod
    groupdel
  3. gpasswd -a user 将user添加至指定组中
  4. newgrp命令可以临时切换主组, 如果用户本不属于此组,则需要组密码
  5. groupmems可以管理组成员关系
  6. chown 命令可以修改文件的属主,也可以修改文件属组
  7. chgrp 命令可以只修改文件的属组
  8. 每个文件针对每类访问者都定义了三种权限
    r Readable
    w Writable
    x eXcutable
  9. 对目录的权限:
    r 可以使用ls查看此目录中文件列表
    w 可在此目录中创建文件,也可删除此目录中的文件
    x 可以使用ls -l查看此目录中文件元数据(须配合r),可以cd进入此目录
    X 只给目录x权限,不给无执行权限的文件x权限
  10. 修改文件权限chmod
  11. umask的值可以用来保留在创建文件权限
  12. 特殊权限SUID
    特殊权限SGID
    特殊权限 Sticky 位
  13. 设置文件的特殊属性,可以访问root 用户误操作删除或修改文件
    不能删除,改名,更改
    只能追加内容
    显示特定属性
    范例:
    4.6 访问控制列表
    4.6.1 ACL权限功能
    chattr +i
  14. ACL:Access Control List,实现灵活的权限管理
    除了文件的所有者,所属组和其它人,可以对更多的用户设置权限
    CentOS7 默认创建的xfs和ext4文件系统具有ACL功能
    CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加
  15. 主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p 参数。但是tar等常见的备份工具是不
    会保留目录和文件的ACL信息
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是课程列表: ├day01-01 系统介绍之缓冲区刷新.mp4 ├day01-02 系统介绍之man手册的使用.mp4 ├day02_文件查找规则.mp4 ├day03-01 调试输出点.mp4 ├day03-02 改变结构体对齐规则.mp4 ├day03-03 零长数组.mp4 ├day04-01 错误输出.mp4 ├day04-02 文件操作.mp4 ├day05-01 系统调用之文件操作.mp4 ├day05-02 C库函数对文件操作.mp4 ├day06-01 获取文件访问标识、文件加锁.mp4 ├day06-02 文件的访问权限文件权限操作.mp4 ├day07-01链接文件操作.mp4 ├day07-02 目录操作.mp4 ├day08-01获取文件目录属性.mp4 ├day08-02 获取当前工作目录.mp4 ├day09-01 临时文件.mp4 ├day09-02 获取系统环境变量.mp4 ├day10_环境变量的增、删、改、查.mp4 ├day11-01 创建屏蔽字.mp4 ├day11-02 知识小结.mp4 ├day12-01 dup文件描述符复制.mp4 ├day12-02 dup2 文件描述符复制.mp4 ├day13_Mmap与文件关联映射.mp4 ├day14-01 匿名模式.mp4 ├day14-02 缓冲区(行缓冲 全缓冲 无缓冲).mp4 ├day14-03 获取进程id.mp4 ├day15-01 获取fork子父进程id.mp4 ├day15-02 子父进程 执行顺序 资源共享 资源回收.mp4 ├day16-01 ufork之子父进程 执行顺序 资源共享 资源回收.mp4 ├day16-02 孤儿进程.mp4 ├day16-04 守护进程讲解.mp4 ├day17-01 守护进程实现.mp4 ├day18-01 fork与sighal的组合(避免僵尸进程).mp4 ├day18-02 匿名管道之创建、缓冲区大小、阻塞模式.mp4 ├day18-03 知识总结.mp4 ├day19_匿名管道子父进程通信、有名管道创建、删除.mp4 ├day20_有名管道的特点、在子父进程及非子父进程间操作.mp4 ├day21-01 有名管道的创建、缓冲区大小、阻塞模式、信号.mp4 ├day21-02 有名管道进程间通信.mp4 ├day22_消息队列默认属性及改变方法.mp4 ├day23-01 消息队列、读写操作.mp4 ├day23-02 消息队列之mp-notify读操作.mp4 ├day23-03 消息队列之mp-tined-recv、mp-tined-sewd.mp4 ├day24-01 共享内存的读写操作.mp4 ├day24-02 共享内存与map的公用.mp4 ├day25-01 共享内存综合案例操作.mp4 ├day25-02 匿名信号量的讲解使用.mp4 ├day25-03 匿名信号量同步.mp4 ├day26-01巩固知识点回顾与总结.mp4 ├day26-02 匿名信号量的互斥.mp4 ├day26-03 线程id 线程比较.mp4 ├day27-01 线程的执行顺序 资源共享.mp4 ├day27-02 线程资源回收 线程变量创建 线程属性.mp4 ├day27-03 线程栈空间获取 线程中断.mp4 ├day28-01 线程及信号量组合同步、组合互斥.mp4

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值