2010/02/23

【Linux】初心者的學習筆記(4)

延續筆記(3)

---------------------------------------------------------------------------
鳥哥:Linux基礎文件/第5章、首次登入與線上求助 man page

shutdown基本上就可以控制所有的關機重開等動作,
但是linux也有一些指令可以單一指令去作這些動作,
像是reboot , poweroff, halt...etc,
reboot按下就會重開機, poweroff按下就會關機,halt也是關機。

再來是init 層級
筆記(3)一文有朋友回說他關機或重開都是用init作的,
指的就是在各個init層級間作切換的,
init有七個層級, 0~6 應該叫作run level
是用init指令去作切換的。
鳥哥列的那幾個run level是常用的,完整的可以參考 這頁寫的。
所以關機可以使用init 0,
而重開機可以使用init 6。
下面有一節叫作忘記root密碼
這邊講的是加上single所進入的run level就是 run level 1 單機模式,
通常被稱為single mode。
有時候linux開機出問題,大部份會跳到這個run level來除錯,
只會開啟最低限度或是有設定在run level 1 要開啟的service,
大概就像是windows的safe mode。

alias是別名
通常拿來設定一些簡潔好打的指令,
像是在redhat系統裡面通常都會有這樣一個alias,
ex: alias ll='ls -l'
這時打ll的話,就等於是下了 ls -l 這個指令一樣。
有些常下的指令,但是又嫌一大串每次都要打很累的話,就可以加到alias裡面。
如果直接下 alias,就會列出目前這個環境底下已經有設定的alias。
如果想要自己加一些alias ,可以加在自己的.bashrc(就在 ~/.bashrc 裡面加入),重新登入之後生效。


接著是history,這是可以列出 "曾經下過的指令" 的指令 XD
主要是根據家目錄底下的 .bash_history 這個檔案裡面的紀錄去顯示的,
但是 .bash_history 這裡面的紀錄都是在每次登出之後才會把登出之前所下過的指令紀錄進去。
history就是顯示 .bash_history 裡面有的紀錄,以及此次登入之後的 "目前這個session" 所下過的指令。

2 意見:

San-Yuan Chen 提到...

補充一下 init 的分別:

init 在 wikipedia 上的說明

簡單來講,init 是告訴 Un*x 在這個 runlevel 要做些什麼事情,例如說:大家常用的 init 0/6 就是 halt 跟 reboot。

剩下的就是看大家怎個高興定義了,不過大多數老一點的 Linux 會是把 init 1 當作 single user mode,類似把 windows 開回 DOS prompt;init 2 當作 multi-user mode without networking,類似開回 DOS Prompt,不過已經可以跑多功的程式了,只是這個時候,網路不存在;然後 init 3 就是我們正常 console,不過這時候是沒有 X 的喔。然後跳過 4(我也不知道為什麼),直達 5,這個時候就會跑出 XDM 或者是其他的 X 的登入管理畫面。

不過隨著時間的過去,真的就是看誰高興定義什麼 runlevel 就是什麼 runlevel。

所以呢,有空的時候可以男人一下 init,這樣就可以在各式各樣的 Un*x 上游刃有餘啦。

mrmoneyc 提到...

http://www.linfo.org/runlevel_def.html 這邊有提到,init 4 是 User-definable,保留給特殊用途用的