以下为本人对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普通用户的家目录
/rootroot 用户家目录
/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️⃣ 数字方式(最常用)

权限数值
r4
w2
x1
# 设置 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编程工具,助力开发者即刻编程。

更多推荐