更新時間:2020-03-13 來源:黑馬程序員 瀏覽量:
文件目錄
命令: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 /var/log/boot.log
含義:分頁顯示/var/log/boot.log文件的內容
more 命令的執(zhí)行會打開一個交互界面,下面是一些常用交互命令:
命令:less
作用:分屏查看文件
語法:# less 文件名
流程:不是加載整個文件,而是一點一點進行加載,相對而言,讀取大文件時,效率比較高。
示例代碼:使用less命令查看/var/log/boot.log的文件內容
用法一:less 文件名
示例代碼:
#less /var/log/boot.log
含義:分頁顯示/var/log/boot.log文件的內容
less 命令的執(zhí)行也會打開一個交互界面,下面是一些常用交互命令(和more相同):
cat,more,less三者的對比
cat | more | less | |
作用 | 顯示小文件內容顯 | 顯示大文件內容顯 | 顯示大文件內容顯 |
交互命令 | 無 | 有 | 有 |
上下鍵翻行 | 無 | 無 | 有 |
命令: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
作用:查看一個文件的最后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文件中,執(zhí)行tail -f 命令后,新增的數據。
注意:作用相當于查看一個文件動態(tài)變化的內容,一般用于查看系統的日志的變化 按下ctrl+c可以退出查看狀態(tài)
注意:ctrl+c 鍵,在命令行中c 不再表示copy,而表示cancel(取消),在程序執(zhí)行過程中,通常都可以使用ctrl+c來終止程序運行或者退出程序
命令:wc,wc = word count
作用:用于統計文件內容信息(包含行數、單詞數、字節(jié)數)
語法:# wc [參數選項] 文件名
常見參數:
-l:表示lines,行數(以回車/換行符為標準)
-w:表示words,單詞數 依照空格來判斷單詞數量
-c:表示bytes, 字節(jié)數(空格,回車,換行)
用法一:wc -lwc 文件名
示例代碼:
#wc -lwc /var/log/boot.log
含義:統計/var/log/boot.log文件的行數,單詞數,字節(jié)數
注意:wc命令選項可以混在一起搭配使用,但選項的順序不影響輸出結果,第一個是行數,第二個是單詞數,第三個數字節(jié)數。
命令: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文件的大小,匯總只顯示目錄大小,并采用高可讀性
命令:find
作用:用于查找文檔(其選項有55 個之多)
語法:# find 路徑范圍 選項1 選項1的值 [選項2 選項2 的值…]
常用參數:
-name:按照文檔名稱進行搜索(支持模糊搜索)
* : 通配符,匹配任意個任意字符
-type:按照文檔的類型進行搜索
文檔類型的值: "-" 表示文件(在使用find 的時候需要用f 來替換), "d" 表示文件夾
用法一:find 路徑范圍 選項1 選項1的值 選項2 選項2的值
示例代碼:
#find /var/ -name boot.log -type f
含義:在/var/目錄下,查找名稱等于boot.log,類型是文件的文檔
用法二: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 network boot.log
含義:在boot.log文件中,查找包含network的行
用法二:grep 查找的內容 多個文件
示例代碼:
#grep network /var/log/*
含義:在/var/log目錄下的所有文件中,查找包含network的行
場景:一般命令的輸出都會顯示在終端中,有些時候需要將一些命令的執(zhí)行結果想要保存到文件中進行后續(xù)的分析/統計,則這時候需要使用到的輸出重定向技術。
>:標準輸出重定向 :覆蓋輸出,會覆蓋掉原先的文件內容
>>:追加重定向 :追加輸出,不會覆蓋原始文件內容,會在原始內容末尾繼續(xù)添加
語法:#有輸出的命令 重定向符號 文件名
用法一:使用 > 進行覆蓋輸出
示例代碼:
#11 > llroot.txt
含義:將ll命令輸出的內容,寫入到llroot.txt文件中,如果llroot.txt文件中有其他內容,則先清空,在寫入
注意:文件路徑中的文件可以是不存在的文件,例如llroot.txt可以不存在,執(zhí)行命令時會自動創(chuàng)建這個文件
用法二:使用 >> 進行追加輸出
示例代碼:
#11 >> llroot.txt
含義:將ll命令輸出的內容,追加寫入到llroot.txt文件中
注意:文件路徑中的文件可以是不存在的文件,例如llroot.txt可以不存在,執(zhí)行命令時會自動創(chuàng)建這個文件