在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...