引言
Linux文件系统就像一棵精心设计的大树🌳,每个分支都有其特定的用途和规范。与Windows不同,Linux采用单一的目录结构,所有设备、分区和网络资源都挂载在这个统一的目录树下。本文将带你深入探索Linux目录结构的奥秘,掌握文件权限管理技巧,熟练使用强大的文本处理命令,并理解软硬链接的本质区别。无论你是刚入门的新手还是想巩固基础的老鸟,这篇文章都将成为你的Linux文件系统速查手册!📚🔍
一、Linux目录结构
Linux 系统的目录结构遵循文件系统层次结构标准(FHS, Filesystem Hierarchy Standard),这是一个定义了目录结构和目录内容的规范。了解这些目录的作用对于有效使用和管理Linux系统至关重要。
1.1 根目录 (/)
根目录是整个文件系统的起点,所有其他目录和文件都从根目录开始分支。
1.2 主要系统目录
/bin (二进制文件)
- 包含基本的用户命令二进制文件(可执行程序)
- 这些命令在单用户模式下也是可用的
- 示例:ls, cp, mv, cat, bash等
/sbin (系统二进制文件)
- 包含系统管理命令的二进制文件
- 通常只有root用户才能使用这些命令
- 示例:fdisk, fsck, ifconfig, init等
/etc (配置文件)
- 包含系统的配置文件
- 大多是纯文本文件,可以用文本编辑器修改
- 示例:/etc/passwd(用户账户信息), /etc/fstab(文件系统表), /etc/hosts(网络主机名映射)
/dev (设备文件)
- 包含设备文件,这些文件代表硬件设备
- 示例:/dev/sda(第一个SATA硬盘), /dev/tty(终端), /dev/null(空设备)
/proc (进程信息)
- 虚拟文件系统,包含系统和进程信息
- 不是真正的磁盘文件,而是内核和进程的运行时信息
- 示例:/proc/cpuinfo(CPU信息), /proc/meminfo(内存信息)
/var (可变数据)
- 包含经常变化的文件,如日志、邮件、打印队列等
- 子目录:
- /var/log: 系统日志文件
- /var/mail: 用户邮箱
- /var/spool: 等待处理的任务(打印、邮件等)
- /var/www: Web服务器目录(某些发行版)
/tmp (临时文件)
- 临时文件目录,所有用户都可以读写
- 系统重启时通常会清空此目录
/usr (用户程序)
- 包含用户应用程序和文件
- 子目录:
- /usr/bin: 用户命令
- /usr/sbin: 系统管理命令
- /usr/lib: 程序库
- /usr/local: 本地安装的软件
- /usr/share: 共享数据(文档、字体等)
/home (用户主目录)
- 普通用户的主目录所在地
- 每个用户通常有一个以其用户名命名的子目录
/root (root用户主目录)
- 系统管理员(root)的主目录
/boot (启动文件)
- 包含启动加载器和内核文件
- 示例:vmlinuz(内核镜像), initrd(初始RAM磁盘), grub(引导加载程序)
/lib (库文件)
- 包含/bin和/sbin中程序所需的共享库
- 类似于Windows中的DLL文件
/opt (可选软件)
- 用于安装第三方或可选软件包
/mnt (临时挂载点)
- 临时挂载文件系统的目录
- 管理员可以在此挂载外部设备或网络共享
/media (可移动媒体)
- 可移动设备(如USB驱动器、CD-ROM)的自动挂载点
/srv (服务数据)
- 包含系统提供的服务数据
- 例如Web服务器的网页数据或FTP服务器的文件
/run (运行时数据)
- 存储系统运行时的临时文件(如PID文件)
- 在早期启动时创建,在关机时清除
1.3 特殊目录
.
: 当前目录..
: 父目录~
: 当前用户的主目录
1.4 路径表示
- 绝对路径:从根目录开始的完整路径,如
/home/user/file.txt
- 相对路径:相对于当前目录的路径,如
../otherdir/file.txt
1.5 查看目录结构
使用tree
命令可以可视化目录结构:
tree -L 2 / # 显示根目录下两层的结构
使用ls
命令查看目录内容:
ls -l / # 列出根目录下的内容
1.6 注意事项
- Linux目录结构区分大小写
- 路径使用正斜杠(/)而不是反斜杠()
- 不同的Linux发行版可能在目录结构上有细微差异
- 不要随意删除系统目录中的文件,除非你确切知道它们的作用
二、Linux文件权限
Linux 是一个多用户操作系统,因此文件权限管理至关重要。
2.1 基本概念
2.1.1 权限类型
Linux 有三种基本权限:
- r (read):读取权限
- w (write):写入权限
- x (execute):执行权限
2.1.2 权限对象
权限针对三类用户:
- 所有者 (owner):文件/目录的创建者
- 所属组 (group):文件/目录所属的用户组
- 其他用户 (others):既不是所有者也不在所属组的用户
2.2 查看文件权限
使用 ls -l
命令查看文件权限:
ls -l filename
输出示例:
-rw-r--r-- 1 user group 1024 Jan 1 10:00 filename
权限部分的解释:
- 第1个字符:文件类型 (
-
普通文件,d
目录,l
链接等) - 第2-4个字符:所有者权限
- 第5-7个字符:所属组权限
- 第8-10个字符:其他用户权限
2.3 权限表示法
2.3.1 符号表示法
r
= 4w
= 2x
= 1-
= 0
2.3.2 数字表示法
将三类权限的数值相加:
rwx
= 4+2+1 = 7rw-
= 4+2+0 = 6r-x
= 4+0+1 = 5r--
= 4+0+0 = 4
2.4 修改文件权限
2.4.1 chmod 命令
改变文件/目录的权限:
符号模式:
chmod [ugoa][+-=][rwx] 文件名
u
=所有者,g
=组,o
=其他,a
=所有+
=添加权限,-
=移除权限,=
=设置权限
示例:
chmod u+x file.sh # 给所有者添加执行权限
chmod go-w file.txt # 移除组和其他用户的写权限
chmod a=rw shared.txt # 设置所有用户为读写权限
数字模式:
chmod 755 script.sh
解释:
- 7 (所有者:rwx)
- 5 (组:r-x)
- 5 (其他:r-x)
2.4.2 chown 命令
改变文件所有者:
chown 新所有者 文件名
chown 新所有者:新组 文件名
示例:
chown alice file.txt
chown alice:developers file.txt
2.4.3 chgrp 命令
改变文件所属组:
chgrp 新组 文件名
2.5 特殊权限
2.5.1 SetUID (s)
- 以文件所有者的权限执行
- 表示为
s
或S
(如果所有者没有执行权限) - 设置:
chmod u+s file
2.5.2 SetGID (s)
- 以文件所属组的权限执行
- 对于目录,新创建的文件继承目录的组
- 设置:
chmod g+s file
2.5.3 粘滞位 (t)
- 只有文件所有者可以删除/重命名文件
- 常用于共享目录如
/tmp
- 设置:
chmod +t directory
2.6 默认权限 (umask)
umask 决定新创建文件的默认权限:
umask # 查看当前umask
umask 0022 # 设置新umask
计算方式:
- 文件默认权限:666 - umask
- 目录默认权限:777 - umask
2.7 权限示例
权限 | 文件 | 目录 |
---|---|---|
r (4) | 读取文件内容 | 列出目录内容 |
w (2) | 修改文件内容 | 创建/删除文件 |
x (1) | 执行文件 | 进入目录 |
2.8 实用命令
查看用户权限:
namei -l /path/to/file
查找有特殊权限的文件:
find / -perm -4000 -type f # SetUID文件
find / -perm -2000 -type f # SetGID文件
find / -perm -1000 -type d # 粘滞位目录
2.9 安全建议
- 避免给文件设置777权限
- 谨慎使用SetUID/SetGID
- 定期检查系统特殊权限文件
- 为敏感文件设置适当权限
- 使用组权限来管理共享访问
三、Linux文件命令大全
Linux 提供了丰富的命令来管理文件和目录。
3.1 文件导航命令
3.1.1 pwd
- 显示当前目录
pwd
# 输出: /home/username
3.1.2 cd
- 切换目录
cd /path/to/directory # 绝对路径
cd ../parent # 相对路径
cd ~ # 返回家目录
cd - # 返回上一个目录
3.1.3 ls
- 列出目录内容
ls # 简单列出
ls -l # 详细列表(长格式)
ls -a # 显示隐藏文件(以.开头)
ls -lh # 人类可读的文件大小
ls -t # 按修改时间排序
ls -R # 递归列出子目录
3.2 文件操作命令
3.2.1 touch
- 创建空文件/更新时间戳
touch file.txt # 创建新文件
touch -t 202401011200 file.txt # 设置特定时间戳
3.2.2 cp
- 复制文件/目录
cp file1.txt file2.txt # 复制文件
cp -r dir1 dir2 # 递归复制目录
cp -v *.txt /backup/ # 详细模式复制
cp -u source/* dest/ # 只复制更新的文件
3.2.3 mv
- 移动/重命名文件
mv old.txt new.txt # 重命名
mv file.txt /new/path/ # 移动文件
mv -i file.txt dest/ # 交互模式(覆盖前询问)
mv -n file.txt dest/ # 不覆盖已存在文件
3.2.4 rm
- 删除文件
rm file.txt # 删除文件
rm -i file.txt # 交互式删除
rm -f file.txt # 强制删除(不提示)
rm -r directory/ # 递归删除目录
3.2.5 mkdir
- 创建目录
mkdir newdir # 创建单个目录
mkdir -p path/to/newdir # 创建多级目录
mkdir -m 755 secure_dir # 创建带权限的目录
3.2.6 rmdir
- 删除空目录
rmdir emptydir # 删除空目录
3.3 文件查看命令
3.3.1 cat
- 连接并显示文件
cat file.txt # 显示文件内容
cat -n file.txt # 显示行号
cat file1.txt file2.txt > combined.txt # 合并文件
3.3.2 less
/more
- 分页查看
less largefile.log # 可前后翻页
more largefile.log # 只能向前翻页
3.3.3 head
/tail
- 查看开头/结尾
head -n 10 file.txt # 显示前10行
tail -n 20 file.log # 显示最后20行
tail -f growing.log # 实时跟踪日志更新
3.3.4 file
- 确定文件类型
file unknownfile # 显示文件类型
3.4 文件查找命令
3.4.1 find
- 高级文件搜索
find / -name "*.conf" # 按名称查找
find . -type f -size +1M # 查找大于1MB的文件
find /var/log -mtime -7 # 查找7天内修改的文件
find ~ -empty # 查找空文件/目录
find . -perm 644 # 查找特定权限文件
3.4.2 locate
- 快速文件查找
locate passwd # 查找所有包含passwd的文件
updatedb # 更新locate数据库(需root)
3.4.3 grep
- 文件内容搜索
grep "error" logfile.txt # 搜索包含error的行
grep -r "pattern" /path/to/dir/ # 递归搜索目录
grep -i "warning" file.txt # 忽略大小写
grep -v "exclude" file.txt # 反向匹配(不包含)
grep -A 3 -B 2 "keyword" file # 显示匹配前后内容
3.5 文件权限命令
3.5.1 chmod
- 更改权限
chmod 755 script.sh # 数字模式设置权限
chmod u+x file.sh # 符号模式添加执行权限
3.5.2 chown
- 更改所有者
chown user:group file.txt
3.5.3 chgrp
- 更改所属组
chgrp developers file.txt
3.6 文件压缩/解压命令
3.6.1 tar
- 打包/解包
tar -cvf archive.tar dir/ # 创建tar包
tar -xvf archive.tar # 解压tar包
tar -czvf archive.tar.gz dir/ # 创建gzip压缩包
tar -xzvf archive.tar.gz # 解压gzip包
tar -cjvf archive.tar.bz2 dir/ # 创建bzip2压缩包
3.6.2 gzip
/gunzip
- 压缩/解压
gzip file.txt # 压缩为file.txt.gz
gunzip file.txt.gz # 解压.gz文件
3.6.3 zip
/unzip
zip archive.zip file1 file2 # 创建zip压缩包
unzip archive.zip # 解压zip文件
3.7 文件比较命令
7.1 diff
- 比较文件差异
diff file1.txt file2.txt
7.2 cmp
- 逐字节比较
cmp file1.bin file2.bin
7.3 comm
- 比较排序文件
comm file1.txt file2.txt
3.8 文件统计命令
3.8.1 wc
- 字数统计
wc file.txt # 行数、单词数、字节数
wc -l access.log # 只统计行数
3.8.2 du
- 磁盘使用情况
du -sh dir/ # 目录总大小
du -h --max-depth=1 /var # 查看一级子目录大小
3.8.3 df
- 磁盘空间信息
df -h # 人类可读的各分区空间
3.9 文件链接命令
3.9.1 ln
- 创建链接
ln -s target linkname # 创建符号链接
ln target hardlink # 创建硬链接
3.10 高级文件操作
3.10.1 split
- 分割文件
split -b 100M largefile part_ # 按100MB分割
3.10.2 sort
- 文件排序
sort file.txt # 按行排序
sort -n data.txt # 数值排序
sort -u list.txt # 去重排序
3.10.3 uniq
- 报告或过滤重复行
uniq sorted.txt # 去除相邻重复行
uniq -c log.txt # 计数重复行
3.10.4 tee
- 同时输出到屏幕和文件
ls -l | tee listing.txt
3.11 文件传输命令
3.11.1 scp
- 安全复制
scp file.txt user@remote:/path/
scp -r dir/ user@remote:/path/
3.11.2 rsync
- 高效文件同步
rsync -avz src/ user@remote:dest/
rsync -avz --delete src/ dest/ # 同步并删除多余文件
3.12 文件编辑命令
3.12.1 sed
- 流编辑器
sed 's/old/new/g' file.txt # 替换文本
sed -i.bak 's/old/new/' file # 直接修改文件(备份)
3.12.2 awk
- 文本处理
awk '{print $1}' file.txt # 打印第一列
awk '/pattern/ {print $0}' file # 匹配模式的行
四、Linux vi/vim
Vim (Vi IMproved) 是 Linux 系统中最强大的文本编辑器之一,以其高效性和可定制性著称。
4.1 Vim 基础
4.1.1 安装与启动
# 安装 Vim
sudo apt install vim # Debian/Ubuntu
sudo yum install vim # CentOS/RHEL
# 启动 Vim
vim filename # 打开文件
vim # 启动空编辑器
vim +10 file.txt # 打开文件并跳至第10行
vim +/pattern file.txt # 打开文件并搜索模式
4.1.2 Vim 模式
Vim 有几种主要模式:
- 普通模式(Normal mode) - 默认模式,执行命令
- 插入模式(Insert mode) - 编辑文本
- 可视模式(Visual mode) - 选择文本
- 命令行模式(Command-line mode) - 输入命令
4.2 基本操作
4.2.1 模式切换
命令 | 功能 |
---|---|
i | 在光标前进入插入模式 |
a | 在光标后进入插入模式 |
o | 在当前行下方新建行并进入插入模式 |
O | 在当前行上方新建行并进入插入模式 |
ESC | 返回普通模式 |
v | 进入可视模式 |
V | 进入行可视模式 |
Ctrl+v | 进入块可视模式 |
: | 进入命令行模式 |
4.2.2 光标移动
基本移动
命令 | 功能 |
---|---|
h | 左移 |
j | 下移 |
k | 上移 |
l | 右移 |
w | 移动到下一个单词开头 |
b | 移动到上一个单词开头 |
e | 移动到当前单词末尾 |
0 | 移动到行首 |
^ | 移动到行首非空白字符 |
$ | 移动到行尾 |
gg | 移动到文件开头 |
G | 移动到文件末尾 |
50G | 移动到第50行 |
Ctrl+f | 向下翻页 |
Ctrl+b | 向上翻页 |
高级移动
% # 在匹配的括号间跳转
* # 向前搜索当前单词
# # 向后搜索当前单词
f<char> # 向前查找字符并跳转
F<char> # 向后查找字符并跳转
; # 重复上次f/F查找
, # 反向重复上次f/F查找
4.2.3 编辑操作
插入文本
i # 在光标前插入
a # 在光标后插入
I # 在行首插入
A # 在行尾插入
o # 在当前行下方新建行
O # 在当前行上方新建行
s # 删除当前字符并插入
S # 删除当前行并插入
删除文本
x # 删除当前字符
dw # 删除到单词末尾
d$ # 删除到行尾
dd # 删除当前行
5dd # 删除5行
dG # 删除到文件末尾
dgg # 删除到文件开头
复制与粘贴
yy # 复制当前行
yw # 复制当前单词
p # 粘贴到光标后
P # 粘贴到光标前
撤销与重做
u # 撤销
Ctrl+r # 重做
4.2.4 保存与退出
命令 | 功能 |
---|---|
:w | 保存文件 |
:w filename | 另存为 |
:q | 退出 |
:q! | 强制退出不保存 |
:wq | 保存并退出 |
:x | 保存并退出(仅当有修改时) |
ZZ | 保存并退出(普通模式) |
4.3 高级编辑技巧
4.3.1 搜索与替换
搜索
/pattern # 向前搜索
?pattern # 向后搜索
n # 下一个匹配项
N # 上一个匹配项
替换
:s/old/new/ # 替换当前行第一个匹配
:s/old/new/g # 替换当前行所有匹配
:%s/old/new/g # 替换全文所有匹配
:%s/old/new/gc # 替换全文(每次确认)
:5,10s/old/new/g # 替换5-10行所有匹配
4.3.2 多文件操作
:e filename # 打开新文件
:bn # 切换到下一个缓冲区
:bp # 切换到上一个缓冲区
:bd # 关闭当前缓冲区
:ls # 列出所有缓冲区
:sp filename # 水平分割窗口
:vsp filename # 垂直分割窗口
Ctrl+w h/j/k/l # 在窗口间移动
Ctrl+w w # 循环切换窗口
4.3.3 宏录制
qa # 开始录制宏到寄存器a
q # 停止录制
@a # 执行寄存器a中的宏
@@ # 重复上次执行的宏
4.3.4 标记与跳转
ma # 设置标记a
'a # 跳转到标记a
:marks # 查看所有标记
Ctrl+o # 跳转到上一个位置
Ctrl+i # 跳转到下一个位置
4.4 Vim 配置
4.4.1 .vimrc 配置文件
~/.vimrc
是 Vim 的配置文件,常见设置:
" 基本设置
set number " 显示行号
set relativenumber " 显示相对行号
set tabstop=4 " 制表符宽度
set shiftwidth=4 " 自动缩进宽度
set expandtab " 用空格代替制表符
set autoindent " 自动缩进
set hlsearch " 高亮搜索
set ignorecase " 忽略大小写
set smartcase " 智能大小写
syntax on " 语法高亮
" 键位映射
nnoremap <C-s> :w<CR> " Ctrl+s保存
inoremap jk <ESC> " jk退出插入模式
4.4.2 插件管理
使用 Vim-plug 管理插件:
- 安装 Vim-plug:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
- 在 .vimrc 中添加插件:
call plug#begin('~/.vim/plugged')
Plug 'preservim/nerdtree' " 文件浏览器
Plug 'vim-airline/vim-airline' " 状态栏
Plug 'ycm-core/YouCompleteMe' " 代码补全
call plug#end()
- 安装插件:
:PlugInstall
4.5 实用技巧
4.5.1 高效编辑
. # 重复上次编辑命令
Ctrl+a # 增加数字
Ctrl+x # 减少数字
>> # 向右缩进
<< # 向左缩进
gq # 格式化选中文本
J # 合并当前行与下一行
4.5.2 文本对象
diw # 删除当前单词
ci" # 修改引号内内容
da[ # 删除方括号及其内容
yit # 复制HTML标签内容
4.5.3 寄存器
"ayy # 复制当前行到寄存器a
"ap # 粘贴寄存器a内容
:reg # 查看所有寄存器
4.6 学习资源
- Vim 内置教程:
vimtutor
- 常用帮助命令:
:help " 打开帮助
:help usr_ " 用户手册
:help motion " 移动命令帮助
- 在线资源:
- Vim 官方文档:https://www.vim.org/docs.php
- Vim 速查表:https://vim.rtorr.com/
- Vim Adventures:https://vim-adventures.com/
五、软链接与硬链接
在 Linux 文件系统中,链接(Link)是一种让多个文件名指向同一个文件实体的机制。链接分为两种类型:软链接(符号链接)和硬链接。
5.1 基本概念
5.1.1 硬链接 (Hard Link)
- 是文件系统中的一个目录条目,直接指向文件的 inode
- 与原始文件完全平等,无法区分哪个是原始文件
- 不能跨文件系统创建
- 不能链接到目录
5.1.2 软链接/符号链接 (Soft/Symbolic Link)
- 是一个特殊的文件,包含另一个文件的路径信息
- 类似于 Windows 的快捷方式
- 可以跨文件系统创建
- 可以链接到目录
- 如果原始文件被删除,链接将失效(称为"断链")
5.2 创建链接
5.2.1 创建硬链接
ln 源文件 硬链接名
示例:
ln original.txt hardlink.txt
5.2.2 创建软链接
ln -s 源文件或目录 软链接名
示例:
ln -s original.txt softlink.txt
ln -s /path/to/directory link_to_dir
5.3 查看链接
3.1 使用 ls
查看
ls -l
输出示例:
-rw-r--r-- 2 user group 1024 Jan 1 10:00 hardlink.txt
-rw-r--r-- 2 user group 1024 Jan 1 10:00 original.txt
lrwxrwxrwx 1 user group 11 Jan 1 10:01 softlink.txt -> original.txt
注意:
- 硬链接看起来和普通文件一样
- 软链接显示为
l
类型,并显示指向的目标
3.2 查看硬链接计数
ls -l
第二列的数字表示硬链接计数:
-rw-r--r-- 3 user group 1024 Jan 1 10:00 file.txt
表示 file.txt
有3个硬链接(包括它自己)
3.3 查看 inode 号
ls -i
硬链接与原始文件有相同的 inode 号,软链接则有独立的 inode
5.4 链接特性对比
特性 | 硬链接 | 软链接 |
---|---|---|
创建命令 | ln | ln -s |
文件类型 | 普通文件 | 特殊文件 (l 类型) |
跨文件系统 | 不支持 | 支持 |
链接到目录 | 不支持 | 支持 |
inode 号 | 与源文件相同 | 独立 inode |
原始文件删除后 | 仍然有效 | 失效(断链) |
文件大小 | 与源文件相同 | 等于路径名的长度 |
权限 | 与源文件相同 | 总是 777 (但受限于目标权限) |
修改时间 | 同步更新 | 创建时间独立 |
5.5 实际应用示例
5.5.1 创建常用命令的快捷方式
ln -s /usr/bin/python3 /usr/local/bin/python
5.5.2 备份重要文件(硬链接)
ln important.txt important_backup.txt
5.5.3 版本切换(软链接)
ln -s /opt/software/version2.0 /opt/software/current
5.6 链接管理
5.6.1 查找所有硬链接
find / -samefile /path/to/file 2>/dev/null
5.6.2 查找断链的软链接
find / -type l -xtype l 2>/dev/null
5.6.3 更新软链接
ln -sf 新目标 已有软链接
5.6.4 删除链接
rm 链接名
注意:删除链接不会影响原始文件(除非这是最后一个硬链接)
5.7 工作原理图解
硬链接工作原理
[目录条目1] ------> [inode] <------ [目录条目2]
| |
v v
"file1.txt" "file2.txt"
软链接工作原理
[目录条目] --> [软链接inode] --(包含路径)--> [目标文件inode]
| |
v v
"link.txt" "target.txt"
5.8 常见问题解答
Q: 如何判断一个文件是否是链接?
A: 使用 ls -l
查看,软链接会显示为 l
类型并显示指向;硬链接只能通过 inode 号判断
Q: 为什么不能给目录创建硬链接?
A: 这是为了防止文件系统中出现循环引用,导致文件系统工具(如 find、tar)陷入无限循环
Q: 删除原始文件后,硬链接还能访问数据吗?
A: 可以,因为硬链接和原始文件是平等的,数据只有在所有硬链接都被删除后才会真正释放
Q: 如何找到所有指向某个 inode 的硬链接?
A: 使用 find / -inum <inode号> 2>/dev/null
5.9 最佳实践
-
软件安装管理:使用软链接来管理不同版本的软件
ln -s /opt/app/version2.3 /opt/app/current
-
配置文件管理:使用软链接将配置文件放在版本控制目录
ln -s ~/dotfiles/.bashrc ~/.bashrc
-
日志轮转:使用硬链接来保持日志文件的连续性
ln /var/log/app.log /var/log/app.log.1
-
空间节省:对大型重复文件使用硬链接节省空间
总结 🎯
Linux文件系统是一个组织严谨的王国,理解其目录结构是成为Linux高手的第一步。我们从FHS标准目录开始,探索了每个核心目录的使命;深入研究了文件权限机制,掌握了chmod和chown这两个权限管理利器;然后武装了文本处理工具包,特别是grep/sed/awk这三大神器;最后揭开了软硬链接的神秘面纱。
关键要点回顾:
/etc
是配置中心,/var
是数据仓库 🏛️chmod 755
赋予文件合理权限 🔐grep -r
可递归搜索文本 🔍- 硬链接是文件分身,软链接是文件快捷方式 🔗
记住:在Linux的世界里,一切皆文件! 掌握这些基础知识,你就能在Linux的海洋中自由航行。🐧⚓
PS:如果你在学习过程中遇到问题,别慌!欢迎在评论区留言,我会尽力帮你解决!😄