上传文件至 /

This commit is contained in:
wxin 2025-03-17 17:25:07 +08:00
parent 3e7a2ca772
commit e5099b6842

375
文件管理.md Normal file
View File

@ -0,0 +1,375 @@
<h2><center>文件管理</center></h2>
------
## 一Linux 目录结构
```bash
[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. 创建文件
**语法**
```shell
touch 文件名
```
**示例**
```bash
[root@wxin ~]# touch /test/group
[root@wxin ~]# ll /test/group
-rw-r--r--. 1 root root 0 3月 17 17:10 /test/group
```
### 2. 创建目录
**语法**
```bash
mkdir 目录名
mkdir -p 目录名
```
**示例**
```bash
[root@wxin ~]# mkdir /test
[root@wxin ~]# ls /test
group
```
### 3. 复制
**语法**
```shell
cp 源文件路径 目标文件路径
cp -r 源文件路径 目标文件路径
```
**示例**
```bash
[root@wxin ~]# cp /etc/passwd ./passwd.txt
```
### 4. 移动与重命名
**语法**
```shell
移动
mv 源文件 目标文件目录路径
重命名
mv 旧文件名 新文件名
```
**示例**
```bash
[root@wxin ~]# mv passwd.txt /tmp/
[root@wxin ~]# mv /tmp/passwd.txt /tmp/passwd
```
### 5. 删除
**语法**
```shell
rm -rf 文件或目录的路径
```
**示例**
```bash
[root@wxin ~]# rm -rf /tmp/test.txt
```
### 6. 查看文件内容
**语法**
```shell
cat 文件名 # 查看全部
more 文件名 # 翻页,动态查看
head 文件名 # 查看头部
tail 文件名 # 查看尾部
grep 关键字 文件名 # 过滤关键字
```
**示例**
```bash
[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. 修改文件
**语法**
```shell
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. 改变目录
语法:
```shell
cd 文件或目录路径
```
示例:
```bash
绝对路径切换
[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` 命令查看文件时,**首字符**表示文件类型:
```bash
[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
操作命令:
```bash
[root@wxin ~]# touch newfile.txt # 创建空文件
[root@wxin ~]# cat file.txt # 查看文件内容
[root@wxin ~]# file /bin/ls # 查看文件类型输出ELF 64-bit LSB executable...
```
#### 2. 目录d
作用:组织文件和其他目录。
操作命令:
```bash
[root@wxin ~]# mkdir mydir # 创建目录
[root@wxin ~]# rmdir empty_dir # 删除空目录
[root@wxin ~]# rm -r dir_with_files # 递归删除非空目录
```
#### 3. 符号链接l
作用:指向另一个文件/目录的快捷方式。
操作命令:
```bash
[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盘按块读写数据。
操作命令:
```bash
[root@wxin ~]# ls -l /dev/sda # 显示块设备信息(首字符 `b`
[root@wxin ~]# fdisk -l /dev/sda # 查看硬盘分区
```
#### 5. 字符设备文件c
作用:表示字符设备(如终端、键盘),按字符流读写。
操作命令:
```bash
[root@wxin ~]# echo "test" > /dev/tty # 直接输出到当前终端
[root@wxin ~]# dd if=/dev/zero of=file bs=1M count=100 # 使用字符设备生成空文件
```
#### 6.套接字文件s
作用用于进程间通信如数据库服务、X Window 系统)。
操作命令:
```bash
[root@wxin ~]# ss -lnp | grep mysql # 查看套接字监听状态
[root@wxin ~]# nc -U /tmp/socket.sock # 通过 netcat 连接 Unix 套接字
```
#### 7.管道文件p
作用:实现单向进程间通信。
操作命令:
```bash
[root@wxin ~]# mkfifo mypipe # 创建命名管道
[root@wxin ~]# echo "data" > mypipe & # 写入管道(后台运行)
[root@wxin ~]# cat mypipe
```