以下为本人对linux和vim的基础指令一部分的小总结

📚 目录(点击跳转对应章节)

一、Linux 文件系统基础
二、Linux 常用命令(必须熟练)
三、Vim 编辑器(Linux 必会)
四、inode 与链接(Docker 卷映射很重要)
五、文件权限与 chmod

🚀 Linux 与 Vim 基础入门


一、Linux 文件系统基础

1️⃣ Linux 的核心思想

在 Linux 中:

一切皆文件

  • 普通文件
  • 目录
  • 设备
  • 配置
  • 进程(在 /proc 中)

2️⃣ Linux 常见目录结构及作用

目录 作用
/ 根目录,一切起点
/bin 基本命令(ls、cp、rm 等)
/sbin 系统管理命令
/etc 配置文件核心目录
/home 普通用户的家目录
/root root 用户家目录
/var 日志、缓存、可变数据
/tmp 临时文件
/usr 应用程序、库

👉 Docker 容器、服务配置,99% 都离不开 /etc


二、Linux 常用命令(必须熟练)

1️⃣ 查看当前目录

pwd

2️⃣ 查看文件和目录:ls

ls        # 当前目录
ls -a     # 包含隐藏文件
ls -l     # 详细信息
ls -lh    # 人性化大小

常见参数:

参数 含义
-a 显示隐藏文件
-l 长格式
-h 人性化显示
-t 按时间排序
-r 逆序

3️⃣ 切换目录:cd

# 进入用户的家目录下的 /home/user 目录
cd /home/user

# 进入上一级目录,即从 /home/user 返回到 /home
cd ..

# 再向上两级目录:
# 首先 .. 表示当前目录(/home)的上级,即根目录 /
# 然后 ../.. 表示再向上一级,但根目录没有上级,所以仍停留在 /
cd ../..

# 切换回当前用户的家目录(等价于 cd $HOME)
cd# 切换到上一次所在的目录(即执行 cd ~ 之前的那个目录)
# 如果上一个命令是 cd ~,而在此之前是 /(由 cd ../.. 得到),那么这里会回到 /
cd -

💡 小技巧:

  • cd ~ → 回到家目录
  • cd - → 切回上一次目录
  • Tab → 自动补全路径

4️⃣ 查看文件内容

cat hello.txt # 查看hello.txt中包含的内容

5️⃣ 复制、删除、创建

cp file1 file2        # 复制文件
rm file.txt           # 删除文件
rm -r dir             # 删除目录
mkdir test            # 创建目录
mkdir -p a/b/c        # 递归创建

⚠️ rm -rf 慎用


6️⃣ 查看文件大小

# 显示名为 "filename" 的文件或目录的磁盘使用情况
# -s:仅显示总大小(summary),不列出内部内容
# -h:以人类可读的格式显示(如 K、M、G)
du -sh filename

# 显示当前目录下所有文件和子目录的磁盘使用情况(每个单独一行)
# * 是 shell 通配符,匹配当前目录中所有非隐藏文件和目录
# -s 对每个匹配项分别汇总
# -h 使输出更易读(例如 2.3M 而不是 2345678 字节)
du -sh *

三、Vim 编辑器(Linux 必会)

Linux 服务器基本没有图形界面,Vim 是改配置文件的刚需技能


1️⃣ 使用 Vim 打开文件

vim hello.txt
  • 文件存在 → 打开
  • 文件不存在 → 创建

2️⃣ Vim 三种模式

模式 说明
普通模式 默认,移动、复制、删除
插入模式 编辑内容
命令模式 保存、退出、设置

3️⃣ 进入插入模式

按键 含义
i 光标前插入
a 光标后插入
I 行首
A 行尾
o 下一行
O 上一行

4️⃣ 保存与退出

:w      保存
:q      退出
:wq     保存并退出
:q!     强制退出

5️⃣ 光标快速跳转

按键 功能
0 行首
^ 第一个非空字符
$ 行尾
gg 文件开头
G 文件末尾
100G 第 100 行
:100 第 100 行

6️⃣ 复制、粘贴、删除

命令 含义
yy 复制一行
p 粘贴
dd 删除一行
3yy 复制 3 行
5dd 删除 5 行

7️⃣ 查找与翻页

/word      向下查找
?word      向上查找
n          下一个
N          上一个

忽略大小写:

:set ic

8️⃣ 显示行号

:set nu
:set nonu

9️⃣ 替换操作

2,4s/old/new/g

含义:第 2 到 4 行,全部替换
如果没有/g,那么只替换当前行


四、inode 与链接(Docker 卷映射很重要)

1️⃣ 什么是 inode?

inode 保存文件的元信息,文件名只是一个“指向”

inode 包含:

  • 权限
  • 所属用户
  • 文件大小
  • 数据块位置

2️⃣ 硬链接(hard link)

ln file.txt hard.txt

特点:

  • 共享同一个 inode
  • 删除一个不影响另一个
  • ❌ 不能跨分区
  • ❌ 不能链接目录

3️⃣ 软链接(symbolic link)

ln -s file.txt soft.txt

特点:

  • 类似快捷方式
  • 可跨分区
  • 可链接目录
  • 原文件删除 → 断链

五、文件权限与 chmod

1️⃣ 权限结构

-rwxr-xr--
部分 含义
rwx 所有者
r-x 所属组
r– 其他用户

2️⃣ 字母方式修改

# 给文件所有者(user)添加执行权限(x)
# 适用于脚本文件(如 shell 脚本),使其可运行:./file.sh
chmod u+x file.sh

# 移除文件所属组(group)的读权限(r)
# 组内其他用户将无法读取 file.txt 的内容
chmod g-r file.txt

# 给所有用户(all = user + group + others)添加写权限(w)
# 注意:命令末尾的顿号“、”是中文标点,在实际终端中会导致语法错误!
# 正确命令应为:
chmod a+w file.txt

3️⃣ 数字方式(最常用)

权限 数值
r 4
w 2
x 1
# 设置 script.sh 的权限为 755:
# - 所有者(user):读 + 写 + 执行 = 4 + 2 + 1 = 7
# - 组用户(group):读 + 执行 = 4 + 0 + 1 = 5
# - 其他用户(others):读 + 执行 = 4 + 0 + 1 = 5
# 通常用于可执行脚本,确保所有者可修改和运行,其他人只能读和运行
chmod 755 script.sh

# 设置 config.conf 的权限为 644:
# - 所有者:读 + 写 = 4 + 2 = 6
# - 组用户:只读 = 4
# - 其他用户:只读 = 4
# 常用于普通配置文件,所有者可编辑,其他人只能查看
chmod 644 config.conf

# 设置 readonly.txt 的权限为 444:
# - 所有者、组、其他用户都只有读权限(4)
# - 任何人(包括所有者)都无法修改或执行该文件
# 适用于需要防止意外修改的重要只读文件
chmod 444 readonly.txt
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐