ls 指令進階用法

自訂時間輸出格式

ls 可以允許使用者自訂輸出的時間格式,而指定時間格式的方式有兩種,一種是使用 --time-style 參數:

ls -l --time-style=full-iso
linux-ls-command-14

ls -l --time-style=full-iso 指令輸出

--time-style 參數所支援的選項有:

選項 說明
full-iso 例如 2015-07-20 04:36:03.000000000 +0800
long-iso 例如 2015-07-20 04:36
iso 例如 04-15 14:232015-07-20
locale 例如 7月 20

另外也可以使用 +FORMAT 這種樣板來指定時間格式,其使用方式與 date 指令所使用的樣板相同,以下是一些使用範例。

樣板 輸出範例
+%Y/%m/%d 2016/06/12
+"%Y-%m-%d %H:%M" 2016-06-12 05:59
+%r 上午 11時16分28秒

關於樣板的使用,請參考 date 指令線上手冊(man page)。

自訂檔案輸出格式

ls 允許使用者更改預設檔案輸出的排版方式,例如改用逗點分隔的方式輸出:

ls --format=commas
linux-ls-command-15

ls --format=commas 指令輸出

以下是 --format 支援的選項:

  • verboselong,等同於 -l
  • commas,等同於 -m
  • horizontalacross,等同於 -x
  • vertical,等同於 -C
  • single-column,等同於 -1

自訂排序方式

--sort 可以用來指定檔案的排序方式,例如根據檔案的副檔名排序:

ls --sort=extension
linux-ls-command-16

ls --sort=extension 指令輸出

以下是 --format 支援的選項:

  • none:不排序,等同於 -U
  • size:根據檔案大小排序,等同於 -S
  • time:根據檔案時間排序,等同於 -t
  • version:根據檔名中的版本號碼排序,等同於 -v
  • extension:根據檔案的副檔名排序,等同於 -X

指定輸出版面寬度

--width 參數可以指定輸出的版面寬度,例如將輸出版面指定為 60 個字元寬:

ls --width=60
linux-ls-command-17

ls --width=60 指令輸出

隱藏備份檔

Linux 上許多的文字編輯器都有自動備份的功能,在使用者更改檔案內容之後,編輯器會自動將舊的檔案內容另存一個備份檔,而備份檔的檔名即為原檔名外加一個 ~ 符號。若不想在執行 ls 時看到一大堆備份檔,可以加上 -B 參數:

ls -B

linux-ls-command-18

加入 -B 參數之後,所有 ~ 結尾的檔案都不會被顯示出來,可讓畫面更簡潔。

顏色輸出

--color 參數可以調整檔案輸出時是否要加上顏色,若不想加入顏色,可以執行:

ls --color=never
linux-ls-command-19

ls --color=never 指令輸出

可用的選項有:

  • always:加入顏色。
  • never:不加入顏色。
  • auto:自動判定是否加入顏色。

在預設的情況下 ls 都會自動加入顏色(always),若設為 auto 的話,ls 只有在終端機輸出時才會加入顏色。

參考資料:TecmintTecmintTecmint