文章目錄
- 1. 提問的方式
- 1.1 注意事項
- 1.2 start法則-提問/面試
- 2. systemctl 系統服務管理
- 2.1 開啟和自啟動服務sshd
- 2.2 關閉和永久禁用防火墻
- 2.3 查看服務的狀態
- 2.4 重啟服務
- 2.5 sshd重啟失敗案例
- 3. localectl 字符集管理
- 3.1 臨時修改語言
- 3.2 永久修改語言
- 3.3 用腳本修改語言
- 4. 面試題
- 4.1 Linux的運行級別
- 4.2 Linux啟動流程
- 5. 踩坑記錄
- 1. sshd服務處于自動重啟狀態,為啥xshell還能保持連接?
- 6. 思維導圖
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 daemonLoaded: 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 daemonLoaded: 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 agoDocs: 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-8VC Keymap: cnX11 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-8VC Keymap: cnX11 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