第二課DOS命令列視窗

俊超jc發表於2024-08-09

what,why,how
從是什麼(簡略定義),為什麼(實際價值與背景),怎麼做(具體實際操作)來學習把握。

場景1:
(逢年過節時候)
-七大姑八大姨問:超子,你現在在做什麼工作啊?
-我:幹軟體工程師。(心想說java,親戚肯定聽不懂)
-七大姑八大姨又追問:那什麼是軟體啊?(搞得跟面試官一樣)
-我:就你手機的微信、抖音,我就是做那個的。(細說軟體定義,肯定又是聽天書,對牛彈琴)
-七大姑八大姨笑著說:哦!?合著是做高科技的啊?!
-我笑笑笑不說話...

以上只是段子。

如果面試官問你什麼是軟體呢?
那麼你應該回答:軟體=資料結構+演算法。這是圖靈獎獲得者、pascal語言之父尼克勞斯·沃斯(Nicklaus Wirth)的名言。
說穿了,軟體就是服務使用者,實現功能,提供便捷的虛擬物件。資料結構是承載資料的容器。演算法是程式的靈魂,是程式執行需要遵守的規則。
而java只是軟體編寫的語言之一,和中文、英文、日語、法語沒有本質區別。

場景2:

假設1年後,你進入了企業負責java伺服器開發工作,那麼你一定會使用命令列模式CLI(command line interface),比如使用Linux作業系統的終端命令,該系統開源免費且效用良好,多受企業青睞。開發者使用較多,偏向底層操作。
而與之相對的是圖形化介面GUI(graphical user interface),比如windows11,windows10,win8,win7,winxp。互動簡單,使用者使用較多,整合了圖形化操作。
一句話概括:linux精確,用作生產力。 windows直觀,娛樂服務使用者。

場景3:

DOS命令:
what是什麼。DOS全稱:Disk Opearting System,磁碟作業系統。它是由微軟公司Microsoft在windows之前推出的1個作業系統,最終被售賣給了IBM公司。比爾蓋茲的媽咪是IBM的董事。(比爾蓋茲是微軟的創始人。董事相當於投資人。)
why:為什麼學習DOS。(1)有助於理解計算機底層(2)有助於學習Linux,今後工作進行企業級別開發快速上手。(如果專攻前端或者客戶端開發,那麼可以略過)。

實踐操作部分:

提問形式:

問題1:Windows10系統中,如何進入DOS命令列呢?
答:(1)同時按住win+r,可開啟執行視窗(2)在執行視窗開啟處鍵入“cmd”,按下回車確認,即可進入DOS命令列。又被戲稱為黑視窗。

DOS顯示內容釋義:
(1)Microsoft Windows [版本 10.0.19045.3996]
(c) Microsoft Corporation。保留所有權利。
表示計算機的作業系統版本是windows10.0... 該作業系統是Microsoft微軟公司的著作權所有。

(2)C:\Users\DELL>
表示當前工作路徑是:c盤下目錄User\DELL
可以推斷出該計算機的使用者叫DELL,該計算機很可能是DELL品牌。或者使用者的名字叫DELL戴爾。

提問2:DOS命令列中,常見的指令有哪些?
答:(1)當前工作目錄的改變。進入和回退目錄。(2)增加操作,刪除操作,讀取操作,寫入操作。操作的物件可以是目錄,也可以是檔案。(3)其他指令,比如自動關機shutdown,計算機網路相關指令ipconfig, ping, arp, dns。

常用的指令:

指令1:磁碟機代號切換

要點小結:
(1)從C盤切換到E盤。鍵入指令:E:。(小寫e: 也可以切換。大小寫不敏感。)冒號:不要漏掉。否則鍵入“C”則會提示資訊:‘c’不是內部或外部命令,也不是可執行的程式或批處理檔案。
說人話:命令錯了,計算機識別不了這個命令。
(2)DOS初始化,c盤的預設路徑是:c盤\User\使用者名稱(不同的計算機一般不同)。從c盤切換到E盤,再鍵入“C:”預設回到C盤停留的路徑。
(3)鍵入指令:F:,提示資訊:系統找不到指定的驅動器。
說人話:命令打對了,但是沒有F盤。

那麼問題來了,我在DOS中該如何得知有哪些盤呢?前提是我不想使用圖形化介面去“我的電腦”點點點。我總不能從A到Z一個個鍵入“A:”到“z:”去暴力嘗試得知吧?
(1)

鍵入命令:wmic logicaldisk get name。//釋義 wmic是1個指令家族。通常用作查詢系統資訊,管理服務、程序。logicaldisk是邏輯上的磁碟 get name是獲取顯示邏輯上的磁碟名字。
WMIC(Windows Management Instrumentation Command-line)是Windows管理規範(WMI)的命令列介面,它提供了一個強大的工具,允許使用者透過命令列或批處理指令碼來執行系統管理任務。WMIC極大地簡化了WMI的使用,使得不熟悉C++、VBScript等程式語言或WMI名稱空間基本知識的使用者也能輕鬆管理系統。

在linux系統中,存在1個根目錄,根目錄可以包含類似windwos系統C,D,E,F,G這些磁碟。在根目錄下鍵入ll或者ls可以顯示其包含的檔案和路徑資訊。
而在windows系統中,存在1個指令dir,其功能類似ll或者ls的命令,但是不存在根目錄。因為無根目錄,所以DOS無法返回c盤上一層去檢視列舉所有的磁碟機代號。

指令2:dir

指令dir全稱directory表示目錄。
DOS顯示結果釋義:
C:\Users\DELL的目錄
2024/08/08 00:35 <DIR> .
2024/08/08 00:35 <DIR> ..
2024/03/11 22:59 960 .bash_history
...

從左到右,每列的含義:
目錄(或檔案)建立的時間年月日 檔案型別

目錄型別(部分檔案.log,.zip無法識別,無法顯示,展示為空)檔案大小(資料夾不顯示其大小)最右表示檔名。
.表示當前目錄。
..表示當前目錄的上級目錄。
當前目錄C:\Users\DELL下有6個檔案,28個目錄。6個檔案大小一共XXX位元組。28個目錄一共XXX可用位元組。
“可用位元組”指的是在當前磁碟分割槽上剩餘的可供檔案儲存的空間量。
在這個例子中,9,815,879,680 可用位元組意味著在你的C盤(通常是系統盤)上還有大約9.82GB(Gigabytes)的空間可以用來儲存新的檔案或資料夾。
可用位元組=剩餘空間。

位元組B是計算機中最小的儲存單位。一般來說,生活中說手機本地一首歌曲幾兆MB,一款音樂軟體幾十兆MB,一款小型單機遊戲幾百兆MB,一部藍光超清電影幾吉G,一款大型網路遊戲即幾十吉G,一款通用人工智慧模型引數大小几百吉G,一個固態硬碟幾百吉G,一個機械硬碟1TB...
類似毫米,釐米,分米,米,千米,萬米,光年。

指令3:cd

問題來了:當我已知1個目標目錄時候,我如何高效的進入該目錄呢?總不能dir,1層目錄1層目錄進入吧?
答:鍵入指令:cd+目錄名全稱。
cd全稱change directory。

示例:目標目錄C:\Users\DELL\排序演算法cplus\八皇后問題。
中途鍵入tab補全路徑
方向鍵↑可以快速回溯之前鍵入回車執行的指令

指令4:md和rd

增加目錄操作。md+目錄名。
刪除目錄操作rd+目錄名。(如果目錄內有資料,則刪除失敗)
md全稱:make directory
rd全稱:remove directory

指令5:type和echo

新建檔案指令:type nul>檔名.字尾名
寫入內容到檔案指令:echo ‘內容’ >檔名
顯示檔案內容指令:type 檔名.字尾名

刪除非空目錄的情況:

遇到的問題:無法直接刪除非空目錄
嘗試刪除目錄testDOS
|

方法1:
刪除testTXT.txt後再刪除目錄testDOS。
使用del指令。
del c:\Users\DELL\go\testDOS\testTXT.txt
rd c:\Users\DELL\go\testDOS

方法2:
如果testDOS中檔案數量較多,可以強制刪除testDOS。
鍵入指令:rd /s /q c:\Users\DELL\go\testDOS

注意要點:如果要刪除目錄testDOS,那麼在testDOS目錄中執行指令:rd /s /q c:\Users\DELL\go\testDOS會提示“另一個程式正在使用此檔案,程序無法訪問”。
需要將當前工作目錄跳轉到非刪除目錄。
說人話:穿越者的祖父悖論。你不能自己刪自己。如果刪了自己的話,那麼當前工作目錄為空?計算機會很難辦的。

其他操作:
cls清空當前dos輸出控制檯內容。cls全稱:clear
exit退出命令提示符視窗。
左箭頭←,右箭頭→移動游標。
上箭頭↑,下箭頭↓調出歷史操作指令。
Delete和backspace刪除字元。delete從右往左刪除。backspace從左往右刪除。
del+檔名。刪除檔案。del全稱:delete
del *.txt刪除當前路徑下所有以.txt結尾的檔案。*號表示萬用字元。

相關文章