4.1 首次登陆系统
4.1.1-4.1.2 GNOME 图形接口
GNOME 桌面分三大区域:上方工具列(应用程序/位置/状态区)、桌面(主文件夹+垃圾桶)、下方工作列(多任务切换 + 虚拟桌面,默认 4 个)。
几个要点:
- 隐藏文件:文件名以
.开头的就是隐藏文件,不是特殊权限,纯粹命名规则 - “活动总览”:左上角点开,能看到所有虚拟桌面和运行中的应用,比在任务栏找快
- 虚拟桌面:默认 4 个,用”调校工具”(Tweak Tool)可以改成 6 个
- GNOME 动画:虚拟机里可能很卡,关掉:
gsettings set org.gnome.desktop.interface enable-animations false - 屏幕锁定:默认 5 分钟自动锁屏。练习机嫌烦可以在设置→电源里改成”永不”
- 重启 X Window 的秘诀:
Ctrl+Alt+Backspace(需先在调校工具里启用,否则组合键无效)
💡 鸟哥被 GNOME 的求助窗口骗了——长得像浏览器但其实不是,学生直接在”网址栏”输 URL 当然打不开。这算是 GUI 时代的”假熟悉感”陷阱。
4.1.3 X Window 与文字模式切换
Linux 默认有 6 个终端(terminal/console):
| 按键 | 进入 |
|---|---|
Ctrl+Alt+F1 | 图形接口(如果装了且默认启动) |
Ctrl+Alt+F2~F6 | 纯文字终端 tty2~tty6 |
- CentOS 7 默认只启动 tty1,切到 F2 才动态创建 tty2
- 纯命令行下启动 X:
startx(前提:X 装了、没有其他 X 已启动、有窗口管理器) - CentOS 7 已废除 SystemV 的 run level,改用 systemd 管理服务(
graphical.target决定是否默认图形界面),不再有/etc/inittab
4.1.4 文字模式登陆信息解读
CentOS Linux 7 (Core)
Kernel 3.10.0-229.el7.x86_64 on an x86_64
study login: dmtsai ← 主机名只取第一个点前的部分
Password: ← 输入时不回显!不是键盘坏了!
Last login: ... on tty1 ← 上次登录记录,要看看是不是自己
[dmtsai@study ~]$ _ ← dmtsai=当前用户, study=主机名, ~=家目录, $=普通用户
核心认知:
~是变量,代表当前用户的主文件夹(dmtsai →/home/dmtsai,root →/root)$= 一般用户,#= root。看提示符就知道自己是谁——这是防手滑的第一道防线- 登出:
exit或Ctrl+D(EOF) - 登出 ≠ 关机,系统其他任务继续跑
4.2 文字模式下指令的下达
4.2.1 指令语法
command [-options] parameter1 parameter2 ...七个要点:
- 第一个输入的一定是指令或可执行文件
- 短选项用
-(如-h),长选项用--(如--help) - 参数跟在选项后
- 空格区分各个部分(不论空几格都当一格)
- 按 Enter 立即执行
- 太长的指令用
\换行 - 大小写绝对不同:
date≠Date≠DATE
4.2.2 基础指令
| 指令 | 用途 | 示例 |
|---|---|---|
date | 显示/设置日期时间 | date +%Y/%m/%d → 2015/05/29 |
cal | 显示日历 | cal 10 2015 → 2015年10月月历 |
bc | 命令行计算器 | 进入后算 1+2+3,quit 离开;除法默认丢小数,需先 scale=3 |
locale | 查看当前语系 | LANG=zh_TW.utf8 → 繁体中文 |
LANG=en_US.utf8 | 临时切英文语系 | 避免纯文本终端中文乱码 |
💡 指令分两种执行模式:执行完立刻回提示符(如
date)、进入软件内部环境(如bc,要输quit才能出来)。判断方法:看光标前面是不是[user@host ~]$。
4.2.3 必学的热键
| 热键 | 功能 | 重要程度 |
|---|---|---|
[Tab]×2 | 命令补全(关键词后)或文件补全(参数位后) | ⭐⭐⭐ |
[Ctrl]+C | 中断当前运行的程序 | ⭐⭐⭐ |
[Ctrl]+D | EOF(键盘输入结束),可替代 exit | ⭐⭐ |
[Shift]+[PgUp/PgDn] | 翻看之前的输出(纯文本界面下) | ⭐ |
- Tab 补全是 Linux Shell 最强功能之一:防打错、防忘记、还能发现新指令
- CentOS 7 装了 bash-completion 后,Tab 在部分指令后可补齐选项/参数(但这也会让原本的文件补齐失效,鸟哥踩过坑)
- 啥都不敲直接
[Tab][Tab]列出所有指令的功能在 7.x 被删了(指令太多)
4.2.4 错误讯息怎么读
bash: DATE: command not found... → 打错字/软件没装/不在 PATH 里。CentOS 7 的 bash 还会提示 Similar command is: 'date'。
💡 出错先别看 Google,看屏幕信息。系统一般已经告诉你问题在哪了。
4.3 线上求助——man page 与 info page
4.3.1 —help
几乎所有指令都支持 指令 --help,快速查看选项和参数。适合查你用过的指令的参数,不适合从零学新指令。
4.3.2 man page(最重要)
man 指令 → 详细的说明文档。以 man date 为例,结构如下:
| 区块 | 内容 |
|---|---|
| NAME | 指令全称 + 一句话用途 |
| SYNOPSIS | 语法格式([] 表示可选,... 表示重复) |
| DESCRIPTION | 详细说明(建议细读) |
| OPTIONS | 所有选项的逐一解释 |
| FILES | 相关的配置文件路径 |
| SEE ALSO | 关联资料(“还有哪些可以看”) |
| EXAMPLES | 使用范例 |
man 后面的数字决定了查哪一类(man 1 man 和 man 7 man 内容不同):
| 代号 | 含义 | 记忆口诀 |
|---|---|---|
| 1 | 用户可用的指令 | ”1”看指令 |
| 5 | 配置文件格式 | ”5”看配置 |
| 8 | 管理员指令 | ”8”是管理 |
| 2 | 系统调用 | 内核开发用 |
| 3 | C函数库 | 编程用 |
| 4 | 设备文件 | /dev 下的文件 |
| 7 | 惯例与协定 | 如 ASCII、文件系统 |
man page 内导航键:
| 键 | 功能 |
|---|---|
| 空白/Page Down | 向下翻页 |
| Page Up | 向上翻页 |
/关键词 | 向下搜索,n 下一个,N 上一个 |
?关键词 | 向上搜索 |
Home / End | 第一页 / 最后一页 |
q | 退出 |
其他与 man 相关的指令:
man -f 关键词=whatis 关键词:精确匹配指令名man -k 关键词=apropos 关键词:模糊搜索,只要说明文本里有关键词就列出来(需先mandb建数据库)- 鸟哥的日常用法:记住核心指令→
man 指令查 SEE ALSO →指令 --help查选项 →man 新指令深入
4.3.3 info page
Linux 特有的说明格式:把文档拆成多个节点(node),节点间有类似网页的超链接,Tab 在链接间跳、Enter 进入、N/P/U 在节点间导航、h 查看帮助。只有用 info 格式写的说明文档才能享受这些超链接功能(/usr/share/info/)。
4.3.4 /usr/share/doc
不属于 man/info 的额外文档都在这。按软件包(package)组织,装了什么软件就来这翻。三个求助渠道总结:
| 场景 | 方法 |
|---|---|
| 用过但忘了参数 | --help |
| 没见过的新玩意儿 | man 或 info |
| 搭服务/整组软件 | /usr/share/doc |
4.4 超简单文书编辑器:nano
nano 是命令行下的简易文本编辑器,比 vim 友好得多(vim 留给第九章)。
nano text.txt # 文件存在就打开,不存在就新建核心快捷键(^ = Ctrl):
| 键 | 功能 |
|---|---|
Ctrl+G | 帮助 |
Ctrl+X | 退出(修改过会问是否保存) |
Ctrl+O | 保存(Save) |
Ctrl+R | 读入其他文件插入当前位置 |
Ctrl+W | 搜索 |
Ctrl+_ | 跳到指定行号 |
Ctrl+C | 显示当前光标所在行列号 |
4.5 正确的关机方法
为什么不能直接拔电:Linux 是多用户多任务系统,后台随时有人的进程在跑;更致命的是数据为了速度暂存内存(延迟写入),强行断电 → 文件系统可能损坏。
关机前必做
who # 看看谁在线
netstat -a # 看看网络连接
ps -aux # 看看后台进程
sync # 把内存数据强制写回硬盘(多执行几次!)虽然现代 shutdown 指令已内置 sync,但老派习惯会手动 sync; sync; sync。
shutdown 指令(root 才能用)
shutdown -h now # 立刻关机
shutdown -h +10 # 10分钟后关机
shutdown -h 20:25 # 指定时间关机
shutdown -r now # 立刻重启
shutdown -r +30 'Reboot' # 30分钟后重启+广播消息
shutdown -k now '...' # 只吓人不真关(-k=仅警告)
shutdown -c # 取消已安排的关机不加任何参数时默认 1 分钟后关机(CentOS 7 改了,以前会进单人维护模式)。
其他关机指令
halt / poweroff / reboot — 底层都调用同一个 systemctl 命令,选自己顺手的记就行。CentOS 7 已改用 systemd,旧版 init 0/init 6 仅作为相容保留:
systemctl reboot # 重启
systemctl poweroff # 关机💡 “为什么关机这么麻烦”——因为 Linux 假设你的机器不是只给你一个人用的。Windows 单人假多任务随便关,Linux 服务器上可能几十个人在跑任务,直接断电就是在搞破坏。
关键命令
| 命令 | 用途 |
|---|---|
date | 显示/格式化日期时间 |
cal [月] [年] | 显示日历(万年历) |
bc | 命令行计算器(scale=N 设小数位,quit 退出) |
locale | 查看语系设置 |
LANG=en_US.utf8 | 临时切换英文语系(终端中文乱码时用) |
startx | 纯命令行下启动图形界面 |
指令 --help | 快速查看指令选项 |
man 指令 | 详细手册(q 退出,/ 搜索) |
man -f 关键词 / whatis | 精确查找 man 条目 |
man -k 关键词 / apropos | 模糊搜索 man 条目 |
mandb | 重建 whatis/apropos 数据库(root) |
info 指令 | info page 格式的说明文档 |
nano 文件名 | 打开简单文本编辑器 |
who | 查看当前在线用户 |
sync | 强制内存数据写回硬盘 |
shutdown -h now | 立即关机 |
shutdown -r now | 立即重启 |
systemctl poweroff / reboot | systemd 方式关机/重启 |