OracleOCP認證 之 Linux基礎

來源:互聯網
上載者:User

標籤:建立   郵件   操作   定義   檔案的   chmod   window   重要   相對路徑   


  Linux 基礎 一、SHELL

在系統中,人所輸入到系統內部的命令,以字元類型的形式輸入到系統當中,然而系統 只識別 2 進位碼,就如以前 doc 介面為例,輸入的都是字元類的英文字母作為輸入的命令代 碼,然而明顯二進位碼與我們平常所輸入的命令式不一樣的,就像語言不通的兩個人,需要 進行翻譯。

基本上 shell 分兩大類: 1) 圖形介面 shell(Graphical User Interface shell 即 GUI shell)

     例如: 應用最為廣泛的 Windows Explorer (微軟的 windows 系列製作系統),還有也包括廣 為人知的 Linux shell,其中 linux shell 包括 X window manger (BlackBox 和 FluxBox),以及 功能更強大的 CDE、GNOME、KDE、 XFCE。

2) 命令列式 shell(Command Line Interface shell ,即 CLI shell)

     例如: bash / sh / ksh / csh(Unix/linux 系統) cmd.exe/ 命令提示字元(Windows NT 系統) Windows PowerShell(支援 .NET Framework 技術的 Windows NT 系統) 傳統意義上的 shell 指的是命令列式的 shell,以後如果不特別註明,shell 是指命令列式 的 shell。



二、Linux 檔案與目錄管理    (一)、分類樹

在 Linux 底下,所有的檔案與目錄都是由根目錄開始的。根目錄是所有目錄與檔案的源頭,再一個一個的分支下來,有點像是樹枝狀。因此,我們也稱這種目錄配置方式為:『分類樹(directory tree)』。

  他主要的特性有:

  •   分類樹的啟始點為根目錄 (/, root);
  • 每一個目錄不止能使用本地端的 partition 的檔案系統,也可以使用網路上的 filesystem 。(NFS)

如果我們將整個分類樹以表徵圖的方法來顯示,並且將較為重要的檔案資料列出來的話,那麼分類樹架構有點像這樣:

(二)、絕對路徑與相對路徑

           除了需要特別注意的 FHS 目錄配置外,在檔案名稱部分我們也要特別注意喔!因為根據檔名寫法的不同,也可將所謂的路徑(path)定義為絕對路徑(absolute)與相對路徑(relative)。

1. 絕對路徑

大家都知道,在我們平時使用電腦時要找到需要的檔案就必須知道檔案的位置,而表示檔案的位置的方式就是路徑。絕對路徑就是檔案或目錄在硬碟上真正的路徑。 絕對路徑名稱表示的檔案在檔案系統裡面唯一的名稱。

例如,只要看到這個路徑:"D:\ORACLE\OCP.doc"我們就知道"OCP.doc"檔案是在 D 盤的"ORACLE"目錄中。類似於這樣完整的描述檔案位置的路徑就是絕對路徑。在 linux 裡面一樣,/study/oracle/ocp/test.txt 通過這個目錄呢我們就可以知道 test.txt 在根目錄(/)下的 study 子目錄下的 oracle 目錄。我們可以用 cd /study/oracle/ocp 通過這個絕對路徑的方式去查看到這個檔案。

2. 相對路徑

     相對路徑是一個相對性的對於絕對路徑來說的。絕對路徑其實可以這麼理解,既然我們在目錄下,我要去到本目錄下的其他子目錄可以直達其他子目錄的名字,而不需要經過本目錄的再回到你想要的目錄裡面。比如說:我現在在/opt 下。然後/opt 下有個 oracle 目錄,也就是說我現在的絕對目錄是在/opt/oracle 下。然而,在/opt 下也有一個 ocp 目錄就是說 ocp 絕對路徑是/opt/ocp。那麼我現在已經在/etc 目錄下了。然而我們就可以同 cd ocp 去到同在/etc 下的 ocp 而不需要打入常常的一條/etc/ocp 的絕對路徑去進入了。

(三)、Linux 目錄結構
  1. FHS

    因為利用 Linux 來開發產品或 distributions 的社群/公司與個人實在太多了, 如果每個人都用自己的想法來設定檔放置的目錄,那麼將可能造成很多管理上的困擾。

    因此制訂了 Filesystem Hierarchy Standard (FHS)檔案系統層次標準。

    根據 FHS(http://www.pathname.com/fhs/)的官方檔案指出, 他們的主要目的是希望讓使用者可以瞭解到已安裝軟體通常放置於那個目錄下, 所以他們希望獨立的軟體開發商、作業系統製作者、以及想要維護系統的使用者,都能夠遵循 FHS 的標準。 也就是說,FHS 的重點在於規範每個特定的目錄下應該要放置什麼樣子的資料而已。 這樣做好處非常多,因為 Linux 作業系統就能夠在既有的面貌下(目錄架構不變)發展出開發人員想要的獨特風格。

    事實上,FHS 是根據過去的經驗一直再持續的改版的,FHS 依據檔案系統使用的頻繁與否與是否允許使用者隨意更動, 而將目錄定義成為四種互動作用的形態,用表格來說有點像底下這樣:

      可分享的:可以分享給其他系統掛載使用的目錄,所以包括執行檔案與使用者的郵件等資料,是能夠分享給網路上其他主機掛載用的目錄;

     不可分享的:自己機器上面運作的裝置檔案或者是與程式有關的 socket 檔案等, 由於僅與自身機器有關,所以當然就不適合分享給其他主機了。

     不變的:有些資料是不會經常變動的,跟隨著 distribution 而不變動。 例如函式庫、檔案說明檔案、系統管理員所管理的主機服務組態檔等等;

     可變動的:經常改變的資料,例如登入檔案、一般使用者可自行收受的新聞群組等。事實上,FHS 針對分類樹架構僅定義出三層目錄底下應該放置什麼資料而已,

        分別是底下這三個目錄的定義:

  • / (root, 根目錄):與開機系統有關;
  • /usr (unix software resource):與軟體安裝/執行有關;
  • /var (variable):與系統運作過程有關。
2. Linux 重要的目錄


3. Linux 中比較特殊的目錄

  在 Linux 當中也是非常重要的目錄:

4. 兩個非常重要的目錄 

1) /usr 的意義與內容:

        很多讀者都會誤會/usr 為 user 的縮寫,其實 usr 是 Unix Software Resource 的縮寫, 也就是『Unix 作業系統軟體資源』所放置的目錄,而不是使用者的資料啦!這點要注意。 FHS 建議所有軟體開發人員,應該將他們的資料合理的分別放置到這個目錄下的次目錄,而不要自行建立該軟體自己獨立的目錄。

      因為是所有系統預設的軟體(distribution 發行者提供的軟體)都會放置到/usr 底下,因此這個目錄有點類似 Windows 系統的『C:\Windows\ + C:\Program files\』這兩個目錄的綜合體,系統剛安裝完畢時,這個目錄會佔用最多的硬碟容量。 一般來說,/usr 的次目錄建議有底下這些:


2) /var 的意義與內容:

   如果/usr 是安裝時會佔用較大硬碟容量的目錄,那麼/var 就是在系統運作後才會漸漸佔用硬碟容量的目錄。

    因為/var 目錄主要針對常態性變動的檔案,包括緩衝(cache)、登入檔(log file)以及某些軟體運作所產生的檔案,

    包括程式檔案(lock file, run file),或者例如 MySQL 資料庫的檔案等等。常見的次目錄有:


三:有關目錄的命令 1. 查看協助
  1 [[email protected] ~]# man cd //查看 cd 指令的協助文檔


2. 顯示當前工作目錄
  1 [[email protected] ~]# pwd  2 /root
3. 列出目前的目錄下的內容:ls
  1 [[email protected] ~]# ls [-aAdfFhilnrRSt] 目錄名稱  2 [[email protected] ~]# ls [--color={never,auto,always}] 目錄名稱  3 [[email protected] ~]# ls [--full-time] 目錄名稱  4 選項與參數:  5 -a :全部的檔案,連同隱藏檔( 開頭為 . 的檔案) 一起列出來(常用)  6 -A :全部的檔案,連同隱藏檔,但不包括 . 與 .. 這兩個目錄  7 -d :僅列出目錄本身,而不是列出目錄內的檔案資料(常用)  8 -l :長資料串列出,包含檔案的屬性與許可權等等資料;(常用)(ll)  9 -n :列出 UID 與 GID 而非使用者與群組的名稱 (UID 與 GID 會在帳號管理提到!) 10 -r :將排序結果反向輸出,例如:原本檔名由小到大,反向則為由大到小; 11 -R :連同子目錄內容一起列出來,等於該目錄下的所有檔案都會顯示出來; 12 -S :以檔案容量大小排序,而不是用檔名排序; 13 -t :依時間排序,而不是用檔名。 14 --color=never :不要依據檔案特性給予顏色顯示; 15 --color=always :顯示顏色 16 --color=auto :讓系統自行依據配置來判斷是否給予顏色 17 --full-time :以完整時間模式 (包含年、月、日、時、分) 輸出
4. 切換目錄

  1 [[email protected] ~]# cd / //切換到根目錄
5. 建立目錄
  1 [[email protected] ~]# mkdir oracle //在目前的目錄下建立 oracle 目錄  2 選項與參數:  3 -m :對建立目錄設定存取許可權,也可以用 chmod 命令設定  4 -p :可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將  5 自動建立好那些尚不存在的目錄,即一次可以建立多個目錄(級聯建立)  6 [[email protected] ~]# mkdir -p study/oracle/OC{A,P,M}  7 //在目前的目錄下建立 study 目錄,在 study 目錄下建立 oracle 目錄,oracle 目錄下建立  8 OCA、OCP、OCM 目錄


6. 刪除目錄
  1 [[email protected] ~]# rmdir oracle //刪除 oracle 目錄
7. 建立檔案
  1 [[email protected] ~]# touch oracle //建立名為 oracle 的檔案
8. 刪除檔案/目錄
  1 [[email protected] ~]# rm oracle //刪除名為 oracle 的檔案  2 選項與參數:  3 -i :刪除前逐一詢問確認。  4 -f :即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認。  5 -r :將目錄及以下之檔案亦逐一刪除。  6 [[email protected] ~]# rm *.log //刪除所有以“.log”結尾的檔案  7 [[email protected] ~]# rm -rf oracle/ //刪除 oracle 目錄並串聯刪除 oracle 目錄內的檔案
9. 移動檔案/目錄
  1 [[email protected] ~]# mv oracle /opt //將檔案 oracle 移動至目錄/opt 下
10. 拷貝檔案/目錄
  1 [[email protected]le ~]# cp [-adfilprsu] 來源檔(source) 目標檔(destination)  2 [[email protected] ~]# cp [options] source1 source2 source3 .... directory  3 選項與參數:  4 -a :相當於 -pdr 的意思,至於 pdr 請參考下列說明;(常用)  5 -d :若來源檔為連結檔的屬性(link file),則複製連結檔屬性而非檔案本身;  6 -i :若目標檔(destination)已經存在時,在覆蓋時會先詢問動作的進行(常用)  7 -p :連同檔案的屬性一起複製過去,而非使用預設屬性(備份常用);  8 -r :遞迴持續複製,用於目錄的複製行為;(常用)  9 最後需要注意的,如果來源檔有兩個以上,則最後一個目的檔一定要是『目錄』才行!
11. 開啟檔案
  1 [[email protected] ~]# more oracle.log  2 [[email protected] ~]# less oracle.log  3 [[email protected] ~]# tail -20f oracle.log //檔案尾部輸出  4 [[email protected] ~]# cat oracle.log
四、使用者和組

(一)、使用者

       1. UID 和 GID Linux 是通過 UID(USER ID)和 GID(GROUP ID)來識別使用者的。帳號只是為了方便使用者記憶。而 ID 與帳號的對應就在 /etc/passwd 當中。登入 Linux 時,Linux 都幹了些啥?

           1) 先找尋 /etc/passwd 裡面是否有這個帳號?如果沒有則跳出,如果有的話則將該帳號對應的 UID ( User ID )與 GID ( Group ID )讀出來,另外,該帳號的家目錄與 shell 設定也一併讀出;

           2) 再來則是核對密碼錶啦!這時 Linux 會進入 /etc/shadow 裡面找出對應的帳號與 UID,然後核對一下你剛剛輸入的密碼與裡頭的密碼是否相符? 3) 如果一切都 OK 的話,就進入 Shell 控管的階段囉!                     2. /etc/passwd /etc/passwd /etc/passwd /etc/passwd 和/etc/shadow /etc/shadow /etc/shadow /etc/shadow

            1) /etc/passwd 這個檔案的構造是這樣的:每一行都代表一個帳號, 有幾行就代表有幾個帳號在你的系統中!

               不過需要特別留意的是, 裡頭很多帳號本來就是系統中必須要的,我們可以簡稱他為系統帳號, 例如 bin, daemon, adm, nobody 等等,這些帳號是系統正常運作時所需要的。


  1 root:x:0:0:root:/root:/bin/bash  2 bin:x:1:1:bin:/bin:/sbin/nologin  3 daemon:x:2:2:daemon:/sbin:/sbin/nologin  4 adm:x:3:4:adm:/var/adm:/sbin/nologin

OracleOCP認證 之 Linux基礎

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.