linux/文件管理.md
2025-03-17 17:25:07 +08:00

10 KiB
Raw Permalink Blame History

文件管理


Linux 目录结构

[root@wxin /]# tree -L 1
.
├── bin -> usr/bin         // 存放系统启动和修复所需的基础命令
├── boot                   // 存放系统启动所需的文件
├── dev                    // 设备文件目录,所有硬件和虚拟设备均以文件形式存在
├── etc                    // 存放系统全局配置文件
├── home                   // 普通用户的家目录
├── lib -> usr/lib         // 存放系统库文件
├── lib64 -> usr/lib64     // 存放系统库文件
├── media                  // 自动挂载可移动设备如光盘、USB 驱动器)
├── mnt                    // 临时挂载外部存储设备(如 U 盘、网络存储)
├── opt                    // 存放第三方商业软件(如 Oracle、大型闭源程序
├── proc                   // 虚拟文件系统,实时反映内核和进程状态。
├── root                   // 系统管理员root的家目录存放管理员个人文件。
├── run                    // 存放运行时的临时数据(如 PID 文件、套接字文件),重启后丢失
├── sbin -> usr/sbin       // 存放系统管理员专用的命令
├── srv                    // 存放服务数据
├── sys                    // 虚拟文件系统,用于与内核交互(如调整硬件参数)
├── tmp                    // 存放临时文件,所有用户可读写(系统重启后自动清理)
├── usr                    // 存放用户程序和数据
└── var                    // 存放动态变化的数据(日志、缓存、数据库等)

二:文件管理

1. 创建文件

语法

touch 文件名

示例

[root@wxin ~]# touch /test/group
[root@wxin ~]# ll /test/group 
-rw-r--r--. 1 root root 0 3月  17 17:10 /test/group

2. 创建目录

语法

mkdir 目录名
mkdir -p 目录名

示例

[root@wxin ~]# mkdir /test
[root@wxin ~]# ls /test
group

3. 复制

语法

cp 源文件路径 目标文件路径
cp -r 源文件路径 目标文件路径

示例

[root@wxin ~]# cp /etc/passwd ./passwd.txt

4. 移动与重命名

语法

移动
mv 源文件 目标文件目录路径
重命名
mv 旧文件名 新文件名

示例

[root@wxin ~]# mv passwd.txt /tmp/
[root@wxin ~]# mv /tmp/passwd.txt /tmp/passwd

5. 删除

语法

rm -rf 文件或目录的路径

示例

[root@wxin ~]# rm -rf /tmp/test.txt

6. 查看文件内容

语法

cat 文件名                 # 查看全部
more 文件名                # 翻页,动态查看
head 文件名                # 查看头部
tail 文件名                # 查看尾部
grep 关键字 文件名          # 过滤关键字

示例

[root@wxin ~]# cat /etc/passwd
[root@wxin ~]# more /etc/passwd
[root@wxin ~]# head /etc/passwd
[root@wxin ~]# head -n /etc/passwd     # n代表某个数字
[root@wxin ~]# tail /etc/passwd
[root@wxin ~]# tail -n /etc/passwd     # n代表某个数字
[root@wxin ~]# grep wxin /etc/passwd

7. 修改文件

语法

vi 文件                     # 命令行模式
vim 文件名                  # 图形模式

模式切换

快捷键 作用
i 进入插入模式(光标前插入)
a 进入插入模式(光标后插入)
o 当前行下方插入新行并进入插入模式
O 当前行上方插入新行并进入插入模式
Esc 或 Ctrl+[ 返回普通模式
v 进入可视模式(字符选择)
V 进入可视模式(行选择)
Ctrl+v 进入可视块模式(矩形选择)
: 进入命令行模式

光标移动

基础移动

快捷键 作用
h j k l 左、下、上、右移动
w / b 向前/向后跳一个单词
0 / ^ 跳至行首 / 行首非空字符
$ 跳至行尾
gg 跳至文件首行
G 跳至文件末行
5G 或 :5 跳至第 5 行

快速定位

快捷键 作用
Ctrl+f / Ctrl+b 向前/向后翻页(类似 PageUp/Down
Ctrl+d / Ctrl+u 向下/向上半页滚动
f + 字符 跳转到当前行下一个指定字符如fa跳转到下一个a
% 在配对的括号间跳转

文本编辑

删除与修改

快捷键 作用
x 删除当前字符
dd 删除当前行
dw 删除当前单词
D 删除至行尾
cw 删除当前单词并进入插入模式
r + 字符 替换当前字符(如 ra 替换为 a
u 撤销操作
Ctrl + r 重做操作

复制与粘贴

快捷键 作用
yy 复制当前行
yw 复制当前单词
p 粘贴到光标后
P 粘贴到光标前

查找与替换

快捷键 作用
/keyword 向前查找关键字(按 n 下一个,N 上一个)
?keyword 向后查找关键字
:%s/old/new/g 全局替换(所有行的 old 替换为 new
:s/old/new/g 当前行替换
:10,20s/old/new/g 替换第 10 到 20 行的内容

窗口与分屏

快捷键 作用
:sp 或 Ctrl+w s 水平分屏split
:vsp 或 Ctrl+w v 垂直分屏vsplit
Ctrl+h/j/k/l 切换分屏窗口方向
Ctrl+w w 循环切换窗口
Ctrl+w q 关闭当前窗口
Ctrl+w / Ctrl+w - 增加/减少窗口高度

标签页操作

快捷键 作用
:tabnew 新建标签页
gt 或 :tabnext 切换到下一个标签页
gT 或 :tabprev 切换到上一个标签页
:tabclose 关闭当前标签页

保存与退出

快捷键 作用
:w 保存文件
:wq 或 ZZ 保存并退出
:q! 强制退出不保存
:w newfile.txt 另存为新文件

8. 改变目录

语法:

cd 文件或目录路径

示例:

绝对路径切换
[root@wxin ~]# cd /etc/sysconfig/network-scripts/
[root@wxin network-scripts]#

相对路径切换
[root@wxin network-scripts]# cd ../modules/
[root@wxin modules]# 

切换到上层目录
[root@wxin modules]# cd ../
[root@wxin sysconfig]# 

切换到当前目录
[root@wxin sysconfig]# cd ./
[root@wxin sysconfig]# 

三:文件类型

1. 文件类型标志

通过 ls -l 命令查看文件时,首字符表示文件类型:

[root@wxin ~]# ls -l /path/to/file
-rw-r--r-- 1 user group 4096 Sep 10 10:00 file.txt  → 普通文件(首字符 `-`
drwxr-xr-x 2 user group 4096 Sep 10 10:00 dir/      → 目录(首字符 `d`

2. 常见文件类型及操作

1. 普通文件(-

作用:存储数据(文本、二进制、压缩包等)。

示例:

  • 文本文件file.txt
  • 二进制可执行文件:/bin/ls
  • 图片/视频image.jpgvideo.mp4

操作命令:

[root@wxin ~]# touch newfile.txt    # 创建空文件
[root@wxin ~]# cat file.txt         # 查看文件内容
[root@wxin ~]# file /bin/ls         # 查看文件类型输出ELF 64-bit LSB executable...

2. 目录d

作用:组织文件和其他目录。

操作命令:

[root@wxin ~]# mkdir mydir          # 创建目录
[root@wxin ~]# rmdir empty_dir      # 删除空目录
[root@wxin ~]# rm -r dir_with_files # 递归删除非空目录

3. 符号链接l

作用:指向另一个文件/目录的快捷方式。

操作命令:

[root@wxin ~]# ln -s /path/original /path/link  # 创建软链接
[root@wxin ~]# ls -l /path/link                 # 显示链接指向link -> original
[root@wxin ~]# readlink -f /path/link           # 查看链接的真实路径

4. 块设备文件b

作用表示块设备如硬盘、U盘按块读写数据。

操作命令:

[root@wxin ~]# ls -l /dev/sda       # 显示块设备信息(首字符 `b`
[root@wxin ~]# fdisk -l /dev/sda    # 查看硬盘分区

5. 字符设备文件c

作用:表示字符设备(如终端、键盘),按字符流读写。

操作命令:

[root@wxin ~]# echo "test" > /dev/tty    # 直接输出到当前终端
[root@wxin ~]# dd if=/dev/zero of=file bs=1M count=100  # 使用字符设备生成空文件

6.套接字文件s

作用用于进程间通信如数据库服务、X Window 系统)。

操作命令:

[root@wxin ~]# ss -lnp | grep mysql      # 查看套接字监听状态
[root@wxin ~]# nc -U /tmp/socket.sock    # 通过 netcat 连接 Unix 套接字

7.管道文件p

作用:实现单向进程间通信。

操作命令:

[root@wxin ~]# mkfifo mypipe          # 创建命名管道
[root@wxin ~]# echo "data" > mypipe & # 写入管道(后台运行)
[root@wxin ~]# cat mypipe