一、文本處理命令
1、查看文件內容
①cat查看及合併
命令:cat
作用:查看文件內容
語法:#cat 文件名稱
#cat 文件1 文件2 > 文件3
用法一:cat文件名示例代碼:#cat 1.txt含義:顯示1.txt文件的內容特別注意:cat命令用於查看文件內容時,不論文件內容有多少,都會一次性顯示。如果文件非常大,那麼文件開頭的內容就看不到了。cat命令適合查看不太大的文件。
用法二:cat文件1文件2>文件3示例代碼:#cat 1.txt 2.txt > 3.txt含義:將1.txt和2.txt文件內容合併後,輸出到3.txt
②more分屏顯示文件
命令:more
作用:分屏查看文件
語法:#more 文件名
==流程:more在讀取文件時,默認已經加載文件的全部內容。==
用法一:more文件名示例代碼:#more /var/log/boot.log含義:分頁顯示/var/log/boot.log文件的內容
more 命令的執行會打開一個交互界面,下面是一些常用交互命令:
③less分屏顯示文件
命令:less
作用:分屏查看文件
語法:# less 文件名
==流程:不是加載整個文件,而是一點一點進行加載,相對而言,讀取大文件時,效率比較高。==
示例代碼:使用less命令查看/var/log/boot.log的文件內容
用法一:less文件名示例代碼:#less /var/log/boot.log含義:分頁顯示/var/log/boot.log文件的內容
less 命令的執行也會打開一個交互界面,下面是一些常用交互命令(和more相同):
cat,more,less三者的對比
④head顯示文件開頭
命令:head
作用:查看一個文件的前n 行,如果不指定n,則默認顯示前10 行。
語法:#head [參數選項] 文件名
常見參數:-n 表示顯示前n行的內容,n等於行數
用法一:head文件名示例代碼:#head /var/log/boot.log含義:顯示/var/log/boot.log文件的內容,默認為前10行用法二:head-n文件名示例代碼:#head -3 /var/log/boot.log含義:顯示/var/log/boot.log文件的前3行內容
⑤tail顯示文件結尾(重點)
命令:tail
作用:查看一個文件的最後n 行,如果n 不指定默認顯示最後10 行
語法:# tail -n 文件路徑 【n 表示數字】
常見參數:-n 顯示最後n行的內容,n等於行數
-f 輸出文件變化後新增加的數據
用法一:tail文件名示例代碼:#tail /var/log/boot.log含義:顯示/var/log/boot.log文件的內容,默認為最後10行用法二:tail-n文件名示例代碼:#tail -5 /var/log/boot.log含義:顯示/var/log/boot.log文件的最後5行內容
用法二:tail-f文件名示例代碼:#tail -f /var/log/messages含義:顯示/var/log/messages文件中,執行tail-f命令後,新增的數據。注意:作用相當於查看一個文件動態變化的內容,一般用於查看系統的日誌的變化按下ctrl+c可以退出查看狀態
注意:ctrl+c 鍵,在命令行中c 不再表示copy,而表示cancel(取消),在程序執行過程中,==通常都可以使用ctrl+c來終止程序運行或者退出程序==
2、統計文件信息
①wc統計文件內容數量
命令:wc,wc = word count
作用:用於統計文件內容信息(包含行數、單詞數、字節數)
語法:# wc [參數選項] 文件名
常見參數:
-l:表示lines,行數(以回車/換行符為標準)
-w:表示words,單詞數 依照空格來判斷單詞數量
-c:表示bytes, 字節數(空格,回車,換行)
用法一:wc-lwc文件名示例代碼:#wc -lwc /var/log/boot.log含義:統計/var/log/boot.log文件的行數,單詞數,字節數注意:wc命令選項可以混在一起搭配使用,但選項的順序不影響輸出結果,第一個是行數,第二個是單詞數,第三個數字節數。
②du統計文件大小
命令:du
作用:查看文件或目錄(會遞歸顯示子目錄)佔用磁碟空間大小
語法:# du [參數選項] 文件名或目錄名
常見參數:-s :summaries,只顯示匯總的大小,統計文件夾的大小
-h:表示以高可讀性的形式進行顯示,如果不寫-h,默認以KB的形式顯示文件大小
用法一:du文件名示例代碼:#du /var/log/boot.log含義:統計/var/log/boot.log文件的大小用法二:du-h文件名示例代碼:#du -h /var/log/boot.log含義:統計/var/log/boot.log文件的大小,以高可讀性顯示
示例代碼:統計 /var/log 目錄大小
用法三:du目錄名示例代碼:#du /var/log/含義:統計/var/log/目錄的大小,包含目錄下每一個單獨文件的大小用法四:du-s目錄名示例代碼:#du -s /var/log/含義:統計/var/log/boot.log文件的大小,匯總只顯示目錄大小用法五:du-sh目錄名示例代碼:#du -sh /var/log/含義:統計/var/log/boot.log文件的大小,匯總只顯示目錄大小,並採用高可讀性
3、文本處理
①find文件查找(重點)
命令:find
作用:用於查找文檔(其選項有55 個之多)
語法:# find 路徑範圍 選項1 選項1的值 [選項2 選項2 的值…]
常用參數:
-name:按照文檔名稱進行搜索(支持模糊搜索)
* : 通配符,匹配任意個任意字符
-type:按照文檔的類型進行搜索,文檔類型的值,f(file)表示文件,d(directory)表示文件夾
用法一:find路徑範圍選項1選項1的值選項2選項2的值示例代碼:#find /var/ -name boot.log -type f含義:在/var/目錄下,查找名稱等於boot.log,類型是文件的文檔
A var表示要查找的目錄名字
B var表示,在var目錄內查找
用法二:find路徑範圍選項1選項1的值使用通配符選項2選項2的值示例代碼:#find /var/log -name "*.log" -type f含義:在/var/log目錄下,查找所有.log結尾,類型是文件的文檔,*.log需要用引號引起來。
用法一:find路徑範圍選項1選項1的值示例代碼:#find /var/log -type d含義:在/var/log目錄下,查找所有文件夾
②grep搜索文件內容 (重要)
命令:grep
作用:在文件中直接找到包含指定信息的那些行,並把這些信息顯示出來
語法:#grep 要查找的內容 文件名
用法一:grep查找的內容文件名示例代碼:#grep network boot.log含義:在boot.log文件中,查找包含network的行
用法二:grep查找的內容多個文件示例代碼:#grep network /var/log/*含義:在/var/log目錄下的所有文件中,查找包含network的行
③輸出重定向
場景:一般命令的輸出都會顯示在終端中,有些時候需要將一些命令的執行結果想要保存到文件中進行後續的分析/統計,則這時候需要使用到的輸出重定向技術。
>:標準輸出重定向 :覆蓋輸出,會覆蓋掉原先的文件內容
>>:追加重定向 :追加輸出,不會覆蓋原始文件內容,會在原始內容末尾繼續添加
語法:#有輸出的命令 重定向符號 文件名
用法一:使用>進行覆蓋輸出示例代碼:#ll > llroot.txt含義:將ll命令輸出的內容,寫入到llroot.txt文件中,如果llroot.txt文件中有其他內容,則先清空,在寫入注意:文件路徑中的文件可以是不存在的文件,例如llroot.txt可以不存在,執行命令時會自動創建這個文件
用法二:使用>>進行追加輸出示例代碼:#ll >> llroot.txt含義:將ll命令輸出的內容,追加寫入到llroot.txt文件中注意:文件路徑中的文件可以是不存在的文件,例如llroot.txt可以不存在,執行命令時會自動創建這個文件