網站首頁 編程語言 正文
1、Linux系統運行級別介紹
Linux默認有7個運行級別,Linux 系統任何時候都運行在一個指定的運行級別上。不同的運行級別所運行的程序和服務不盡相同,所要完成的工作和要達到的目的也不相同。
0:關機。
1:單用戶模式,可以想象為Windows系統的安全模式,主要用于系統修復。
2:不完全的命令行模式(命令行模式就是命令界面),不含NFS服務(Linux系統和Linux系統之間文件共享的一種服務)。
3:完全的命令行模式,就是標準字符界面(我們之前一直使用的命令行模式,就是這種模式)。
4:系統保留。
5:圖形模式。
6:重啟動。
2、查看運行級別
在Linux系統中可以使用runlevel
命令來查看系統的運行級別。
命令如下:
# N代表進入這個級別前,上一個是哪個級別。3代表當前級別 [root@localhost ~]# runlevel N 3
說明:
N
就是None
的意思,也就是說系統是開機直接進入的3運行級別,沒有上一個運行級別。那如果是從圖形界面切換到字符界面的話,再查看運行級別,就應該是5 3
。
3、修改當前系統的運行級別
使用init
命令即可,注意:這不是init
進程。
命令如下:
進入圖形界面,當然Linux系統已經安裝了圖形界面才可以進入。
[root@localhost ~]# init 5
關機[root@localhost ~]# init 0
重啟動[root@localhost ~]# init 6
說明:
如果我們沒有安裝圖形界面,執行了init 5
命令,在遠程終端上是沒有任何反應的,而在虛擬機中,會提示如下:嘗試啟動圖形界面運行級別失敗。
但是我們在查詢當前Linux系統的運行級別,執行runlevel
命令時,結果顯示的是3 5
,記住這是一個假象,我們并沒有進入到圖形界面級別。
不過要注意,使用init
命令執行關機和重啟,這并不是太安全,容易造成數據丟失。所以推薦大家還是使用shutdown
命令進行關機和重啟。
4、系統默認運行級別
上邊了解了什么是Linux系統的運行級別,我們把注意力拉回到系統啟動的過程中。
系統默認的運行級別,就是系統啟動后直接進入的運行級別。而上邊說的是,查看系統當前的運行的級別,而不是查看默認的系統運行級別。
Linux系統默認運行級別,在/etc/inittab
配置文件中進行配置的,文件的內容如下:
從上圖中可以看到,里邊的很多信息都放入到其他不同的文件中了。
說明:
/etc/inittab
配置文件在以前的Linux發行版本中,如Red Hat 5或以前版本,/etc/inittab
配置文件在系統的啟動過程中,是非常重要的一個配置文件,需要加載里邊的數據。但是在Red Hat 6以后,/etc/inittab
配置文件的功能弱化了。
所以Red Hat 6中,/etc/inittab
配置文件的唯一作用就是配置Linux系統默認運行級別。id:3:initdefault:
:中間的數字3的位置,就是配置Linux系統默認運行級別,寫幾就是對應的級別。
注意:
下圖的運行級別說明中注釋了,0和6級別是不能被設置成系統默認運行級別的,只能用1-5中選擇系統默認的運行級別。但是在這里推薦系統的默認運行級別只能寫3或5,其他的級別要不就是關機重啟,要不就是保留或單用戶,都不能作為系統默認運行級別的。
5、/etc/rc.d/rc.local文件說明
/etc/rc.d/rc.local
配置文件是一個非常重要的文件,這個配置文件會在用戶登陸之前讀取,這個文件中寫入什么命令,在每次系統啟動時都會執行一次。也就是說,我如果有任何需要在系統啟動就運行的工作,只需要寫入/etc/rc.d/rc.local
這個配置文件即可,如一些服務開機的時候就需要啟動,可以把完整的服務啟動命令配置在這里。(注意最好不要寫service啟動方式,寫/etc/init.d/
路徑的方式啟動)
/etc/rc.d/rc.local
配置文件內容如下:
可以看到/etc/rc.d/rc.local
文件是一個shell腳本,touch
一個非常隱蔽的文件/var/ lock/ subsys/local
文件。(touch
命令:如果文件不存在,則創建該文件,如果文件存在,則修改該文件的訪問時間。)
換句話說,系統每次開機,都來找這個非常隱蔽的文件,所以這個文件的修改時間就是系統的啟動時間了。也就是說,這條命令的作用就是獲取系統的啟動時間。
同時注意一下,/etc/rc.d/rc.local
配置文件還有一個軟鏈接文件,為/etc/rc.local
配置文件,(兩個文件就相當于一個文件,修改哪一個都可以
/etc/rc.d/rc.local
配置文件和/etc/rc.local
配置文件的關系如下圖:
原文鏈接:https://www.cnblogs.com/liuyuelinfighting/p/15662543.html
相關推薦
- 2022-04-08 從頭學習C語言之指針和數組_C 語言
- 2022-11-23 Python字符串格式化實例講解_python
- 2022-10-25 Android自定義View實現水波紋擴散效果_Android
- 2022-06-06 C++中隊列queue的用法實例詳解_C 語言
- 2022-05-10 setAttribute() 與 getAttribute() 用法剖析及選項卡操作的實例展示,這一
- 2021-12-09 golang中gin框架接入jwt使用token驗證身份_Golang
- 2022-06-16 C++與C語言常用的語法對比_C 語言
- 2022-07-13 kafka中Topic、消費組以及消息狀態詳解
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支