目录
一、文件系统基础概念
二、查看文件系统信息
2.1 磁盘空间查看
2.2 分区与挂载管理
2.3 文件系统类型操作
三、文件系统权限配置
3.1 基础权限管理
3.2 所有权管理
3.3 特殊权限设置
四、文件操作基础
4.1 文件创建
4.2 文件删除
4.3 文件复制与移动
4.4 文件编辑
五、高级文件管理
5.1 链接管理
5.2 查找与搜索
5.3 压缩与归档
六、权限管理进阶
6.1 ACL 访问控制列表
6.2 权限掩码设置
6.3 安全增强配置
七、实战案例
7.1 网站目录权限配置
7.2 日志文件管理
7.3 系统备份方案
八、常见问题处理
8.1 权限拒绝问题
8.2 文件误删恢复
8.3 文件系统修复
九、总结与最佳实践
CSDN 原创主页:不羁https://blog.csdn.net/2303_76492156?type=blog
一、文件系统基础概念
Linux 文件系统采用树形结构,以根目录 /
为起点,所有文件和目录都挂载在这个树状结构上。理解文件系统的关键概念包括:
- inode:存储文件元数据(权限、大小、创建时间等)
- block:实际存储文件数据的磁盘块
- 挂载点:文件系统在目录树中的接入位置
二、查看文件系统信息
2.1 磁盘空间查看
# 查看所有挂载点的磁盘使用情况
df -h# 查看指定目录的磁盘占用
du -sh /var/log# 显示inode使用情况
df -i
2.2 分区与挂载管理
# 查看系统分区信息
lsblk# 挂载新分区
mount /dev/sdb1 /mnt/data# 自动挂载配置(修改/etc/fstab)
/dev/sdb1 /mnt/data ext4 defaults 0 0# 卸载分区
umount /mnt/data
2.3 文件系统类型操作
# 创建ext4文件系统
mkfs.ext4 /dev/sdb1# 检查文件系统错误
fsck /dev/sdb1
三、文件系统权限配置
3.1 基础权限管理
# 查看文件权限
ls -l file.txt# 修改权限(ugo=rwx)
chmod 777 file.txt# 递归修改目录权限
chmod -R 755 /var/www# 符号模式修改权限
chmod u+w,g-x,o=r file.txt
3.2 所有权管理
# 修改文件所有者
chown user file.txt# 修改文件所属组
chgrp staff file.txt# 递归修改目录所有权
chown -R user:staff /var/www
3.3 特殊权限设置
# 设置SUID权限(允许普通用户以所有者权限运行)
chmod u+s /usr/bin/passwd# 设置SGID权限(强制继承目录组)
chmod g+s /var/log# 设置粘滞位(防止非所有者删除文件)
chmod +t /tmp
四、文件操作基础
4.1 文件创建
# 空文件创建
touch empty.txt# 创建带内容的文件
echo "Hello Linux" > greet.txt# 创建多文件
touch file{1..5}.txt
4.2 文件删除
# 删除单个文件
rm file.txt# 强制删除只读文件
rm -f readonly.txt# 递归删除目录
rm -rf /tmp/testdir
4.3 文件复制与移动
# 复制文件
cp source.txt /dest/# 保留属性复制
cp -a /etc /backup/# 移动文件(重命名)
mv oldname.txt newname.txt# 递归移动目录
mv /var/log /backup/
4.4 文件编辑
# 使用vim编辑文件
vim config.conf# 插入模式:按i
# 保存退出::wq# 使用nano简单编辑
nano notes.txt# 快速替换文本
sed -i 's/old/new/g' file.txt
五、高级文件管理
5.1 链接管理
# 创建硬链接
ln file.txt hardlink.txt# 创建软链接
ln -s /var/log symlink_log# 查看链接信息
ls -li
5.2 查找与搜索
# 按名称查找文件
find / -name "*.log"# 按权限查找文件
find / -perm 777# 快速查找命令(需要更新数据库)
locate passwd
updatedb
5.3 压缩与归档
# 创建tar包
tar -cvf backup.tar /etc# 创建gzip压缩包
tar -zcvf backup.tar.gz /var# 解压tar.gz文件
tar -zxvf backup.tar.gz# 其他压缩格式
gzip file.txt
gunzip file.txt.gz
六、权限管理进阶
6.1 ACL 访问控制列表
# 查看ACL设置
getfacl file.txt# 赋予用户读写权限
setfacl -m u:user:rw- file.txt# 递归设置ACL
setfacl -R -m u:user:r-x /var/www# 删除ACL
setfacl -x u:user file.txt
6.2 权限掩码设置
# 查看当前umask
umask# 临时修改umask
umask 0022# 永久修改(在~/.bashrc中添加)
echo "umask 0022" >> ~/.bashrc
6.3 安全增强配置
# 设置文件不可修改
chattr +i important.conf# 查看特殊属性
lsattr important.conf# 移除不可修改属性
chattr -i important.conf
七、实战案例
7.1 网站目录权限配置
# 创建网站目录
mkdir -p /var/www/mysite# 设置所有者和组
chown -R www-data:www-data /var/www/mysite# 设置权限
chmod -R 750 /var/www/mysite
chmod g+s /var/www/mysite
7.2 日志文件管理
# 每日归档日志
find /var/log -type f -name "*.log" -mtime +7 -exec tar -zcvf /backup/log_$(date +%Y%m%d).tar.gz {} \;# 自动清理旧日志
find /var/log -type f -name "*.log" -mtime +30 -delete
7.3 系统备份方案
# 全量备份脚本
#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR="/backup/full_$DATE"
mkdir -p $BACKUP_DIR
rsync -aAX --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / $BACKUP_DIR
八、常见问题处理
8.1 权限拒绝问题
# 检查文件权限
ls -ld /var/www# 切换用户执行
sudo chown user /var/www/file.txt
8.2 文件误删恢复
# 使用extundelete恢复(需安装)
extundelete /dev/sda1 --restore-file /etc/passwd# 备份恢复
cp /backup/old/passwd /etc/
8.3 文件系统修复
# 强制检查文件系统
fsck -f /dev/sdb1# 单用户模式修复
mount -o remount,ro /
fsck -y /dev/sdb1
九、总结与最佳实践
- 权限最小化原则:只赋予必要的读写执行权限
- 定期备份:重要数据至少保留 3 份
- 特殊权限审计:每月检查 SUID/SGID 文件
- 使用 ACL 精细控制:针对复杂权限需求
- 文件系统监控:设置磁盘空间预警阈值
- 使用版本控制:对配置文件使用 git 管理
通过本指南的学习,读者能够掌握 Linux 文件系统的核心操作,从基础文件管理到高级权限控制,从日常维护到灾难恢复,全面提升系统管理能力。建议结合实际环境进行操作练习,加深理解和记忆。