日誌工具journalctl參數說明

jonrnalctl參數說明

  • 語法格式 journalctl [OPTIONS...] [MATCHES...]
--no-full, --full, -l
如果字段內容超長則以省略號(...)截斷以適應列寬。
默認顯示完整的字段內容(超長的部分換行顯示或者被分頁工具截斷)。
老舊的 -l/--full 選項 僅用於撤銷已有的 --no-full 選項,除此之外沒有其他用處。
-a, --all
完整顯示所有字段內容, 即使其中包含不可打印字符或者字段內容超長。
-f, --follow
只顯示最新的日誌項,並且不斷顯示新生成的日誌項。 此選項隱含了 -n 選項。
-e, --pager-end
在分頁工具內立即跳轉到日誌的尾部。 此選項隱含了 -n1000
以確保分頁工具不必緩存太多的日誌行。 不過這個隱含的行數可以被明確設置的 -n
選項覆蓋。 注意,此選項僅可用於 less(1) 分頁器。
-n, --lines=
限制顯示最新的日誌行數。 --pager-end 與 --follow 隱含了此選項。
此選項的參數:若爲正整數則表示最大行數; 若爲 "all" 則表示不限制行數;
若不設參數則表示默認值10行。
--no-tail
顯示所有日誌行, 也就是用於撤銷已有的 --lines= 選項(即使與 -f 連用)-r, --reverse
反轉日誌行的輸出順序, 也就是最先顯示最新的日誌。
-o, --output=
控制日誌的輸出格式。 可以使用如下選項:
short
這是默認值, 其輸出格式與傳統的 syslog[1] 文件的格式相似, 每條日誌一行。
short-iso
與 short 類似,只是將時間戳字段以 ISO 8601 格式顯示。
short-precise
與 short 類似,只是將時間戳字段的秒數精確到微秒級別。
short-monotonic
與 short 類似,只是將時間戳字段的零值從內核啓動時開始計算。
short-unix
與 short 類似,只是將時間戳字段顯示爲從"UNIX時間原點"(1970-1-1 00:00:00
UTC)以來的秒數。 精確到微秒級別。
verbose
以結構化的格式顯示每條日誌的所有字段。
export
將日誌序列化爲二進制字節流(大部分依然是文本) 以適用於備份與網絡傳輸(詳見
Journal Export Format[2] 文檔)。
json
將日誌項按照JSON數據結構格式化, 每條日誌一行(詳見 Journal JSON Format[3]
文檔)。
json-pretty
將日誌項按照JSON數據結構格式化, 但是每個字段一行, 以便於人類閱讀。
json-sse
將日誌項按照JSON數據結構格式化,每條日誌一行,但是用大括號包圍, 以適應
Server-Sent Events[4] 的要求。
cat
僅顯示日誌的實際內容, 而不顯示與此日誌相關的任何元數據(包括時間戳)--utc
以世界統一時間(UTC)表示時間
--no-hostname
不顯示來源於本機的日誌消息的主機名字段。 此選項僅對 short
系列輸出格式(見上文)有效。
-x, --catalog
在日誌的輸出中增加一些解釋性的短文本, 以幫助進一步說明日誌的含義、
問題的解決方案、支持論壇、 開發文檔、以及其他任何內容。
並非所有日誌都有這些額外的幫助文本, 詳見 Message Catalog Developer
Documentation[5] 文檔。
注意,如果要將日誌輸出用於bug報告, 請不要使用此選項.
-q, --quiet
當以普通用戶身份運行時, 不顯示任何警告信息與提示信息。 例如:"-- Logs begin at
...", "-- Reboot --"
-m, --merge
混合顯示包括遠程日誌在內的所有可見日誌。
-b [ID][±offset], --boot=[ID][±offset]
顯示特定於某次啓動的日誌, 這相當於添加了一個 "_BOOT_ID=" 匹配條件。
如果參數爲空(也就是 ID 與 ±offset 都未指定), 則表示僅顯示本次啓動的日誌。
如果省略了 ID , 那麼當 ±offset 是正數的時候, 將從日誌頭開始正向查找,
否則(也就是爲負數或零)將從日誌尾開始反響查找。 舉例來說, "-b
1"表示按時間順序排列最早的那次啓動, "-b 2"則表示在時間上第二早的那次啓動; "-b
-0"表示最後一次啓動, "-b -1"表示在時間上第二近的那次啓動, 以此類推。 如果
±offset 也省略了, 那麼相當於"-b -0", 除非本次啓動不是最後一次啓動(例如用
--directory 指定了另外一臺主機上的日誌目錄)。
如果指定了32字符的 ID , 那麼表示以此 ID 所代表的那次啓動爲基準
計算偏移量(±offset), 計算方法同上。 換句話說, 省略 ID 表示以本次啓動爲基準
計算偏移量(±offset)--list-boots
列出每次啓動的 序號(也就是相對於本次啓動的偏移量)32字符的ID、
第一條日誌的時間戳、最後一條日誌的時間戳。
-k, --dmesg
僅顯示內核日誌。隱含了 -b 選項以及 "_TRANSPORT=kernel" 匹配項。
-t, --identifier=SYSLOG_IDENTIFIER
僅顯示 syslog[1] 識別符爲 SYSLOG_IDENTIFIER 的日誌項。
可以多次使用該選項以指定多個識別符。
-u, --unit=UNIT|PATTERN
僅顯示屬於特定單元的日誌。 也就是單元名稱正好等於 UNIT 或者符合 PATTERN
模式的單元。 這相當於添加了一個 "_SYSTEMD_UNIT=UNIT" 匹配項(對於 UNIT 來說),
或一組匹配項(對於 PATTERN 來說)。
可以多次使用此選項以添加多個並列的匹配條件(相當於用"OR"邏輯連接)--user-unit=
僅顯示屬於特定用戶會話單元的日誌。 相當於同時添加了 "_SYSTEMD_USER_UNIT=""_UID=" 兩個匹配條件。
可以多次使用此選項以添加多個並列的匹配條件(相當於用"OR"邏輯連接)-p, --priority=
根據日誌等級(包括等級範圍)過濾輸出結果。 日誌等級數字與其名稱之間的對應關係如下
(參見 syslog(3))"emerg" (0), "alert" (1), "crit" (2), "err" (3),
"warning" (4), "notice" (5), "info" (6), "debug" (7) 。
若設爲一個單獨的數字或日誌等級名稱, 則表示僅顯示小於或等於此等級的日誌
(也就是重要程度等於或高於此等級的日誌)。 若使用 FROM..TO.. 設置一個範圍,
則表示僅顯示指定的等級範圍內(含兩端)的日誌。 此選項相當於添加了 "PRIORITY="
匹配條件。
-c, --cursor=
從指定的遊標(cursor)開始顯示日誌。
[提示]每條日誌都有一個"__CURSOR"字段,類似於該條日誌的指紋。
--after-cursor=
從指定的遊標(cursor)之後開始顯示日誌。 如果使用了 --show-cursor 選項,
則也會顯示遊標本身。
--show-cursor
在最後一條日誌之後顯示遊標, 類似下面這樣,以"--"開頭:
-- cursor: s=0639...
遊標的具體格式是私有的(也就是沒有公開的規範), 並且會變化。
-S, --since=, -U, --until=
顯示晚於指定時間(--since=)的日誌、顯示早於指定時間(--until=)的日誌。
參數的格式類似 "2012-10-30 18:17:16" 這樣。 如果省略了"時:分:秒"部分,
則相當於設爲 "00:00:00" 。 如果僅省略了"秒"的部分則相當於設爲 ":00" 。
如果省略了"年-月-日"部分, 則相當於設爲當前日期。 除了"年-月-日 時:分:秒"格式,
參數還可以進行如下設置: (1)設爲 "yesterday", "today", "tomorrow"
以表示那一天的零點(00:00:00)(2)設爲 "now" 以表示當前時間。
(3)可以在"年-月-日 時:分:秒"前加上 "-"(前移)"+"(後移)
前綴以表示相對於當前時間的偏移。 關於時間與日期的詳細規範, 參見
systemd.time(7)
-F, --field=
顯示所有日誌中某個字段的所有可能值。 [譯者注]類似於SQL語句:"SELECT DISTINCT
某字段 FROM 全部日誌"
-N, --fields
輸出所有日誌字段的名稱
--system, --user
僅顯示系統服務與內核的日誌(--system)、 僅顯示當前用戶的日誌(--user)。
如果兩個選項都未指定,則顯示當前用戶的所有可見日誌。
-M, --machine=
顯示來自於正在運行的、特定名稱的本地容器的日誌。 參數必須是一個本地容器的名稱。
-D DIR, --directory=DIR
僅顯示來自於特定目錄中的日誌, 而不是默認的運行時和系統日誌目錄中的日誌。
--file=GLOB
GLOB 是一個可以包含"?""*"的文件路徑匹配模式。 表示僅顯示來自與指定的 GLOB
模式匹配的文件中的日誌, 而不是默認的運行時和系統日誌目錄中的日誌。
可以多次使用此選項以指定多個匹配模式(多個模式之間用"OR"邏輯連接)--root=ROOT
在對日誌進行操作時, 將 ROOT 視爲系統的根目錄。 例如 --update-catalog 將會創建
ROOT/var/lib/systemd/catalog/database
--new-id128
此選項並不用於顯示日誌內容, 而是用於重新生成一個標識日誌分類的 128-bit ID 。
此選項的目的在於 幫助開發者生成易於辨別的日誌消息, 以方便調試。
--header
此選項並不用於顯示日誌內容, 而是用於顯示日誌文件內部的頭信息(類似於元數據)--disk-usage
此選項並不用於顯示日誌內容,
而是用於顯示所有日誌文件(歸檔文件與活動文件)的磁盤佔用總量。
--vacuum-size=, --vacuum-time=, --vacuum-files=
這些選項並不用於顯示日誌內容,
而是用於清理日誌歸檔文件(並不清理活動的日誌文件), 以釋放磁盤空間。
--vacuum-size= 可用於限制歸檔文件的最大磁盤使用量 (可以使用 "K", "M", "G", "T"
後綴)--vacuum-time= 可用於清除指定時間之前的歸檔 (可以使用 "s", "m", "h",
"days", "weeks", "months", "years" 後綴)--vacuum-files=
可用於限制日誌歸檔文件的最大數量。 注意,--vacuum-size=--disk-usage
的輸出僅有間接效果, 因爲 --disk-usage 輸出的是歸檔日誌與活動日誌的總量。
同樣,--vacuum-files= 也未必一定會減少日誌文件的總數,
因爲它同樣僅作用於歸檔文件而不會刪除活動的日誌文件。
此三個選項可以同時使用,以同時從三個維度去限制歸檔文件。
若將某選項設爲零,則表示取消此選項的限制。
--list-catalog [128-bit-ID...]
簡要列出日誌分類信息, 其中包括對分類信息的簡要描述。
如果明確指定了分類ID(128-bit-ID), 那麼僅顯示指定的分類。
--dump-catalog [128-bit-ID...]
詳細列出日誌分類信息 (格式與 .catalog 文件相同)。
如果明確指定了分類ID(128-bit-ID), 那麼僅顯示指定的分類。
--update-catalog
更新日誌分類索引二進制文件。
每當安裝、刪除、更新了分類文件,都需要執行一次此動作。
--setup-keys
此選項並不用於顯示日誌內容, 而是用於生成一個新的FSS(Forward Secure
Sealing)密鑰對。 此密鑰對包含一個"sealing key"與一個"verification key""sealing key"保存在本地日誌目錄中, 而"verification key"則必須保存在其他地方。
詳見 journald.conf(5) 中的 Seal= 選項。
--force
與 --setup-keys 連用, 表示即使已經配置了FSS(Forward Secure Sealing)密鑰對,
也要強制重新生成。
--interval=--setup-keys 連用,指定"sealing key"的變化間隔。
較短的時間間隔會導致佔用更多的CPU資源, 但是能夠減少未檢測的日誌變化時間。
默認值是 15min
--verify
檢查日誌文件的內在一致性。 如果日誌文件在生成時開啓了FSS特性, 並且使用
--verify-key= 指定了FSS的"verification key",
那麼,同時還將驗證日誌文件的真實性。
--verify-key=--verify 選項連用, 指定FSS的"verification key"
--sync
要求日誌守護進程將所有未寫入磁盤的日誌數據刷寫到磁盤上,
並且一直阻塞到刷寫操作實際完成之後才返回。 因此該命令可以保證當它返回的時候,
所有在調用此命令的時間點之前的日誌, 已經全部安全的刷寫到了磁盤中。
--flush
要求日誌守護進程 將 /run/log/journal 中的日誌數據 刷寫到 /var/log/journal 中
(如果持久存儲設備當前可用的話)。 此操作會一直阻塞到操作完成之後纔會返回,
因此可以確保在該命令返回時, 數據轉移確實已經完成。
注意,此命令僅執行一個單獨的、一次性的轉移動作, 若沒有數據需要轉移,
則此命令什麼也不做, 並且也會返回一個表示操作已正確完成的返回值。
--rotate
要求日誌守護進程滾動日誌文件。 此命令會一直阻塞到滾動完成之後纔會返回。
-h, --help
顯示簡短的幫助信息並退出。
--version
顯示簡短的版本信息並退出。
--no-pager
不將程序的輸出內容管道(pipe)給分頁程序
發佈了107 篇原創文章 · 獲贊 20 · 訪問量 6375
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章