Linux文件管理2
Linux 文件管理是系统操作的核心内容之一,涉及文件和目录的创建、删除、移动、查看、权限管理等操作。以下是 Linux 文件管理的核心知识点和常用操作总结:
一、文件系统结构
Linux 文件系统采用 树形结构,以 /
(根目录) 为起点,所有文件和设备都挂载在该目录下。常见目录及其作用:
目录 | 说明 |
---|---|
/bin | 存放基本命令(如 ls 、cd 、mkdir 等,供所有用户使用) |
/sbin | 存放系统管理命令(如 shutdown 、fdisk ,通常仅 root 用户使用) |
/etc | 存放系统配置文件(如网络配置、用户信息等) |
/home | 用户主目录(如 /home/user1 对应用户 user1 的家目录) |
/root | root 用户的主目录 |
/usr | 存放用户程序和文档(类似 Windows 的 Program Files ) |
/var | 存放可变数据(如日志文件、邮件、缓存等) |
/tmp | 临时文件目录(通常所有用户可读写) |
/dev | 设备文件目录(如硬盘、光驱、USB 等设备映射文件) |
/mnt | 临时挂载目录(用于挂载硬盘、U 盘等外部存储设备) |
/boot | 存放系统启动文件(如内核、引导加载程序) |
二、常用文件管理命令
1. 查看文件 / 目录
ls
:列出目录内容
ls [-ahlR] [路径] # -a显示隐藏文件,-h人性化显示大小,-l详细信息,-R递归查看子目录
pwd
:显示当前工作目录
pwd # 示例输出:/home/user1/documents
cd
:切换目录
cd /目标路径 # 切换到绝对路径
cd ../ # 切换到上级目录
cd ~ # 切换到当前用户主目录
cat
:查看文本文件内容(适合小文件)
cat 文件名.txt
more
/less
:分页查看文本文件(适合大文件)
more 文件名.txt # 按空格翻页,按 q 退出
less 文件名.txt # 支持上下箭头滚动,按 q 退出
head
/tail
:查看文件头部 / 尾部内容
head -n 10 文件名 # 查看前 10 行(默认前 10 行)
tail -f 文件名 # 实时监控文件尾部更新(常用于日志文件)
2. 创建文件 / 目录
mkdir
:创建目录
mkdir 目录名 # 创建单个目录
mkdir -p 父目录/子目录 # 创建多级目录(若父目录不存在则自动创建)
touch
:创建空文件或更新文件时间戳
touch 文件名.txt # 创建空文件
touch file1 file2 # 同时创建多个文件
3. 复制、移动、删除文件 / 目录
cp
:复制文件或目录
cp 源文件 目标路径 # 复制文件
cp -r 源目录 目标路径 # 复制目录(需加 -r 递归)
mv
:移动文件 / 目录(或重命名)
mv 源文件 目标路径 # 移动文件
mv 旧文件名 新文件名 # 重命名文件
rm
:删除文件或目录
rm 文件名 # 删除文件(需确认)
rm -r 目录名 # 删除目录(递归删除,危险!)
rm -f 文件名 # 强制删除(不提示确认)
4. 文件权限管理
Linux 文件有 读(r)、写(w)、执行(x) 三种权限,分别对应 所有者(User)、所属组(Group)、其他用户(Others) 三类用户。
查看权限
ls -l 文件名 # 输出格式:-rwxr-xr-- 1 user group 1234 May 10 10:00 文件名
- 首字符:
-
(文件)、d
(目录)、l
(链接文件) - 权限部分:前 3 位(所有者)、中间 3 位(所属组)、后 3 位(其他用户)
- 示例:
rwxr-xr--
表示所有者有读写执行权限,所属组有读和执行权限,其他用户仅有读权限。
修改权限
字符法:使用 u
(所有者)、g
(所属组)、o
(其他用户)、a
(所有用户)指定对象,用 +
(添加)、-
(移除)、=
(设置)操作权限。
chmod u+x 文件名 # 给所有者添加执行权限
chmod go-rw 文件名 # 移除所属组和其他用户的读写权限
数字法:用数字表示权限(r=4
, w=2
, x=1
),例如 755
表示 rwxr-xr-x
。
chmod 755 目录名 # 给目录设置所有者读写执行,其他用户读和执行权限
修改所有者和所属组
chown 新所有者 文件名 # 修改文件所有者
chgrp 新组名 文件名 # 修改文件所属组
chown -R 所有者:组 目录名 # 递归修改目录及其子文件的所有者和所属组
三、文件搜索
find
:在指定路径下搜索文件(功能强大,支持按名称、类型、权限、时间等过滤)
find /路径 -name "*.txt" # 搜索扩展名为 .txt 的文件
find /home -user user1 # 搜索 user1 所有的文件
find /var/log -size +10M # 搜索大于 10MB 的文件
find . -type d -name "logs" # 搜索当前目录下名为 logs 的目录
locate
:基于数据库快速搜索文件(需定期更新数据库,使用前执行 updatedb
)
locate /etc/sysconfig # 搜索 etc 目录下包含 sysconfig 的文件
grep
:在文件中搜索指定字符串(常用于日志分析)
grep "ERROR" /var/log/messages # 搜索日志中包含 ERROR 的行
grep -r "关键词" 目录 # 递归搜索目录下所有文件中的关键词
四、文件压缩与解压缩
常见压缩格式
.zip
:通用格式,跨平台兼容
zip 压缩包名.zip 文件1 文件2 # 压缩文件
unzip 压缩包名.zip # 解压缩
.tar.gz
/.tgz
:Linux 常用格式(tar
打包 + gzip
压缩)
tar -czvf 归档名.tar.gz 目录/ # 压缩目录(-c 创建,-z gzip 压缩,-v 显示过程,-f 指定文件名)
tar -xzvf 归档名.tar.gz -C 路径 # 解压缩到指定路径(-x 提取,-C 指定目录)
.tar.bz2
:使用 bzip2
压缩,压缩比更高
tar -cjvf 归档名.tar.bz2 文件/ # 压缩
tar -xjvf 归档名.tar.bz2 # 解压缩
五、链接文件
Linux 支持两种链接:硬链接(Hard Link) 和 软链接(Symbolic Link,又称符号链接)。
硬链接:指向同一文件的不同文件名,共享 inode 节点,删除原文件不影响硬链接。
ln 原文件 硬链接名
软链接:类似 Windows 的快捷方式,指向原文件的路径,删除原文件后软链接失效。
ln -s 原文件 软链接名
六、磁盘与文件系统操作
查看磁盘空间
df -h # 以人性化格式显示磁盘使用情况
查看目录大小
du -sh 目录名 # 查看目录总大小(-s 显示总和,-h 人性化单位)
挂载 / 卸载设备
mount /dev/sdb1 /mnt/usb # 挂载 USB 设备到 /mnt/usb 目录
umount /mnt/usb # 卸载设备
七、重要快捷键
Tab 键:自动补全文件名或命令
Ctrl + C:终止当前命令
Ctrl + L:清屏(等价于 clear
命令)
Ctrl + Z:将当前进程放入后台暂停
Ctrl + D:退出当前终端或输入结束