WIKI使用導(dǎo)航
站長百科導(dǎo)航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計算
- 微博營銷
- 虛擬主機(jī)管理系統(tǒng)
- 開放平臺
- WIKI程序與應(yīng)用
- 美國十大主機(jī)
WordPress:UNIX Shell Skills
如果你最近從一個托管的寫博客的solution,如Blogger或者TypePad中進(jìn)入了WordPress,你可能對于管理網(wǎng)絡(luò)空間和博客的任務(wù)不太熟悉。WordPress是以PHP為基礎(chǔ)的; 許多托管服務(wù)使用服務(wù)器運(yùn)行Linux 和Apache; 許多網(wǎng)絡(luò)服務(wù)器不僅向它們的顧客提供以網(wǎng)絡(luò)為基礎(chǔ)的 控制界面 還提供 shell權(quán)限 或者命令行界面。許多WordPress用戶對于使用shell 來管理文件系統(tǒng),可能不熟悉。這篇文章介紹了更加常用的UNIX命令并且示范了一個常規(guī)的管理任務(wù)是如何運(yùn)行的,如一個小型的WordPress升級,就是在shell上執(zhí)行的。
The bash shell[ ]
你的網(wǎng)絡(luò)主機(jī)提供的shell很可能是bash,bash指的是"Bourne Again Shell",是以編寫了original 現(xiàn)代 Unix shell的Stephen Bourne 命名的。bash是由免費(fèi)軟件基金會來命名的。有許多不同的Unix shells。下面簡單描述的命令行幾乎對于所有的Unix shells都是適用的。
ssh, 安全 shell[ ]
安全 Shell (ssh)是用于遠(yuǎn)程管理你的站點(diǎn)的一套完整的工具。包含有SFTP (安全文件傳輸協(xié)議)用來向你的主機(jī)上傳文件。使用ssh的主要好處是,通過與一個遠(yuǎn)程的服務(wù)器接觸來增加安全性。與其它的服務(wù)器訪問工具一起,你的登錄密碼可能通過一個純文本在因特網(wǎng)上傳輸,可能會被截取。
在Windows下,使用 ssh , 使用 PuTTY 或者Cygwin, 為Widows使用一個類似UNIX的環(huán)境。The FileZilla ftp client 通過ssh-2也支持sftp 。
要在一個運(yùn)行OS X的Mac上使用ssh , 使用Mac OS X 支持的,以終端為基礎(chǔ)的SSH程序或者下載Fugu。
在 Linux 或者以 UNIX為基礎(chǔ)的操作系統(tǒng)上, 你可以從終端上使用以文本為基礎(chǔ)的SSH和SFTP clients,如Konsole, Gnome Terminal 或者xterm。 圖畫式的 FTP clients 如KBear and gFTP 也支持sftp。
你的主機(jī)公司會提供用戶名你和主機(jī)的詳細(xì)信息,使用這些信息是必要的。這些信息可能與你在控制面板上使用的信息有所不同。要使用這些信息,在Terminal prompt 輸入
ssh username@host
or
sftp username@host
術(shù)語[ ]
在開始處理一些UNIX commands之前,讓我們來閱讀一些術(shù)語。
- 目錄? 文件夾?
;目錄與文件夾指的是同一樣的內(nèi)容。目錄可以包含有子目錄。
- 點(diǎn)(句點(diǎn)或者句號)指的是當(dāng)前的目錄;兩個點(diǎn)指的是當(dāng)前目錄的上級目錄。
- 曲線字符(~)指的是你的主頁目錄。
- 用戶名后面的曲線字符(如在~username)指的是用戶的主頁目錄。
- 句點(diǎn)標(biāo)記和曲線符號都可以看作為目錄名稱。例如, ../config.php指的是當(dāng)前目錄的上一次目錄上的文件 config.php。目錄 ./functions.php 指的是當(dāng)前目錄中的 functions.php。而且 ~/public_html or ~/htdocs (通常)是你的主要網(wǎng)頁目錄的名稱,這個名稱很可能是你的主頁目錄的一個子目錄的名稱。顯示在你的網(wǎng)絡(luò)服務(wù)器的地址框中域 URI 指的是主要的網(wǎng)頁目錄,而不是站點(diǎn)所有者的主頁目錄。
- 前斜線(/)
:前斜線的功能與前斜線在網(wǎng)站URI上的功能相同:it shows the item after to be in a subdirectory or the directory before it.斜線本身代表根目錄,在文件系統(tǒng)的頂上方。
- 目錄名字符規(guī)則和空格
:文件或者目錄名稱可以包含任何標(biāo)準(zhǔn)的字符,但是一個前斜線&mdash除外;空格也除外。然而,當(dāng)輸入shell 命令行的時候,你用空格將命令行,參數(shù),和文件分開。如果你的文件或者目錄名中有一個空格,你需要在空格的前面使用一個前斜線?;蛘咴谖募蚰夸浢Q的周圍加上一個引號。一個稱為我的圖片的目錄,會以
"我的圖片"
或者
我的\ 圖片
輸入。
*和? 符號: * 和? 符號稱為通配符 可以用在任何處理文件的命令行中。* 指的是許多字符。?指的是一個字符。注意Linux 文件名是區(qū)分大小寫的— 規(guī)范的形式是小寫形式。所有的命令行都是小寫的。
命令選項:命令通常接受選項或者參數(shù), 這些選項和字符以一個連字號開始,挨次給出。如果你想為一個命令設(shè)置選項b, r and f,輸入
command -brf
,其它的詳細(xì)信息,例如文件名,在選項的后面。
Shell 命令[ ]
下面簡要介紹一些有用的UNIX shell命令。
ls[ ]
這個命令顯示了一個目錄的內(nèi)容的列表。為更改前,命令顯示了當(dāng)前目錄的內(nèi)容;你可以特別規(guī)定列出另一個目錄的內(nèi)容。一些有用的選項是:
- ls -l
:如果列表很長,你可以在網(wǎng)頁上顯示列表。輸入
ls -l |less
,執(zhí)行這一步
- (注意: 豎線 |也成為一個 UNIX pipe). pipe bar 指的是來自ls -l的輸出,提交到了一個程序 less, 這個程序顯示了任何收到的輸入內(nèi)容。你可以點(diǎn)擊空白處,來訪問下一個網(wǎng)頁,或者點(diǎn)擊箭頭,向上或者向下翻看。
- ls -la
- 包含隱藏文件 (例如,以一個圓點(diǎn)開始的文件,像目錄列表中的 .htaccess)。
- ls -l g*
:指定任何其它的目錄或者文件組列在選項的后面,在一個例子中,會列出所有以g開始的文件,然而ls public_html會列出public_html的內(nèi)容。
cd[ ]
cd命令更改了當(dāng)前的目錄。要從當(dāng)前的目錄切換到一個子目錄中,將子目錄的名稱放到命令行的后面。要變成一個子目錄wp-content,你需要輸入
cd wp-wp-content
要進(jìn)入當(dāng)前目錄的上級目錄,請輸入:
cd ..
要從當(dāng)前目錄切換到你的主目錄中,輸入
cd
mkdir[ ]
mkdir命令創(chuàng)建了一個在當(dāng)前目錄內(nèi)部創(chuàng)建了一個新的目錄。要在當(dāng)前的目錄中,創(chuàng)建一個名為audio目錄,請輸入
mkdir audio
要移除一個空目錄,請輸入rmdir directoryname例如;
rmdir audio
rm[ ]
rm命令刪除('移除')一個文件。要一次地刪除整個目錄以及目錄中所包含的內(nèi)容,輸入rm -rf directoryname。要刪除當(dāng)前目錄中的所有內(nèi)容,使用
rm -rf *
要謹(jǐn)慎—一旦某個內(nèi)容以這樣的方式刪除掉了,這個內(nèi)容就永遠(yuǎn)都不會返回了。
離開當(dāng)前命令行外殼[ ]
exit命令結(jié)束了你的shell部分。
mv[ ]
mv命令將文件從一個位置移到了另一個位置;同時還會重新命名文件。輸入
mv file new-location
如果 new-location 參數(shù)是當(dāng)前文件系統(tǒng)中的一個 (有效的) 目錄,文件就會被移動到這個目錄;如果目錄不是有效地目錄 (而且目錄名不與當(dāng)前的文件名相沖突的話), 文件 就會被重新命名為 new-location。你也可以使用一個命令,移動和重新命名一個文件:
mv file ~/path/to/new-file-name
cp[ ]
cp命令復(fù)制文件或者目錄。要復(fù)制一個目錄和目錄的全部內(nèi)容,請使用
cp -rf source-file destination
ln[ ]
ln命令創(chuàng)建鏈接。與我們的目標(biāo)相關(guān)的鏈接是"符號鏈接" 或者 symlinks —文件系統(tǒng)中 "指向" 其它文件或者目錄的文件。當(dāng)你訪問一個 symlink的時候,你真正是在使用原始文件。如果你想要將你的WordPress目錄的位置,如從/wordpress/ 改到/blog/中,你可以創(chuàng)建一個如下的symlinks:
ln -s wordpress blog
然后通過文件或者目錄真正的名稱來訪問— wordpress —或者通過鏈接名— blog。在WordPress管理面板的選項面板中,設(shè)置"博客地址(URI)"區(qū),來顯示symlink取代目錄名。
tar and unzip[ ]
tar 和 unzip 命令是用來壓縮和解壓"歸檔"文件的。存檔指的是已經(jīng)被"壓縮的"文件或者文件加 — 例如,文件按大小得到了壓縮— 通常是用來發(fā)行或者作為備份用的。解壓 命令是用來將文件以.zip結(jié)束; the tar 命令是用來將文件以.tgz 或者 .tar.gz結(jié)束.
解壓文件:如果文件是一個.tar.gz歸檔,請輸入
tar -zxvf file.tar.gz
如果文件是壓縮歸檔,你可能要創(chuàng)建一個臨時的目錄,你將文件的內(nèi)容解壓到這個目錄中(否則,文件就會解壓到當(dāng)前的目錄中)。
chmod和文件權(quán)限[ ]
chmod更改了一個特定的文件的權(quán)限。UNIX 文件權(quán)限規(guī)定了誰可以對文件進(jìn)行什么樣的處理。ls -l 命令告訴了你一個文件或者目錄擁有什么權(quán)限:
-rw-r--r-- 1 domain60 vweb 840 二月 21 06:38 wp-config-sample.php -rw-r--r-- 1 domain60 vweb 826 六月 29 20:31 wp-config.php drwxr-xr-x 4 domain60 vweb 4096 六月 29 20:30 wp-content -rw-r--r-- 1 domain60 vweb 762 三月 29 16:05 wp-feed.php drwxr-xr-x 3 domain60 vweb 4096 六月 29 18:46 wp-images drwxr-xr-x 2 domain60 vweb 4096 六月 29 18:46 wp-includes
權(quán)限顯示在第一個欄中的字母串中。那個欄中的第一個字母暗示了字母串是文件,鏈接還是目錄。d表示目錄,l表示鏈接,一個破折號表示一個文件。
權(quán)限是用下面九個字母公告的,這九個字母作為三組顯示。第一組的三個字母,涉及所有者,第二組他所屬于的那個組(不可能設(shè)計到你,一個網(wǎng)絡(luò)主機(jī)用戶),第三組涉及到其他所有的人。注意擁有根權(quán)限(管理員)的人能夠訪問系統(tǒng)上的所有文件。
字母r, w 和 x代表著閱讀,寫和執(zhí)行;如果文件是一個目錄,可執(zhí)行的指的是可移動的,意思是你可以用cd命令,移動到那個目錄上。當(dāng)權(quán)限列表上出現(xiàn)一個破折號的時候,這個權(quán)限不存在。
你用chmod命令更改權(quán)限。事實(shí)上,你可能不需要更改權(quán)限;一些主機(jī)在網(wǎng)絡(luò)目錄上的任何文件上,自動地設(shè)置某個權(quán)限。你的主機(jī)可能會通知你,你的服務(wù)器上需要設(shè)置什么權(quán)限。
chmod命令可以用來以兩種方式設(shè)置權(quán)限:用字母或者用數(shù)字來設(shè)置權(quán)限。如果你使用字母,你可以輸入
chmod o+w 文件名
這賦予每個人使用系統(tǒng)的特權(quán)。第一個字母可以使u(用戶),g(小組)或者o(其它的),或者一個組合;the + (grant) 也可以是 be - (withhold), 第三個字母也可以是 r 或者 x (閱讀或者執(zhí)行)。
如果你使用數(shù)字,文件的所有權(quán)限都可以一次設(shè)置好。如:
chmod 755 wp-images
設(shè)置了wp-images目錄的權(quán)限為755,然后第一個數(shù)字("百位數(shù)")是為用戶設(shè)置的,第二位數(shù)("十位數(shù)")是為小組設(shè)置的,第三位數(shù)("個位數(shù)")是為其他所有的人設(shè)置的。
更多關(guān)于數(shù)字權(quán)限設(shè)置的內(nèi)容:在任何區(qū)域中添加4,賦予了閱讀權(quán)限;添加2賦予了編寫的權(quán)限,而添加1賦予了執(zhí)行的權(quán)限;每個組合都有一個獨(dú)特的數(shù)字。上述例子中的目錄,將權(quán)限設(shè)置為755,對于網(wǎng)絡(luò)上可以使用的目錄,這個權(quán)限非常常見,用戶擁有所有的特權(quán),而其他人只有閱讀和執(zhí)行的權(quán)限;上述例子中的文件的權(quán)限設(shè)置為644,用戶可以閱讀和編寫文件,而其他人只能夠閱讀文件。
6 4 4 420400400 -rw-r--r-- 1 domain60 vweb 840 Feb 21 06:38 wp-config-sample.php 7 5 5 421401401 drwxr-xr-x 2 domain60 vweb 4096 Jun 29 18:46 wp-includes
wget[ ]
如果你在wget命令后,加上一個網(wǎng)絡(luò)地址(URI),這個命令就會下載一個文件。要下載最新發(fā)行的WordPress版本,請輸入
wget http://wordpress.org/latest.tar.gz
從Shell中升級WordPress[ ]
讓我們來使用,用命令行升級WordPress的例子。首先,在你的網(wǎng)絡(luò)服務(wù)器的文件系統(tǒng)上確立你的WordPress的位置。這個例子中假如WordPress位于~/public_html/blog。
- 為你的shell帳戶的主頁目錄下載當(dāng)前的WordPress版本并且將這個版本解壓:
wget http://wordpress.org/latest.tar.gz tar -zxvf latest.tar.gz
WordPress存檔文件會被解壓到一個新的目錄,目錄名為/wordpress. - 用下面的命令輸入新的目錄:
cd wordpress
- 移除 wp-config-sample.php:
rm wp-config-sample.php
(取而代之,我們會看到當(dāng)前的wp-config.php) - 將整個/wp-content 目錄,從新的目錄中移除 (我們會用WordPress博客中的目錄來代替這個目錄):
rm -rf wp-content
- 將博客的wp-config.php 和.htaccess 文件復(fù)制到新的目錄中:
cp ~/public_html/blog/wp-config.php . cp ~/public_html/blog/.htaccess .
注意: 不要忘了兩個命令后面的點(diǎn)號! - 將wp-content目錄復(fù)制到新的目錄(包含了我們所有的主題和插件):
cp -rf ~/public_html/blog/wp-content/ .
再一次地注意,命令結(jié)尾的點(diǎn)號。 - 移除你的WordPress博客目錄中的所有內(nèi)容:
rm -rf ~/public_html/blog/*
- 最后,將新目錄的所有內(nèi)容復(fù)制到你的主要博客目錄中:
cp -rf * ~/public_html/blog
SFTP Shell 命令[ ]
SFTP代表安全文件傳輸協(xié)議,是加密的FTP形式,如FTP,你可以使用在這篇文章的頂端所提到的一個shell為基礎(chǔ)的client或者一個圖形client。如果你的主機(jī)支持SSH,主機(jī)就同樣支持SFTP。
與Shell一樣的命令[ ]
Shell類型支持的命令,類似于用在bash中的命令。這些包括 cd, ls, mkdir, rm 和 rmdir。也支持 ln, 不同的是,你不需要使用-s 選項來創(chuàng)建symlinks; 在sftp中, ln 命令使得symlinks 是默認(rèn)的。所有這些命令對于你的主機(jī)系統(tǒng)上的文件都起作用。
put and mput[ ]
這兩個命令轉(zhuǎn)移到你的主機(jī)(例如上傳)一個單獨(dú)的文件(put)或者任何與你支持的模式相匹配的文件(mput);以上所描述的通配符* 和?可以用在這兒。
get and mget[ ]
這兩個命令從你的主機(jī)轉(zhuǎn)移到你的本地電腦上(例如下載)一個單一的文件(get)或者任何匹配支持的模式的文件(mget)。與mput一樣,可以使用* 和 ?。
cd, mkdir, ls[ ]
這些命令與命令的bash shell命令是相同的:更改當(dāng)前的目錄,創(chuàng)建一個新的目錄,列出當(dāng)前目錄的內(nèi)容。在你自己的電腦的SFTP內(nèi)部執(zhí)行同樣的操作,在命令的前面添加一個l:lcd, lmkdir, lls。
深入閱讀[ ]
chmod 指南 什么 chmod?在線文件權(quán)限計算器