Linux文件內容查閱,可以使用命令來實現。cat, tac, more,包括nl等命令都可以用來查閱文件內容,本文就通過舉例的方式來介紹一下,Linux系統查看文件內容的命令有哪些。
/messages隨時會有數據寫入,你想要讓該文件有數據寫入時就立刻顯示到螢幕上, 就利用 -f 這個選項,他可以一直偵測/var/log/messages這個文件,新加入的數據都會被顯示到螢幕上。 直到你按下[crtl]-c才會離開tail的偵測!
非純文字檔: od
[root@www ~]# od [-t TYPE] 文件
選項或參數:
-t :後面可以接各種『類型 (TYPE)』的輸出,例如:
a :利用默認的字節來輸出;
c :使用 ASCII 字節來輸出
d[size] :利用十進位(decimal)來輸出數據,每個整數占用 size bytes ;
f[size] :利用浮點數值(floating)來輸出數據,每個數占用 size bytes ;
o[size] :利用八進位(octal)來輸出數據,每個整數占用 size bytes ;
x[size] :利用十六進位(hexadecimal)來輸出數據,每個整數占用 size bytes ;
范例一:請將/usr/bin/passwd的內容使用ASCII方式來展現!
[root@www ~]# od -t c /usr/bin/passwd
0000000 177 E L F 001 001 001 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000020 002 \0 003 \0 001 \0 \0 \0 260 225 004 \b 4 \0 \0 \0
0000040 020 E \0 \0 \0 \0 \0 \0 4 \0 \0 \a \0 ( \0
0000060 035 \0 034 \0 006 \0 \0 \0 4 \0 \0 \0 4 200 004 \b
0000100 4 200 004 \b 340 \0 \0 \0 340 \0 \0 \0 005 \0 \0 \0
。。。。。(後面省略)。。。。
# 最左邊第一欄是以 8 進位來表示bytes數。以上面范例來說,第二欄0000020代表開頭是
# 第 16 個 byes (2x8) 的內容之意。
范例二:請將/etc/issue這個文件的內容以8進位列出儲存值與ASCII的對照表
[root@www ~]# od -t oCc /etc/issue
0000000 103 145 156 164 117 123 040 162 145 154 145 141 163 145 040 065
C e n t O S r e l e a s e 5
0000020 056 062 040 050 106 151 156 141 154 051 012 113 145 162 156 145
。 2 ( F i n a l ) \n K e r n e
0000040 154 040 134 162 040 157 156 040 141 156 040 134 155 012 012
l \ r o n a n \ m \n \n
0000057
# 如上所示,可以發現每個字節可以對應到的數值為何!
# 例如e對應的記錄數值為145,轉成十進位:1x8^2+4x8+5=101。
修改文件時間或建置新檔: touch
modification time (mtime):
當該文件的『內容數據』變更時,就會升級這個時間!內容數據指的是文件的內容,而不是文件的屬性或權限喔!
status time (ctime):
當該文件的『狀態 (status)』改變時,就會升級這個時間,舉例來說,像是權限與屬性被更改了,都會升級這個時間啊。
access time (atime):
當『該文件的內容被取用』時,就會升級這個讀取時間 (access)。舉例來說,我們使用 cat 去讀取 /etc/man.config , 就會升級該文件的 atime 了。
在默認的情況下,ls 顯示出來的是該文件的 mtime ,也就是這個文件的內容上次被更動的時間。
[root@www ~]# touch [-acdmt] 文件
選項與參數:
-a :僅修訂 access time;
-c :僅修改文件的時間,若該文件不存在則不創建新文件;
-d :後面可以接欲修訂的日期而不用目前的日期,也可以使用 --date=“日期或時間”
-m :僅修改 mtime ;
-t :後面可以接欲修訂的時間而不用目前的時間,格式為[YYMMDDhhmm]
范例一:新建一個空的文件並觀察時間
[root@www ~]# cd /tmp
[root@www tmp]# touch testtouch
[root@www tmp]# ls -l testtouch
-rw-r--r-- 1 root root 0 Sep 25 21:09 testtouch
# 注意到,這個文件的大小是 0 呢!在默認的狀態下,如果 touch 後面有接文件,
# 則該文件的三個時間 (atime/ctime/mtime) 都會升級為目前的時間。若該文件不存在,
# 則會主動的創建一個新的空的文件喔!例如上面這個例子!
范例二:將 ~/.bashrc 復制成為 bashrc,假設復制完全的屬性,檢查其日期
[root@www tmp]# cp -a ~/.bashrc bashrc
[root@www tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
-rw-r--r-- 1 root root 176 Jan 6 2007 bashrc 《==這是 mtime
-rw-r--r-- 1 root root 176 Sep 25 21:11 bashrc 《==這是 atime
-rw-r--r-- 1 root root 176 Sep 25 21:12 bashrc 《==這是 ctime 范例三:修改案例二的 bashrc 文件,將日期調整為兩天前
[root@www tmp]# touch -d “2 days ago” bashrc
[root@www tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
-rw-r--r-- 1 root root 176 Sep 23 21:23 bashrc
-rw-r--r-- 1 root root 176 Sep 23 21:23 bashrc
-rw-r--r-- 1 root root 176 Sep 25 21:23 bashrc
# 跟上個范例比較看看,本來是 25 日的變成了 23 日了 (atime/mtime)~
# 不過, ctime 並沒有跟著改變喔!
范例四:將上個范例的 bashrc 日期改為 2007/09/15 2:02
[root@www tmp]# touch -t 0709150202 bashrc
[root@www tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
-rw-r--r-- 1 root root 176 Sep 15 2007 bashrc
-rw-r--r-- 1 root root 176 Sep 15 2007 bashrc
-rw-r--r-- 1 root root 176 Sep 25 21:25 bashrc
# 注意看看,日期在 atime 與 mtime 都改變了,但是 ctime 則是記錄目前的時間!
以上就是Linux系統查看文件內容的命令的介紹了,在其他系統中查閱文件一般都是直接打開,但是使用命令查閱文件等你習慣了效果都一樣。