共计 10574 个字符,预计需要花费 27 分钟才能阅读完成。
常见的 Linux 命令
1. 文件和目录操作
`ls`: 列出目录内容。`cd`: 切换当前工作目录。`pwd`: 显示当前工作目录的路径。`mkdir`: 创建新目录。`rmdir`: 删除空目录。`rm`: 删除文件或目录(`rm -r` 递归删除目录及其内容)。`cp`: 复制文件或目录。`mv`: 移动或重命名文件或目录。`touch`: 创建一个新的空文件或更新文件的时间戳。`cat`: 显示文件内容。`more` / `less`: 分页显示文件内容。`head`: 显示文件的前几行。`tail`: 显示文件的最后几行。`find`: 搜索文件和目录。`chmod`: 修改文件或目录的权限。`chown`: 改变文件或目录的所有者。
ls
描述: 列出目录内容。
示例:
ls # 列出当前目录的文件和子目录 ls -l # 以长格式显示文件详细信息(权限、所有者、大小、修改时间等)ls -a # 列出所有文件,包括隐藏文件(以. 开头)ls -lh # 以易读的格式显示文件大小(如 KB、MB)
cd
描述: 切换当前工作目录。
示例:
cd /home/user/Documents # 切换到指定路径 cd .. # 返回到上一级目录 cd ~ # 切换到用户的主目录
pwd
描述: 显示当前工作目录的路径。
示例:
pwd # 输出当前所在的目录路径,例如 /home/user/Documents
mkdir
描述: 创建新目录。
示例:
mkdir new_folder # 创建名为 new_folder 的目录 mkdir -p dir1/dir2/dir3 # 递归创建目录,如果父目录不存在也会一并创建
rmdir
描述: 删除空目录。
示例:
rmdir empty_folder # 删除名为 empty_folder 的空目录
rm
描述: 删除文件或目录。
示例:
rm file.txt # 删除文件 file.txt rm -r directory # 递归删除目录及其内容 rm -rf directory # 强制递归删除目录及其内容,不提示确认
cp
描述: 复制文件或目录。
示例:
cp file1.txt file2.txt # 复制文件 file1.txt 为 file2.txt cp -r directory1 directory2 # 递归复制目录 directory1 及其内容到 directory2
mv
描述: 移动或重命名文件或目录。
示例:
mv old_name.txt new_name.txt # 重命名文件 old_name.txt 为 new_name.txt mv file.txt /path/to/directory # 移动 file.txt 到指定目录
touch
描述: 创建一个新的空文件或更新文件的时间戳。
示例:
touch newfile.txt # 创建一个空文件 newfile.txt touch existingfile.txt # 更新文件 existingfile.txt 的访问和修改时间
cat
描述: 显示文件内容,通常用于查看文本文件的内容。
示例:
cat file.txt # 显示 file.txt 的内容 cat file1.txt file2.txt # 依次显示 file1.txt 和 file2.txt 的内容
more / less
描述: 分页显示文件内容,便于逐屏阅读。
示例:
more file.txt # 分屏查看 file.txt 的内容,使用空格键翻页 less file.txt # 类似 more,但更灵活,支持上下翻页
head
描述: 显示文件的前几行。
示例:
head file.txt # 显示 file.txt 的前 10 行 head -n 20 file.txt # 显示 file.txt 的前 20 行
tail
描述: 显示文件的最后几行。
示例:
tail file.txt # 显示 file.txt 的最后 10 行 tail -n 20 file.txt # 显示 file.txt 的最后 20 行 tail -f log.txt # 实时跟踪显示 log.txt 的新内容(用于监视日志文件)
find
描述: 搜索文件和目录。
示例:
find /path -name “*.txt” # 在 /path 目录及其子目录中搜索所有以.txt 结尾的文件 find /path -type d -name “backup” # 搜索名称为 backup 的目录
chmod
描述: 修改文件或目录的权限。
示例:
chmod 755 script.sh # 设置文件 script.sh 的权限为 rwxr-xr-x chmod u+x script.sh # 仅给予文件所有者执行权限
chown
描述: 改变文件或目录的所有者。
示例:
chown user:group file.txt # 将文件 file.txt 的所有者改为 user,所属组改为 group chown -R user:group directory/ # 递归改变目录及其内容的所有者
2. 文件查看和编辑
`nano`: 一个简单的文本编辑器。`vi` / `vim`: 功能强大的文本编辑器。`grep`: 在文件中搜索文本模式。`awk`: 文本处理工具,适用于处理和分析文本数据。`sed`: 流编辑器,用于文本的查找和替换。
nano
描述: 一个简单的命令行文本编辑器。
示例:
nano file.txt # 在 nano 编辑器中打开 file.txt 进行编辑
vi / vim
描述: 功能强大的文本编辑器,支持模式编辑。
示例:
vi file.txt # 打开 file.txt 进行编辑 vim file.txt # 使用 vim 打开 file.txt,vim 是 vi 的增强版
基本操作:
i: 切换到插入模式以编辑文本。
:wq: 保存并退出。
:q!: 不保存退出。
grep
描述: 在文件中搜索指定的文本模式。
示例:
grep “hello” file.txt # 在 file.txt 中搜索包含 ”hello” 的行 grep -r “function” /path/to/dir # 递归搜索目录中的所有文件,寻找包含 ”function” 的行 grep -i “pattern” file.txt # 不区分大小写地搜索 ”pattern”
awk
描述: 文本处理工具,适用于从文本文件或命令输出中提取和操作数据。
示例:
awk ‘{print $1, $3}’ file.txt # 打印 file.txt 中每一行的第 1 和第 3 列
sed
描述: 流编辑器,用于文本的查找和替换。
示例:
sed ‘s/oldtext/newtext/g’ file.txt # 将 file.txt 中所有的 oldtext 替换为 newtext sed -n ‘1,5p’ file.txt # 只显示 file.txt 的第 1 到第 5 行
3. 系统管理
`sudo`: 以超级用户(root)权限运行命令。`ps`: 显示当前运行的进程。`top`: 动态显示系统的运行情况,包括 CPU、内存使用情况。`kill`: 终止进程(`kill -9` 强制终止)。`df`: 显示磁盘空间使用情况。`du`: 显示目录或文件的磁盘使用情况。`free`: 显示内存使用情况。`uptime`: 显示系统的运行时间和负载平均值。`shutdown`: 关闭或重启系统。
sudo
描述: 以超级用户(root)权限运行命令。
示例:
sudo apt-get update # 以 root 权限更新软件包列表 sudo rm -r /var/log # 以 root 权限删除 /var/log 目录
ps
描述: 显示当前运行的进程。
示例:
ps aux # 显示所有用户的所有进程 ps -ef # 以全格式显示当前系统中的进程
top
描述: 动态显示系统的运行情况,包括 CPU、内存使用情况。
示例:
top # 实时显示系统的资源使用情况,按 `q` 退出
kill
描述: 终止进程。
示例:
kill 1234 # 终止进程 ID 为 1234 的进程 kill -9 1234 # 强制终止进程 ID 为 1234 的进程(SIGKILL 信号)
df
描述: 显示磁盘空间使用情况。
示例:
df -h # 以人类可读的格式显示磁盘使用情况(如 KB、MB)df /dev/sda1 # 显示指定设备的磁盘使用情况
du
描述: 显示目录或文件的磁盘使用情况。
示例:
du -sh /home/user # 显示 /home/user 目录的总大小 du -h –max-depth=1 #
显示当前目录下每个子目录的大小
#### `free` – ** 描述 **: 显示系统的内存使用情况。– ** 示例 **: “`bash free -h # 以人类可读格式显示内存使用情况
4. 网络操作
`ping`: 检查网络连接是否正常。`ifconfig`: 显示或配置网络接口。`curl`: 命令行工具,用于发送 HTTP 请求。`wget`: 用于从网络下载文件。`ssh`: 通过网络远程登录到另一台计算机。`scp`: 在本地和远程计算机之间复制文件。`ftp`: 文件传输协议客户端。`netstat`: 显示网络连接、路由表和网络接口统计信息。
ping
描述: 测试与主机的网络连通性。
示例:
ping google.com # 测试与 google.com 的连通性 ping -c 4 192.168.1.1 # 发送 4 个数据包测试与指定 IP 的连接
ifconfig
描述: 显示或配置网络接口(现代系统使用 ip 命令替代)。
示例:
ifconfig # 显示所有网络接口的详细信息 ifconfig eth0 down # 关闭 eth0 网络接口 ifconfig eth0 up # 启动 eth0 网络接口
ssh
描述: 使用 SSH 协议连接到远程主机。
示例:
ssh user@remote_host # 使用用户名 user 连接到远程主机 remote_host ssh -p 2222 user@host # 使用指定端口 2222 连接
scp
描述: 通过 SSH 在本地和远程主机之间安全地复制文件。
示例:
scp file.txt user@remote_host:/path/to/destination # 将文件复制到远程主机 scp -r directory user@remote_host:/path/to/destination # 递归复制目录
wget
描述: 从网络下载文件。
示例:
wget http://example.com/file.txt # 下载指定 URL 的文件 wget -c http://example.com/file.txt # 断点续传文件
5. 软件包管理
`apt-get`: Debian/Ubuntu 系统的包管理工具,用于安装、更新、删除软件包。`yum`: RedHat/CentOS 系统的包管理工具,用于管理软件包。`dnf`: Fedora 系统的包管理工具,是 `yum` 的继任者。`pacman`: Arch Linux 系统的包管理工具。
apt (适用于基于 Debian 的系统,例如 Ubuntu)
apt update
描述: 更新本地包索引。
示例:
sudo apt update # 更新可用软件包列表
apt upgrade
描述: 升级已安装的软件包。
示例:
sudo apt upgrade # 升级系统中所有已安装的软件包到最新版本
apt install
描述: 安装新的软件包。
示例:
sudo apt install package_name # 安装名为 package_name 的软件包
apt remove
描述: 删除已安装的软件包。
示例:
sudo apt remove package_name # 删除名为 package_name 的软件包
apt autoremove
描述: 删除系统中不再需要的孤立软件包(通常是依赖项)。
示例:
sudo apt autoremove # 自动删除系统中不再需要的软件包
yum (适用于基于 Red Hat 的系统,例如 CentOS)
yum update
描述: 更新系统中的所有包和依赖。
示例:
sudo yum update # 更新所有包和系统中的依赖关系
yum install
描述: 安装新的软件包。
示例:
sudo yum install package_name # 安装名为 package_name 的软件包
yum remove
描述: 删除已安装的软件包。
示例:
sudo yum remove package_name # 删除名为 package_name 的软件包
yum search
描述: 搜索可用的软件包。
示例:
yum search package_name # 搜索与 package_name 相关的可用软件包
dnf (适用于较新版本的基于 Red Hat 的系统,例如 Fedora)
dnf update
描述: 更新系统中的所有包和依赖。
示例:
sudo dnf update # 更新所有包和系统中的依赖关系
dnf install
描述: 安装新的软件包。
示例:
sudo dnf install package_name # 安装名为 package_name 的软件包
dnf remove
描述: 删除已安装的软件包。
示例:
sudo dnf remove package_name # 删除名为 package_name 的软件包
dnf search
描述: 搜索可用的软件包。
示例:
dnf search package_name # 搜索与 package_name 相关的可用软件包
pacman (适用于 Arch Linux)
pacman -Syu
描述: 同步包数据库并更新系统。
示例:
sudo pacman -Syu # 更新系统并同步包数据库
pacman -S
描述: 安装新的软件包。
示例:
sudo pacman -S package_name # 安装名为 package_name 的软件包
pacman -R
描述: 删除已安装的软件包。
示例:
sudo pacman -R package_name # 删除名为 package_name 的软件包
pacman -Ss
描述: 搜索可用的软件包。
示例:
pacman -Ss package_name # 搜索与 package_name 相关的可用软件包
6. 压缩与解压
`tar`: 用于创建、解压或查看压缩包(如 `tar -czvf` 创建一个压缩文件,`tar -xzvf` 解压文件)。`gzip` / `gunzip`: 压缩和解压文件。`zip` / `unzip`: 用于压缩和解压 zip 格式的文件。
tar
描述: 打包和解包文件。
示例:
tar -cvf archive.tar directory/ # 将目录打包为 archive.tar tar -xvf archive.tar # 解包 archive.tar tar -zcvf archive.tar.gz directory/ # 将目录打包并压缩为 gzip 格式的 archive.tar.gz tar -zxvf archive.tar.gz # 解压并解包 archive.tar.gz
zip / unzip
描述: 压缩和解压缩 ZIP 文件。
示例:
zip archive.zip file1 file2 # 将 file1 和 file2 压缩为 archive.zip unzip archive.zip # 解压缩 archive.zip
7. 系统信息
`uname`: 显示系统信息。`hostname`: 显示或设置系统的主机名。`whoami`: 显示当前用户的用户名。`id`: 显示当前用户的 ID 信息。`dmesg`: 显示系统引导日志信息。`lsb_release`: 显示 Linux 发行版信息。
uname
描述: 显示系统的基本信息,如操作系统名称、内核版本等。
示例:
uname # 显示操作系统的名称 uname -a # 显示系统的所有信息,包括内核版本、主机名、处理器架构等 uname -r # 显示正在运行的内核版本
hostname
描述: 显示或设置系统的主机名。
示例:
hostname # 显示当前系统的主机名 sudo hostname new_hostname # 设置新的主机名(需要管理员权限)
whoami
描述: 显示当前登录用户的用户名。
示例:
whoami # 显示当前用户的用户名
id
描述: 显示当前用户的用户 ID (UID)、组 ID (GID) 及所属组的信息。
示例:
id # 显示当前用户的 UID、GID 和所属组信息 id username # 显示指定用户的 UID、GID 和所属组信息
dmesg
描述: 显示内核启动时产生的消息(也称为启动日志),通常用于诊断启动问题或硬件故障。
示例:
dmesg # 显示系统启动以来的内核消息 dmesg | grep error # 仅显示与错误相关的消息
lsb_release
描述: 显示 Linux 发行版的相关信息,例如发行版名称、版本号、代号等。
示例:
lsb_release -a # 显示所有发行版相关的信息 lsb_release -d # 仅显示发行版描述信息
uptime
描述: 显示系统的启动时间、运行时间、当前用户数、平均负载等信息。
示例:
uptime # 显示系统的启动时间和平均负载
df
描述: 显示文件系统的磁盘使用情况。
示例:
df # 显示所有挂载的文件系统的磁盘使用情况 df -h # 以人类可读的格式(如 GB、MB)显示磁盘使用情况
free
描述: 显示系统的内存使用情况,包括物理内存和交换内存。
示例:
free # 显示内存的使用情况 free -h # 以人类可读的格式显示内存使用情况
top
描述: 实时显示系统的任务和进程信息,包括 CPU 和内存的使用情况。
示例:
top # 实时显示系统任务管理器信息
ps
描述: 显示当前系统运行的进程。
示例:
ps # 显示当前用户在终端下运行的进程 ps aux # 显示系统中所有运行的进程
这些命令可以帮助你获取关于 Linux 系统的各种信息,从基本的系统信息到详细的内存和进程状态。
以下是一些常用的进程管理命令的详细描述和示例:
8. 进程管理
`bg`: 将进程放到后台运行。`fg`: 将后台进程带到前台运行。`jobs`: 显示当前用户的作业列表。
bg
描述: 将一个挂起的进程放到后台继续运行。通常用于将暂停的前台作业转为后台作业。
示例:
bg # 将最近暂停的作业放到后台运行 bg %1 # 将作业 ID 为 1 的作业放到后台运行
fg
描述: 将后台的某个作业带到前台运行。可以用来恢复在后台运行的作业到前台继续执行。
示例:
fg # 将最近的后台作业带到前台运行 fg %1 # 将作业 ID 为 1 的作业带到前台运行
jobs
描述: 显示当前用户的作业列表,列出所有在当前 shell 会话中启动的作业,包括后台运行和暂停的作业。
示例:
jobs # 列出当前用户的所有作业及其状态
kill
描述: 向指定进程发送信号。默认信号是 SIGTERM (15),用来终止进程。
示例:
kill 1234 # 终止进程 ID 为 1234 的进程 kill -9 1234 # 强制终止进程 ID 为 1234 的进程(发送 SIGKILL 信号)
killall
描述: 向指定名称的所有进程发送信号。常用于终止所有匹配指定名称的进程。
示例:
killall firefox # 终止所有名称为 ”firefox” 的进程
pkill
描述: 根据进程名称或其他属性(如用户、会话)发送信号,与 killall 类似但更灵活。
示例:
pkill firefox # 终止名称为 ”firefox” 的所有进程 pkill -u user1 # 终止用户 ”user1″ 的所有进程
ps
描述: 列出当前系统中的进程信息。
示例:
ps # 显示当前用户在终端下运行的进程 ps aux # 显示系统中所有运行的进程,包括其他用户的 ps -ef # 显示所有进程的完整格式信息
top
描述: 实时显示系统中所有进程的资源使用情况(CPU、内存等),按资源占用排序,方便监控和管理进程。
示例:
top # 实时显示系统任务管理器信息
htop
描述: 类似于 top,但有更友好的界面,支持交互操作,如直接终止进程。
示例:
htop # 启动 htop 工具查看进程状态(需要安装)
nice
描述: 启动一个进程并设置其优先级(影响其 CPU 使用比例),较低的优先级意味着进程会更少地占用 CPU 时间。
示例:
nice -n 10 ./script.sh # 以优先级 10 启动 script.sh 脚本(默认是 0)
renice
描述: 修改正在运行的进程的优先级。
示例:
renice 5 -p 1234 # 将进程 ID 为 1234 的进程优先级设置为 5
nohup
描述: 让命令在退出终端后继续运行,通常用于长时间运行的任务。输出默认保存到 nohup.out 文件中。
示例:
nohup ./long_task.sh & # 让 long_task.sh 脚本在后台运行,即使终端关闭也不会中断
strace
描述: 跟踪系统调用和信号,用于调试和分析进程的行为。
示例:
strace -p 1234 # 跟踪进程 ID 为 1234 的进程的系统调用
9. 常用的 VI 编辑器操作命令
| VI 命令 | 功能 | 区域 |
| vi filename | 打开 filename 文件 | 文本编辑 |
| gvim filename | 在另一个窗口打开 filename 文件 | |
| :w | 保存文件 | |
| :w vpset.net | 保存至 vpset.net 文件 | |
| :q | 退出编辑器 | |
| :q! | 退出编辑器,且不保存 | |
| :wq | 退出编辑器,且保存文件 | |
| a | 在当前光标位置的右边添加文本 | 插入文本 |
| i | 在当前光标位置的左边添加文本 | |
| A | 在当前行的末尾位置添加文本 | |
| J | 合并光标所在行及下一行为一行 | |
| I | 在当前行的开始处添加文本 | |
| O | 在当前行的上面新建一行 | |
| o | 在当前行的下面新建一行 | |
| r | 替换光标所在处的字符 | 替换 |
| R | 替换光标所到之处的字符,直到按下 ESC 键为止 | |
| 😒/old/new | 用 new 替换行中首次出现的 old | |
| 😒/old/new/g | 用 new 替换行中所有的 old | |
| :n,m s/old/new/g | 用 new 替换从 n 到 m 行中所有的 old | |
| :%s/old/new/g | 用 new 替换当前文件里所有的 old | |
| h | 向左 | 移动光标 |
| j | 向下 | |
| k | 向上 | |
| l | 向右 | |
| 空格键 | 向右 | |
| Backspace | 向左 | |
| Enter | 移动到下一行首 | |
| 横线 - | 移动到上一行首 | |
| ctrl+b | 屏幕往 ” 后 ” 移动一页 | |
| ctrl+f | 屏幕往 ” 前 ” 移动一页 | |
| ctrl+u | 屏幕往 ” 后 ” 移动半页 | |
| ctrl+d | 屏幕往 ” 前 ” 移动半页 | |
| 数字 0 | 移到文章的开头(暂不可用) | |
| $ | 移动到光标所在行的 ” 行尾 ” | |
| ^ | 移动到光标所在行的 ” 行首 ” | |
| w | 光标跳到下个字的开头 | |
| e | 光标跳到下个字的字尾 | |
| b | 光标回到上个字的开头 | |
| #l | 光标移到该行的第 #个位置,如:5l,56l | |
| x | 每按一次,删除光标所在位置的 ” 后面 ” 一个字符 | 删除文本 |
| #x | 例如,「6x」表示删除光标所在位置的 ” 后面 ”6 个字符 | |
| X | 大写的 X,每按一次,删除光标所在位置的 ” 前面 ” 一个字符 | |
| #X | 例如,「20X」表示删除光标所在位置的 ” 前面 ”20 个字符 | |
| dd | 删除光标所在行 | |
| #dd | 从光标所在行开始删除 #行 | |
| u | 撤销上一步操作 | 恢复 |
| U | 撤销对当前行的所有操作 | |
| yw | 将光标所在之处到字尾的字符复制到缓冲区中 | 复制粘贴 |
| #yw | 复制 #个字到缓冲区 | |
| yy | 复制光标所在行到缓冲区 | |
| #yy | 例如,「6yy」表示拷贝从光标所在的该行 ” 往下数 ”6 行文字 | |
| y^ | 复制从光标到行首的内容 | |
| y$ | 复制从光标到行尾的内容 | |
| p | 将缓冲区内的字符贴到光标所在位置后 | |
| P | 将缓冲区内的字符贴到光标所在位置前 | |
| n+ | 向下跳转 n 行 | 跳到指定行 |
| n- | 向上跳转 n 行 | |
| nG | 跳到行号为 n 的行 | |
| G | 调至文件的底部 | |
| ctrl+g | 列出光标所在行的行号 | |
| /vpser | 向光标下搜索 vpser 字符串 | 搜索 |
| ?vpser | 向光标上搜索 vpser 字符串 | |
| n | 向下搜索前一个搜索动作 | |
| N | 向上搜索前一个搜索动作 | |
| :set nu | 显示行号 | 设置行号 |
| :set nonu | 取消显示行号 |
1. 文件操作
vi filename
描述: 打开指定的文件进行编辑。
示例:
vi example.txt # 打开 example.txt 文件进行编辑
:w
描述: 保存当前文件。
示例:
:w # 保存当前文件
:w filename
描述: 将当前文件另存为指定的文件名。
示例:
:w newfile.txt # 将当前文件保存为 newfile.txt
:q
描述: 退出 VI 编辑器。
示例:
:q # 退出编辑器(如果有未保存的更改,VI 会提示保存)
:q!
描述: 强制退出 VI 编辑器,不保存更改。
示例:
:q! # 退出编辑器并丢弃所有未保存的更改
:wq
描述: 保存当前文件并退出编辑器。
示例:
:wq # 保存文件并退出编辑器
2. 文本插入操作
a
描述: 在当前光标位置的右边开始插入文本。
示例:
a # 在当前光标位置的右边插入文本
i
描述: 在当前光标位置的左边开始插入文本。
示例:
i # 在当前光标位置的左边插入文本
A
描述: 在当前行的末尾开始插入文本。
示例:
A # 在当前行的末尾插入文本
O
描述: 在当前行的上面新建一行,并进入插入模式。
示例:
O # 在当前行的上方新建一行
o
描述: 在当前行的下面新建一行,并进入插入模式。
示例:
o # 在当前行的下方新建一行
3. 文本删除操作
x
描述: 删除光标所在位置的字符。
示例:
x # 删除光标所在位置的字符
dd
描述: 删除当前行。
示例:
dd # 删除当前行
#dd
描述: 删除从当前行开始的 #行。
示例:
3dd # 删除从当前行开始的 3 行
d$
描述: 删除光标位置到行尾的所有字符。
示例:
d$ # 删除从光标到行尾的所有字符
4. 文本复制与粘贴操作
yy
描述: 复制当前行到缓冲区。
示例:
yy # 复制当前行
p
描述: 在光标后粘贴缓冲区的内容。
示例:
p # 粘贴缓冲区内容到光标后
P
描述: 在光标前粘贴缓冲区的内容。
示例:
P # 粘贴缓冲区内容到光标前
5. 搜索与替换操作
/pattern
描述: 向下搜索指定的模式(字符串)。
示例:
/example # 向下搜索 example 字符串
?pattern
描述: 向上搜索指定的模式(字符串)。
示例:
?example # 向上搜索 example 字符串
n
描述: 向下重复前一个搜索操作。
示例:
n # 重复前一个搜索操作
N
描述: 向上重复前一个搜索操作。
示例:
N # 反向重复前一个搜索操作
:s/old/new
描述: 将当前行中首次出现的 old 替换为 new。
示例:
:s/old/new # 将当前行第一个出现的 ”old” 替换为 ”new”
:%s/old/new/g
描述: 将整个文件中所有的 old 替换为 new。
示例:
:%s/old/new/g # 替换文件中所有的 ”old” 为 ”new”
6. 移动光标操作
h
描述: 向左移动光标。
示例:
h # 光标向左移动一个字符
j
描述: 向下移动光标。
示例:
j # 光标向下移动一行
k
描述: 向上移动光标。
示例:
k # 光标向上移动一行
l
描述: 向右移动光标。
示例:
l # 光标向右移动一个字符
^
描述: 移动光标到行首。
示例:
^ # 移动光标到行首
$
描述: 移动光标到行尾。
示例:
$ # 移动光标到行尾
w
描述: 将光标移动到下一个单词的开头。
示例:
w # 光标跳到下一个单词的开头
e
描述: 将光标移动到当前或下一个单词的结尾。
示例:
e # 光标跳到当前或下一个单词的结尾
b
描述: 将光标移动到上一个单词的开头。
示例:
b # 光标回到上一个单词的开头
G
描述: 移动光标到文件的最后一行。
示例:
G # 移动光标到文件的最后一行
gg
描述: 移动光标到文件的第一行。
示例:
gg # 移动光标到文件的第一行