一、啥是终端?先搞懂「人和电脑对话的窗口」
你可以把 终端(Terminal) 理解成一个「文字版的电脑操作台」。
在 Windows 里,类似「命令提示符」或 PowerShell;在 Linux 里,它是你和系统直接对话的地方 —— 你输入文字命令,系统返回结果,全靠打字交流,没有鼠标点点点。
为啥要用终端?
- 高效:复杂操作敲命令比鼠标点几十下快得多(比如批量处理几百个文件)。
- 万能:Linux 服务器没有图形界面,全靠终端操作;即使有图形界面,高级功能也得靠终端。
- 装酷:程序员必备技能,懂的都懂
怎么打开终端?
- 快捷键:大部分 Linux 发行版(比如 Ubuntu、CentOS)按 Ctrl + Alt + T 直接打开。
- 菜单找:在应用程序里搜索「终端」「Terminal」或「控制台」。
- 服务器连接:用 Putty、Xshell 等工具远程连接 Linux 服务器,本质也是打开终端。
二、Shell 是啥?终端背后的「翻译官」
终端只是个「窗口」,真正干活的是 Shell—— 它负责把你敲的命令翻译成系统能听懂的指令,再把结果返回给你。
常见的 Shell 有哪些?
- Bash(Bourne Again SHell):Linux 默认的 Shell,最常用,兼容性最强,新手入门首选。
- Zsh(Z Shell):比 Bash 更强大,支持主题、自动补全、插件(比如 Oh My Zsh),极客最爱。
- Fish(Friendly Interactive SHell):界面更友好,命令自动建议,但小众一些。
- 其他:比如 Dash、Ksh 等,用得较少。
怎么看当前用的是哪个 Shell?
在终端输入:
echo $SHELL # 输出当前 Shell 的路径,比如 /bin/bash
怎么切换 Shell?
比如从 Bash 换成 Zsh(需要先安装 Zsh):
chsh -s /bin/zsh # 改默认 Shell(需重启终端生效)
zsh # 临时切换,关掉终端就变回原来的 Shell
三、Shell 命令基础:学会「说人话」让电脑干活
Shell 命令的格式通常是:
命令名 [选项] [参数]
- 命令名:比如 ls(查看文件)、cd(切换目录)、mkdir(创建文件夹)。
- 选项:用 - 开头,修改命令的行为,比如 ls -l(显示详细信息)。
- 参数:命令操作的对象,比如 ls /etc(查看 /etc 目录下的文件)。
1. 必学的基础命令(每天都在用)
命令 | 作用 | 例子 |
ls | 列出文件 / 目录 | ls -a(显示隐藏文件) |
cd | 切换目录 | cd ~(回到用户主目录) |
mkdir | 创建目录 | mkdir mydir(创建 mydir 文件夹) |
rm | 删除文件 / 目录 | rm file.txt(删文件) |
cp | 复制文件 / 目录 | cp a.txt b.txt(复制 a 到 b) |
mv | 移动文件(或重命名) | mv old.txt new.txt(重命名) |
cat | 查看文件内容 | cat config.conf(显示文件内容) |
nano/vim | 编辑文件 | nano hello.txt(用 nano 编辑) |
sudo | 以管理员权限执行命令 | sudo apt install xxx(安装软件) |
2. 通配符:让命令更灵活
通配符可以批量匹配文件,比如:
- *:匹配任意字符(任意多个),比如 *.txt 匹配所有后缀为 .txt 的文件。
- ?:匹配单个字符,比如 file?.txt 匹配 file1.txt、fileA.txt 等。
- [ ]:匹配括号内的任意一个字符,比如 [abc].txt 匹配 a.txt、b.txt、c.txt。
3. 管道和重定向:让命令「接力干活」
- 管道(|):把前一个命令的结果传给后一个命令处理,比如:
ls -l | grep "log" # 先列出详细信息,再筛选包含 "log" 的行
- 重定向(>、>>):把命令结果保存到文件,比如:
ls > list.txt # 把结果覆盖写入 list.txt(文件不存在则创建)
ls >> list.txt # 把结果追加到 list.txt 末尾
四、Shell 环境:自定义你的「专属操作台」
1. 环境变量:给 Shell 「开小灶」
环境变量是 Shell 里的全局参数,比如 PATH 决定了系统去哪里找命令。
- 查看所有环境变量:echo $环境变量名,比如 echo $PATH。
- 临时修改(当前终端生效):
export MYVAR="hello" # 创建自定义变量
echo $MYVAR # 输出 hello
- 永久修改(重启后生效):
把 export 命令 写入 Shell 配置文件,比如: - Bash:用户级配置 ~/.bashrc,系统级配置 /etc/bashrc
- Zsh:用户级配置 ~/.zshrc
2. 别名(Alias):给命令「起外号」
把常用的长命令简化,比如:
alias ll='ls -l' # 以后敲 ll 就等于敲 ls -l
alias rm='rm -i' # 让 rm 命令删除前先询问(防止手滑)
临时生效直接敲命令,永久生效需要把别名写入 Shell 配置文件(和环境变量一样)。
3. 快捷键:效率拉满
快捷键 | 作用 |
Ctrl + C | 终止当前命令(比如程序卡住时) |
Ctrl + D | 退出终端(或输入结束) |
Ctrl + L | 清屏(相当于 clear 命令) |
Ctrl + R | 搜索历史命令 |
Tab | 自动补全(敲一半按 Tab,比如 cd /u 按 Tab 补成 /usr) |
↑/↓ | 切换历史命令 |
五、Shell 脚本:让电脑「批量打工」
如果经常需要重复执行一堆命令,可以把它们写成 Shell 脚本,一键运行。
1. 脚本格式(以 Bash 为例)
#!/bin/bash # 第一行必须声明用哪个 Shell 执行
echo "Hello World!" # 输出内容
ls -l # 列出当前目录文件
2. 怎么运行脚本?
- 保存为 .sh 文件,比如 script.sh。
- 赋予执行权限:
chmod +x script.sh # 让文件可执行
- 运行:
./script.sh # 直接运行(需要在当前目录)
3. 脚本进阶:变量、条件、循环
- 变量:
name="小明"
echo "你好,$name" # 输出:你好,小明
- 条件判断:
if [ $1 -gt 10 ]; then # $1 是脚本的第一个参数
echo "参数大于 10"
else echo "参数小于等于 10"
fi
- 循环:
for file in *.txt; do # 遍历所有 .txt 文件
echo "处理文件:$file"
done
六、避坑指南:新手常犯的错
- 权限问题:遇到 Permission denied,记得加 sudo(但别乱用 sudo rm -rf /,会删光系统文件!)。
- 路径错误:分不清「绝对路径」和「相对路径」,比如 /home/user 是绝对路径,../parent 是相对路径(相对于当前目录)。
- 命令敲错:按 Tab 补全,别硬记;敲错了按 Ctrl + C 终止,别慌。
七、总结:终端和 Shell 是 Linux 的「灵魂」
- 终端是入口,是你和 Linux 对话的窗口;
- Shell是翻译官,把你的命令变成系统能执行的操作;
- 学会基础命令、环境配置、脚本编写,就能玩转 Linux 的「幕后世界」。
刚开始可能觉得难,但多敲多练,你会发现终端比图形界面更「顺手」—— 就像开车,手动挡一开始难,但熟练后能精准控制每一步。
最后,推荐个练习方法:每天学 3 个新命令,用脚本批量处理小任务(比如整理文件),1 个月就能入门!