当前位置: 首页 > news >正文

Linux文件系统结构与用户管理完全指南

在深入学习Linux系统管理之前,理解文件系统结构和用户管理机制是至关重要的。本文将详细介绍Linux的文件系统层次标准(FHS)和用户权限管理,帮助读者建立扎实的系统基础知识。

文章目录

  • 1、Linux文件系统核心概念
    • 文件系统基本特性
    • 路径表示方法
      • 绝对路径
      • 相对路径
  • 2、文件系统层次标准(FHS)详解
    • 系统核心目录
    • 用户相关目录
    • 系统程序目录
    • 可变数据目录
  • 3、文件管理基础操作
    • 文件和目录操作
    • 文件类型识别
  • 文本编辑器使用指南
    • Vi/Vim编辑器
      • 基本模式切换
      • 光标移动命令
      • 编辑和保存命令
    • Nano编辑器
  • Linux用户管理系统
    • 用户信息查看
    • 用户账户文件
    • 用户创建和管理
      • 添加用户
      • 权限提升和切换
      • 配置sudo权限
    • root用户特殊性
  • 实践建议
    • 安全最佳实践
    • 学习路径建议
  • 总结

1、Linux文件系统核心概念

文件系统基本特性

Linux文件系统有几个重要特性需要牢记:

  • 文件名长度限制:目录名和文件名长度不超过255个字符
  • 大小写敏感File.txtfile.txt 是两个不同的文件
  • 一切皆文件:在Linux中,设备、进程、网络连接等都以文件形式存在

路径表示方法

Linux中有两种路径表示方式:

绝对路径

从根目录 / 开始的完整路径:

/home/user1/file1
/etc/passwd
/usr/local/bin/program

相对路径

相对于当前工作目录的路径:

# 当前在 /home/user1 目录下
./file1          # 当前目录下的file1
file1            # 省略 ./ 的写法
../user2/file2   # 上级目录user2下的file2# 当前在 /home/user2 目录下
../user1/file1   # 访问user1目录下的file1

2、文件系统层次标准(FHS)详解

Linux遵循文件系统层次标准,主要目录结构如下:

系统核心目录

/                    # 根目录,整个文件系统的起点
├── bin/            # 基本命令二进制文件(普通用户)
├── sbin/           # 系统管理命令(管理员专用)
├── boot/           # 系统启动文件,内核和引导程序
├── dev/            # 设备文件目录
│   └── null        # 系统"垃圾桶",丢弃输出数据
├── etc/            # 系统和软件配置文件
├── proc/           # 虚拟文件系统,内核和进程信息
└── tmp/            # 临时文件存储

用户相关目录

/root/              # root用户的家目录
/home/              # 普通用户家目录
└── username/       # 具体用户的个人目录

系统程序目录

/usr/               # 系统程序和文件
├── bin/           # 用户程序二进制文件
├── sbin/          # 系统管理程序
├── local/         # 本地安装的软件
├── lib/           # 32位库文件
└── lib64/         # 64位库文件

可变数据目录

/var/               # 存储经常变化的文件
├── log/           # 系统和应用日志
├── mail/          # 邮件存储
└── lib/           # 应用数据库文件/media/             # 自动挂载的移动设备
/mnt/               # 手动挂载点

3、文件管理基础操作

文件和目录操作

# 创建文件
touch filename.txt# 复制文件/目录
cp source_file destination_file
cp -r source_dir destination_dir    # 递归复制目录# 移动/重命名
mv old_name new_name
mv file_path new_location/# 创建目录
mkdir directory_name
mkdir -p parent/child/grandchild    # 创建多级目录# 删除文件/目录
rm filename
rm -rf directory_name               # 强制删除目录及内容

文件类型识别

使用 ls -la 查看文件详细信息,文件类型通过首字符标识:

-rw-r--r--  # - 表示普通文件
drwxr-xr-x  # d 表示目录
brw-rw----  # b 表示块设备文件
crw-rw-rw-  # c 表示字符设备文件
srw-rw-rw-  # s 表示套接字文件
prw-r--r--  # p 表示管道文件
lrwxrwxrwx  # l 表示符号链接

查看文件类型详细信息:

file /etc/hosts
# 输出:/etc/hosts: ASCII text

文本编辑器使用指南

Vi/Vim编辑器

Vi是Linux系统标配的文本编辑器,掌握基本操作非常重要:

基本模式切换

vi filename         # 打开文件进入命令模式
i                   # 进入插入模式
Esc                 # 返回命令模式

光标移动命令

# 基本方向移动
k                   # 上移
j                   # 下移
h                   # 左移
l                   # 右移# 单词级移动
w                   # 下一个单词词首
e                   # 当前/下一个单词词尾
b                   # 上一个单词词首# 行内移动
^                   # 行首
$                   # 行尾

编辑和保存命令

dd                  # 删除当前行
u                   # 撤销上一步操作
:行号               # 跳转到指定行
:wq                 # 保存并退出
:q!                 # 不保存强制退出

Nano编辑器

对于初学者,nano提供了更友好的界面:

# 安装nano
yum -y install nano# 使用nano编辑文件
nano filename

Nano的常用快捷键显示在屏幕底部,如 Ctrl+O 保存,Ctrl+X 退出。

Linux用户管理系统

用户信息查看

# 查看当前用户信息
id
# 输出:uid=1000(username) gid=1000(username) groups=1000(username)# 查看指定用户信息
id username# 查看当前登录用户
who# 查看系统进程
ps aux | less

用户账户文件

Linux用户信息存储在以下文件中:

  • /etc/passwd - 用户基本信息
  • /etc/shadow - 用户密码信息(加密存储)

用户创建和管理

添加用户

# 基本用户创建
useradd username# 高级用户创建(指定详细参数)
useradd -u 1020 \           # 指定用户ID-g 1001 \           # 指定主组ID-c "测试用户" \      # 添加注释-d /home/test1 \    # 指定家目录-s /bin/bash \      # 指定默认shell-G games \          # 指定附加组test1               # 用户名

参数说明:

  • -u : 指定用户ID (UID)
  • -g : 指定主组ID (GID)
  • -c : 添加用户描述信息
  • -d : 指定用户家目录路径
  • -s : 指定用户默认Shell
  • -G : 指定用户附加组
  • -r : 创建系统用户

权限提升和切换

# 临时提升权限执行命令
sudo command# 切换到root用户
sudo su# 切换到指定用户
su username

配置sudo权限

编辑sudoers文件来配置用户sudo权限:

# 使用visudo命令安全编辑
visudo# 或直接编辑文件(不推荐)
vi /etc/sudoers

在sudoers文件中添加配置:

# 允许用户执行所有命令
username ALL=(ALL) ALL# 允许用户组执行特定命令
%groupname ALL=(ALL) /bin/ls, /bin/cat

root用户特殊性

root用户是Linux系统的超级管理员:

  • UID为0:这是root用户的唯一标识
  • 无限权限:可以执行任何系统操作
  • 系统安全:谨慎使用root权限,避免误操作

实践建议

安全最佳实践

  1. 最小权限原则:只给用户必需的最小权限
  2. 避免直接使用root:通过sudo提升权限执行管理任务
  3. 定期审查用户账户:删除不需要的账户,更新权限设置

学习路径建议

掌握文件系统和用户管理后,可以选择以下专业方向深入学习:

  • 系统管理:继续学习服务配置、网络管理、性能优化
  • 网络安全:学习漏洞挖掘、渗透测试、安全防护
  • CTF竞赛:参与网络安全竞赛,提升实战技能
  • 开发运维:结合编程知识,向DevOps方向发展

总结

Linux文件系统结构和用户管理是系统管理的核心基础。文件系统的层次标准为系统组织提供了清晰的框架,而用户管理系统则确保了系统的安全性和多用户环境的有序运行。

通过掌握这些基础知识,读者将能够:

  • 熟练导航Linux文件系统
  • 有效管理文件和目录
  • 理解和配置用户权限
  • 安全地执行系统管理任务

这些技能为进一步学习Linux系统管理、网络服务配置和安全防护奠定了坚实基础。建议读者通过实际操作加深理解,逐步提升Linux系统操作能力。

http://www.dtcms.com/a/391804.html

相关文章:

  • 鸿蒙保存图片到相册
  • 【C语言】喝汽水问题分析:20元能喝多少瓶汽水?
  • 二物理层-ADSL-思考题
  • PyQt6之滑动条
  • 虚拟机ubuntu安装中文输入法
  • 康奈尔大学视觉-语言-动作模型全面综述:概念、进展、应用与挑战
  • 单片机--中断实验
  • 嵌入式 - GPIO
  • 一款商用的基于SpringBoot+VUE的出货单智能比对系统
  • systemctl 在启动服务时的 常用参数
  • 【MySQL】SQL性能分析
  • 【软件测试Linux】详细Linux介绍和各种命令的场景应用
  • 【MySQL】使用C/C++链接mysql数据库
  • 【复现】【充换电站】考虑用户充电负荷-最优分时电价互动的光储充换电站优化模型
  • 多光谱相机按不同分类的几种类型
  • Linux中select、poll 和 epoll的作用
  • JavaScript原型链全面解析
  • mysql相关优化
  • electron-forge踩坑记录
  • 00-基于django+vue3+ts的前后端分离RBAC权限管理系统
  • Go语言-->切片
  • 《Java网络编程》第二章:Stream流
  • 速卖通“AI全站推”上新!跨境卖家如何利用 AI 做营销
  • Apple Developer Program注册被拒原因分析与技术性申诉指南
  • 卷积神经网络从入门到经典模型详解
  • C#超市商品管理系统入门级实现
  • 自注意力机制Self-Attention (二)
  • InternVLA-N1——规划-执行双系统下的VLN基础模型:具备学习型的潜在规划能力,可部署在轮式、四足、双足人形上
  • 睡眠PSG数据集技术
  • 【AI落地应用实战】利用亚马逊云科技 Step Functions 集成现有系统快速实现个性化邮件触达