附錄練習 5 切換目錄 (cd)
在這個練習中,你將學習如何使用 cd
命令從一個目錄切換到另一個目錄。
55.6.1 跟我做
在這部分練習中我會再給你一次指導說明:
- 不用輸入
$
(Unix 系統)或者>
(Windows 系統)。- 你輸入
$
或者>
后面的內容,然后回車。比如如果我寫的是$ cd
,你就只用輸入cd
然后回車就行。- 回車之后你會在
$
或者>
之后看到你的輸出結果。- 每次練習之前要先用
pwd
和cd ~
回到 home,回到你最開始的地方。
Linux/macOS
練習 5 會話
$ cd temp
$ pwd
~/temp
$ cd stuff
$ pwd
~/temp/stuff
$ cd things
$ pwd
~/temp/stuff/things
$ cd orange/
$ pwd
~/temp/stuff/things/orange
$ cd apple/
$ pwd
~/temp/stuff/things/orange/apple
$ cd pear/
$ pwd
~/temp/stuff/things/orange/apple/pear
$ cd grape/
$ pwd
~/temp/stuff/things/orange/apple/pear/grape
$ cd ..
$ cd ..
$ pwd
~/temp/stuff/things/orange/apple
$ cd ..
$ cd ..
$ pwd
~/temp/stuff/things
$ cd ../../..
$ pwd
~/
$ cd temp/stuff/things/orange/apple/pear/grape
$ pwd
~/temp/stuff/things/orange/apple/pear/grape
$ cd ../../../../../../../
$ pwd
~/
$
Windows
練習 5 Windows 會話
> cd temp
> pwd
Path
----
C:\Users\zed\temp
> cd stuff
> pwd
Path
----
C:\Users\zed\temp\stuff
> cd things
> pwd
Path
----
C:\Users\zed\temp\stuff\things
> cd orange
> pwd
Path
----
C:\Users\zed\temp\stuff\things\orange
> cd apple
> pwd
Path
----
C:\Users\zed\temp\stuff\things\orange\apple
> cd pear
> pwd
Path
----
C:\Users\zed\temp\stuff\things\orange\apple\pear
> cd grape
> pwd
Path
----
C:\Users\zed\temp\stuff\things\orange\apple\pear\grape
> cd ..
> cd ..
> cd ..
> pwd
Path
----
C:\Users\zed\temp\stuff\things\orange
> cd ../..
> pwd
Path
----
C:\Users\zed\temp\stuff
> cd ..
> cd ..
> cd temp/stuff/things/orange/apple/pear/grape
> cd ../../../../../../../
> pwd
Path
----
C:\Users\zed
>
55.6.2 你學到的
你已經在上一個練習中創建了以上這些目錄,你剛才只是用 cd
命令在這些目錄之間來回移動,同時在練習中我還用了 pwd
命令來看自己當前所處的位置,所以別把 pwd
輸出的內容當作命令輸入進去。例如,在第三行,你看到 ~/temp
,但那只是 pwd
命令的輸出結果,不要把它作為你要輸入的內容。
你還應該看到我如何使用 ..
命令來沿著路徑向上。
55.6.3 附加練習
在一個擁有圖形用戶界面(graphical user interface,GUI) 的電腦上學習命令行界面(command line interface,CLI) 的一個非常重要的事情就是要明白它們是如何一起工作的。我最早開始使用計算機的時候還沒有 GUI,我們在 DOS 界面上進行所有的操作。后來,當計算機變成強大的圖形界面時,我很容易就能把一些 CLI 的目錄和 GUI上面的目錄和 GUI 的窗口和文件夾對應上。
然而如今大多數人對 CLI、路徑和目錄毫無概念。事實上,也很難教會他們。唯一可能的辦法就是持續地去用 CLI,直到有一天你用起 CLI 來會跟 GUI 一樣自然流暢。
這就需要你花時間去尋找 GUI 下文件查看器里的目錄,然后在 CLI 下切換到這些目錄。以下是你接下來要做的:
- 用一個命令切換到
apple
目錄下。- 用一個命令切換回
temp
目錄,但不是續著上一步來做。- 試試如何用一個命令切換到你的“home 目錄”。
- 切換到你的 Document 目錄下,然后用 GUI 下的文件查看器找到它。(MacOS 下是 Finder,Windows 下是文件資源管理器,即“我的電腦”或“計算機”)
- 切換到你的 Downloads 目錄,然后用你的文件瀏覽器找到它。
- 用你的文件瀏覽器找到其他目錄,然后在 CLI 下切換到該目錄。
- 還記得你給目錄名加過引號嗎?你也可以在命令中加入引號,比如,如果你有一個目錄是
I Have Fun
,然后你可以輸入:cd "I Have Fun"
。
附錄練習 6 列示目錄 (ls)
在這個練習中你將學習如何用 ls
命令列示一個目錄中的內容。
55.7.1 跟我做
在你開始之前,確保你回到 temp 的上一層目錄。如果你不知道你在哪兒,用 pwd
來查看,然后切換到要求的地方。
Linux/macOS
練習 6 會話
$ cd temp
$ ls stuff
$ cd stuff
$ ls things
$ cd things
$ ls orange
$ cd orange
$ ls apple
$ cd apple
$ ls pear
$ cd pear
$ ls
$ cd grape
$ ls
$ cd ..
$ ls grape
$ cd ../../../
$ ls orange
$ cd ../../
$ ls stuff
$
Windows
練習 6 Windows 會話
> cd temp
> ls
Directory: C:\Users\zed\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/17/2011 9:03 AM stuff
> cd stuff
> ls
Directory: C:\Users\zed\temp\stuff
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/17/2011 9:03 AM things
> cd things
> ls
Directory: C:\Users\zed\temp\stuff\things
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/17/2011 9:03 AM orange
> cd orange
> ls
Directory: C:\Users\zed\temp\stuff\things\orange
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/17/2011 9:03 AM apple
> cd apple
> ls
Directory: C:\Users\zed\temp\stuff\things\orange\apple
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/17/2011 9:03 AM pear
> cd pear
> ls
Directory: C:\Users\zed\temp\stuff\things\orange\apple\pear
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/17/2011 9:03 AM grape
> cd grape
> ls
> cd ..
> ls
Directory: C:\Users\zed\temp\stuff\things\orange\apple\pear
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/17/2011 9:03 AM grape
> cd ..
> ls
Directory: C:\Users\zed\temp\stuff\things\orange\apple
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/17/2011 9:03 AM pear
> cd ../../..
> ls
Directory: C:\Users\zed\temp\stuff
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/17/2011 9:03 AM things
> cd ..
> ls
Directory: C:\Users\zed\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/17/2011 9:03 AM stuff
>
55.7.2 你學到的
ls
命令列示出了你當前所在目錄的內容。你能看到我使用 cd
命令在不同目錄之間切換,然后列示出它們里面有些什么內容,然后讓我決定接下來要去哪個目錄。
ls
命令有很多選項,我們會在學習 help
命令時學習如何獲取幫助。
55.7.3 附加練習
- 把每一個命令都輸一遍,你必須通過輸入來學習這些命令,只是讀它們是不夠的。
- 在 Unix 下,讓你在 temp 目錄下,試試
ls -lR
命令。- 在 Windows 系統下,用
dir -R
做同樣的操作。- 用
cd
去到你電腦上的其他目錄,然后用ls
看看它們里面有什么。- 把新的問題添加到你的本子上。我知道你可能會有一些,因為關于這個命令的內容我沒有全講到。
- 記住如果你迷路了,用
ls
和pwd
命令查看你在哪兒,然后用cd
命令去到你應該去的地方。
附錄練習 7 移除目錄 (rmdir)
在這個練習中,你將學習如何移除一個空目錄。
55.8.1 跟我做
Linux/macOS
練習 7 會話
$ cd temp
$ ls stuff
$ cd stuff/things/orange/apple/pear/grape/
$ cd ..
$ rmdir grape
$ cd ..
$ rmdir pear
$ cd ..
$ ls apple
$ rmdir apple
$ cd ..
$ ls orange
$ rmdir orange
$ cd ..
$ ls things
$ rmdir things
$ cd ..
$ ls stuff
$ rmdir stuff
$ pwd
~/temp
$
警告! |
---|
如果你在 MacOS 系統下嘗試用 rmdir 命令, 但是系統拒絕移除這個目錄,即使你百分百確定它是空的,事實上的確有個文件在里面,叫做 .DS_Store 。遇到這種情況,輸入 rm -rf <dir> (將 <dir> 替換成你要移除的目錄名)。 |
Windows
練習 7 Windows 會話
> cd temp
> ls
Directory: C:\Users\zed\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/17/2011 9:03 AM stuff
> cd stuff/things/orange/apple/pear/grape/
> cd ..
> rmdir grape
> cd ..
> rmdir pear
> cd ..
> rmdir apple
> cd ..
> rmdir orange
> cd ..
> ls
Directory: C:\Users\zed\temp\stuff
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/17/2011 9:14 AM things
> rmdir things
> cd ..
> ls
Directory: C:\Users\zed\temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 12/17/2011 9:14 AM stuff
> rmdir stuff
> pwd
Path
----
C:\Users\zed\temp
> cd ..
>
55.8.2 你學到的
我現在開始把這些目錄混在一起用了,所以你一定要專心,確保自己都輸對了。如果你犯錯了,只能說明你不專心。如果你發現自己犯了很多錯,休息一下,或者干脆今天就不學了,明天再繼續。
在這個例子中,你學會了如何移除一個目錄,非常簡單。你只需要去到它的上層目錄,然后輸入 rmdir <dir>
,用你要移除的目錄名替換掉 <dir>
即可。
55.8.3 附加練習
- 創建 20 個目錄,然后移除它們。
- 創建一個 10 層路徑的目錄,然后一次移除一個,就像我之前做的那樣。
- 如果你試著移除一個有內容的目錄,你會收到報錯。我會在后面的練習中教你如何移除它們。