Linux Shell學習筆記

來源:互聯網
上載者:User

第二章 Shell基礎

 

1.Shell初始化時使用那兩個檔案?

/etc/profile,它包含系統中所有使用者都需要的Shell初始化資訊

.profile,是否在使用者的起始目錄中。起始目錄是使用者登入進入後所位於的目錄

 

2.為什麼需要設定PATH和MANPATH?

Shell命令在執行前將定位命令所在的位置。PATH的作用就在定位此位置

MANPATH用於設定線上協助手冊的位置

 

3.指令碼中第一行代碼 #!/bin/sh 的目的是什嗎?

保證以sh來運行指令碼,否則不論哪種shell,都將使用當前shell來執行指令碼。

 

4.訪問線上協助需要使用什麼命令?

man command

 

重要概念

1.未初始化Shell:當Shell剛啟動時,它還沒有被初始化。這意味著Shell正確運行所需的重要參數尚未被定義。

2.Shell初始化:在Shell啟動後,它要經曆一個初始化的階段來設定一些重要參數。這實際上一個兩步的過程,Shell在此時讀取

檔案/etc/profile和./profile

3.起始目錄:使用者的起始目錄是使用者登入後所位於的目錄

 

 

第三章 檔案操作

UNIX有3種基本類型檔案:

1.普通檔案

2.目錄

3.特殊檔案

一個普通檔案是系統中包含資料、文本或程式指令的檔案。

 

3.1 列檔案名稱

$ ls  #列目錄

該輸出說明在目前的目錄下有許多不同的項,但沒有告訴哪些是檔案和檔案夾。

 

$ ls -F  #列目錄,-F 表示將檔案夾以 / 符號結束,標識出來。

 

$ ls -l  #一行一行的列出目錄,方便awk過濾文本。

 

 

3.1.1 隱藏檔案

在Linux中,不可見檔案是以(.)開頭的檔案

例如:

.profile, Bourne Shell(sh)的初始化指令碼

.kshrc, Korn Shell(ksh)的指令碼初始化

.cshrc, C Shell(csh)的指令碼初始化

.rhosts, 遠程Shell設定檔

所有不以(.)符號開頭的檔案都被認為是可見的。

要列出不可見檔案,只需使用-a選項。

$ ls -a #列目錄,包括隱藏檔案

 

 

3.2 瀏覽檔案內容

列檔案名稱很重要,但Shell指令碼還需要瀏覽檔案內容.

 

3.2.1 使用cat命令瀏覽檔案內容

$ cat hosts  #顯示hosts檔案內容

可以聲明不只一個檔案:

$ cat hosts users  #將顯示兩個檔案的內容

 

參數-n,將輸出結果標明行號。

參數-b,忽略空行。

 

3.2.2 使用wc統計單詞

可以使用該命令來統計檔案包含的行數、單詞數、字元數.

格式:wc [options] files

$ wc .hosts  

如果沒有使用選用,則輸出對行數、單詞數、字元數的統計匯總.

上述返回結果是:7 14 179 .hosts

分別代表:檔案行數、單詞數、字元數、檔案名稱

 

它支援同時統計多個檔案。

$ wc test1.php test2.php

返回結果將以換行形式,順序的輸出統計資訊

 

-l:統計行數

-w:統計單詞數

-c:統計字元數

 

3.3 操作檔案

操作檔案的幾種方式:

1.拷貝檔案

2.重新命名檔案

3.刪除檔案

 

3.3.1 cp拷貝檔案命令

$ cp source destination

source:拷貝的檔案名稱

destination:拷貝名

例如:將test1.php 拷貝並放到名為test2.php的檔案

$ cp test1.php test2.php

 

1.常見錯誤

cp命令沒有輸出,除非它出現了錯誤。它包括兩種常見錯誤:

1.源檔案是一個目錄

2.源檔案不存在

 

2.互動模式

如果目標檔案已存在是不會產生錯誤資訊。這種情況下,目標檔案自動被覆蓋。這可能導致潛在的危險。

為避免這種情況,需要使用選項-i,來提示進行互動操作。y表示覆蓋,n表示取消。

 

3.把檔案拷貝到另一個目錄

如果目標檔案是一個目錄,則拷貝的名字與源檔案名稱相同,並拷貝到目標目錄下。

$ cp test1.php /var/www/html/

將會在/var/www/html/產生名為test1.php的檔案。

 

4.多個輸入

$ cp test1.php test2.php test3.php /var/www/html/

將最後一個參數當作目標檔案,將test1.php,test2.php,test3.php拷貝到/var/www/html/目錄下。

但如果是一個源檔案,而有多個目錄,則會產生錯誤。

 

-R選項,目錄間的拷貝

 

3.3.2 mv重新命名檔案

$ mv source destination

source:源檔案路徑名

destination:新檔案名稱

若目標檔案名已經存在,則會提示是否刪除後再重新命名。

-i選項為互動模式

 

3.3.3 rm刪除檔案

$ rm files

刪除一個或多個檔案清單

1.常見錯誤

聲明的檔案不存在

聲明的檔案是目錄

 

因為被rm刪除的檔案無法恢複,所以使用者可以使用-i選項使用互動模式,提示刪除每一個檔案。

使用-R選項,可以刪除檔案目錄

 

在上面所有命令中,存在互動模式的,可以使用-f選項屏蔽提示。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.