站長必藏:26個Linux伺服器管理常用SSH命令列

SSH命令列可能是訪問網站伺服器最安全,最方便的方法之一。

f4fb2f39157048d87fc30f4216fd37a0

這是用於訪問您站點上檔案的協議,即“ Secure Shell”。只要您擁有登入憑據,就可以使用它從任何地方訪問您的站點,並最大程度地保證這個訪問是安全的。

在本文中,您將瞭解一些可用於WordPress網站伺服器管理的 最有用的SSH命令列

什麼是SSH以及如何使用?

SSH是用於訪問WordPress網站上檔案的安全協議。這篇文章重點介紹可以使用的SSH命令列,因此,這裡將不再展開介紹如何使用SSH訪問您的站點,而只會簡單概述一下。

什麼是SSH?

SSH或“Secure Shell”是一種協議,可用於訪問遠端伺服器上的檔案和目錄。SSH規範將它定義為:

“用於在不安全的網路上進行安全的遠端登入和其他安全的網路服務的協議。”

您可以使用終端(macOS或Linux上)或例如PuTTY或者Xshell客戶端(Windows上),通過SSH訪問您的站點,而不是使用Web瀏覽器。

如何在WordPress中使用SSH?

對於WordPress網站,SSH將幫助您通過管理介面或直接訪問WordPress安裝檔案以及您新增到wp-content目錄中的所有檔案。

您很有可能會在wp-content目錄中使用它,偶爾在根目錄中使用它來訪問wp-config.php之類的檔案。

要在您的站點管理工作中使用SSH命令列,請開啟“終端”或客戶端(如PuTTY或Xshell),然後通過輸入伺服器相關資訊進行安全訪問。包括:

  • 伺服器IP地址;
  • 伺服器使用者名稱;
  • 伺服器密碼;
  • 訪問埠。

以SSH客戶端Xshell為例,安裝啟用Xshell,點選“檔案-新建”來建立一個站點的會話:選擇協議為SSH;填寫伺服器IP地址;輸入埠,一般是22。如下圖:

站長必藏:26個Linux伺服器管理常用SSH命令列配圖1

伺服器基本資訊填寫

此外,你還需要填寫該伺服器的使用者身份驗證資訊,一般使用的是使用者名稱+密碼的登入方式,當然也有可能使用金鑰等其他安全方式登入。如下圖:

站長必藏:26個Linux伺服器管理常用SSH命令列配圖2

伺服器身份驗證

完成此操作後,即可開始針對你的WordPress網站伺服器使用SSH命令列。

如果您的連線被伺服器拒絕,則可能是由於多種原因之一。你可能還需要進行故障排除(常見的原因有賬號密碼錯誤、埠錯誤、伺服器當前網路無法訪問等),以重新建立連線。

什麼是PuTTY?如何使用?

如果您使用的是macOS或Linux,則已經具有通過SSH訪問WordPress站點伺服器的工具,因為系統內建終端即可使用SSH。

但是,如果您使用的是Windows,則需要安裝客戶端才能使用SSH。

最受歡迎的SSH客戶端是PuTTY(小編則更習慣了上面提到的Xshell)。您需要下載並安裝它,然後才能從Windows訪問您的伺服器。然後,您在PuTTY中使用與在終端中相同的SSH命令。

如何使用WordPress自動執行SSH命令?

使用SSH訪問WordPress站點的好處之一是,您可以自動化常用命令。

您可以通過使用WP-CLI(WordPress命令列介面)來實現。通過WP-CLI介面,您可訪問WordPress特定命令庫,使用SSH以外的命令。

使用WP-CLI意味著您可以自動化WordPress管理任務,例如更新WordPress安裝,安裝外掛和配置遠端伺服器。使用命令列大大提升WordPress管理效率。

將SSH與WordPress結合使用的好處

將SSH與WordPress結合使用有許多好處:

  • 安全。隨處隨地通過安全的通道對伺服器進行訪問。
  • 方便。無需進入WordPress儀表盤即可完成許多WordPress管理工作。
  • 高效。在許多情況下,使用SSH命令比使用WordPress儀表盤或通過SFTP訪問檔案要快得多。

上面我們簡單地瞭解了什麼是SSH以及如何使用命令列管理WordPress,接著我們一起來深入瞭解最常見的一些SSH命令列。

26個最常見的SSH命令列

SSH協議具有多種命令。下面為方便起見,列出了最常用的類別,並將它們分為幾類。

目錄命令

您可以使用多種SSH命令來操作處理WordPress網站中的目錄(或資料夾)。

pwd –顯示當前目錄(當前位置的完整路徑)

使用pwd命令可顯示您當前所在位置的伺服器完整路徑。

站長必藏:26個Linux伺服器管理常用SSH命令列配圖3

pwd命令

當你不清楚你當前在伺服器中所在的位置時,請使用此命令,您將看到有關確切位置的更多資訊。這對檢查您的位置很有用,因為您沒有使用程式碼編輯器或FTP客戶端時,無法直觀地看到當前所在位置。

ls –顯示目錄內容(列出檔名)

使用ls命令將顯示當前目錄所有內容。

站長必藏:26個Linux伺服器管理常用SSH命令列配圖4

ls命令

您還可以使用其他引數來自定義ls命令或將其新增到命令返回的資訊中:

  • ls -a 顯示隱藏的檔案。
  • ls -l 顯示目錄內容的檔案詳細資訊,例如許可權,所有權,日期等。
  • ls -s 以塊為單位列出檔案的大小。
  • ls -s -h 以易於閱讀的形式顯示大小。

確保在命令和任何引數之間鍵入一個空格。

站長必藏:26個Linux伺服器管理常用SSH命令列配圖5

ls -a命令

cd –更改目錄位置

cd命令即幫助你從當前目錄進入到另一個目錄。您可以移至當前目錄的子目錄,也可以使用正確的引數向上或向下移動。

下面的命令即從伺服器的根目錄轉到public目錄:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cd public
cd public
cd public

要上移目錄樹或返回原目錄,請使用以下引數之一:

  • cd .. 轉到當前位置上一級目錄。
  • cd ../foldername 轉到您上一級目錄中的另一個資料夾中。
  • cd – 轉到當前位置的一級目錄。
  • cd / 轉到根目錄。

在下面的螢幕截圖中,我進入了某個網站的根目錄並列出了其內容。如果您WordPress站長,應該對這些檔案不陌生:

站長必藏:26個Linux伺服器管理常用SSH命令列配圖6

進入網站根目錄並列出檔案內容

mkdir –建立一個新目錄

使用mkdir命令,可以在當前目錄中建立一個新目錄。

舉個栗子,比如您位於WordPress某個外掛資料夾中,並且想要為樣式表新增目錄,則可以使用以下命令:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mkdir styles
mkdir styles
mkdir styles

這會將一個新的空目錄新增到當前所在的資料夾中。如果你要建立的目錄不在當前位置,你需要輸入完整的路徑地址。打個比方你現在所在位置為wp-content資料夾,那你輸入命令應該像:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
mkdir /plugins/myplugin/styles
mkdir /plugins/myplugin/styles
mkdir /plugins/myplugin/styles

rmdir –刪除目錄

rmdir命令將刪除伺服器上的目錄。使用該命令要小心謹慎,因為沒有後悔藥可吃

與一樣mkdir,您可以使用rmdir命令來刪除當前位置的目錄:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
rmdir styles
rmdir styles
rmdir styles

或者,您也可以使用rmdir命令來刪除指定路徑的資料夾,比如:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
rmdir /plugins/myplugin/styles
rmdir /plugins/myplugin/styles
rmdir /plugins/myplugin/styles

rm命令還可以新增其他引數,完成更多的刪除動作。

  • rm * foldername –刪除目錄中的所有檔案或內容。
  • rm -r foldername –刪除資料夾以及資料夾內的所有內容。

檔案或目錄管理命令

以下命令可用於檔案或資料夾/目錄。

cp –複製檔案或資料夾

你可以使用cp命令來複制檔案或者資料夾到另一個位置。您需要指定要將檔案或資料夾複製到的位置。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cp filename.extension /dir/
cp filename.extension /dir/
cp filename.extension /dir/

上面的命令指定要複製的檔案的名稱(包括副檔名)及複製位置。

你還可以對複製的檔案執行重新命名(即新版本的名稱與原始版本的名稱不同),如:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cp filename.extension /dir/filename.extension
cp filename.extension /dir/filename.extension
cp filename.extension /dir/filename.extension

此命令還可以使用各種引數,來完成不同的操作:

  • cp -r 複製資料夾的所有內容。
  • cp -f 如果已有另一個同名檔案,則刪除目標檔案,並用新檔案覆蓋它。
  • cp -i 複製前會提示警告資訊。
  • cp -u 僅當檔案具有不同的內容時,才覆蓋目標資料夾中的檔案。
  • cp -n檢查檔案是否存在,如果存在,將不會複製。該命令不會覆蓋檔案。
  • cp -a 在保留原檔案屬性的前提下複製檔案。

mv –移動檔案或資料夾

除了複製檔案和資料夾,您還可以移動它們。你可以通過mv命令來實現。

與一樣cp,您可以移動檔案或資料夾並保持相同的名稱,也可以移動並執行重新命名操作。

  • mv filename.extension /dir/ 移動檔案並保持相同的名稱。
  • mv filename.extension /dir/filename1.extension 移動並重新命名檔案。
  • mv filename/ .. 將檔案移至上一個資料夾。

zip –壓縮檔案或資料夾

您可以對資料夾或檔案使用的另一個命令是zip,壓縮資料夾及其內容。命令需包括將被壓縮為zip檔案的檔案/資料夾的名稱。您還可以加入一些引數,來實現不一樣的壓縮操作:

  • zip -r filename.zip foldername 僅壓縮,不刪除資料夾。
  • zip -m filename.zip foldername 壓縮資料夾並將其刪除,僅留下壓縮版本的資料夾。
  • zip -d filename.zip foldername 從指定的現有zip存檔中刪除檔案。
  • zip -u filename.zip foldername 更新現有zip歸檔檔案中的檔案:如果您只是想更新了原始檔案並且不想刪除該zip檔案並建立一個新檔案,這個命令則非常有用。

站長必藏:26個Linux伺服器管理常用SSH命令列配圖7

zip -r命令

然後,當您列出資料夾的內容時,您將看到zip檔案和原始資料夾(如果使用的命令是zip -r),但如果使用的命令是zip -m,則只會看到新的zip檔案。

站長必藏:26個Linux伺服器管理常用SSH命令列配圖8

zip壓縮檔案

unzip –解壓壓縮包

unzip 命令將解壓縮目錄中的zip檔案並提取壓縮包裡的內容至當前目錄。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
unzip twentyseventeen.zip
unzip twentyseventeen.zip
unzip twentyseventeen.zip

如果您沒有在壓縮時刪除原始資料夾,請不要使用這個命令,因為該命令不會覆蓋原始資料夾。因此,如果你執行壓縮命令時如無需保留原資料夾時,應該使用zip -m命令壓縮,又或者使用rm命令來刪除原資料夾後再執行解壓命令。

您還可以新增引數來執行不一樣的解壓操作:

  • unzip filename.zip -x excludedfile.zip 指定不要處理.zip壓縮檔案中的哪些檔案。
  • unzip filename1.zip filename2.zip filename3.zip將解壓縮多個檔案。您可以根據需要使用任意數量的zip檔案,這比在FTP客戶端中執行此操作要快得多。

tar –建立和解壓壓縮檔案

tar命令用於建立和解壓.tar.gz格式的壓縮檔案,一般情況下我們使用此命令來替代.zip歸檔檔案。

要壓縮檔案或資料夾,可以使用tar cvzf命令。壓縮資料夾的語法為:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
tar cvzf archivename.tar.gz directoryname
tar cvzf archivename.tar.gz directoryname
tar cvzf archivename.tar.gz directoryname

上面archivename是要建立壓縮檔案的名稱,directoryname則是需要壓縮的資料夾的名稱。

與壓縮命令對應的解壓命令是tar xvzf

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
tar xvzf archivename.tar.gz
tar xvzf archivename.tar.gz
tar xvzf archivename.tar.gz

這四個字母代表具體說明:

  • c 告訴tar這是一個壓縮檔案命令。
  • x 告訴tar這是一個解壓檔案命令。
  • v 告訴tar在壓縮或解壓縮過程中顯示正在處理的檔名。
  • z 告訴tar通過gzip支援壓縮或解壓縮。
  • f 告訴tar您需要操作的檔案名稱,也就是說f後面必須跟上要處理的檔名。。

檔案命令

以下是專門用於檔案處理的最常見SSH命令列表。

touch –建立一個新檔案

要在伺服器上建立一個新的空檔案,可以使用touch命令:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
touch style.css
touch style.css
touch style.css

您只能在當前目錄中建立檔案,因此在使用touch命令之前,您必須通過cd命令進入對應的目錄。

cat –顯示檔案內容

要顯示檔案的內容,使用cat命令。

站長必藏:26個Linux伺服器管理常用SSH命令列配圖9

cat命令

該命令可以在終端或PuTTY中顯示任何檔案的全部內容。

grep –搜尋特定短語

如果您需要某一特定檔案上查詢的指定內容(尤其是一些內容比較多的文件),則可以使用grep命令搜尋特定的內容。

下面的截圖是演示在某一主題的sidebar.php檔案中搜尋“ sidebar”一詞。

站長必藏:26個Linux伺服器管理常用SSH命令列配圖10

grep命令

使用此命令可以顯示指定檔案包含搜尋詞的所有行。

如果我想搜尋不止一個單詞的字串,則需要將其括在英文雙引號中:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
grep "nav class" footer.php
grep "nav class" footer.php
grep "nav class" footer.php

grep命令帶引數,用於自定義搜尋:

  • grep -i "string" filename 在檔案中不區分大小寫地搜尋字串。
  • grep -c "string" filename 計算檔案中字串的例項數。
  • grep -l "string" * 列出包含字串的檔案。
  • grep -n "string" filename 在指定檔案搜該字串,並顯示行號以結果。

head –讀取檔案的前10行

如果您只想讀取檔案的開頭行,可以使用head命令:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
head filename.extension
head filename.extension
head filename.extension

站長必藏:26個Linux伺服器管理常用SSH命令列配圖11

head命令

tail –讀取檔案的最後10行

tail命令的工作方式與head命令相同,但是讀取檔案的最後十行:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
tail filename.extension
tail filename.extension
tail filename.extension

find –搜尋檔案和目錄

find命令可幫助您搜尋檔案和目錄,並返回符合指定條件的檔案和目錄。下面的命令將在當前目錄中搜尋名稱包括 “index” 的所有檔案:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
find . -name “index”
find . -name “index”
find . -name “index”

find命令語法為:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
find operator criterion string
find operator criterion string
find operator criterion string

可以使用的運算子為:

  • / (斜槓)搜尋整個系統。
  • . (點)搜尋當前目錄。
  • ~ (波浪號)搜尋主目錄。

因此,像下面的命令列將搜尋整個系統,而不僅僅是當前目錄:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
find / -name “index”
find / -name “index”
find / -name “index”

該命令列使用的標準包括:

  • -name – 檔名。
  • -user –屬於指定使用者的檔案。
  • -size –指定大小的檔案。
  • -type -d–目錄型別,即只搜尋此目錄。
  • -type -f –檔案型別,即僅搜尋此檔案型別。

搜尋詞可以是您喜歡的任何字串。確保將其括在英文雙引號中。

du –獲取檔案大小

如果要在WordPress安裝中查詢一個或多個檔案的大小,請使用du(磁碟使用情況)命令:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
du -h wp-config.php
du -h wp-config.php
du -h wp-config.php

插入-h表示磁碟使用情況將以可讀的格式顯示,而不是顯示為塊。

您還可以使用其他引數:

  • df -h 將以可讀的格式顯示結果。
  • df -m 將以MB顯示結果。
  • df -k 將以KB顯示結果。
  • df -T 將在額外的列中顯示檔案系統型別。
  • df -ht /directoryname 使可以檢視有關特定目錄的資訊。
  • df help 列出您可以使用的其他選項及其說明。

chmod –更改檔案許可權

chmod命令用於更改檔案的許可權:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
chmod 464 filename.extension
chmod 464 filename.extension
chmod 464 filename.extension

要確定使用的許可權,請使用Unix許可權計算器,然後將其提供的編號複製到命令中。

nano –使用Nano文字編輯器編輯檔案

如果使用touch命令建立新檔案,或者使用cat命令顯示現有檔案的內容,則可能需要對該檔案進行編輯。

您可以通過nano命令使用nano文字編輯器執行此操作:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
nano filename.extension
nano filename.extension
nano filename.extension

站長必藏:26個Linux伺服器管理常用SSH命令列配圖12

nano編輯器

使用該編輯器可以幫助你直接在終端或者SSH客戶端編輯檔案。

注意:使用nano編輯器編輯伺服器檔案的撤消工作比使用程式碼編輯器或版本控制系統要困難得多。建議僅在有保障的情況下進行較小的更改,否則建議通過視覺化的方式或者下載檔案至本地伺服器執行編輯修改工作。

要瀏覽檔案,請使用游標鍵以及螢幕底部列出的鍵盤快捷鍵。要退出檔案,請使用Ctrl-X(或者Command-X)返回到終端。

vim –使用Vim文字編輯器編輯檔案

VIM文字編輯器的工作原理與nano編輯器大致相同,您通過使用vim命令來啟用它。使用vim還是nano,視你個人喜好,一般情況下使用vim的朋友更多。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
vim filename.extension
vim filename.extension
vim filename.extension

wget –下載檔案

使用該wget命令,您可以從Internet下載檔案。下載檔案將儲存至當前所在的目錄中。您需要輸入下載檔案的完整路徑,如:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
wget https://site.com/filename.ext
wget https://site.com/filename.ext
wget https://site.com/filename.ext

這將從site.com下載filename.ext檔案,並將其儲存在當前目錄中。

終端命令

下面是一些最常用的命令列,以幫助您使用終端(或PuTTY)介面,這些命令通常作用於終端或者SSH客戶端而不是伺服器。

clear –清除螢幕

如果你覺得SSH終端螢幕內容過多幹擾到你的工作,只需輸入clear即可清除它,還你一個空白螢幕。如果您想要一個乾淨的工作環境,或者在公共場所要隱藏工作,這將非常有用。

reset –從終端上刪除輸出

reset命令將從終端螢幕中刪除所有命令和輸出,並清除螢幕。

history –顯示最近使用的50條命令

如果您不太確定最近使用SSH做了哪些命令列操作,並且想要重複或撤消某些操作,可以使用history命令列輸出最近使用的50條命令列列表。

站長必藏:26個Linux伺服器管理常用SSH命令列配圖13歷史命令

其他有用SSH命令列

以下命令不在上面的標題下,但您可能會發現它們對於通過SSH處理WordPress網站非常有用。

netstat –顯示網路連線

輸入netstat命令,您將看到網路連線和狀態的詳細資訊:

站長必藏:26個Linux伺服器管理常用SSH命令列配圖14netstat命令

exit –退出遠端伺服器

當你完成遠端伺服器管理工作後,輸入exit命令以退出伺服器並返回到本地計算機。

站長必藏:26個Linux伺服器管理常用SSH命令列配圖15
退出命令

完成工作後,應始終執行此操作,以便其他人無法通過SSH訪問伺服器。

摘要

通過SSH訪問WordPress站點,為您提供了一種安全便捷的方法來處理站點上的檔案,而無需開啟FTP客戶端或Web瀏覽器。

此處列出的常見的SSH命令列,應該能夠幫助大部分站長通過SSH執行WordPress中需要執行的大多數任務,建議收藏到瀏覽器收藏夾,以便日常有需要的時候查閱。

評論留言