iT邦幫忙

2025 iThome 鐵人賽

DAY 6
1

嗨!歡迎回到上班族的命令列生存手冊,事不遲疑直接進入業配主題,現在我們只會安裝套件,然後… 就沒有然後了。雖然裝東西很酷,但就只是一台沒有發動引擎的藍寶堅尼,大家是不是已經迫不及待想要發動了呢?

首先,你需要知道的是三劍客— lscdcat,基本上,只要了解這三個指令,就像有了手電筒,可以開始探索這個世界了。為了滿足你想開車的衝動,先告訴你三劍客分別有什麼作用,我們再來好好的了解他們。

基礎三劍客

  • ls:告訴我們目前資料夾有什麼東西,用法是 $ ls
  • cd:切換目前的資料夾,用法是 $ cd <目錄>
  • cat:不是動物,他可以印出檔案的文字內容,用法是 $ cat <檔案>

都交給你了!接下來讓我們好好來看看第一位 ls 怎麼用吧?

ls

ls 就是 list 的意思,用來列出某種列表。

https://ithelp.ithome.com.tw/upload/images/20250920/201416151CWyjUhhln.png

就直接輸入 ls 吧。你會發現這個資料夾(也就是目錄)下的檔案,資料夾會被列出來。
如果你用過 MS-DOS 這個指令就相對於 DOS 的 dir。 通常來說,指令後面常常可以加上其他的選項,讓指令有多種表現方式,或是執行稍微不同的功能。 例如,如果你輸入 ls -1,他會直向的列印出來,以下介紹各個不同的功能。

https://ithelp.ithome.com.tw/upload/images/20250920/20141615MX03S4iAFl.png

$ ls -1

ls 本來是平鋪,這個可以讓他直直的印出來。

https://ithelp.ithome.com.tw/upload/images/20250920/20141615zTSnosxYxU.png

$ ls -a

印出所有檔案、資料夾,你會注意到有些點開頭的資料夾或檔案,例如:.bashrc 之類的,只要加上 -a 就會印出所有的檔案。
在 macOS 或 Linux 之中,點開頭的檔案、資料夾,視為隱藏的檔案。

指令可以疊加

https://ithelp.ithome.com.tw/upload/images/20250920/20141615XSXZqlwJI6.png

$ ls -1a

不只粒子可以疊加,指令也可以疊加。例如上面提到的,只要結合 -1-a 就可以直直的印出來。
雖然不是全部的都能這樣混著使用,別忘了發揮想像力,也許會有意想不到的效果。

其他指令

https://ithelp.ithome.com.tw/upload/images/20250920/20141615OlzbYY2Hpq.png

$ ls -l

是 l 不是 1 ,這個指令會印更多的資訊出來,稱為 Long Format ,他顯示了:

  • 看起來像是亂碼的東西,實際上是「權限」,這個後面會再講到
  • 一個數字,這是 Hard Link Count (硬連結數量),也是之後再來說明
  • 帳號名,這是檔案的擁有者帳號
  • 另一個帳號名,這是擁有者群組名稱,別忘了 Linux 是多使用者的作業系統,可以幫各個使用者分群
  • 又一個數字,這是檔案大小,通常以位元組為單位
  • 這是修改日期和時間,檔案最後一次被修改的時間
  • 檔名,檔案或資料夾的名稱

https://ithelp.ithome.com.tw/upload/images/20250920/20141615bnYGPdAcmu.png

$ ls -lh

從 Long Format 知道,檔案大小是用位元組表示。只要加上 -h 就會變成人讀的懂 (human readable) 的版本,像是 GB、KB… 等。

https://ithelp.ithome.com.tw/upload/images/20250920/20141615bG5XVhjYl1.png

$ ls -t

用修改日期來排序結果列表,預設是由新到舊,這個指令可以結合其他的指令。例如 $ls -lt 可以由新到就排序 Long Format 結果。
加上 r 則可以反轉排序結果:$ls -ltr

https://ithelp.ithome.com.tw/upload/images/20250920/20141615ISlT8gMoQk.png

$ ls -S

加上大寫的 S 則是用檔案大小來排列,預設是「由大到小」排列,這個指令也可以結合其他的指令,如同上面提到的整合 l 可以輸出依照檔案大小排列的 Long Format:$ ls -Sl

一樣可以用 r 反轉,變成檔案大小由小到大排列: $ ls -Sr。這個指令預設顯示是位元組,加上 h 就可以轉換成常見的 KB, GB 等 human readable 數值。

image009.gif

$ ls <路徑>

ls 不只可以看目前資料夾的內容,也可以看任何給他的路徑內容。例如,目前資料夾有一個子資料夾 firefoxfirefox
還有 140esr,我們能直接穿牆去看 140esr 的內容,像這樣:$ ls firefox/140esr/。另外想補充類似這個範例的路徑,比如說我們正在打到 $ ls fire 如果這個目錄就有 firefox 資料夾則我們不必一個一個鍵入,直接按下 tab 鍵就能自動補完啦。

https://ithelp.ithome.com.tw/upload/images/20250920/20141615US3s4v8kGq.png

$ ls ..

而用 .. 可以看到「上一個目錄」的內容。

Fun tips

指令的歷史紀錄

在啥都不做的情況之下,按下「上」鍵,就會把我們鍵入過的指令一個一個檢視出來。另外各個區塊都可以嘗試按下「上」來取得之前的紀錄,例如想找 ls 用過了什麼操作:

image011.gif

$ ls

接著按「上」,就能把 ls 做過的事情都順過一次。最棒的是這招在指令輸入框,無論你打到哪裡都可以嘗試用「上」來補完曾經打過的內容。

知道怎麼列出目錄的檔案之後,下一步就是繼續往深處探索,再繼續和各位介紹 cd 指令,還會講到路徑相關的議題。


上一篇
Day05 熟悉環境篇:你說的好物,怎麼安裝?
系列文
上班族的命令列 (CLI) 生存手冊6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言