LINUX基礎內容

2022-08-28 22:30:20 字數 3604 閱讀 9055

在linux中,有三種基本的檔案型別:

1) 普通檔案

普通檔案是以位元組為單位的資料流,包括文字檔案、原始碼檔案、可執行檔案等。文字和二進位制對linux來說並無區別,對普通檔案的解釋由處理該檔案的應用程式進行。

2) 目錄

目錄可以包含普通檔案和特殊檔案,目錄相當於windows和mac os中的資料夾。

3) 裝置檔案

有些教程中稱特殊檔案,是乙個含義。linux 與外部裝置(例如光碟機,印表機,終端,modern等)是通過一種被稱為裝置檔案的檔案來進行通訊。linux 輸入輸出到外部裝置的方式和輸入輸出到乙個檔案的方式是相同的。linux 和乙個外部裝置通訊之前,這個裝置必須首先要有乙個裝置檔案存在。

例如,每乙個終端都有自己的裝置檔案來供 linux 寫資料(出現在終端螢幕上)和讀取資料(使用者通過鍵盤輸入)。

通過ls -l列出的檔案,每一行都是以 a、d、- 或 l 開頭,這些字元表示檔案型別:

字首描述

-普通檔案。如文字檔案、二進位制可執行檔案、源**等。 b

塊裝置檔案。硬碟可以使用塊裝置檔案。 c

字元裝置檔案。硬碟也可以使用字元裝置檔案。 d

目錄檔案。目錄可以包含檔案和其他目錄。 l

符號鏈結(軟鏈結)。可以鏈結任何普通檔案,類似於 windows 中的快捷方式。 p

具名管道。管道是程序間的一種通訊機制。 s

用於程序間通訊的套接字。

元字元是具有特殊含義的字元。* 和 ? 都是元字元:

例如:

$ls ch*.doc
可以顯示所有以 ch 開頭,以 .doc 結尾的檔案。

cat檢視內容命令檢視檔案內容$ cat filename;

wc統計內容命令統計檔案中的字元等資訊$wc filename;  

cp複製檔案命令$cp source_file destination_file;

mv重新命名檔案命令$mv old_file new_file;

mkdir建立目錄命令:$mkdir dirname

乙個點號(.)表示當前目錄,兩個點號(..)表示上級目錄(父目錄)。

如果表示式中包含特殊字元,shell 將會進行替換。例如,在雙引號中使用變數就是一種替換,轉義字元也是一種替換。

轉移字元有:下面的轉義字元都可以用在 echo 中:

轉義字元

含義\\

反斜槓

\a警報,響鈴

\b退格(刪除鍵)

\f換頁(ff),將當前位置移到下頁開頭

\n換行

\r回車

\t水平製表符(tab鍵) 

\v垂直製表符

使用舉例:echo -e "value of a is $a \n"

命令替換是指shell可以先執行命令,將輸出結果暫時儲存,在適當的地方輸出。

命令替換的語法:

`command`

注意是反引號,不是單引號,這個鍵位於 esc 鍵下方。

使用舉例:

date=`date`

echo "date is $date"

變數替換可以根據變數的狀態(是否為空、是否定義等)來改變它的值

可以使用的變數替換形式:

形式 說明

$變數本來的值

$如果變數 var 為空或已被刪除(unset),那麼返回 word,但不改變 var 的值。

$如果變數 var 為空或已被刪除(unset),那麼返回 word,並將 var 的值設定為 word。

$如果變數 var 為空或已被刪除(unset),那麼將訊息 message 送到標準錯誤輸出,可以用來檢測變數 var 是否可以被正常賦值。

若此替換出現在shell指令碼中,那麼指令碼將停止執行。 $

如果變數 var 被定義,那麼返回 word,但不改變 var 的值。

expr 是一款表示式計算工具,使用它能完成表示式的求值操作。

使用舉例:val=`expr 2 + 2`

兩點注意:

算術運算子列表

運算子說明舉例+

加法`expr $a + $b` 結果為 30。 -

減法`expr $a - $b` 結果為 10。 *

乘法`expr $a \* $b` 結果為  200。 /

除法`expr $b / $a` 結果為 2。 %

取餘`expr $b % $a` 結果為 0。 =

賦值a=$b 將把變數 b 的值賦給 a。

==相等。用於比較兩個數字,相同則返回 true。

[ $a == $b ] 返回 false。

!=不相等。用於比較兩個數字,不相同則返回 true。

[ $a != $b ] 返回 true。

注意:關係運算子

關係運算子

運算子說明

舉例-eq

檢測兩個數是否相等,相等返回 true。

[ $a -eq $b ] 返回 true。

-ne檢測兩個數是否相等,不相等返回 true。

[ $a -ne $b ] 返回 true。

-gt檢測左邊的數是否大於右邊的,如果是,則返回 true。

[ $a -gt $b ] 返回 false。

-lt檢測左邊的數是否小於右邊的,如果是,則返回 true。

[ $a -lt $b ] 返回 true。

-ge檢測左邊的數是否大等於右邊的,如果是,則返回 true。

[ $a -ge $b ] 返回 false。

-le檢測左邊的數是否小於等於右邊的,如果是,則返回 true。

[ $a -le $b ] 返回 true。

布林運算子

布林運算子

運算子說明舉例!

非運算,表示式為 true 則返回 false,否則返回 true。

[ ! false ] 返回 true。

-o或運算,有乙個表示式為 true 則返回 true。

[ $a -lt 20 -o $b -gt 100 ] 返回 true。

-a與運算,兩個表示式都為 true 才返回 true。

[ $a -lt 20 -a $b -gt 100 ] 返回 false。

字串運算子列表

字串運算子

運算子說明舉例=

檢測兩個字串是否相等,相等返回 true。

[ $a = $b ] 返回 false。

!=檢測兩個字串是否相等,不相等返回 true。

[ $a != $b ] 返回 true。

-z檢測字串長度是否為0,為0返回 true。

[ -z $a ] 返回 false。

-n檢測字串長度是否為0,不為0返回 true。

[ -z $a ] 返回 true。

str檢測字串是否為空,不為空返回 true。

[ $a ] 返回 true

Linux基礎 文字內容操作

二 檢視 預設進入命令列模式 命令模式進入末行模式 將文字中所有feixun 123替換為phi e2enet4u 1,s feixun 123 phi e2enet4u g1表示從第一行開始 表示最後一行 s是替換命令 轉義 g表示替換每一行所有的,不加的話只替換第乙個 參考 命令 說明cat 從...

linux基礎教程 內容操作

一 尋找檔案裡的指定內容 尋找檔案裡的指定內容,輸出內容所在行的所有資訊 grep 被搜尋內容 檔案路徑名 grep var passwd 在 passwd 檔案裡把 var 字樣所在行的內容都給輸出 二 管道pipe 管道就是 前者的輸出是後者的輸入內容。grep var passwd grep ...

Linux 入門基礎 10 檢視檔案內容

nm 由第一行開始顯示檔案內容 語法 cat abentv 選項與引數 a 相當於 vet 的整合選項,可列出一些特殊字元而不是空白而已 b 列出行號,僅針對非空白行做行號顯示,空白行不標行號!e 將結尾的斷行位元組 顯示出來 n 列印出行號,連同空白行也會有行號,與 b 的選項不同 t 將 tab...