1. 程式人生 > >笨方法學Python之序幕powershell

笨方法學Python之序幕powershell

今天學習的是《笨辦法學Python》後面的附錄,講的是Windows自帶的PowerShell怎麼玩

看起來是一個純命令列的程式,和cmd很像

習題1不提,直接從習題2開始說,從zed的網站找的程式碼

習題2 pwd列印工作目錄

pwd是print working directory的縮寫


  
  1. PS C:\Users\zed> pwd
  2. Path
  3. ----
  4. C:\Users\zed
  5. PS C:\Users\zed>
這個命令是用來列印現在的工作目錄的

==================================================================================

習題3 cd ~ 回家

注意cd和~之間有空格,不是cd~


  
  1. pwd
  2. cd ~
使用後就回到了最開始的


  
  1. Path
  2. ----
  3. C:\Users\zed

 
 ================================================================================== 
 

習題4 mkdir 建立目錄

mkdir是make directory的縮寫

其實就是新建資料夾,比如我要在桌面新建一個資料夾叫123

mkdir desktop/123
  
搞定~

注意,如果我要在資料夾名稱裡面加空格,我應該用引號

mkdir “I love you”
  
搞定~

==================================================================================
習題5 cd 更改目錄

cd也許是change directory的縮寫?

用途就是換當前的資料夾

比如之前我在桌面建立了123資料夾

mkdir desktop/123
  
然後我再在123資料夾裡面建立一個456資料夾

mkdir desktop/123/456
  
然後我再在456資料夾裡面建立一個789資料夾

mkdir desktop/123/456/789
  
當然其實不用這麼麻煩,直接使用-p命令可以用一個mkidr建立多個資料夾

mkdir -p desktop/123/456/789
  

現在

pwd
  
的結果應該是在789資料夾

然後我要到456資料夾去(回到上一級)

我應該

cd desktop/456
  
注意這裡不能

cd 456
  
否則報錯

直接回到上一級的辦法是

cd ..
  
連續跳幾級的辦法是

cd ../../..
  
有多少跳多少

==================================================================================

習題6 ls 列出目錄下的內容

好吧回到zed的教程,假定我們已經建立了那個很長的stuff資料夾


  
  1. cd temp
  2. ls
  3. Directory: C:\Users\zed\temp
  4. Mode LastWriteTime Length Name
  5. ---- ------------- ------ ----
  6. d---- 12/17/2011 9:03 AM stuff
  7. </span>

  
  1. cd stuff
  2. ls
  3. Directory: C:\Users\zed\temp\stuff
  4. Mode LastWriteTime Length Name
  5. ---- ------------- ------ ----
  6. d---- 12/17/2011 9:03 AM things
就是這樣,它會顯示資料夾下面有什麼東西

如果有一個資料夾下面有兩個資料夾呢?

cd ~
  

mkdir desktop/123/666
  
現在123資料夾下面有456和666兩個檔案夾了
ls
  

  
  1. 目錄: C:\Users\David\desktop\123
  2. e                LastWriteTime         Length Name
  3. -                -------------         ------ ----
  4. ---         2016/7/9     23:15                456
  5. ---         2016/7/9     23:24                666

 
 

顯示了兩個資料夾

==================================================================================

習題7 rmdir 刪除路徑

remove directory

首先知道自己在哪

pwd
  
好,我在123資料夾,我要刪除456資料夾

rmdir 456
  
刪掉了,現在看123裡面還有什麼?

ls
  
好的,還有個666,再刪

rmdir 666
  
現在沒了吧。

退回去刪123資料夾


  
  1. cd ..
  2. rmdir 123
搞定~

==================================================================================
習題8 (pushd,popd)在多個目錄中切換

回到標準教程,假定已經有那個temp檔案夾了(沒有就mkdir一個)

cd ~
  

  
  1. cd temp
  2. mkdir -p i/like/icecream
pwd
  
現在你還是在temp資料夾下,接下來
pushd i/like/icecream
  
pwd
  
現在到了icecream資料夾下,...繼續

popd
  
pwd
  
發現自己直接跳回到了temp資料夾~

現在試試連跳

pushd i/like
  
pushd icecream
  
popd

 
 
pwd
  

  
  1. Path----
  2. C:\Users\zed\temp\i\like


 
 發現兩連pushd之後popd只會回到最近一個pushd到的資料夾 
 

再次

popd
  
pwd
  

  
  1. Path
  2. ----
  3. C:\Users\zed\temp


 
 哦!這時候回到了temp了================================================================================== 
 

習題9 (touch,New-Item)建立空檔案

注意在windows中是New-Item命令


  
  1. cd temp
  2. New-Item iamcool.txt -type file
建立了一個叫iamcool的txt檔案,如果不加type file呢?
New-Item iam.txt
  
似乎也是正確的,確實又建立了一個叫iam的txt檔案

New-Item還可以建立新目錄

==================================================================================

習題10 cp 複製檔案

顯而易見,cp=copy


  
  1. pwd
  2. cp iamcool.txt neat.txt
  3. ls
可以看見,把iamcool.txt複製一個,重新命名為neat.txt

同理

cp neat.txt awesome.txt
  
ls
  
又複製了一個awesome.txt檔案
接下來我們建立一個something資料夾

mkdir something
  
然後把awesome.txt複製到該資料夾中

cp awesome.txt something/
  
cd something
  
ls
  
發現確實出現在了裡面!

接下來(借用zed的結果)


  
  1. cd ..
  2. cp -recurse something newplace
  3. ls newplace

  
  1. Directory: C:\Users\zed\temp\newplace
  2. Mode LastWriteTime Length Name
  3. ---- ------------- ------ ----
  4. -a--- 12/22/2011 4:49 PM 0 awesome.txt


 
 發現我們新建了一個資料夾newplace,裡面有個之前在something中也有的awesome.txt 
 

而這個newplace在哪呢?

ls
  
發現就在temp下面

完畢~

==================================================================================

習題11 mv 移動檔案

mv=move

mv awesome.txt uncool.txt
  
ls
  
這裡說是move,其實更像是重新命名,把awesome改成了uncool
mv newplace oldplace
  
ls
  

把newplace改成了oldplace

mv oldplace newplace
  
ls newplace
  
發現裡面有個awesome.txt,再次證明了其實跟改名差不多...但是到底能不能move呢

mv iamcool.txt newplace
  
ls newplace
  
發現iamcool.txt放進newplace裡面去了!確實能move

==================================================================================

習題12 (less,MORE)檢視檔案內容

 要先使用文字編輯器真正寫一點東西在txt檔案裡面

==================================================================================

習題13 cat 流檔案內容顯示

這裡和more的區別就是這裡是全頁顯示,more是分頁

==================================================================================

習題14 rm 刪除

==================================================================================

習題15 exit 退出

==================================================================================