2018年4月9日 星期一

大致了解Linux系統目錄 -- 20180329

Linux檔案與目錄名稱的大、小寫有不同意思,舉例:usr/local 與 usr/Local不同。

(※故在輸入指令時,因特別注意大、小寫的不同。)


關於目錄底下常使用的相關指令:

一、顯示目前所在目錄名稱:

輸入指令:pwd





二、目前目錄底下的檔案清單

輸入指令:ls







一列顯示一個檔案的方式,列出每個檔案與目錄的詳細資訊,包含:檔案的權限屬性、被連結數、所占空間、修改時間與最右方的檔案名稱。

輸入指令:ls -l   或  ls -al














---------------------目錄權限(補充2021/8/24)----------------------------

目錄權限值檔案有些不同,說明如下:

r  代表:可列出該目錄的檔案清單。利用 ls 指令列出該目錄的內容。

w 代表:該目錄中的檔案與目錄都可以異動,如:寫入、建立、刪除、更名檔案或目錄。

x 代表:可進入該目錄中。利用 cd 指令進入該目錄。



變更目錄權限:指令  chmod 775 目錄  或 chmod ug+rwx,o+rx 目錄


















變更目錄擁有者:指令  chown 使用者帳號  目錄 或 chown 使用者帳號.群組  目錄
                                                                                               chown 使用者帳號:群組  目錄
















變更目錄所屬群組:指令  chgrp 使用者帳號  目錄























/bin :


此目錄放的是可執行檔,但Linux不以副檔名來斷定一個檔案是否可執行。在Linux中一個檔案能不能執行,要看這個檔案的「屬性」。
-------------------------------------------------------------------------------------------------------------

/etc:

此目錄放置所有系統設定檔,大都是純文字檔,只有系統管理員可修改這些檔案。
--------------------------------------------------------------------------------------------------------------

/sbin:

此目錄下放置系統管理者專用的執行檔。
--------------------------------------------------------------------------------------------------------------

/dev:

所有裝置與設備在Linux中,都以檔案或目錄方式存在於此目錄中。

(如:軟碟機 /dev/fd0、印表機 /dev/lp0、SCSI硬碟 /dev/sd1、光碟機 /dev/cdrom。)
--------------------------------------------------------------------------------------------------------------

/home:

一搬使用者的家目錄(home directory)。通常存放該使用者的環境特定檔與私人檔案,其他使用者無法進入或看到目錄的內容。
--------------------------------------------------------------------------------------------------------------

/root:

系統管理者root的家目錄。
--------------------------------------------------------------------------------------------------------------

/boot:

此目錄專門放置系統開機必須使用的核心檔案,核心檔為系統與硬體設備溝通的重要檔案。
--------------------------------------------------------------------------------------------------------------

/usr:

此目錄大都安裝必要的套件軟體。

(如:系統文件放置在 /usr/share/doc、線上操作手冊在 /usr/share/man、系統核心原始碼在 /usr/src/linux/)
--------------------------------------------------------------------------------------------------------------

/usr/bin:

一般執行檔,提供給一般使用者的工具或指令。
--------------------------------------------------------------------------------------------------------------

/usr/sbin:

系統管理專用執行檔。
--------------------------------------------------------------------------------------------------------------

/lib:

此目錄放置系統的共用函式褲檔案。

(如:像Windows 裡面的DLL檔。)
--------------------------------------------------------------------------------------------------------------

/opt:

非Linux預設安裝的外來軟體會安裝於此目錄下。

(如:Office文書軟體StarOffice。)

--------------------------------------------------------------------------------------------------------------

/var:

變動性與系統等待排隊處理的檔案皆置於此目錄。

(如:等待寄出的email檔案置於/var/spool/mail/、重要的紀錄檔放置於/var/log/目錄下、資料庫mysql的檔案放置於/var/db/mysql/下。)

--------------------------------------------------------------------------------------------------------------

/tmp:

此目錄大都為暫時性的檔案,系統運作過程中,有些軟體會利用此目錄暫時存放檔案,使用者也可複製或讀取此目錄下的檔案,通常系統會在重開機或關機時自動清除此目錄下的檔案。

--------------------------------------------------------------------------------------------------------------

/mdeia:

移動式磁碟或光碟掛載目錄。

--------------------------------------------------------------------------------------------------------------

/mnt:

暫時性的檔案系統掛載目錄。

--------------------------------------------------------------------------------------------------------------

2018年3月27日 星期二

linux 常用的關機、重新啟動主機與其他指令 -- 20180326

先將使用者切換成最高權限者:

輸入指令:sudo  bash su root
               
                    (keyin 最高使用者的密碼)







一、檢查與顯示是否還有其他人員再使用:

輸入指令:who 








輸入指令:w











二、重新啟動主機:

輸入指令:reboot





輸入指令:shutdown -r now






三、關機:

輸入指令:shutdown -h now




※ h代表停止系統的服務後,進行關機動作。
※ now代表即刻,立即關機。



等待幾分鐘後進行關機。

輸入指令:shutdown -h 時間






傳送公告訊息給線上使用者。

輸入指令:shutdown -h 時間  '公告的訊息內容 '







取消先前的關機命令。

輸入指令:shutdown -c











補充:

在Linux的環境中,提供快速完成(Tab鍵)功能,無須一一鍵入檔名與目錄名稱,且利用cat指令查看一個目錄內的特定檔案內容,如:etc目錄底下的檔案,輸入cat /etc/,並按下「Tab鍵」,系統此時列出符合目前輸入的檔案或目錄。

輸入指令:cat /etc/    (輸入前述指令後,並按下「Tab鍵」。)





按下y 就會出現下列。











































2018年3月22日 星期四

Ubuntu無法連上網路 -- 20180328

緣由:

在VMware Workstation內安裝Ubuntu軟體做測試,但安裝完後發現無法連上網路,故透過上網爬文查詢到使用下列方式可以解決這問題。(※以下步驟都是在終端機內操作)




步驟一、先將使用者權限切換至root權限,以便稍後修改方便。







步驟二、檢查是否有偵測到網路卡。

    輸入指令:ifconfig


※如上圖中顯示,只有看見偵測到 lo ,那表示沒有偵測到網路卡,一般正常來說透過ifconfig指令會看見 lo eth0 這兩個項目。 




步驟三、再測試連線環境是否異常,根據步驟一、步驟二可知Ubuntu沒偵測到網路卡、網路連線同樣也不通。

    輸入指令:route -n






※一般網路正常連線,如下圖(會出現兩行數字):










步驟四、採用網路環境中自動取得IP位址方式。

    輸入指令:dhclient eth0 






步驟五、再輸入ifconfig指令檢測,此時已發現Ubuntu網路卡已抓到。























步驟六、開啟Firefox瀏覽器檢查是否可以連上網路。





































參考來源:網址一

2018年3月21日 星期三

Shell簡介 -- 20180320

Shell(殼層)簡介:為使用者提供使用者介面的軟體。

※Shell泛指所有為用戶提供操作介面的程式,也就是程式和用戶互動的層面。


Shell分為兩類:

一、命令列介面:提供一個命令列介面(CLI)。

二、圖形介面:提供一個圖形使用者介面(GUI)。

※bash為Linux預設的Shell,文字模式之指令下達方式就是bash的工具與介面。

※bash是中介程式,它提供命令輸入、行程控制、快速完成指令與顯示資訊的顏色等...有用的功能。

※中介程式:介於使用者與系統核心(Kernel)的一種軟體。



-------停止Linux帳號登入的方式有兩種,如下:(2021/8/23補充)---------------

(一)使用chsh(Change Shell)指令,用來改變帳後登入後的shell。








※1更改tom帳號的shell、2將shell變成另一個目錄(路徑) /sbin/nologin


(二)修改 /etc/passwd檔。









-----------------------------------------------------------------------------


透過SSH(Secure SHell)遠端登入有幾個重點:

一、SSH伺服器是實作SSH通訊協定的伺服器軟體。

二、SSH預設使用22號port作為連線窗口。

三、SSH伺服器軟體必須先啟動才能提供遠端連線的服務。

四、SSH利用公鑰與私鑰對傳送資料進行加解密。

五、利用SSH Client客戶端軟體可以登入至遠端主機。











來源出處:CentOS Linux系統建置與實務(湯秉翰)

2018年3月14日 星期三

初步了解vi -- 20180221


vi 可分為三種模式:

1.一般指令模式(command mode)

2.編輯模式(insert mode)

3.指令列命令模式(command-line mode)


※一般指令模式(預設模式):

以vi打開一個檔案就直接進入一般指令模式,此模式中可使用「上、下、左、右」按鍵來移動游標,可使用「刪除字元」或「刪除整列」來處理檔案內容,可使用「複製、貼上」來處理文字資料。


補充:(20230830)











在一般模式下的操作:
  • 將游標(光標)移到要複製的行,按鍵盤上的「y」鍵,即是複製該行。
  • 若一次要複製多5行,先按鍵盤上的「y」鍵→再按鍵盤上的數字4鍵,即是複製4行。
  • 若複製後,按鍵盤上的「p」鍵,即可複製一模一樣的行。
  • 若想恢復,按鍵盤上的「u」鍵,即可還原。
  • 若想刪除整列,將游標(光標)移到該行列,連續兩次鍵盤上的「d」鍵,即可刪除整列。
  • 選擇行號,先按數字鍵,在按住「Shift」鍵,在按「g」鍵,即可直接跳至該行。







※編輯模式:

按下「i、I、o、O、a、A、r、R」任何一個字母之後,才會進入編輯模式。此時畫面左下角會出現「INSERT」或「REPLACE」的字樣,才可進行編輯,而返回一般指令模式時,則需按下「Esc」按,即可退出編輯模式。



























※指令列命令模式:

在一般指令模式中,按住「shift」鍵,輸入「:」、「/」、「?」三個任何一個按鈕,可將流標移動到最底下一列。可提供「搜尋資料」的動作,而讀取、存檔、大量取代字元、離開vi、顯示行號等。























補充:(20230830)















在指令列命令模式下的操作:
  • 輸入set nu 按下Enter鍵,即可顯示出行號。






※檔案編輯四個步驟:

(一)、「開啟檔案」或「建新檔案」,且進入「一般指令模式」。

        →  輸入 vi 檔案名稱


(二)、進入「編輯模式」。

       → 按下「i、I、o、O、a、A、r、R」鈕。


(三)、離開「編輯模式」。

       → 按下「Esc」鈕。 


(四)、儲存檔案並離開。

       → 輸入 :qw  
     
       → 輸入 :qw!              (※強制寫入的指令) 



了解Linux檔案的詳細資訊 -- 20180410








































在Linux中,使用 ls -l 指令,可顯示檔案的詳細資訊,共有[七項]資訊,如上圖顏色區分。

  • 紅色:權限 (圖二)
  • 綠色:連結數  -->  所有連結到這個檔案的檔案總數量。
  • 藍色:擁有者  -->  指的是這個檔案的擁有者(使用者帳號名稱)。
  • 粉紅:群組  -->  指這檔案所屬的群組(群組名稱)。
  • 橙色:檔案大小  -->  這個檔案的空間大小,單位是位元組(byte)。
  • 黑色:更動時間  -->   檔案上一次被更動的時間,若檔案是剛才產生就是其建立時間。
  • 黃色:檔案名稱  -->   檔案或目錄的名稱,若檔名以小數點[.]為開頭,就是隱藏檔。    
       ※[ls 指令]要加上-a才會出現。


-----------------------------------------------------------------------------------------------------

檔案的權限












(圖二)



根據上圖可知,此欄位共有10個字元,[第一個字元]代表[該檔案的型態],最後[9個字元]分為[三組],分別是[擁有者的權限]、[同群組人員的權限]、[其他人的權限],代表可讀取代表可寫可刪除代表該檔案可執行


檔案類型共5種類型:
  • -   :代表是[檔案]
  • d  :代表是[目錄]
  • l   :代表是[連結]
  • b  :可提供儲存的周邊設備(如:硬碟或USB隨身碟)
  •  :序列埠設備(如:滑鼠、鍵盤..等)


※Linux裡每一個目錄下,都有兩個很特別的目錄『.』與『..』目錄。

  • 『.』 目錄:代表[目前所在目錄]。
  • 『..』目錄:代表[上層目錄]。
    ※如果要移往上層目錄,可使用[cd ..]指令,改變目錄到上層目錄。


--------------------------2021/8/23(更新)-------------------------------


改變檔案權限的指令:chmod [權限表示法] (對象/檔案)   


公式: chmod 755 檔案


權限值常用的是八位進位數字表示法:

 r 為 4 、w 為 2 、x 為 1,將該組的三個數字加總後,即是該組的權限值。

舉例:某檔案權限是  rwxr-x-r--,而這三組權限的描述如下:

擁有者權限:rwx  4 + 2 + 1 = 7
群組權限: r-x  4 + 0 + 1 = 5
其他人權限: r--  4 + 0 + 0 = 4 

※此檔案的權限為 754













※上述表格中,權限組合代表的值。



---------------------另一種權限表示方式-------------------------------------------------------------












u代表user,也就是該檔案的擁有者。
g代表group,該檔案的群組。
o代表other,除了擁有者與群組人員外的其他人。
a代表all,所有人,也可說是上述ugo的集合。















※資料來源:CentOS Linux系統建置與實務 (湯秉翰 著)



Linux發行版本 -- 20150901

自由軟體(Open Source):

其權利為:

  1. 可任意使用的權利。
  2. 可自由散佈的權利。
  3. 可修改該軟體以符合自己用途的權利。
  4. 散布修改後軟體的權利。


定義:

軟體是由前人的經驗而發展出,而這些資產應該是開放的、可共享的。








目前的Linux發行版本有以下:

1.Red Hat

※目前主要著重於「企業級Linux伺服器」。


2.CentOS(The Community ENTerprise Operation System,社群的企業級作業系統)

※它來自於RHEL依開放原始碼的規範所釋出的原始碼套件編譯而成。

※窮人的RHEL。

3.Fedora

※Fedor是自由、免費的。

※個人版本的Red Hat。


4.Ubuntu


敷衍出來的版本:
  • Kubuntu:以KDE桌面系統為預設環境。
  • Gobuntu:所有的軟體都使用GUN套件,整個系統都是純開放原始碼的自由軟體。
  • edubuntu:內含教育或課程上需要的軟體發行版本,適合學校教學用途。






5.SuSE


※openSuSE 與 SuSE




6.Debian

※有名的Ubuntu與EeePC上使用的Xandrot都是以Debian為基礎。


7.Slackware






Linux國際認證分為兩大類:


  1. 針對特定Linux發行版本的認證,如:Redhat公司的認證(RHCE)、Novell公司的SuSE Linux認證(NCLP)。
  2. 不限特定發行版本的通用Linux認證,由Linux專業機構所提供的LPIC認證。





LPIC認證有三個等級:

Level 1

需通過101與102兩個測驗,目的是驗證是否有Linux的專業知識與能力,以及Linux在各個發行版本共通的知識。認證內容包括:硬體架構、系統安裝與套件管理、Linux指令、設備與檔案系統'
、X-Windows、核心、腳本程式設計、系統管理工作等項目。


Level2

需通過Level 1認證後才能參加201與202兩項考試,目的是驗證有關管理中小型站台主機、實際架設伺服器的能力。認證內容包括:網路設定與管理、電子郵件、DNS、網頁伺服器、系統安全與網路檢測與除錯等。


Level 3

為LPI的最高認證,通過此認證代表測試者擁有企業級Linux專案能力,目前是擁有為複雜的企業環境提供整合性的專業Linux功能,如:安全性、高可用度、虛擬化設計、網頁服務、企業內部網路系統等。須先通過301號考試,在選擇302~306巷中的其中一項,以得到各別的專業認證項目。













Linux 的開機流程 -- 20180314

Linux開機的流程包含四個步驟:

1.系統啟動 ( 載入BIOS,基本輸出輸入系統 )

電源啟動後,電腦載入CMOS裡的BIOS,檢測硬體資訊後,依照BIOS內的開機裝置所指定的硬碟機,讀取該硬碟的MBR。

※MBR(Master boot record):記錄著硬碟的開機讀取程式,也稱Bootloader。

※Bootloader:主要指定硬碟在啟動時要載入那一個分割區的作業系統。

※Linux最常使用的是GRUB;Winodws則是NTLDR。


2.讀取 (GRUB,系統啟動軟體 )

GRUB是Linux預設使用的開機管理程式(Bootloader),若主機內裝許多套作業系統,可提供不同的作業系統選項。


3.載入核心 ( 將Linux 核心載入)

當系統進入後,便將硬碟中的核心檔讀取至電腦的主記憶體,由它負責與硬碟的溝通工作。

※Linux核心:指的是一套與硬體、BIOS溝通的複雜程式。


4.init程序 ( 執行init )

當Linux成功載入核心後,便會執行init這個程式,它就開始啟動系統中所配置的服務程式,並執行一連串的工作。

※Linux系統訂定了0~6,共七個啟動模式:(常用第3、第5模式)

啟用模式 ----  說明 --------------------------------------------------   是否用在系統設定--------

runlevel0        系統關機                                                                不使用

runlevel1        單人模式                                                                救援時使用

runlevel2        多人模式,但不再入外部檔案系統(NFS)          救援時使用

runlevel3        文字模式,完整多人使用                                    常用

runlevel4        未使用,保留                                                        不使用

runlevel5        圖形化介面(X-Windows),完整多人使用          常用

runlevel6        系統重新啟動                                                        不使用

----------------------------------------------------------------------------------------------------------------

※若系統啟動設定為runlevel3,開機會進入文字介面模式;設為runlevel5,開機則進入圖形模式。



參考書籍:CentOS Linux 系統建置與實務