Linux(一)基本知識點

一.linux檔案文件系統類型分別是:

  • ext2/ext3:是 Linux 適用的文件系統類型。由於 ext3 文件系統多了日誌的記錄, 對於系統的復 原比較快速,因此建議你務必要選擇新的 ext3 不要用 ext2 了。
  • physical volume (LVM):這是用來彈性調整文件系統容量的一種機制, 可以讓你的文件系統容 量變大或變小而不改變原有的檔案數據內容!這部份我們會在第十五章、進階文件系統管理中談 到!
  • software RAID:利用 Linux 操作系統的特性,用軟件仿真出磁盤陣列的功能! 這東西很棒!不 過目前我們還用不到!在後續的第十五章再跟大家報告了!
  • swap:就是內存置換空間!由於 swap 並不會使用到目錄樹的掛載, 所以用 swap 就不需要指 定掛載點喔!
  • vfat:同時被 Linux 與 Windows 所支持的文件系統類型。 如果你的主機硬盤內同時存在 Windows 與 Linux 操作系統,爲了數據的交換,確實可以建置一個 vfat 的文件系統喔!

二.登入Linux系統:

1. 用戶家目錄

[vbird@www ~]$ _:
這一行則是正確登入之後才顯示的訊息, 最左邊的vbird 顯示的是『目前用戶的賬號』,而@之
後接的www 則是『主機名』,至於最右邊的~則指的是 『目前所在的目錄』,那個$則是我們
常常講的『提示字符』啦!

Tips :

  • 那個 ~ 符號代表的是『用戶的家目錄』的意思,他是個『變量!』 ,舉例來說,root 的家目錄在/root, 所以 ~ 就代表/root 的意思。而vbird的家目錄在/home/vbird, 所以如果你以vbird 登入時,他看到的 ~ 就會等於/home/vbird 喔!
  • 至於提示字符方面,在Linux 當中,默認root 的提示字符爲 # ,而一般身份用戶的提示字符爲 $ 。

2. 退出系統

[vbird@www ~]$ exit

3. 文本模式下下達命令:

其實我們都是透過『程序』在跟系統作溝通的,本章上面提到的窗口管理員或文本模式都是一組或一隻
程序在負責我們所想要完成的指令。 文本模式登入後所取得的程序被稱爲殼(Shell),這是因爲這支程序
負責最外面跟使用者(我們)溝通,所以才被戲稱爲殼程序!

[vbird@www ~]$ command [-options] parameter1 parameter2 … 指令 選項 參數(1) 參數(2)

Tips :
0. 一行指令中第一個輸入的部分絕對是『指令(command)』或『可執行文件案』
1. command 爲指令的名稱,例如變換路徑的指令爲 cd 等等;
2. 中刮號[]並不存在於實際的指令中,而加入選項設定時,通常選項前會帶 - 號,
例如 -h;有時候會使用選項的完整全名,則選項前帶有 – 符號,例–help;
3. parameter1 parameter2.. 爲依附在選項後面的參數,或者command 的參數;
4. 指令, 選項, 參數等這幾個咚咚中間以空格來區分,不論空幾格 shell 都視爲一格;
5. 按下[Enter]按鍵後,該指令就立即執行。[Enter]按鍵代表着一行指令的開始啓動。
6. 指令太長的時候,可以使用反斜槓 () 來跳脫[Enter]符號,使指令連續到下一行。
注意!反斜槓後就立刻接特殊字符,才能跳脫!

3. 常用的基本系統命令

  • 顯示日期的指令: date
    1.如果在文字接口中想要知道目前Linux 系統的時間,那麼就直接在指令列模式輸入date 即可顯示:
    eg:
    [vbird@www ~]dateMonAug1717:02:52CST20092.2009/08/17使dateeg[vbird@www ] date +%Y/%m/%d
    2009/08/17
    [vbird@www ~]$ date +%H:%M
    17:04

  • 系統當前語系:LANG
    1.打印出當前用戶命令的語系:echo $LANG
    2.設置當前用戶的命令語系:LANG=en_US(英文)
    tips:註銷Linux 後,語系又會還原,剛剛下達的指令就沒有用啦

-顯示日曆的指令:cal
1.顯示當前月日曆:cal
(除了本月的日曆之外,連同今日所在處都會有反白的顯示呢!)
2.cal 指令顯示某年或者某年某月的日曆語法:cal [month] [year]

-簡單好用的計算器: bc
1.簡單運算:
· + 加法
· - 減法
· * 乘法
· / 除法
· ^ 指數
· % 餘數
tips:bc 預設僅輸出整數,所以除法結構取整
2.執行 scale=number ,設置結果集小數位數:
eg:scale=3(保留小數點後三位)、
3.退出計算器,回到命令行:quit(必須使用quit)

Tips :從上面的練習我們大概可以知道在指令列模式裏面下達指令時,會有兩種主要的情況:
· 一種是該指令會直接顯示結果然後回到命令提示字符等待下一個指令的輸入;
· 一種是進入到該指令的環境,直到結束該指令纔回到命令提示字符的環境,例如bc命令。

4.重要的幾個熱鍵[Tab], [ctrl]-c, [ctrl]-d

  • Tab
    按鍵的地方如果是在command(第一個輸入的數據)後面時,他就代表着 『命令補全』,如果是接在第二個字以後的,就會變成『檔案補齊』的功能了!總結一下:
    · [Tab] 接在一串指令的第一個字的後面,則爲命令補全;
    · [Tab] 接在一串指令的第二個字以後時,則爲『檔案補齊』!

  • [Ctrl]-c 按鍵
    將正在運作中的指令中斷。

  • [Ctrl]-d 按鍵
    鍵盤輸入結束(End Of File, EOF 或 End Of Input)』的意思。

  • 超簡單文書編輯器 nano
    nano 的使用其實很簡單,你可以直接加上檔名就能夠開啓一箇舊檔或新檔!
    · [ctrl]-G:取得聯機幫助(help),很有用的!
    · [ctrl]-X:離開naon 軟件,若有修改過檔案會提示是否需要儲存喔!
    · [ctrl]-O:儲存檔案,若你有權限的話就能夠儲存檔案了;
    · [ctrl]-R:從其他檔案讀入資料,可以將某個檔案的內容貼在本檔案中;
    · [ctrl]-W:搜尋字符串,這個也是很有幫助的指令喔!
    · [ctrl]-C:說明目前光標所在處的行數與列數等信息;
    · [ctrl]-_:可以直接輸入行號,讓光標快速移動到該行;
    · [alt]-Y:校正語法功能開啓或關閉(單擊開、再單擊關)
    · [alt]-M:可以支持鼠標來移動光標的功能

  • 正確的關機方法
    在 Linux 底下,由於每個程序 (或者說是服務) 都是在背景下執行的,因此,在你看不到的屏幕背後其實可能有相當多人同時在你的主機上面工作, 例如瀏覽網頁啦、傳送信件啦以 FTP 傳送檔案啦等等的,如果你直接按下電源開關來關機時, 則其他人的數據可能就此中斷!那可就傷腦筋了!
    此外,最大的問題是,若不正常關機,則可能造成文件系統的毀損 (因爲來不及將數據回寫到檔案中,所以有些服務的檔案會有問題!)。所以正常情況下,要關機時需要注意底下幾件事:
    · 觀察系統的使用狀態:
    如果要看目前有誰在在線,可以下達『who』這個指令,而如果要看網絡的聯機狀態,可以下達
    『 netstat -a 』這個指令,而要看背景執行的程序可以執行『 ps -aux 』這個指令。使用這些指
    令可以讓你稍微瞭解主機目前的使用狀態!當然囉,就可以讓你判斷是否可以關機了 (這些指
    令在後面Linux 常用指令中會提及喔!)
    · 通知在線使用者關機的時刻:
    要關機前總得給在線的使用者一些時間來結束他們的工作,所以,這個時候你可以使用
    shutdown 的特別指令來達到此一功能。
    · 正確的關機指令使用:
    例如 shutdown 與 reboot 兩個指令!
    1、同步寫入磁盤:sync
    在Linux 系統中,爲了加快數據的讀取速度,所以在默認的情況中, 某些已經加載內存中的數據將不會直接被寫回硬盤,而是先暫存在內存當中,如此一來, 如果一個數據被你重複的改寫,那麼由於他尚未被寫入硬盤中,因此可以直接由內存當中讀取出來, 在速度上一定是快上相當多的!
    不過,如此一來也造成些許的困擾,那就是萬一你的系統因爲某些特殊情況造成不正常關機 (例如停電或者是不小心踢到power)時,由於數據尚未被寫入硬盤當中,哇!所以就會造成數據的更新不正常啦! 那要怎麼辦呢?這個時候就需要sync 這個指令來進行數據的寫入動作啦! 直接在文字接口下輸入sync,那麼在內存中尚未被更新的數據,就會被寫入硬盤中!所以,這個指令在系統關機或重新啓動之前, 很重要喔!最好多執行幾次!
    tips:雖然目前的 shutdown/reboot/halt 等等指令均已經在關機前進行了 sync 這個工具的呼叫, 不過,多做幾次總是比較放心點
    2、慣用的關機指令: shutdown
    這個指令會通知系統內的各個程序 (processes),並且將通知系統中的run-level 內的一些服務來關閉。shutdown 可以達成如下的工作:
    · 可以自由選擇關機模式:是要關機、重新啓動或進入單人操作模式均可;
    · 可以設定關機時間: 可以設定成現在立刻關機, 也可以設定某一個特定的時間才關機。
    · 可以自定義關機訊息:在關機之前,可以將自己設定的訊息傳送給在線 user 。
    · 可以僅發出警告訊息:有時有可能你要進行一些測試,而不想讓其他的使用者干擾, 或者是明白的告訴使用者某段時間要注意一下!這個時候可以使用 shutdown 嚇一嚇使用者,但卻不是真的要關機啦!
    · 可以選擇是否要 fsck 檢查文件系統 。
    選項與參數
    -t sec : -t 後面加秒數,亦即『過幾秒後關機』的意思
    -k : 不要真的關機,只是發送警告訊息出去!
    -r : 在將系統的服務停掉之後就重新啓動(常用)
    -h : 將系統的服務停掉後,立即關機。 (常用)
    -n : 不經過 init 程序,直接以 shutdown 的功能來關機
    -f : 關機並開機之後,強制略過 fsck 的磁盤檢查
    -F : 系統重新啓動之後,強制進行 fsck 的磁盤檢查
    -c : 取消已經在進行的 shutdown 指令內容。
    時間 : 這是一定要加入的參數!指定系統關機的時間!
    範例:
    [root@www ~]# /sbin/shutdown -h 10 ‘I will shutdown after 10 mins’
    重要tips
    時間參數請務必加入指令中,否則shutdown 會自動跳到 run-level 1 (就是單人維護的登入情況),這樣就傷腦筋了!底下提供幾個時間參數例子子吧:
    eg:[root@www ~]# shutdown -h now
    立刻關機,其中 now 相當於時間爲 0 的狀態
    eg:[root@www ~]# shutdown -h 20:25
    系統在今天的 20:25 分會關機,若在21:25 才下達此指令,則隔天才關機
    eg:[root@www ~]# shutdown -h +10
    系統再過十分鐘後自動關機
    eg:[root@www ~]# shutdown -r now
    系統立刻重新啓動
    eg:[root@www ~]# shutdown -r +30 ‘The system will reboot’
    再過三十分鐘系統會重新啓動,並顯示後面的訊息給所有在在線的使用者
    eg:[root@www ~]# shutdown -k now ‘This system will reboot’
    僅發出警告信件的參數!系統並不會關機啦!嚇唬人!
    3、重新啓動,關機: reboot, halt, poweroff
    基本上,在預設的情況下, 這幾個指令都會完成一樣的工作!(因爲halt 會先呼叫shutdown,而shutdown 最後會呼叫halt!)。 不過,shutdown 可以依據目前已啓動的服務來逐次關閉各服務後才關機;至於halt 卻能夠在不理會目前系統狀況下, 進行硬件關機的特殊功能!
    4、切換執行等級: init
    Linux 共有七種執行等級, 七種等級的意義我們在後面會再談到。本章你只要知道底下四種執行等級就好了:
    · run level 0:關機
    · run level 3:純文本模式
    · run level 5:含有圖形接口模式
    · run level 6:重新啓動
    如果你想要關機的話, 除了上述的shutdown -h now 以及poweroff 之外,你也可以使用如下的指令關機:
    [root@www ~]# init 0
    5、開機過程的問題排解
    Linux 主機是很穩定的,除非是硬件問題與系統管理員不小心的動作,否則, 很難會造成一些無法挽回的錯誤的。但是,畢竟我們目前使用的可能是練習機,會常常開開關關的, 所以確實可能會有一些小問題發生。
    (1)文件系統錯誤的問題 :
    在開機的過程中最容易遇到的問題就是硬盤可能有壞軌或文件系統發生錯誤(數據損毀)的情況, 這種情況雖然不容易發生在穩定的Linux 系統下,不過由於不當的開關機行爲, 還是可能會造成的,常見的發生原因可能有:
    · 最可能發生的原因是因爲斷電或不正常關機所導致的文件系統發生錯誤, 鳥哥的主機就曾經發生過多次因爲跳電,家裏的主機又沒有安裝不斷電系統, 結果就導致硬盤內的文件系統錯誤!文件系統錯誤並非硬件錯誤,而是軟件數據的問題喔!
    · 硬盤使用率過高或主機所在環境不良也是一個可能的原因, 例如你開放了一個FTP 服務,裏面有些數據很有用, 所以一堆人搶着下載,如果你又不是使用較穩定的SCSI 接口硬盤,僅使用一般PC 使用的硬盤, 雖然機率真的不高,但還是有可能造成硬盤壞軌的。此外,如果主機所在環境沒有散熱的設備, 或者是相對溼度比較高的環境,也很容易造成硬盤的損壞喔!
    (2)解決的方法:
    如果根目錄沒有損毀
    假設你發生錯誤的partition 是在/dev/sda7 這一塊,那麼在開機的時候,屏幕應該會告訴你:press root password or ctrl+D : 這時候請輸入root 的密碼登入系統,然後進行如下動作:
    · 在光標處輸入root 密碼登入系統,進行單人單機的維護工作;
    · 輸入『 fsck /dev/sda7 』(fsck 爲文件系統檢查的指令,/dev/sda7 爲錯誤的partition,請依你的情況下達參數), 這時屏幕會顯示開始修理硬盤的訊息,如果有發現任何的錯誤時,屏幕會顯示: clear [Y/N]? 的詢問訊息,就直接輸入 Y 吧!
    · 修理完成之後,以 reboot 重新啓動囉!
    如果根目錄損毀了
    一般初學者喜歡將自己的硬盤只劃分爲一個大partition,亦即只有根目錄, 那文件系統錯誤一定是根目錄的問題囉!這時你可以將硬盤拔掉,接到另一臺Linux 系統的計算機上, 並且不要掛載(mount)該硬盤,然後以root 的身份執行『 fsck /dev/sdb1 』(/dev/sdb1 指的是你的硬盤裝置文件名,你要依你的實際狀況來設定),這樣就 OK 囉!
    如果硬盤整個壞掉
    如果硬盤實在壞的離譜時,那就先將舊硬盤內的數據,能救出來的救出來,然後換一顆硬盤來重新安裝Linux 吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章