Linux

解釋這個命令

  • November 25, 2018

幾天前,我發現了以下命令:

for i in 0 1 2 3 4 5 6 S ; do ln -s /etc/rc$i.d /etc/rc.d/rc$i.d ; done

據了解,此命令將使用 for 循環在每個文件之間創建符號連結,但我無法真正理解的是該數字中的 S,它應該做什麼?

這些數字不是隨機選擇的,它們是系統的執行級別。用於確定執行哪些初始化腳本的執行級別。它們現在大多已經過時了。如果你在 Linux 上,執行級別S 和 1 很可能是相同的。您的文件可能真的很舊,或者他們可能正在使用update-rc.d而不是手動創建符號連結。

因此,您的循環正​​在遍歷所有執行級別,1-6 和 S。

for 循環中“in”之後的所有項目都是將在循環中分配給 $i 的字元串。該腳本將創建從 /etc/rc?.d 到 /etc/rc.d/rc?.d 的軟連結。這可能是為了確保發行版之間的某種兼容性。

S 有時用作執行級別 1 或單使用者模式的同義詞。https://en.wikipedia.org/wiki/Runlevel

引用自:https://unix.stackexchange.com/questions/425053