附錄練習(xí) 8-10 笨辦法學(xué)Python3

附錄練習(xí) 8 來(lái)回移動(dòng) (pushd, popd)

在這個(gè)練習(xí)中,你將學(xué)習(xí)如何用 pushd 命令保存你當(dāng)前的位置然后去到一個(gè)新的位置,以及如何用 popd 命令返回之前保存的位置。

55.9.1 跟我做

Linux/macOS

練習(xí) 8 會(huì)話

$ cd temp
$ mkdir i/like/icecream
$ pushd i/like/icecream
~/temp/i/like/icecream ~/temp
$ popd
~/temp
$ pwd
~/temp
$ pushd i/like

~/temp/i/like ~/temp
$ pwd
~/temp/i/like
$ pushd icecream
~/temp/i/like/icecream ~/temp/i/like ~/temp
$ pwd
~/temp/i/like/icecream
$ popd
~/temp/i/like ~/temp
$ pwd
~/temp/i/like
$ popd
~/temp
$ pushd i/like/icecream
~/temp/i/like/icecream ~/temp
$ pushd
~/temp ~/temp/i/like/icecream
$ pwd
~/temp
$ pushd
~/temp/i/like/icecream ~/temp
$ pwd
~/temp/i/like/icecream
$

Windows

練習(xí) 8 Windows 會(huì)話

> cd temp
> mkdir i/like/icecream


Directory: C:\Users\zed\temp\i\like


Mode    LastWriteTime   Length  Name
----    -------------   ------  ----
d----   12/20/2011 11:05 AM     icecream


> pushd i/like/icecream
> popd
> pwd

Path
----
C:\Users\zed\temp


> pushd i/like
> pwd

Path
----
C:\Users\zed\temp\i\like


> pushd icecream
> pwd

Path
----
C:\Users\zed\temp\i\like\icecream


> popd
> pwd

Path
----
C:\Users\zed\temp\i\like


> popd
>
警告!
在 Windows 系統(tǒng)下,你一般不用像 Linux 系統(tǒng)那樣用 -p ,但是我想這應(yīng)該是最近的更新,如果你用老的 Windows 系統(tǒng)的 Powershell,應(yīng)該還是需要 -p 的,所以每個(gè)人的情況可能不太一樣,你可以試試看。

55.9.2 你學(xué)到的

你正在通過(guò)這些命令進(jìn)入程序員的世界,這些命令很常用,所以我必須要教給你們。它們能讓你暫時(shí)地去到別的目錄,然后再回來(lái),并在兩者之間隨意切換。

pushd 命令會(huì)把你當(dāng)前的目錄“push”到一個(gè)列表里,然后它會(huì)切換到另外一個(gè)目錄,就好像在說(shuō):“保存我現(xiàn)在的位置,然后去到那兒”。

popd 命令則是把你從你之前去到的目錄那里拉回來(lái)。

最后,在 Unix 下使用 pushd 的話,如果你后面不加任何東西,它會(huì)在你的當(dāng)前目錄和你之前保存的目錄之間來(lái)回切換。但是在 Powershell 下這個(gè)就不適用了。

55.9.3 附加練習(xí)

  • 用這些命令在你電腦的目錄之間來(lái)回移動(dòng)。
  • 移除 i/like/icecream 目錄,然后自己創(chuàng)建一些,并在它們中間來(lái)回切換。
  • 跟自己解釋 pushdpopd 的輸入結(jié)果,注意它和堆棧的概念很類似。
  • 雖然你已經(jīng)知道了,但是要記住 mkdir -p (在 Linux/MacOS 下)會(huì)創(chuàng)建一個(gè)完整的路徑,即使所有的目錄都不存在。這也就是我在本練習(xí)開頭所做的。
  • 記住 Window 也會(huì)創(chuàng)建一個(gè)完整的路徑,并且不需要 -p 。

附錄練習(xí) 9 創(chuàng)建空文件 (Touch, New-Item)

在這個(gè)練習(xí)中你將學(xué)習(xí)如何使用 touch (MacOS)或者 new-item (Windows) 命令來(lái)創(chuàng)建空文件。

55.10.1 跟我做

Linux/macOS

練習(xí) 9 會(huì)話

$ cd temp
$ touch iamcool.txt
$ ls iamcool.txt
$

Windows

練習(xí) 9 Windows 會(huì)話

> cd temp
> New-Item iamcool.txt -type file
> ls


Directory: C:\Users\zed\temp


Mode    LastWriteTime   Length  Name
----    -------------   ------  -----
a---    12/17/2011 9:03 AM      iamcool.txt


>

55.10.2 你學(xué)到的

你學(xué)習(xí)了如何創(chuàng)建空文件。在 Unix 系統(tǒng)下用 touch ,在 Windows 系統(tǒng)下用 New-Item 。

55.10.3 附加練習(xí)

  • Unix:創(chuàng)建一個(gè)目錄,切換到該目錄下,然后在它里面創(chuàng)建一個(gè)文件,然后再切換到該目錄的上一次,用 rmdir 命令移除該目錄。你會(huì)收到報(bào)錯(cuò),試著理解一下為什么。
  • Windows:做同樣的事情,但是你不會(huì)收到報(bào)錯(cuò),你會(huì)收到一個(gè)提示符問(wèn)你是否真的要移除這個(gè)目錄。

附錄練習(xí) 10 復(fù)制文件 (cp)

在這個(gè)練習(xí)中,你將學(xué)習(xí)如何用 cp 命令把一個(gè)文件從一個(gè)地址復(fù)制到另一個(gè)地址。

55.11.1 跟我做

Linux/macOS

練習(xí) 10 會(huì)話

$ cd temp
$ cp iamcool.txt neat.txt
$ ls
iamcool.txt neat.txt
$ cp neat.txt awesome.txt
$ ls
awesome.txt iamcool.txt neat.txt
$ cp awesome.txt thefourthfile.txt
$ ls
awesome.txt iamcool.txt neat.txt thefourthfile.txt
$ mkdir something
$ cp awesome.txt something/
$ ls
awesome.txt iamcool.txt neat.txt something thefourthfile.txt
$ ls something/ awesome.txt
$ cp -r something newplace
$ ls newplace/ awesome.txt
$

Windows

練習(xí) 10 Windows 會(huì)話

> cd temp
> cp iamcool.txt neat.txt
> ls


Directory: C:\Users\zed\temp


Mode    LastWriteTime   Length  Name
----    -------------   ------  ----
-a---   12/22/2011 4:49 PM  0   iamcool.txt
-a---   12/22/2011 4:49 PM  0   neat.txt


> cp neat.txt awesome.txt
> ls


Directory: C:\Users\zed\temp


Mode    LastWriteTime   Length  Name
----    -------------   ------  ----
-a---   12/22/2011  4:49    PM  0   awesome.txt
-a---   12/22/2011  4:49    PM  0   iamcool.txt
-a---   12/22/2011  4:49    PM  0   neat.txt


> cp awesome.txt thefourthfile.txt
> ls


Directory: C:\Users\zed\temp


Mode    LastWriteTime   Length  Name
----    -------------   ------  ----
-a---   12/22/2011  4:49    PM  0   awesome.txt
-a---   12/22/2011  4:49    PM  0   iamcool.txt
-a---   12/22/2011  4:49    PM  0   neat.txt
-a---   12/22/2011  4:49    PM  0   thefourthfile.txt


> mkdir something


Directory: C:\Users\zed\temp


Mode    LastWriteTime   Length  Name
----    -------------   ------  ----
d----   12/22/2011 4:52 PM      something


> cp awesome.txt something/
> ls


Directory: C:\Users\zed\temp


Mode    LastWriteTime   Length  Name
----    -------------   ------  ----
d----   12/22/2011  4:52    PM      something
-a---   12/22/2011  4:49    PM  0   awesome.txt
-a---   12/22/2011  4:49    PM  0   iamcool.txt
-a---   12/22/2011  4:49    PM  0   neat.txt
-a---   12/22/2011  4:49    PM  0   thefourthfile.txt


> ls something


Directory: C:\Users\zed\temp\something


Mode    LastWriteTime   Length  Name
----    -------------   ------  ----
-a---   12/22/2011 4:49 PM  0   awesome.txt


> cp -recurse something newplace
> ls newplace


Directory: C:\Users\zed\temp\newplace


Mode    LastWriteTime   Length  Name
----    -------------   ------  ----

-a---   12/22/2011 4:49 PM  0 awesome.txt


>

55.11.2 你學(xué)到的

現(xiàn)在你會(huì)復(fù)制文件了,它很簡(jiǎn)單。在這個(gè)練習(xí)中,我還創(chuàng)建了一個(gè)新目錄,并且把一個(gè)文件復(fù)制到了那個(gè)新目錄中。

我要告訴你一個(gè)關(guān)于程序員和系統(tǒng)管理員的秘密。他們很懶,我也很懶,我的朋友同樣很懶。這也正是為什么我們要用計(jì)算機(jī)。我們熱衷于讓計(jì)算機(jī)為我們做無(wú)聊的事情。這個(gè)練習(xí)到目前為止你已經(jīng)輸入了很多重復(fù)的命令來(lái)學(xué)習(xí)它們,但是實(shí)際情況不是這樣的,通常如果你發(fā)現(xiàn)自己在做一些無(wú)聊和重復(fù)的事情,就已經(jīng)有一個(gè)程序員在想辦法如何讓這件事情變得簡(jiǎn)單,你只是不知道而已。

關(guān)于程序員的另一件事情就是,他們可能沒(méi)你想的那么聰明。如果你覺(jué)得他們輸入的東西有多么高深莫測(cè),那你就錯(cuò)了。在你做練習(xí)的時(shí)候,你可以先試著先想想這些命令的名字和含義,然后再輸入。一般你會(huì)想到一個(gè)名字或者一些縮寫。如果你還是想象不出來(lái),就回過(guò)頭復(fù)習(xí)一下或者在網(wǎng)上搜一搜。

5.11.3 附加練習(xí)

  • cp -r 命令復(fù)制更多包含文件的目錄。
  • 把一個(gè)文件復(fù)制到你的 home 目錄或者桌面。
  • 在圖形用戶界面找到這些文件,然后用文本編輯器打開它們。
  • 注意我有時(shí)候會(huì)放一個(gè) / 在目錄結(jié)尾,這樣是為了確保這是一個(gè)目錄,如果不是的話,我會(huì)收到報(bào)錯(cuò)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容