mirror of
https://github.com/linux-odyssey/linux-odyssey.git
synced 2026-11-05 19:20:12 +08:00
feat: finish tab quest
This commit is contained in:
1 parent
b74866e50f
commit
bdb7def73a
8 files changed
+223
-12
No files matched your search
+159
-1
@@ -33,6 +33,164 @@ stages:
|
||||
- start
|
||||
condition:
|
||||
command:
|
||||
- ^never$
|
||||
- ^ls$
|
||||
responses:
|
||||
- content: |
|
||||
你看到了這個資料夾中充滿了超級長和有錯字的檔案名稱,如果這些都要我們一個一個字輸入,肯定會很痛苦。
|
||||
但不要緊,只要使用自動補全,檔名不論多長都能輕鬆輸入。
|
||||
|
||||
使用自動補全的方法是,**先輸入部分的檔名,再按下 Tab**
|
||||
(Tab 是 Q 左邊的按鍵)
|
||||
例如要補全 `SuperSecretPlansForWorldDomination.txt`,你可以先輸入 `Su` 再按下 Tab,終端機就會幫你打完剩下的檔名了。
|
||||
|
||||
我們試看看印出 `SuperSecretPlansForWorldDomination.txt` 這個檔案的內容。
|
||||
|
||||
hints:
|
||||
- ➤ 使用 `cat SuperSecretPlansForWorldDomination.txt` 來印出檔案內容
|
||||
- ➤ 在輸入 `cat Su` 之後按下 Tab 來自動補全檔名,完成後按 Enter 就能執行指令
|
||||
|
||||
- id: cat_super_secret
|
||||
task: 使用 `cat` 印出 SuperSecretPlansForWorldDomination.txt 的內容
|
||||
requirements:
|
||||
- ls
|
||||
condition:
|
||||
pwd:
|
||||
- ^/home/commander$
|
||||
command:
|
||||
- ^cat SuperSecretPlansForWorldDomination.txt$
|
||||
responses:
|
||||
- content: |
|
||||
你看到了終端機自動幫你補全了 `SuperSecretPlansForWorldDomination.txt`,就算是很長的檔名,也不用怕打錯字。
|
||||
開頭不論你打了幾個字都無所謂,你可以只打 `S`、`Su`、`Sup`、`Super` 或甚至完全不打字都沒關係。
|
||||
但是你打的字越少,就越容易跟其他的檔案重複,這時候就要做衝突處理。
|
||||
關於衝突處理,我們會在待會練習。
|
||||
|
||||
自動補全也可以用來對付拼字錯誤,像是 `ThsisAFlieNmaeWthAloOfTpyosThatisRleayHdToRaed.txt` 這個檔案充滿了錯字,任誰來打都難保不會失手。
|
||||
這一次,請你一樣用 `cat` 來試著印出 `ThsisAFlieNmaeWthAloOfTpyosThatisRleayHdToRaed.txt` 的內容。
|
||||
|
||||
hints:
|
||||
- ➤ 輸入 `cat ThsisAFlieNmaeWthAloOfTpyosThatisRleayHdToRaed.txt` 來印出檔案內容
|
||||
- ➤ 輸入 `cat Thsi` 之後按下 Tab 做自動補全
|
||||
- ➤ 試試看輸入更少的字元就按 Tab 會有什麼樣的結果
|
||||
|
||||
- id: cat_typo
|
||||
task: 使用 `cat` 印出 ThsisAFlieNmaeWthAloOfTpyosThatisRleayHdToRaed.txt 的內容
|
||||
requirements:
|
||||
- cat_super_secret
|
||||
condition:
|
||||
pwd:
|
||||
- ^/home/commander$
|
||||
command:
|
||||
- ^cat ThsisAFlieNmaeWthAloOfTpyosThatisRleayHdToRaed.txt$
|
||||
responses:
|
||||
- content: |
|
||||
你看到了這個充滿錯字的檔案了。
|
||||
只要使用自動補全,不管是錯字、大小寫變化、還是隨機亂碼都不再是困擾了。
|
||||
讓我們再練習一個,這次請你查看 `ThingsIWillOrganizeLaterWhenIHaveTime` 資料夾中的檔案。
|
||||
一樣,輸入前幾個字,然後按 Tab 自動補全。
|
||||
|
||||
hints:
|
||||
- ➤ 輸入 `ls ThingsIWillOrganizeLaterWhenIHaveTime` 查看資料夾中的檔案
|
||||
- ➤ 輸入 `ls Thing` 之後按下 Tab 做自動補全
|
||||
|
||||
- id: ls_things
|
||||
task: 使用 `ls` 查看 ThingsIWillOrganizeLaterWhenIHaveTime 資料夾中的檔案
|
||||
requirements:
|
||||
- cat_typo
|
||||
condition:
|
||||
pwd:
|
||||
- ^/home/commander$
|
||||
command:
|
||||
- ^ls ThingsIWillOrganizeLaterWhenIHaveTime$
|
||||
responses:
|
||||
- content: |
|
||||
你看到了這個資料夾裡有著三個檔案:一個如何做三明治的教學跟兩個在半夜隨機下載的東西。
|
||||
假如我們要打開三明治教學 `HowToProperlyMakeASandwich.txt`,但是它位在資料夾中,我們沒辦法只按一次 Tab 就補全它的檔名。
|
||||
這次我們就要來練習使用**連續的自動補全**。
|
||||
|
||||
像這樣檔案位在其他資料夾的情況,我們只要先輸入資料夾名稱的開頭,按一次 Tab,再輸入檔案的開頭,再按一次 Tab,就能夠補全 `資料夾/檔名` 了。
|
||||
而且當你補全的對象是資料夾時,終端機還會自動幫你在結尾加上 `/`,省去你自己輸入的時間。
|
||||
那麼我們就來打開 `HowToProperlyMakeASandwich.txt`。
|
||||
|
||||
hints:
|
||||
- ➤ 輸入 `cat ThingsIWillOrganizeLaterWhenIHaveTime/HowToProperlyMakeASandwich.txt` 來印出檔案內容
|
||||
- ➤ 先輸入 `cat Thin` 按 Tab 補全至 `cat ThingsIWillOrganizeLaterWhenIHaveTime/`
|
||||
- ➤ 再輸入 `cat ThingsIWillOrganizeLaterWhenIHaveTime/How` 按 Tab 補全至完整路徑
|
||||
|
||||
- id: cat_sandwich
|
||||
task: 使用 `cat` 印出 ThingsIWillOrganizeLaterWhenIHaveTime/HowToProperlyMakeASandwich.txt 的內容
|
||||
requirements:
|
||||
- ls_things
|
||||
condition:
|
||||
command:
|
||||
- ^cat ThingsIWillOrganizeLaterWhenIHaveTime/HowToProperlyMakeASandwich.txt$
|
||||
responses:
|
||||
- content: |
|
||||
你看到了這份嚴謹的三明治製作教學。
|
||||
那我們剩下來要看的就是資料夾裡的兩個檔案:`RandomStuffThatIDownloadedAt3AM.txt` 和 `RandomStuffThatIDownloadedAt4AM.txt`
|
||||
兩個檔名非常相似,只有最後一個是 3AM 另一個是 4AM。
|
||||
這樣我們只打前面幾個字的時候,沒有辦法分辦到底選的是哪一個檔案。
|
||||
這就是**發生衝突**。
|
||||
|
||||
遇到衝突的解決方法,其實跟使用資料夾是一樣的。
|
||||
在輸入 `Ran` 按下 Tab 後,終端機會補全到衝突發生前的位置,也就是 `RandomStuffThatIDownloadedAt`。
|
||||
我們只要根據我們想開啟的檔案,輸入 `3` 或是 `4`,再按一下 Tab,就能夠補全剩下的檔名了。
|
||||
|
||||
_如果我們把完整的路徑視作補全的對象,那資料夾其實就是一種衝突的情況。_
|
||||
|
||||
hints:
|
||||
- ➤ 輸入 `cat ThingsIWillOrganizeLaterWhenIHaveTime/RandomStuffThatIDownloadedAt3AM.txt` 來印出檔案內容
|
||||
- ➤ 先輸入 `cat Thin` 按 Tab 補全至 `cat ThingsIWillOrganizeLaterWhenIHaveTime/`
|
||||
- ➤ 再接續輸入 `Ran` 按 Tab 補全至 `cat ThingsIWillOrganizeLaterWhenIHaveTime/RandomStuffThatIDownloadedAt`
|
||||
- ➤ 再接續輸入 `3` 後按 Tab 補全至完整的路徑。
|
||||
|
||||
- id: cat_3am
|
||||
task: 使用 `cat` 印出 ThingsIWillOrganizeLaterWhenIHaveTime/RandomStuffThatIDownloadedAt3AM.txt 的內容
|
||||
requirements:
|
||||
- cat_sandwich
|
||||
condition:
|
||||
pwd:
|
||||
- ^/home/commander$
|
||||
command:
|
||||
- ^cat ThingsIWillOrganizeLaterWhenIHaveTime/RandomStuffThatIDownloadedAt3AM.txt$
|
||||
responses:
|
||||
- content: |
|
||||
你看到了一份凌晨三點下載的檔案列表。嗯…我今天網路用的夠多了。
|
||||
最後留下一個挑戰給你,請先進入到 `ThingsIWillOrganizeLaterWhenIHaveTime` 資料夾後,再印出 `RandomStuffThatIDownloadedAt4AM.txt`。
|
||||
練習使用今天教的自動補全來完成任務。
|
||||
|
||||
hints:
|
||||
- ➤ 先使用 `cd` 進入 ThingsIWillOrganizeLaterWhenIHaveTime 資料夾
|
||||
- ➤ 再使用 `cat` 印出 RandomStuffThatIDownloadedAt4AM.txt 的內容
|
||||
- ➤ 記得使用 Tab 自動補全來節省時間和避免錯誤
|
||||
|
||||
- id: cd_things
|
||||
task: 使用 `cd` 進入 ThingsIWillOrganizeLaterWhenIHaveTime 資料夾
|
||||
requirements:
|
||||
- cat_3am
|
||||
condition:
|
||||
pwd:
|
||||
- ^/home/commander/ThingsIWillOrganizeLaterWhenIHaveTime$
|
||||
responses:
|
||||
- content: |
|
||||
很好,你已經成功進入 ThingsIWillOrganizeLaterWhenIHaveTime 資料夾了。
|
||||
現在請使用 `cat` 指令來印出 RandomStuffThatIDownloadedAt4AM.txt 的內容。
|
||||
記得運用 Tab 自動補全功能!
|
||||
|
||||
- id: END
|
||||
task: 使用 `cat` 印出 RandomStuffThatIDownloadedAt4AM.txt 的內容
|
||||
requirements:
|
||||
- cd_things
|
||||
condition:
|
||||
pwd:
|
||||
- ^/home/commander/ThingsIWillOrganizeLaterWhenIHaveTime$
|
||||
command:
|
||||
- ^cat RandomStuffThatIDownloadedAt4AM.txt$
|
||||
responses:
|
||||
- content: |
|
||||
恭喜你!你已經成功完成了所有的任務,並且熟練地運用了 Tab 自動補全功能。
|
||||
這個技能將會在你未來的終端機操作中帶來極大的便利。
|
||||
記住,不論是長檔名、複雜路徑,還是難以拼寫的檔案名稱,Tab 自動補全都是你的好幫手!
|
||||
|
||||
hints:
|
||||
- ➤ 你已經完成了所有任務!可以繼續探索或是結束這個關卡。
|
||||
@@ -0,0 +1,9 @@
|
||||
如何"正確"製作一個三明治:
|
||||
|
||||
1. 用力拍醒你的麵包。它們整天都在發懶!
|
||||
2. 仔細選擇配料,確保每種都有自己的個性。例如,挑選一片特別愛說笑話的火腿。
|
||||
3. 用尺精確測量每片配料的厚度,誤差不得超過1毫米。
|
||||
4. 在組裝三明治時,必須戴上白手套和實驗室防護鏡,以確保最高級別的衛生。
|
||||
5. 完成後,用放大鏡仔細檢查每一寸三明治,確保完美無缺。
|
||||
|
||||
記住:製作三明治是一門精確的科學,絕不容許有任何差錯或創意!
|
||||
-2
@@ -3,5 +3,3 @@
|
||||
1. 一個可以把所有食物變成披薩的魔法棒設計圖
|
||||
2. 如何在五分鐘內學會十種外星語言的秘密指南
|
||||
3. 用舊襪子製作時尚帽子的教程視頻(連結已失效)
|
||||
|
||||
這些東西有什麼用處?
|
||||
-2
@@ -3,5 +3,3 @@
|
||||
1. 一份詳細解釋為什麼貓咪才是地球真正統治者的論文
|
||||
2. 如何用口香糖和迴紋針修理國際太空站的WikiHow頁面
|
||||
3. 訓練水母成為水下偵探的完整課程大綱
|
||||
|
||||
這些東西有什麼用處?
|
||||
@@ -0,0 +1,3 @@
|
||||
Congrats! You fond a flie namd by somone who cleerly had a strok. If you can raed this, you mght be a geenius or jsut realy gud at Wheel of Fortnue.
|
||||
|
||||
Remeber: freinds don't let freinds name files aftr drinkng too much. But hey, at lest you used tab compltion to get here!
|
||||
Whitespace-only changes.
@@ -1,2 +0,0 @@
|
||||
你被騙了!
|
||||
它不是 hello,而是 he "ii" o
|
||||
+52
-5
@@ -11,7 +11,7 @@
|
||||
|
||||
在終端機裡,所有的操作都是用文字進行。
|
||||
然而,打字很花時間,而且只要一個字打錯,指令就會執行失敗。
|
||||
因些終端機提供「自動補全」的功能,自動幫你完成檔案路徑、指令名稱、參數名稱,節省你的時間,也避免輸入錯誤。
|
||||
因此終端機提供「自動補全」的功能,自動幫你完成檔案路徑、指令名稱、參數名稱,節省你的時間,也避免輸入錯誤。
|
||||
|
||||
在開始練習之前,我們先來看看家目錄下有哪些檔案。
|
||||
|
||||
@@ -38,11 +38,58 @@
|
||||
但是你打的字越少,就越容易跟其他的檔案重複,這時候就要做衝突處理。
|
||||
關於衝突處理,我們會在待會練習。
|
||||
|
||||
讓我們再練習一個,這次請你查看 `ThingsIWillOrganizeLaterWhenIHaveTime` 資料夾中的檔案。
|
||||
一樣,輸入前幾個字,然後按 Tab 自動補全。
|
||||
自動補全也可以用來對付拼字錯誤,像是 `ThsisAFlieNmaeWthAloOfTpyosThatisRleayHdToRaed.txt` 這個檔案充滿了錯字,任誰來打都難保不會失手。
|
||||
這一次,請你一樣用 `cat` 來試著印出 `ThsisAFlieNmaeWthAloOfTpyosThatisRleayHdToRaed.txt` 的內容。
|
||||
|
||||
> 輸入 `ls ThingsIWillOrganizeLaterWhenIHaveTime` 進入到該資料夾
|
||||
> 輸入 `ls Thing` 之後按下 Tab 做自動補全
|
||||
> 輸入 `cat ThsisAFlieNmaeWthAloOfTpyosThatisRleayHdToRaed.txt` 來印出檔案內容
|
||||
> 輸入 `cat Thsi` 之後按下 Tab 做自動補全
|
||||
> 試試看輸入更少的字元就按 Tab 會有什麼樣的結果
|
||||
|
||||
---
|
||||
|
||||
你看到了這個充滿錯字的檔案了。
|
||||
只要使用自動補全,不管是錯字、大小寫變化、還是隨機亂碼都不再是困擾了。
|
||||
讓我們再練習一個,這次請你查看 `ThingsIWillOrganizeLaterWhenIHaveTime` 資料夾中的檔案。
|
||||
一樣,輸入前幾個字,然後按 Tab 自動補全。
|
||||
|
||||
> 輸入 `ls ThingsIWillOrganizeLaterWhenIHaveTime` 查看資料夾中的檔案
|
||||
> 輸入 `ls Thing` 之後按下 Tab 做自動補全
|
||||
|
||||
---
|
||||
|
||||
你看到了這個資料夾裡有著三個檔案:一個如何做三明治的教學跟兩個在半夜隨機下載的東西。
|
||||
假如我們要打開三明治教學 `HowToProperlyMakeASandwich.txt`,但是它位在資料夾中,我們沒辦法只按一次 Tab 就補全它的檔名。
|
||||
這次我們就要來練習使用**連續的自動補全**。
|
||||
|
||||
像這樣檔案位在其他資料夾的情況,我們只要先輸入資料夾名稱的開頭,按一次 Tab,再輸入檔案的開頭,再按一次 Tab,就能夠補全 `資料夾/檔名` 了。
|
||||
而且當你補全的對象是資料夾時,終端機還會自動幫你在結尾加上 `/`,省去你自己輸入的時間。
|
||||
那麼我們就來打開 `HowToProperlyMakeASandwich.txt`。
|
||||
|
||||
> 輸入 `cat ThingsIWillOrganizeLaterWhenIHaveTime/HowToProperlyMakeASandwich.txt` 來印出檔案內容
|
||||
> 先輸入 `cat Thin` 按 Tab 補全至 `cat ThingsIWillOrganizeLaterWhenIHaveTime/`
|
||||
> 再輸入 `cat ThingsIWillOrganizeLaterWhenIHaveTime/How` 按 Tab 補全至完整路徑
|
||||
|
||||
---
|
||||
|
||||
你看到了這份嚴謹的三明治製作教學。
|
||||
那我們剩下來要看的就是資料夾裡的兩個檔案:`RandomStuffThatIDownloadedAt3AM.txt` 和 `RandomStuffThatIDownloadedAt4AM.txt`
|
||||
兩個檔名非常相似,只有最後一個是 3AM 另一個是 4AM。
|
||||
這樣我們只打前面幾個字的時候,沒有辦法分辦到底選的是哪一個檔案。
|
||||
這就是**發生衝突**。
|
||||
|
||||
遇到衝突的解決方法,其實跟使用資料夾是一樣的。
|
||||
在輸入 `Ran` 按下 Tab 後,終端機會補全到衝突發生前的位置,也就是 `RandomStuffThatIDownloadedAt`。
|
||||
我們只要根據我們想開啟的檔案,輸入 `3` 或是 `4`,再按一下 Tab,就能夠補全剩下的檔名了。
|
||||
|
||||
_如果我們把完整的路徑視作補全的對象,那資料夾其實就是一種衝突的情況。_
|
||||
|
||||
> 輸入 `cat ThingsIWillOrganizeLaterWhenIHaveTime/RandomStuffThatIDownloadedAt3AM.txt` 來印出檔案內容
|
||||
> 先輸入 `cat Thin` 按 Tab 補全至 `cat ThingsIWillOrganizeLaterWhenIHaveTime/`
|
||||
> 再接續輸入 `Ran` 按 Tab 補全至 `cat ThingsIWillOrganizeLaterWhenIHaveTime/RandomStuffThatIDownloadedAt`
|
||||
> 再接續輸入 `3` 後按 Tab 補全至完整的路徑。
|
||||
|
||||
---
|
||||
|
||||
你看到了一份凌晨三點下載的檔案列表。嗯…我今天網路用的夠多了。
|
||||
最後留下一個挑戰給你,請先進入到 `ThingsIWillOrganizeLaterWhenIHaveTime` 資料夾後,再印出 `RandomStuffThatIDownloadedAt4AM.txt`。
|
||||
練習使用今天教的自動補全來完成任務。
|
||||
Reference in new issue
Block a user