文章目录
1. 提问的方式
1.1 注意事项
- 提问的时候要礼貌,然后直接提出问题
- 描述问题、截图要截全、把图中关键内容复制出来
- 提问的时候描述清楚问题就是给别人节约时间,别人更愿意提供帮助
- 故障解决好后,总结下来,发给你询问过的人
1.2 start法则-提问/面试
star法则 | 说明 |
---|---|
s | 什么情况 |
t | 什么目标 |
a | 什么步骤 |
r | 什么结果 |
2. systemctl 系统服务管理
systemctl管理的服务默认要通过yum/apt或rpm/deb方式安装;
二进制和编译安装默认无法通过systemctl管理,需要手动配置systemctl文件。
2.1 开启和自启动服务sshd
systemctl start sshd
systemctl enable sshd
systemctl enable sshd --now
2.2 关闭和永久禁用防火墙
[root@oldboy99-Kylin ~]# systemctl stop firewalld
[root@oldboy99-Kylin ~]# systemctl disable firewalld
[root@oldboy99-Kylin ~]# systemctl disable firewalld --now
2.3 查看服务的状态
[root@oldboy99-Kylin ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
# 查看服务是否启动
[root@oldboy99-Kylin ~]# systemctl is-active firewalld.service
inactive
# 查看服务是否自启动
[root@oldboy99-Kylin ~]# systemctl is-enabled firewalld.service
disabled
2.4 重启服务
[root@oldboy99-Kylin ~]# systemctl restart sshd.service
2.5 sshd重启失败案例
- 备份sshd的配置文件,在该文件最后添加随机字符,重启动服务
[root@oldboy99-Kylin ~]# echo "skx 12345" >> /etc/ssh/sshd_config
[root@oldboy99-Kylin ~]# systemctl restart sshd.service
Job for sshd.service failed because the control process exited with error code.
See "systemctl status sshd.service" and "journalctl -xe" for details.
- 根据故障提示查看sshd服务的状态
[root@oldboy99-Kylin ~]# systemctl status sshd.service
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Wed 2025-05-14 19:18:35 CST; 6s ago
Docs: man:sshd(8)
man:sshd_config(5)
# sshd处于自动重启的状态
- journalctl -xe -u sshd 查看sshd服务的日志
- journalctl:系统日志管理工具
选项 | 说明 |
---|---|
-x | 显示详细日志信息 |
-e | 跳转到日志末尾 |
-u | unit(单元),查看某个服务的日志 |
- 然后修改配置文件,删除错误的配置,重启服务即可。
3. localectl 字符集管理
[root@oldboy99-Kylin ~]# localectl
System Locale: LANG=zh_CN.UTF-8
VC Keymap: cn
X11 Layout: cn
3.1 临时修改语言
# 修改成英文语言
[root@oldboy99-Kylin ~]# export LANG=en_US.utf8
- 重新远程连接就失效
3.2 永久修改语言
[root@oldboy99-Kylin ~]# localectl set-locale LANG=en_US.UTF-8
[root@oldboy99-Kylin ~]# localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: cn
X11 Layout: cn
[root@oldboy99-Kylin ~]# cat /etc/locale.conf
LANG=en_US.UTF-8
3.3 用脚本修改语言
[root@oldboy99-Kylin ~]# cat locale.sh
export LANG=PLANG=en_US.UTF-8
echo 统计cpu信息:
lscpu |grep 'Socket(s)' |awk '{print $2}'
[root@oldboy99-Kylin ~]# bash locale.sh
统计cpu信息:
1
4. 面试题
4.1 Linux的运行级别
运行级别 | 说明 |
---|---|
0 | 关机 |
1 | rescue,救援模式 |
2 | multi-user,多用户模式、命令行模式、文本模式 |
3 | multi-user,多用户模式、命令行模式、文本模式 |
4 | multi-user,多用户模式、命令行模式、文本模式 |
5 | graphical,桌面模式、图形化模式 |
6 | 重启 |
- 修改运行级别
# 查看运行级别
[root@oldboy99-Kylin ~]# systemctl get-default
multi-user.target
# 修改运行级别
[root@oldboy99-Kylin ~]# systemctl set-default multi-user.target
4.2 Linux启动流程
5. 踩坑记录
1. sshd服务处于自动重启状态,为啥xshell还能保持连接?
SSH 会话独立于 sshd
主进程
sshd
主进程(/usr/sbin/sshd
)负责 监听端口 和 接受新连接。- 已建立的 SSH 会话 由 子进程(
sshd: user@pts/0
) 处理,即使主进程崩溃或重启,已连接的会话仍然存活。
6. 思维导图
【金山文档】 思维导图 https://www.kdocs.cn/l/co3I7PtpTYQX