# Linux 终端核心命令 + 编辑插入技巧(实用总结) ## 一、高频终端命令(日常必备) ### 1. 文件/目录操作(最常用) | 命令 | 作用 | 示例 | |-----------------------|---------------------------------------|-------------------------------------------| | `ls` | 列出目录内容 | `ls -l`(详细列表)、`ls -a`(显示隐藏文件) | | `cd` | 切换目录 | `cd /home`(绝对路径)、`cd ../`(上级目录) | | `pwd` | 显示当前路径 | `pwd`(直接执行) | | `mkdir` | 创建目录 | `mkdir test`(单个)、`mkdir -p a/b/c`(递归) | | `touch` | 创建空文件/更新文件时间 | `touch demo.txt` | | `cp` | 复制文件/目录 | `cp file1 file2`(文件)、`cp -r dir1 dir2`(目录) | | `mv` | 移动/重命名文件/目录 | `mv old.txt new.txt`(重命名)、`mv file /tmp`(移动) | | `rm` | 删除文件/目录(谨慎使用) | `rm file.txt`(文件)、`rm -rf dir`(强制删除目录) | | `cat` | 查看文件内容(适合短文件) | `cat /etc/hosts` | | `less`/`more` | 分页查看长文件(`less` 支持上下滚动) | `less /var/log/syslog` | | `find` | 搜索文件/目录 | `find / -name "*.txt"`(全局搜 .txt 文件) | ### 2. 系统/进程管理 | 命令 | 作用 | 示例 | |-----------------------|---------------------------------------|-------------------------------------------| | `ps` | 查看进程 | `ps aux`(所有进程)、`ps -ef | grep ssh`(过滤 ssh 进程) | | `top`/`htop` | 实时监控系统资源/进程(`htop` 更友好) | `top`(默认)、`sudo htop`(需安装) | | `kill` | 终止进程 | `kill -9 1234`(强制终止 PID 为 1234 的进程) | | `df`/`du` | 查看磁盘空间 | `df -h`(磁盘使用)、`du -sh /home`(目录大小) | | `free` | 查看内存使用 | `free -h`(人性化显示) | | `sudo` | 以管理员权限执行命令 | `sudo apt update`(更新软件源) | | `systemctl` | 管理系统服务(Systemd) | `sudo systemctl start nginx`(启动 Nginx)、`sudo systemctl enable nginx`(开机自启) | ### 3. 网络相关 | 命令 | 作用 | 示例 | |-----------------------|---------------------------------------|-------------------------------------------| | `ping` | 测试网络连通性 | `ping baidu.com`(持续 ping,`ctrl+c` 停止) | | `curl`/`wget` | 下载文件/测试接口 | `curl https://baidu.com`(查看响应)、`wget https://xxx.com/file.zip`(下载文件) | | `ifconfig`/`ip addr` | 查看网络配置 | `ip addr`(显示网卡 IP) | | `netstat`/`ss` | 查看端口占用 | `ss -tuln`(所有监听端口)、`netstat -anp | grep 80`(查看 80 端口占用) | ### 4. 压缩/解压 | 命令 | 作用 | 示例 | |-----------------------|---------------------------------------|-------------------------------------------| | `tar` | 打包/解压(最常用) | 解压:`tar -zxvf file.tar.gz`;打包:`tar -zcvf file.tar.gz dir/` | | `unzip` | 解压 zip 文件 | `unzip file.zip -d ./target`(指定解压目录) | | `zip` | 压缩为 zip 文件 | `zip -r file.zip dir/`(递归压缩目录) | ## 二、终端编辑/插入技巧(提升效率) ### 1. 命令行快速编辑(无需鼠标) | 快捷键 | 作用 | 场景示例 | |-----------------------|---------------------------------------|-------------------------------------------| | `Ctrl + A` | 光标跳至命令开头 | 输入 `ls /home/test` 后,按此键光标到 `ls` 前 | | `Ctrl + E` | 光标跳至命令结尾 | 输入 `ls /home/test` 后,按此键光标到 `test` 后 | | `Ctrl + U` | 删除光标前所有字符(清空至开头) | 输入 `sudo apt install xxx` 后,按此键删除整行前缀 | | `Ctrl + K` | 删除光标后所有字符(清空至结尾) | 输入 `ls /home/test` 后,光标在 `home` 前,按此键删除 `/home/test` | | `Ctrl + W` | 删除光标前一个单词(以空格分隔) | 输入 `cd /home/test` 后,光标在结尾,按此键删除 `test` | | `Ctrl + Y` | 粘贴之前删除的内容(`U/K/W` 对应的剪切) | 用 `Ctrl + U` 删除后,按此键恢复 | | `Ctrl + C` | 终止当前命令(强制退出) | 卡住的 `ping`、`top` 等命令,按此键停止 | | `Ctrl + D` | 退出终端/当前会话(等价于 `exit`) | 无需输入 `exit`,直接按此键关闭终端 | | `Tab` | 命令/文件名自动补全(核心技巧!) | 输入 `cd /ho` 后按 `Tab`,自动补全为 `cd /home` | | `ESC + .`(点) | 粘贴上一条命令的最后一个参数 | 上一条命令 `ls /home/test`,当前输入 `cd ` 后按此组合,粘贴 `/home/test` | ### 2. 命令历史操作(快速复用) | 快捷键/命令 | 作用 | 示例 | |-----------------------|---------------------------------------|-------------------------------------------| | `history` | 查看所有历史命令 | `history`(列出所有)、`history 10`(最近 10 条) | | `!n` | 执行历史中第 n 条命令 | `history` 看到第 5 条是 `ls /home`,执行 `!5` | | `!!` | 执行上一条命令 | 刚执行 `ls`,想再执行一次,输入 `!!` 回车 | | `!keyword` | 执行最近一条以 `keyword` 开头的命令 | 之前执行过 `sudo apt update`,输入 `!sudo` 直接执行 | | `Ctrl + R` | 搜索历史命令(模糊匹配) | 按 `Ctrl + R` 后输入 `apt`,自动匹配最近的 `apt` 相关命令 | | `↑`/`↓` 箭头 | 上下切换历史命令 | 按 `↑` 快速找回上一条命令 | ### 3. 终端多任务/窗口管理 | 操作 | 作用 | 示例 | |-----------------------|---------------------------------------|-------------------------------------------| | `Ctrl + Shift + T` | 新建终端标签页(同窗口多标签) | 一个窗口中同时操作多个任务,无需开多个终端 | | `Ctrl + PageUp/PageDown` | 切换标签页 | 新建多个标签后,按此组合切换 | | `&`(后台运行) | 命令后台执行(不阻塞终端) | `python script.py &`(脚本后台运行,可继续输入其他命令) | | `jobs` | 查看后台运行的任务 | 执行 `jobs` 列出所有后台进程 ID | | `fg %n` | 将后台任务调至前台 | `jobs` 看到任务 1 是 `script.py`,执行 `fg %1` | ### 4. 文本编辑(终端内直接修改文件) #### (1)`nano` 编辑器(简单易用,新手友好) | 操作 | 作用 | 步骤示例 | |-----------------------|---------------------------------------|-------------------------------------------| | 打开文件 | `nano filename.txt` | 直接输入命令,进入编辑界面 | | 插入文本 | 打开后直接键盘输入(默认插入模式) | 无需额外按键,光标处直接打字 | | 保存文件 | `Ctrl + O`(按回车确认) | 编辑完后按此组合,输入文件名保存 | | 退出编辑器 | `Ctrl + X` | 保存后按此组合退出,未保存会提示是否放弃 | | 复制/粘贴 | `Alt + 6`(复制)、`Ctrl + U`(粘贴) | 选中文字(鼠标拖动)后按 `Alt +6`,光标处按 `Ctrl + U` | #### (2)`vim` 编辑器(进阶,高效但有学习成本) > 注:`vim` 分模式(插入模式/命令模式),新手容易困惑,核心基础操作如下: | 操作 | 步骤 | 作用 | |-----------------------|---------------------------------------|-------------------------------------------| | 打开文件 | `vim filename.txt` | 进入命令模式(默认) | | 进入插入模式(编辑) | 按 `i` 键(insert) | 光标处开始插入文本(左下角显示 `-- INSERT --`) | | 退出插入模式 | 按 `ESC` 键 | 回到命令模式(可执行保存/退出等操作) | | 保存文件 | 命令模式下输入 `:w`(回车) | 保存当前修改 | | 保存并退出 | 命令模式下输入 `:wq`(回车) | 保存后退出 `vim` | | 强制退出(不保存) | 命令模式下输入 `:q!`(回车) | 放弃修改,强制退出(避免误操作) | ## 三、实用小技巧(避坑+效率拉满) 1. **命令换行**:一条命令太长时,用 `\` 换行(可读性更高): ```bash sudo apt install -y \ nginx \ mysql-server \ php-fpm ``` 2. **管道符 `|`**:将前一个命令的输出作为后一个命令的输入(核心组合技): ```bash ls -l | grep ".txt" # 列出当前目录下所有 .txt 文件 ps aux | grep python # 过滤所有 python 进程 ``` 3. **重定向 `>`/`>>`**:将命令输出写入文件(覆盖/追加): ```bash ls > file_list.txt # 把 ls 结果覆盖写入 file_list.txt echo "hello" >> log.txt # 把 "hello" 追加到 log.txt 末尾(不覆盖原有内容) ``` 4. **通配符 `*`/`?`**:批量操作文件(避免重复输入): ```bash rm *.log # 删除当前目录下所有 .log 文件 cp photo_?.jpg /tmp # 匹配 photo_1.jpg、photo_2.jpg(? 匹配单个字符) ``` 5. **切换用户**:`su - username`(切换到指定用户,`-` 表示加载该用户环境变量): ```bash su - root # 切换到 root 用户(需输入 root 密码) ``` ## 四、新手避坑提醒 1. **`rm -rf /` 绝对不能执行**:会强制删除系统所有文件(彻底变砖),慎用 `rm -rf`! 2. **`sudo` 权限别滥用**:仅必要时使用(如修改系统配置、安装软件),避免误操作破坏系统。 3. **路径别写错**:Linux 路径区分大小写(`/Home` 和 `/home` 是两个目录),建议用 `Tab` 补全避免拼写错误。 4. **`vim` 卡住怎么办**:如果不小心进入 `vim` 且不会退出,按 `ESC` 后输入 `:q!` 强制退出(放弃修改)。 这些是 Linux 终端最核心、最常用的命令和技巧,日常使用足够覆盖 90% 以上场景。新手建议先熟练掌握「文件操作+编辑快捷键+Tab 补全」,再逐步学习进阶命令(如 `vim`、管道符),用得多了自然熟练~