-----緊接上文
在了解cat指令之前,我們首先要了解到Linux下一切皆文件,在學習c語言時我們就已經了解到了 對文件輸入以及讀入的操作(向顯示器打印,從鍵盤讀取數據),對于Linux下文件的操作,也是有對應的讀取與寫入。對于文件:
1.本來是應該顯示到顯示器上的內容,現在寫到文件當中----叫做 輸出重定向? >
比如這里的echo指令的作用是向顯示器寫入,利用輸出重定向輸入到文件中:

?我們可以同時看到再次重定向輸入時會覆蓋之前的內容:

即在重定向之前,會清空源文件內容,在輸入到文件中。?
其次,>接文件名可以創建一個文件,打開關閉也可以清空原內容
2.當然我們在c語言時也學習到對文件的各種輸入,以'a' 'w' 'w+'等方式寫,那么對于Linux也是此等操作。
? 本來是應該顯示到顯示器上的內容,現在追加寫到文件當中 ?追加重定向>>

?
且在以前的學習我們知道,每個c程序運行時,都會打開三個輸入輸出流:
標準輸入流 (standerd input) stdin? ? 對應設備:鍵盤
標準輸出流? (standerd output)? stdout? ?對應設備:顯示器? ? ? ? ? ?它們都是一個指向FILE的指針
標準錯誤流(standerd error)? stderr? ? 對應設備:顯示器
在c語言中我們不需要關心它的設備,故利用重定向可進行文件的輸入。
目錄
9.cat指令
10.more指令
11.less指令(重要)
12.head指令
13.tail指令
wc指令:
?unique指令:
14.時間相關的指令
date顯示
1.在顯示方面,使用者可以設定欲顯示的格式,格式設定為一個加號后接數個標記,其中常用的標記列表如下
?
2.在設定時間方面
3.時間戳
15.Cal指令
16.find指令:(灰常重要) -name
which指令
whereis指令?
17.grep指令
18.zip/unzip指令:
19.tar指令(重要)
20.bc指令:
21.uname –r指令:
22.常用熱鍵
9.cat指令
語法 : cat [ 選項 ][ 文件 ]
功能 : 查看目標文件的內容
常用選項 :
-b 對非空輸出行編號
-n 對輸出的所有行編號
-s 不輸出多行空行
例如查看編寫的.c文件:
查看txt文件:
10.more指令
語法 : more [ 選項 ][ 文件 ]
功能 : more 命令,功能類似 cat
常用選項 :
-n 對輸出的所有行編號
q 退出 more
舉例 :
這里可以看到是用英文編號:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
?一般來說more用于大文件,cat用于查看小文件,可打印,可搜索。
11.less指令(重要)
less? 工具也是對文件或其它輸出進行分頁顯示的工具,應該說是 linux 正統查看文件內容的工具,功能極 其強大。
less? 的用法比起 ?more? 更加的有彈性。在 ?more? 的時候,我們并沒有辦法向前面翻, 只能往后面看
但若使用了 ?less? 時,就可以使用 ?[pageup][pagedown]? 等按鍵的功能來往前往后翻看文件,更容易用
來查看一個文件的內容!
除此之外,在 ?less? 里頭可以擁有更多的搜索功能,不止可以向下搜,也可以向上搜。
語法: less [ 參數 ] 文件
功能 :
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向后移動,而且 less 在查看之前
不會加載整個文件。
選項 :
-i?? 忽略搜索時的大小寫
-N?? 顯示每行的行號
/ 字符串:向下搜索 “ 字符串 ” 的功能
? 字符串:向上搜索 “ 字符串 ” 的功能
n :重復前一個搜索(與 ?/? 或 ??? 有關)
N :反向重復前一個搜索(與 ?/? 或 ??? 有關)
q:quit
輸出text.txt文件的內容并顯示行號:
?
/:定位到文件某一處:不如這里文件有1000個數據,/加數字,定位到該數字附近:

12.head指令
head? 與 ?tail? 就像它的名字一樣的淺顯易懂,它是用來顯示開頭或結尾某個數量的文字區塊, head? 用來顯示檔案的
開頭至標準輸出中,而 ?tail? 想當然爾就是看檔案的結尾。
語法: head?[ 參數 ]...?[ 文件 ]...?
功能 :
head? 用來顯示檔案的開頭至標準輸出中,默認 head 命令打印其相應文件的開頭 10 行。?
選項 :
-n< 行數 >? 顯示的行數
舉例:這里的一個打印了1000個字符串為例找它的頭
給定行數查看文件頭頂幾行:
?
?
13.tail指令
tail? 命令從指定點開始將文件寫到標準輸出 . 使用 tail 命令的 -f 選項可以方便的查閱正在改變的日志文件 ,tail?-
f?filename 會把 filename 里最尾部的內容顯示在屏幕上 , 并且不但刷新 , 使你看到最新的文件內容 .
語法: tail[ 必要參數 ][ 選擇參數 ][ 文件 ]?
功能: 用于顯示指定文件末尾內容,不指定文件時,作為輸入信息進行處理。常用查看日志文件。
查看末尾:
?查看末尾固定行數:

故此,利用管道融合兩個指令就可以查看大文件中的一段數據:
?
?同時利用管道實現對數據的流水化處理。
wc指令:
利用wc還可以了解文件的一些屬性:

?unique指令:
利用unique指令,查看多重復數據時,過濾掉重復數據:

?
14.時間相關的指令
date顯示
date 指定格式顯示時間: date +%Y:%m:%d
date 用法: date [OPTION]... [+FORMAT]
1.在顯示方面,使用者可以設定欲顯示的格式,格式設定為一個加號后接數個標記,其中常用的標記列表如下
%H : 小時 (00..23)
%M : 分鐘 (00..59)
%S : 秒 (00..61)
%X : 相當于 %H:%M:%S
%d : 日 (01..31)
?
%m : 月份 (01..12)
%Y : 完整年份 (0000..9999)
%F : 相當于 %Y-%m-%d
打印各個時間:
?其中date +%s,打印的是時間戳
?
?
2.在設定時間方面
date -s // 設置當前時間,只有 root 權限才能設置,其他只能查看。
date -s 20080523 // 設置成 20080523 ,這樣會把具體時間設置成空 00:00:00
date -s 01:01:01 // 設置具體時間,不會對日期做更改
date -s “01:01:01 2008-05-23″ // 這樣可以設置全部時間
date -s “01:01:01 20080523″ // 這樣可以設置全部時間
date -s “2008-05-23 01:01:01″ // 這樣可以設置全部時間
date -s “20080523 01:01:01″ // 這樣可以設置全部時間
3.時間戳
時間戳是指格林威治時間自1970年1月1日(00:00:00 GMT)至當前時間的總秒數。在計算機中,「時間戳」一般是指 Unix 時間戳,即自從 Unix 紀元(格林威治時間 1970 年 1 月 1 日00:00:00)到當前時間的秒數。每個時間戳都有一定的唯一性,一般用于日志等,時間戳適合計算機來處理。
當然時間戳可以轉化:
?且因為時間一直過去,對應的時間戳也一直線性增長,如若保存不了,則時間舊紀錄就會出問題,時間紊亂
15.Cal指令
cal 命令可以用來顯示公歷(陽歷)日歷。公歷是現在國際通用的歷法,又稱格列歷,通稱陽歷。 “ 陽歷 ” 又名 “ 太陽
歷 ” ,系以地球繞行太陽一周為一年,為西方各國所通用,故又名 “ 西歷 ” 。
命令格式 : cal?[ 參數 ][ 月份 ][ 年份 ]
功能 : 用于查看日歷等時間信息,如只有一個參數,則表示年份 (1-9999) ,如有兩個參數,則表示月份和年份
常用選項 :
-3? 顯示系統前一個月,當前月,下一個月的月歷
-j?? 顯示在當年中的第幾天(一年日期按天算,從 1 月 1 號算起,默認顯示當前月在一年中的天數)
-y?? 顯示當前年份的日歷
如打印當前時間的日歷:?
2023年的整個日歷:?

?
16.find指令:(灰常重要) -name
Linux 下 find 命令在目錄結構中搜索文件,并執行指定的操作。
Linux 下 find 命令提供了相當多的查找條件,功能很強大。由于 find 具有強大的功能,所以它的選項也很 多,其中大部分選項都值得我們花時間來了解一下。
即使系統中含有網絡文件系統 ( NFS) , find 命令在該文件系統中同樣有效,只你具有相應的權限。
在運行一個非常消耗資源的 find 命令時,很多人都傾向于把它放在后臺執行,因為遍歷一個大的文件系 統可能會花費很長的時間( 這里是指 30G 字節以上的文件系統 ) 。
語法: find pathname -options
功能: 用于在文件樹種查找文件,并作出相應的處理(可能訪問磁盤)
常用選項:
?查找文件
?查找命令:

.....
which指令
這里除了find查找指令外,還有一個指令which用來查找指令的所在路徑。
作用:搜索指令的路徑

whereis指令?
用來查閱文檔的指令,也可查找指令所在的文檔

17.grep指令
也叫行過濾工具,主要就是標記文件中該關鍵字的位置
語法: grep [選項] 搜尋字符串 文件
功能: 在文件中搜索字符串,將找到的行打印出來
常用選項:
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 ' 搜尋字符串 ' 內容的那一行
標記出:
?顯示行數:
?反向選擇:

?忽略大小寫

18.zip/unzip指令:
語法: zip 壓縮文件 .zip 目錄或文件
功能: 將目錄或文件壓縮成 zip 格式
常用選項:
-r 遞 歸處理,將指定目錄下的所有文件和子目錄一并處理
舉例:
解壓:

?
解壓到temp:
?
?
19.tar指令(重要)
作用: 打包 / 解包,不打開文件,直接看內容。
格式:tar [-cxtzjvf]? 文件與目錄 ?.... 參數 :
-c? :建立一個壓縮文件的參數指令 (create? 的意思 ) ;
-x? :解開一個壓縮文件的參數指令!
-t? :查看 ?tarfile? 里面的文件!
-z? :是否同時具有 ?gzip? 的屬性?亦即是否需要用 ?gzip? 壓縮?
-j? :是否同時具有 ?bzip2? 的屬性?亦即是否需要用 ?bzip2? 壓縮?
-v? :壓縮的過程中顯示文件!這個常用,但不建議用在背景執行過程!
-f? :使用檔名,請留意,在 ?f? 之后要立即接檔名喔!不要再加參數!
-C : 解壓到指定目錄
20.bc指令:
bc 命令可以很方便的進行浮點運算
21.uname –r指令:
語法 : uname [ 選項 ]?
功能 : uname 用來獲取電腦和操作系統的相關信息。
補充說明 : uname 可顯示 linux 主機所用的操作系統的版本、硬件的名稱等基本信息。
常用選項:
-a 或 –all 詳細輸出所有信息,依次為內核名稱,主機名,內核版本號,內核版本,硬件名,處理器類 型,硬件平臺類型,操作系統名稱。
?
22.常用熱鍵

?