路徑(一):擁抱命令行(Windows:Powershell,Mac:Terminal)


命令行工具是做 Web 設計與開發的必備工具。通過輸入一些命令,去做你要做的事情。不同的命令可以做不同的事情,比如基本的文件與目錄的操作,去安裝,更新,刪除軟件,控制與管理服務器等等。

很多 Web 項目都自帶了命令行工具,會提供一些跟項目相關的命令,可以用到平時的開發流程里面。比如 Drupal 的 drush ,WordPress 的 WP-CLI,Laravel 的 artisan  等等,基本上一個現代的 Web 項目都會附帶一個命令行工具。

准備

在哪里輸入要執行的命令?不同的操作系統提供了不同的軟件,Windows 上可以使用 系統自帶的 命令提示符(cmd) 或者 Powershell(win7 以上的版本,推薦使用) ,在 Mac 上用的是系統自帶的 終端(Terminal)。

命令提示符

Windows 7:打開 開始 菜單,在搜索框里輸入 cmd,點擊結果里的 cmd 。

Windows 8+:win + Q,搜索 cmd 。

Powershell

Windows 7:打開 開始 菜單,在搜索框里輸入 powershell,點擊結果里的 Windows Powershell。

Windows 8+:win + Q,搜索 powershell。

QQ20150117-9

終端

打開 Launchpad(F4) ,搜索 Terminal ,點擊 終端。或者使用快捷鍵 ctrl + 空格,在 Spotlight 里面搜索 Terminal 。

QQ20150117-8

區別

命令行工具的用法在不同的操作系統上是有區別的,不過使用的思路是一樣的, Mac 與 Linux 的用法基本一樣,因為它們有血源關系。Windows 相比來說是比較特別的,它有一些獨有的可以執行的命令,不過如果你用的是 Windows 7 以上的版本,可以在 Powershell 這個工具上執行命令,因為它的用法跟 Mac 與 Linux 很像。

目錄與文件的基本操作

你可以通過一些命令瀏覽系統里的目錄,創建,移動,刪除目錄還有文件。目錄與文件的操作是使用命令行工具的基礎。Windows 用戶打開 Powershell ,Mac 用戶打開 終端。然后試一下接下來的這些命令。

查看你當前的位置:pwd

Powershell,還有 終端,在光標的左邊默認會顯示你當前所在的目錄。你也可以使用 pwd ( print working directory )這個命令,查看自己當前所在的位置。

pwd

Powershell 返回:

Path
____
C:\Users\wanghao

C:\Users\wanghao ,就是我當前所在的位置,這是默認打開 Powershell 的時候進入到的工作目錄,C:\  是系統的盤符,這是 Windows 特有的,在 Mac 與 Linux 上面沒有盤符,Users 是存儲系統里的所有用戶文檔的地方。wanghao 是當前登錄到系統上的用戶的名字。這個  C:\Users\wanghao,就是 wanghao 這個用戶的主目錄(Home)。

終端 返回:

/Users/xiaoxue

上面這個路徑的最前面是一個 / ,表示系統的根目錄。整個路徑就是當前登錄到系統上的用戶的主目錄。這個目錄是在系統根目錄下面的 Users 目錄里面的 xiaoxue 這個目錄。

顯示當前目錄下在的東西:ls

想查看某個目錄下面的都有什么東西,用的是 ls 命令,在命令的后面可以指定一個目錄的路徑 ,這樣會顯示這個指定路徑里的東西,如果直接使用 ls ,會顯示當前你所在的位置里面的東西。

ls

Windows 的 Powershell 會比較詳細的顯示出目錄下面的所有的東西,比如文件與目錄的權限,最近更新的時間等等。

QQ20150117-4

Mac 上的 終端 只會簡單的顯示出文件與目錄的名稱,想得到更詳細的信息,可以在 ls 命令的后面加上一個 -l 參數。另外默認 ls 命令不包含目錄下面的隱藏的文件或者目錄,也就是名字用點(.)開頭的文件或目錄,你需要加上一個 -a 參數把這些隱藏的文件與目錄也顯示出來。

ls -la

QQ20150117-5

在 ls 命令后面可以加上一個路徑 ,這樣會顯示出這個路徑下面的東西,這個路徑可以是一個絕對的路徑 ,也可以是一個路徑的路徑。比如要看一下用戶主目錄下面的所有的東西:

ls desktop

上面用了一個相對的路徑 ,也就是 ls 命令會在當前所在的目錄下面去查看 desktop 這個目錄下的東西。如果用絕對的路徑,是這樣的:

Windows Powershell

ls C:\Users\wanghao\desktop

Mac 終端

ls /Users/xiaoxue/desktop

注意 Windows 路徑里面用的是反斜線(\),不過在 Powershell 里面,你也可以使用斜線(/)。Mac 上的路徑里用的是斜線(/)。上面的 wanghao 與 xiaoxue 是登錄到系統上的用戶名,你需要換成你自己的用戶名。

清空命令行上面的顯示:clear

在屏幕上顯示的東西太多了,清空一下,可以使用 clear 這個命令。Windows 上也可以使用 cls ,Mac 上可以用快捷鍵 command + K 。

路徑中的符號

在命令行里瀏覽或者操作目錄的時候,會用到一些符號。

用戶主目錄

~

操作系統會為每個登錄到系統上的用戶分配一個特定的目錄,這個目錄的名字一般跟用戶的名稱是一樣的,在這個目錄的下面,會存放屬於這個用戶的文檔。這個目錄就是用戶的主目錄,這個目錄在命令行里面,用 ~ 來表示。

根目錄

/

一個斜線(/),表示系統的根目錄,Windows 上表示的是在某個盤符下的根目錄,比如 ls / 這條命令會顯示出 C 盤根目錄下面的所有的東西。Mac 與 Linux 上都表示的是系統的根目錄。

當前目錄

./

./  或者 . ,表示當前目錄,比如你要處理當前目錄下面的東西,可以在路徑的前面加上 ./ ,比如上面介紹的 ls 命令,你想列出當前目錄下面的東西,可以用 ls ./ ,不過一般可以省略掉它,直接用 ls 命令就表示要顯示當前目錄下面的東西。

上一級目錄

../

你想處理你所在位置的上一級別的目錄里的東西,可以在路徑的一開始用一個 ../,比如想要顯示當前目錄的上一個級別里的東西,可以輸入  ls ../ 。一個 ../ 就表示前一個級別的目錄,前兩個級別就是 ../../ 。

進入到某個目錄下面:cd

在圖形界面上,你想進入到某個目錄里面,可以雙擊打開這個目錄,然后在這個目錄下面去做一些事情。在命令行下面,你需要使用 cd ( change directory )這個命令,后面加上你想要進入到的地方。

cd 進入到的路徑

比如我打算進入到桌面上,如果我當前的位置是在用戶主目錄的根目錄下面,這樣就可以使用相對的路徑,像這樣:

cd desktop

如果我是在別的位置上,可以在路徑里面用一個 ~ 表示用戶的主目錄:

cd ~/desktop

創建目錄:mkdir

在指定的地方創建一個新的目錄,可以使用 mkdir (make directory),后面加上要創建的目錄的名字。

mkdir 目錄名

我現在的位置是在桌面上,打算在桌面上創建一個叫 projects 的目錄:

mkdir projects

如果需要創建一個目錄結構,就是你可能想要在某個目錄下面,再創建一個子目錄。Windows 上,可以直接在 mkdir 命令的后面加上要創建的目錄的路徑,這個路徑上面的所有的目錄,如果還不存在 ,就會去創建一個。但是在 Mac 與 Linux 上面,需要用一個 -p 的參數。比如我還想在 projects 目錄下面創建一個叫 ninghao.net 的目錄,在這個目錄的下面,還需要一個 www 目錄:

mkdir -p projects/ninghao.net/www

Windows Powershell 可以不用 -p 參數:

mkdir projects/ninghao.net/www

QQ20150117-7

移動目錄與文件:mv

把目錄或者文件移動到一個新的地方,用的是 mv (move)命令,這個命令也可以用來重命名目錄或者文件。命令的后面先是要移動的東西,再用一個空格,然后接着是移動到的新的位置。

mv 源 目標

比如我要把桌面上的 projects 里面的 ninghao.net 這個目錄移動到桌面上,先確定你當前的位置是在桌面上,你 pwd 可以查看當前的位置,如果不是,可以用 cd ~/desktop 進入到桌面。

mv projects/ninghao.net ./

上面的命令里的 ./ 表示的是當前的目錄,也就是你所在的位置,這條命令的意思就是把當前目錄下面的 projects 里的 ninghao.net 這個目錄移動到當前目錄的下面。用 ls 可以查看當前目錄下面的東西。

下面,可以再把這個 ninghao.net 重新放到 projects 這個目錄的下面。

mv ninghao.net projects/

如果 projects 這個目錄已經存在,表示要把 ninghao.net 這個目錄移動到 projects 這個目錄里面,如果 projects 這個目錄不存在,就會把 ninghao.net 這個目錄重命名成 projects 。

注意在移動文件的時候,文件移動到的位置的結尾一定要加上 / ,不然 mv 命名會把你想要移動的文件重命名成你想移動到的那個位置。

復制目錄與文件:cp

cp (copy)命名可以復制指定的文件或者目錄,先指定一下要復制的東西,空格分隔一下,接着是要復制到的位置。

cp 源 目標

你可以在桌面上新建一個空白的文件,比如 README.md ,然后再把它復制一份到 projects/ninghao.net/www 這個目錄的下面。

cp README.md projects/ninghao.net/www/

要復制目錄,需要加上一個 -R 參數,比如把桌面上的 projects 復制一份,放到桌面上,命名為 projects_bak 。

cp -R projects projects_bak

刪除目錄與文件:rm

要把指定的目錄或者文件刪除掉,用的是 rm (remove)命令,在它后面加上要刪除掉的東西就行了,在刪除目錄的時候,需要用一個 -r 參數,另外,可以再加上一個 -f 參數,這樣在刪除目錄里的文件的時候不會出現提示。注意在 Windows Powershell 上面用 rm 命令,不需要使用參數。

比如我的位置是在桌面上,有一個之前創建的文件叫 README.md 這個文件,刪除掉這個文件可以這樣:

rm README.md

再把桌面上的 projects_bak 這個目錄也刪除掉:

rm -rf projects_bak

Windows Powershell 不需要使用參數:

rm projects_bak

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM