標籤:admin 一個 rect 技術分享 remove 工具 位置 str let
我們依然不講代碼,而是先說命令列。
為什麼命令列如此重要?之前說到,命令列是你和電腦對話的地方。你可以用句子的方式把資訊發給電腦,電腦再以句子的方式給你回應。在編程領域,有些訊息只能用命令列告訴電腦——或許是編程人員早就習慣了,或許打字更有效——畢竟你和閉著眼睛的人交流,肯定比捂著耳朵的人交流方便(你不能用滑鼠寫字!)。在編程中,大部分訊息都是靠說,而不是靠比劃(畫圖就是比劃的例子)。呃……總之你得懂命令列。
在Windows裡有命令列,Linux也有,但是大同小異。要弄懂命令列怎麼幹活,只要想象電腦沒有螢幕,但是會說話。比如——
——“案頭上有什嗎?”
——“有3個檔案夾:資源回收筒,資料,工具;5個檔案:便簽.txt,語言哲學.pdf,.png,antistops.py,安裝程式.exe”
——“E盤裡有什嗎?”
——“有1個檔案夾:work”
——“work檔案夾裡有什嗎?”
——“您的電腦裡有不止一個名為work的檔案夾。”
頓時尷尬,畢竟眼前就有個work檔案夾,卻進不去。所以設計命令列的人想出了“當前位置”這個概念。我們知道檔案夾的組織可以看成“樹”——(其實#不能用於檔案名稱,我用的cs而不是c#)
實際肯定比這複雜。當前位置的意思就是,你只能站在這棵樹的一個檔案夾節點上,即你不能同時位於多個檔案夾。你只能看到周圍的點。以為例,你想讓電腦運行hello.exe,圖上卻有兩個hello.exe。加上“當前位置”這個概念後,你只能開啟當前檔案夾中的檔案。而同一個檔案夾中,檔案名稱不能重複,就保證了你能唯一地指定一個檔案。想運行檔案夾(很多人管檔案夾叫目錄,因為不拗口)C下的hello.exe,就要走到目錄C 。
但是人是會走丟的。設計者是這麼處理的:
1.x盤是固定的,不必多說。
2.E盤下的目錄C記作“E:\C”,再下層的hello.c記作E:\C\hello.c
層層嵌套。所以如果你在運行欄(或者點開始菜單裡的“運行”)輸入cmd斷行符號,我猜你明白C:\Users\Administrator>是什麼意思了,表示你處在一個名叫Administrator的檔案夾裡。
其實,沒有“當前位置”,也是可以定位每一個檔案的。上例中,不管你在哪裡,輸入E:\C\hello.exe,電腦都知道你要找的不是E:\C#\hello.exe 。但是每次樹一長串,誰願意呢?另外,命令列裡顯示的那個目錄叫“當前工作目錄”,簡稱工作目錄,我相信你幾次用命令列運行python就會明白為什麼叫“工作”了。
所以你可以對命令列說這些東西:
- 進入某個子目錄(即當前檔案夾中的檔案夾)—— cd xxx
- 進入上一層目錄(可以稱為父目錄) —— cd .. (就是兩個點)
- 進入E:\C —— cd E:\C
- 進入自身(“並非毫無用處”) —— cd . (一個點)
cd 是change directory 的首字母
(你可能發現某些命令並不起作用,因為的home是假的。上面的命令只有當在同一個盤中才有用,不能用cd 換盤。想切換盤符,直接輸入“盤符名:”斷行符號,比如e: 斷行符號 )
上一篇文章還說到,“python xxx.py”是一條命令。其實命令分為兩部分,第一個詞是一部分,剩下的是第二部分。python是python.exe,在命令列.exe可省略(不省也可以用,但習慣上省略)。python xxx.py就是啟動python.exe,並且告訴程式一個額外資訊: xxx.py。這可能令人困惑,運行程式是允許加點別的東西的(加一個算少的了)。cd xxxxx,就是運行cd.exe 附加【參數】xxxxx——雖然未必有cd.exe,但完全可以當做有。所有的命令,幾乎都只有第一個詞真的做了事。(exe檔案也是檔案)
最後還要說絕對路徑和相對路徑,用處在於,你如何稱呼一個可能重名的檔案?仍然用剛才的例子,你位於目錄C,想運行隔壁目錄C#的hello.exe 。目前有三種辦法:
1. cd .. 再 cd C# 再 hello (.exe可以省略)2. E:\C#\hello3. ..\C#\hello.exe
2和3都做到了不切換工作目錄而處理了別的目錄的exe檔案。2叫做絕對位置,因為從盤開始;3叫相對定位,因為從自身開始。電腦只認盤符,要是沒有,就假設是從工作目錄開始。雖然這樣看,好像上層目錄被當成名為..的子檔案夾了,但是無妨——這其實挺奇妙。(你仔細看看樹圖,會發現節點都可以看成根節點,有點參考系的味道)
兩種定位都是可以的。其實還有一種定位——你有沒有想過,python.exe在哪?!還記得安裝第一步點的PATH麼,名為“環境變數”之物,環境變數裡寫著的若干目錄可以無條件引用(目前的目錄也是無條件引用的)。電腦收到你的命令python,首先在工作目錄裡找python.exe,找不到就到環境變數裡的目錄裡找,再找不到就報錯。
然後你就能讀懂這些了:(除了.和..用法特別,還有\ 表示當前盤起始,可以用cd \ 、cd \C 等等 )
* cd xxx (兩種定位皆可)* cd \ ——回到本盤起始位置* dir —— 查看目前的目錄資訊(directory 縮寫)* dir xxx —— 查看xxx目錄(兩種定位皆可)* md xxx —— 建立新檔案夾(兩種定位皆可) (make dir縮寫)* rd xxx ——刪除【空】檔案夾(兩種定位皆可)(remove dir 縮寫)【請注意!命令列刪除不進資源回收筒,是永久刪除!】* cls ——清屏(clean screen 縮寫)* copy xxx xxx —— 複製檔案內容(不包括名稱),後面的名字為新的名字(當然,兩種定位皆可)* del xxx —— 刪除檔案,不包括檔案夾(可用 del * 刪除所有檔案,del * .txt 刪除所有.txt檔案,等等)(delete縮寫)* deltree xxx —— <危險操作>刪除檔案夾以及一切內容* ren xxx xxx —— 重新命名(rename 縮寫)
命令可以有參數,即在輸完上述命令後,還可以後跟一些東西。之前說到python.exe 可以後跟檔案名稱,但參數只是字串,不一定是檔案名稱。你輸入的命令如果有多個詞,那麼所有的詞都會告訴第一個詞,因為那是唯一被啟動並執行東西,他會收到所有參數。比如dir命令可以有超過2個參數(除了本身dir 和常規的xxx),比如後跟\a或\s等等,請自行百度“dos命令”
python入門教程(一)