一、直接檢視檔案内容
直接檢視一個檔案内容可以使用cat、tac、nl這幾個指令。
1、cat(concatenate):
由第一行到最後一行顯示到螢幕上
參數:
-A:相當于-vET的整合參數,可列出一些特殊字元
-b:列出行号,僅針對非空白行做行号顯示,空白行不标行号
-E:将結尾的斷行字元$顯示出來
-n:列印出行号,連同空白行也會有行号
-T:将Tab按鍵以 ^I 顯示出來
-v:列出一些看不出來的特殊符号
eg:
2、tac(反向列示)
可以發現,tac是cat反寫過來,功能也是相反,由最後一行到第一行在螢幕上顯示出來
eg:
注意觀察,确實是反過來了。
3、nl(添加行号列印)
nl可将輸出的檔案内容自動加上行号,并對行号做較多的顯示設計。
參數:
-b:指定行号指定的方式,主要有兩種:
-b a:表示是否為空行,也同樣列出行号
-b t:如果有空行,空行不用列出行号
-n:列出行号表示的方法,主要有三種:
-n ln:行号在螢幕的最左方顯示
-n rn:行号在自己字段的最右方顯示,且不加0
-n rz:行号在自己的最右方顯示,且加0
-w:行号字段占用的位數
eg:
二、可翻頁檢視
1、more(一頁一頁翻動)
eg:
最後一行顯示的是目前顯示的百分比。并且,光标也會在此等待你的指令。
有什麼指令呢?
搜尋字元串是很有用的一個功能,eg,在上面打開的檔案中查找"MANPATH"
2、less(一頁一頁翻動)
使用less有更多的查詢功能,more隻能往下翻頁,而less都可以,如下:
三、資料選取
取出前面(head)與取出後面(tail)的文字,都是以行來進行資料選取的。
1、head
參數:
-n :後面接數字,代表顯示幾行
eg,預設顯示10行,顯示20行見下圖最後一行。
如果接的是負數呢?如下:代表列出前面的所有行數,但不包括後面100行。
2、tail(取出後面幾行)
參數:
-n:後面接數字,代表顯示幾行
-f:表示持續檢測後面所接的檔案名,要等到ctrl-c才會結束對tail的檢測
eg:
若接的是負數,如下,表示該檔案從100行以後都會被列出來:
四、非純文字檔案:od
參數:
-t :後面可以接各種類型的輸出
a :利用預設的字元來輸出
c:利用ASCII字元來輸出
d[size]:利用十進制輸出
f[size]:利用浮點數輸出
o[size]:利用八進制輸出
x[size]:利用十六進制輸出
利用這個指令,可以将資料檔案或者是二進制檔案的内容資料讀出來。
五、修改檔案時間或建立新檔案:touch
mtime(modification time):當該檔案的内容資料被更改時,就會更新這個時間
ctime(status time):當該檔案的狀态改變時,就會更新這個時間,比如權限和屬性
atime(access time):當該檔案的内容被取用時,就會更新這個時間,比如使用cat讀取時
使用ls顯示的檔案時間預設為mtime,查閱其他時間可以利用ls的參數,如下:
那麼,如果檔案的時間需要修改,怎麼辦呢?就用touch這個指令。
參數:
-a:僅修改通路時間
-c:僅修改檔案的時間,若該檔案不存在則不建立新檔案
-d:後面可以接欲修改的日期而不用目前的日期,也可以使用 --date="日期或時間"
-m:僅修改mtime
後面可以接欲修改的日期而不用目前的日期,格式為[YYMMDDhhmm]
eg:
注意該檔案的大小為0。在預設狀态下,如果touch後接檔案,則該檔案的三個日期都會更新為目前的時間,若檔案不存在,則會建立一個新的空檔案。
修改時間舉例: