重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
常用的7個Linux文件內容查看命令:
成都創新互聯專業為企業提供長島網站建設、長島做網站、長島網站設計、長島網站制作等企業網站建設、網頁設計與制作、長島企業網站模板建站服務,10余年長島做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
1.cat由第一行開始顯示文件內容
用法:
cat-A 相當于-vET的整合選項,可列出一些特殊字符而不是空白;
cat-b 列出行號,僅針對非空白行做行號顯示,空白行不標行號;
cat-E 將結尾的斷行字節$顯示出來;
cat-n 列印出行號,連同空白行也會有行號,與-b的選項不同;
cat-T 將[tab]按鍵以^I顯示出來;
cat-v 列出一些看不出來的特殊字符;
2.tac 由最后一行開始顯示文件內容
tac-b 在行前而非行尾添加分隔標志;
tac-r 將分隔標志視作正則表達式來解析;
tac-s 使用指定字符串代替換行作為分隔標志;
3.nl 顯示行號
nl-b a 無論是否為空行,均列出行號;
nl-b t 空行不列出行號;
nl-n ln 行號在熒幕的最左方顯示;
nl-n rn 行號在自己欄位的最右方顯示,且不加0;
nl-n rz 行號在自己欄位的最右方顯示,且加0;
nl-w 行號欄位的占用的位數;
4.more 一頁一頁的顯示文件內容
在more程序運行過程中,可以按以下鍵:
空白鍵(space):代表向下翻一頁;
Enter:代表向下翻『一行』;
/字串:代表在這個顯示的內容當中,向下搜尋『字串』這個關鍵字;
:f:立刻顯示出檔名以及目前顯示的行數;
q:代表立刻離開more,不再顯示該文件內容。
b或[ctrl]-b:代表往回翻頁,不過這動作只對文件有用,對管線無用。
5.less與more類似,但是比more更好的是,他可以往前翻頁
less運行時可以輸入的命令有:
空白鍵:向下翻動一頁;
[pagedown]:向下翻動一頁;
[pageup]:向上翻動一頁;
/字串:向下搜尋『字串』的功能;
?字串:向上搜尋『字串』的功能;
n:重復前一個搜尋(與/或?有關!);
N:反向的重復前一個搜尋(與/或?有關!);
q:離開less這個程序;
6.head 顯示前幾行
語法:
head-n 后面接數字,代表顯示行數;
7.tail 顯示后幾行
tail-n 后面接數字,代表顯示行數;
tail-f 表示持續偵測后面所接的檔名,要等到按下[ctrl]-c才會結束tail的偵測;
比如
df –h
返回
比如
du –h /etc/
返回
注:ls可以同時查看多個目錄
比如: 【同時查看根目錄和etc目錄】
ls / /etc
返回
注: /是根目錄,~是家目錄,root用戶的家目錄是/root ,普通用戶a的家目錄在/home/a
比如: 【進入用戶datafrog的家目錄】
法一:
cd /home/
cd ~datafrog
返回
比如: 創建嵌套的目錄a/b/c【需要寫上-p】
mkdir –p a/b/c
返回
比如: 刪除文件夾x
rm -r -f x #【-r表示刪除文件夾,-f表示強制刪除】
或者
rm -rf x #【-rf把兩個短參數-r和-f合并】
返回
比如: 把bbb文件拷貝到文件123
cp bbb 123
返回
比如: 把文件123移動到文件夾x下面
mv 123 x
返回
比如: 把123.txt硬連接到456.txt
ln 123.txt 456.txt
vi 123.txt #【在123.txt里面添加11111111111】
cat 456.txt #【在456.txt文件里面同樣顯示了111111111111111】
同樣修改456.txt,123.txt也會變化。
但是如果刪除123.txt,會發現456.txt文件依然存在,里面的內容也沒變化。
比如: 把456.txt軟鏈接到111.txt
ln -s 456.txt 111.txt # -s表示軟連接
ll
返回
比如: 查看111.txt的元數據
stat 111.txt
返回
比如: 原來789.txt的三個時間都不一樣,touch之后再stat,現在三個時間顯示一樣了
比如:
more profile
返回
比如: 打印前6行
head -6 profile
返回前6行內容
比如: 打印最后7行
tail -7 profile
返回最后7行數據
比如:
tail –f sxt.log
現在嘗試顯示sxt.log中的追加內容,返回
比如:
cat profile | head -3
返回profile的前3行數據
管道中的變量
abc=123
abc=456 | echo "hello"
echo $abc
返回 # abc的值沒有變
bbb=345
abc=789 | echo $bbb
返回 # 可以輸出bbb的值
管道的特殊情況:
echo $$
echo $$ | more
echo $BASHPID | more
返回
Linux內有三大命令可以用來查看文件內容,分別是cat、more、和less,他們之間既有共同點又有區別,例如:cat可以一次性顯示整個文件的內容,還可以將多個文件連接起來顯示,常與重定向符號配合使用,適用于文件內容少的情況,而more和less一般用于顯示文件內容超過一屏的內容,并且提供翻頁的功能。more比cat強大,提供分頁顯示的功能,less比more更強大,提供翻頁,跳轉,查找等命令。而且more和less都支持:用空格顯示下一頁,按鍵b顯示上一頁。下面詳細介紹這3個命令。
cat命令比較簡單,比較常用
cat主要有三大功能:
對非空輸出行編號,使用 cat -b 命令:
輸出所有行號,使用 cat -n 命令:
more命令,功能類似 cat ,cat命令是整個文件的內容從上到下顯示在屏幕上。 more會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能 。more命令從前向后讀取文件,因此在 啟動時就加載整個文件 。
常用命令
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向后移動,而且 less 在查看之前不會加載整個文件 。
less 工具也是對文件或其它輸出進行分頁顯示的工具,應該說是 linux正統查看文件內容的工具,功能極其強大 。less 的用法比起 more 更加的有彈性。在 more 的時候,我們并沒有辦法向前面翻, 只能往后面看,但若使用了 less 時,就可以使用 [pageup] [pagedown] 等按鍵的功能來往前往后翻看文件,更容易用來查看一個文件的內容!除此之外,在 less 里頭可以擁有更多的搜索功能,不止可以向下搜,也可以向上搜。
常用命令
Linux中哪個命令可以查看所有文件?在Linux中有很多命令,但在日常工作中最最常用的并不多,而ls命令就是其中之一。ls命令是Linux中十分常見的一個命令,因為初學Linux的時候,最先接觸的就是ls命令,其主要功能是顯示當前目錄下的內容。
Linux系統中查看所有文件命令為ls。
Linux ls,英文全拼:list files,用于顯示指定工作目錄下的內容,列出目前工作目錄所含的文件及子目錄。
語法
ls [-alrtAFR] [name...]
參數
-a:顯示所有文件及目錄,.開頭的隱藏文件也會列出
-l:除文件名稱外,亦將文件型態、權限、擁有者、文件大小等資訊詳細列出
-r:將文件以相反次序顯示,原定依英文字母次序
-t:將文件依建立時間之先后次序列出
-A:同-a,但不列出.(目前目錄)及..(父目錄)
-F:在列出的文件名稱后加一符號;例如可執行檔則加*,目錄則加/
-R:若目錄下有文件,則以下的文件亦皆依序列出
…………
1、最強大的搜索命令:find 查找各種文件的命令
2、在文件資料中查找文件:locate
3、搜索命令所在的目錄及別名信息:which
4、搜索命令所在的目錄及幫助文檔路徑:whereis
5、在文件中搜尋字符串匹配的行并輸出:grep
6、分頁顯示一個文件或任何輸出結果:more
7、分頁顯示一個文件并且可以回頭:less
8、指定顯示前多少行文件內容:head
9、指定顯示文件后多少行內容:tail
10、查看一個文件:cat
11、查看文件內容多少字符多少行多少字節:wc
12、排序文件內容:sort
一、根據 文件或目錄名稱 搜索
find 【搜索目錄】【-name或者-iname】【搜索字符】:-name和-iname的區別一個區分大小寫,一個不區分大小寫
eg:在/etc 目錄下搜索名字為init的文件或目錄
①、find /etc -name init (精準搜索,名字必須為 init 才能搜索的到)
②、find /etc -iname init (精準搜索,名字必須為 init或者有字母大寫也能搜索的到)
③、find /etc -name *init (模糊搜索,以 init 結尾的文件或目錄名)
④、find /etc -name init??? (模糊搜索,? 表示單個字符,即搜索到 init___)
二、根據 文件大小 搜索
eg:在根目錄下查找大于 100M 的文件
find / -size +204800
這里 +n 表示大于,-n 表示小于,n 表示等于
1 數據塊 == 512 字節 0.5KB,也就是1KB等于2數據塊
100MB == 102400KB204800數據塊
三、根據 所有者和所屬組 搜索
①、在home目錄下查詢所屬組為 root 的文件
find /home -group root
②、在home目錄下查詢所有者為 root 的文件
find /home -user root
四、根據 時間屬性 搜索
find 【路徑】【選項】【時間】
選項有下面三種:-amin 訪問時間
-cmin 文件屬性被更改
-mmin 文件內容被修改
時間:+n,-n,n分別表示超過n分鐘,n分鐘以內和n分鐘
eg:在 /etc 目錄下查找5 分鐘內被修改過屬性的文件和目錄
find /etc -cmin -5
五、根據 文件類型或i節點 搜索
-type 根據文件類型查找:
f表示文件,d表示目錄,l表示軟鏈接
eg:查找 /home 目錄下文件類型是目錄的
find /home -type d
-inum 根據i節點查找
eg:查找 /tmp 目錄下i節點為400342的文件或目錄
find /tmp -inum 400342
六、組合條件 搜索
這里有兩個參數:
①、-a 表示兩個條件同時滿足(and)
②、-o 表示兩個條件滿足任意一個即可(or)
范例:查找/etc目錄下大于80MB同時小于100MB的文件
find /etc -size +163840 -a -size -204800
語法:locate【文件名】 -i 不區分大小寫
注意:這里和 find 命令是有區別的,find是全盤檢索,而locate 是在文件資料庫中進行搜索。所以locate命令的執行要比find命令執行速度快很多。但是這里有個問題,文件資料庫是需要不斷更新的。我們新創建的文件如果不更新 文件資料庫,使用 locate 是查找不到的。
updatedb 手動更新資料庫,但是對于/tmp目錄下的新建文件,是更新不到文件資料庫的,因為/tmp目錄不屬于文件資料庫的收錄范圍。
eg:locate hcf
功能描述:搜索命令所在的目錄及別名信息
語法:which【命令】
eg:which ls
功能描述:搜索命令所在的目錄及幫助文檔路徑
語法:whereis【命令】
eg:whereis ls
功能描述:在文件中搜尋字符串匹配的行并輸出
語法:grep -iv 【指定字符串】【文件】
-i 不區分大小寫
-v 排除指定字符串
eg:查找 /root/install.log 文件中包含 mysql 字符串的行,并輸出
grep mysql /root/install.log
本搜索工具,根據用戶指定的模式,對目標文件逐行進行匹配檢查,打印匹配到的行
grep是在文件中搜索匹配的字符串,是在文件中進行內容搜索,這個命令后面用到的比較多
描述:
分頁顯示一個文件或任何輸出結果
用于查看純文本文件(較長的)格式
格式:
more[選項] 文件
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向后移動,而且 less 在查看之前不會加載整個文件。
head[必要參數][選擇參數][文件]
用于顯示指定文件開始多少行內容
命令參數:
-n 10 顯示前10行
-n -10 正常輸出但不顯示最后的10行
eg:顯示new.txt的前兩行內容
head -n 2 new.txt
head -2 new.txt
tail[必要參數][選擇參數][文件]
用于顯示指定文件末尾多少行內容
命令參數:
-n 10 顯示后面10行
-f 持續刷新顯示的內容
eg:顯示new.txt的末尾兩行內容
tail -n 2 new.txt
tail -2 new.txt
eg:指定從第二行開始顯示
tail -n +2 new.txt
描述:一次顯示整個文件內容
cat 命令 用于查看純文本文件(較短)
cat [選項] [文件]…
描述:wc 命令默認情況下會打印換行符數、單詞數和字符數。
用法:wc [選項] [文件]
用法:sort [選項] [文件]
轉自: Linux下文件搜索、查找、查看命令_黃小小的博客-CSDN博客_linux 搜索
grep命令:
grep命令是非常重要的命令,可以對文本進行查找和搜索
常用參數如下:
常用實例:
1、在多個文件中查找:
grep "file" file_1 file_2 file_3
2、輸出除之外的所有行 -v 選項:
grep -v "file" file_name
3、標記匹配顏色 --color=auto 選項:
grep "file" file_name --color=auto
4、使用正則表達式 -E 選項:
grep -E "[1-9]+"
egrep "[1-9]+"
5、只輸出文件中匹配到的部分 -o 選項:
echo this is a test line. | grep -o -E "[a-z]+."
line.
echo this is a test line. | egrep -o "[a-z]+."
line.
6、統計文件或者文本中包含匹配字符串的行數-c 選項:
grep -c "text" file_name
2
7、輸出包含匹配字符串的行數 -n 選項:
grep "text" -n file_name
或
cat file_name | grep "text" -n
8、多個文件
grep "text" -n file_1 file_2
9、搜索多個文件并查找匹配文本在哪些文件中:
grep -l "text" file1 file2 file3...
10、grep遞歸搜索文件
在多級目錄中對文本進行遞歸搜索:
grep "text" . -r -n
11、忽略匹配樣式中的字符大小寫:
echo "hello world" | grep -i "HELLO"
hello
12、選項 -e 指定多個匹配樣式:
echo this is a text line | grep -e "is" -e "line" -o
is
line
13、也可以使用 -f 選項來匹配多個樣式,在樣式文件中逐行寫出需要匹配的字符。
cat patfile
aaa
bbb
echo aaa bbb ccc ddd eee | grep -f patfile -o
14、在grep搜索結果中包括或者排除指定文件:
只在目錄中所有的.php和.html文件中遞歸搜索字符"main()"
grep "main()" . -r --include *.{php,html}
15、在搜索結果中排除所有README文件
grep "main()" . -r --exclude "README"
16、在搜索結果中排除filelist文件列表里的文件
grep "main()" . -r --exclude-from filelist
touch abc.txt 創建一個名為abc.txt的文件
touch -r 指定文件時間與參考文件相同
touch -t 201608012234.55[yyyymmddhhmm.ss] abc.txt 更改文件為指定的時間
touch temp 創建一個名為temp的文件
vi編輯器有三種模式,命令行模式、編輯模式、底行模式。
vi 文件名進入命令行模式,Insert進入編輯模式,編輯完成Esc退出編輯模式,:wq進入底行模式并保存修改,:q直接退出保存。
tar命令用于打包壓縮文件,常用的壓縮命令還有bzip2,gzip
bunzip2 file1.bz2 解壓一個叫做 'file1.bz2'的文件
bzip2 file1 壓縮一個叫做 'file1' 的文件
gunzip file1.gz 解壓一個叫做 'file1.gz'的文件
gzip file1 壓縮一個叫做 'file1'的文件
gzip -9 file1 最大程度壓縮
rar a file1.rar test_file 創建一個叫做 'file1.rar' 的包
rar a file1.rar file1 file2 dir1 同時壓縮 'file1', 'file2' 以及目錄 'dir1'
rar x file1.rar 解壓rar包
unrar x file1.rar 解壓rar包
tar -cvf archive.tar file1 創建一個非壓縮的 tarball
tar -cvf archive.tar file1 file2 dir1 創建一個包含了 'file1', 'file2' 以及 'dir1'的檔案文件
tar -tf archive.tar 顯示一個包中的內容
tar -xvf archive.tar 釋放一個包
tar -xvf archive.tar -C /tmp 將壓縮包釋放到 /tmp目錄下
tar -cvfj archive.tar.bz2 dir1 創建一個bzip2格式的壓縮包
tar -xvfj archive.tar.bz2 解壓一個bzip2格式的壓縮包
tar -cvfz archive.tar.gz dir1 創建一個gzip格式的壓縮包
tar -xvfz archive.tar.gz 解壓一個gzip格式的壓縮包
zip file1.zip file1 創建一個zip格式的壓縮包
zip -r file1.zip file1 file2 dir1 將幾個文件和目錄同時壓縮成一個zip格式的壓縮包
unzip file1.zip 解壓一個zip格式壓縮包
which命令用于用戶查找命令所有路徑
命令格式
file命令用于獲取文件屬性
命令格式
file 文件名或目錄名
命令示例:
使用說明
命令格式:cat [-AbeEnstTuv] [--help] [--version] fileName
cat file1 從第一個字節開始正向查看文件的內容
-n 或 --number:由 1 開始對所有輸出的行數編號。
-b 或 --number-nonblank:和 -n 相似,只不過對于空白行不編號。
-s 或 --squeeze-blank:當遇到有連續兩行以上的空白行,就代換為一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符號,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行結束處顯示 $。
-T 或 --show-tabs: 將 TAB 字符顯示為 ^I。
-A, --show-all:等價于 -vET。
-e:等價于"-vE"選項;
-t:等價于"-vT"選項;
使用示例
把 textfile1 的文檔內容加上行號后輸入 textfile2 這個文檔里
cat -n textfile1 textfile2
把 textfile1 和 textfile2 的文檔內容加上行號(空白行不加)之后將內容附加到 textfile3 文檔里
cat -b textfile1 textfile2 textfile3
清空 /etc/test.txt 文檔內容
cat /dev/null /etc/test.txt
tac [filename]
從最后一行開始反向查看一個文件的內容,ac與cat命令剛好相反,文件內容從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫。
nl [-bnw] 文件
選項與參數:
-b: 指定行號指定的方式,主要有兩種:
-b a :表示不論是否為空行,也同樣列出行號(類似 cat -n);
-b t :如果有空行,空的那一行不要列出行號(默認值);
-n :列出行號表示的方法,主要有三種:
-n ln :行號在熒幕的最左方顯示;
-n rn :行號在自己欄位的最右方顯示,且不加 0 ;
-n rz :行號在自己欄位的最右方顯示,且加 0 ;
-w :行號欄位的占用的位數。
more file1 查看一個長文件的內容,支持一頁一頁翻動
運行的時候,支持以下幾個按鍵:
空白鍵 (space):代表向下翻一頁;
Enter :代表向下翻『一行』;
/字串 :代表在這個顯示的內容當中,向下搜尋『字串』這個關鍵字;
:f :立刻顯示出檔名以及目前顯示的行數;
q :代表立刻離開 more ,不再顯示該文件內容。
b 或 [ctrl]-b :代表往回翻頁,不過這動作只對文件有用,對管線無用。
less file1 類似于 'more' 命令,但是它允許在文件中和正向操作一樣的反向操作
less運行時可以輸入的命令有:
空白鍵 :向下翻動一頁;
[pagedown]:向下翻動一頁;
[pageup] :向上翻動一頁;
/字串 :向下搜尋『字串』的功能;
?字串 :向上搜尋『字串』的功能;
n :重復前一個搜尋 (與 / 或 ? 有關!)
N :反向的重復前一個搜尋 (與 / 或 ? 有關!)
q :離開 less 這個程序;
head [-n number]
head -2 file1 查看一個文件的前兩行
tail [-n number]
tail -2 file1 查看一個文件的最后兩行
tail -f /var/log/messages 實時查看被添加到一個文件中的內容
文件權限列中三位為一組,分別代表相關的用戶、組、其它用戶的權限
權限列中三位為一組,分別代表相關的用戶、組、其它用戶的權限
所以修改權限可以分別修改或一同修改,系統中權限分為數字權限與字符權限
數字權限:r=4,w=2,x=1
字符權限:+ 增加 -去除 a取消所有加上給定的
修改權限的命令chmod,命令格式:
chmod 權限 文件名或目錄名 修改權限格式
chmod -R 權限 目錄名 遞歸將目錄及其下面所有內容權限全部修改
chown 改變文件或目錄的屬主(所有者)
chown 用戶名 文件名或目錄名
chown 用戶名.組名 文件名或目錄名
修改所屬組也可用chgrp 命令來完成
當你用ls -l 查看到文件的屬主、屬組為數字時,就表明該文件的創建用戶已被刪除。
文件的特殊權限
chattr +i(-i) 文件名 鎖定文件(取消鎖定)不可刪除與清空
chattr +a(-a) 文件名 添加內容(只可添加內容)
使用lsattr 文件名 查看文件的特殊權限
由此可以看出
root用戶默認創建的目錄權限是755,文件權限是644
普通用戶默認創建的目錄權限是775,文件權限是664
這也是系統默認的比較安全的權限分配,其實這些默認權限全部都是由umask值來決定的
系統規定了
文件的權限值是從666開始計算(默認權限=權限值-umask值)
目錄的權限值是從777開始計算(默認權限=權限值-umask值)
文件1的權限=444 (666-232=434——43(3+1)4)