站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
WordPress:UNIX Shell Skills
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<div style="border:blue 1px solid; background:#E5F2FF; text-align:center; margin:5px; padding:10px">'''注意''': 这篇文章包含一个高级主题。</div> __TOC__ 如果你最近从一个托管的写博客的solution,如Blogger或者TypePad中进入了[[WordPress:WordPress|WordPress]],你可能对于管理网络空间和博客的任务不太熟悉。WordPress是以[[WordPress:Glossary#PHP|PHP]]为基础的; 许多[[WordPress:Hosting WordPress|托管服务]]使用服务器运行Linux 和Apache; 许多网络服务器不仅向它们的顾客提供以网络为基础的 [[WordPress:Wikipedia:Control panel|控制界面]] 还提供 [[WordPress:Wikipedia:Operating system shell|shell权限]] 或者[[WordPress:Wikipedia:Command line interface|命令行界面]]。许多WordPress用户对于使用[[WordPress:Wikipedia:Operating system shell|shell]] 来管理文件系统,可能不熟悉。这篇文章介绍了更加常用的UNIX命令并且示范了一个常规的管理任务是如何运行的,如一个小型的WordPress升级,就是在shell上执行的。 === The bash shell === 你的网络主机提供的shell很可能是[[WordPress:Wikipedia:Bash|bash]],bash指的是"Bourne Again Shell",是以编写了[[WordPress:Wikipedia:Bourne_shell|original 现代 Unix shell]]的[[WordPress:Wikipedia:Stephen_Bourne|Stephen Bourne]] 命名的。[[WordPress:Wikipedia:Bash|bash]]是由[http://www.gnu.org/ 免费软件基金会]来命名的。有许多不同的Unix shells。下面简单描述的命令行几乎对于所有的Unix shells都是适用的。 === ssh, 安全 shell === [[WordPress:Wikipedia:Secure Shell|安全 Shell]] (ssh)是用于远程管理你的站点的一套完整的工具。包含有[[WordPress:Wikipedia:SSH_file_transfer_protocol|SFTP]] (安全文件传输协议)用来向你的主机上传文件。使用[[WordPress:Wikipedia:Secure Shell|ssh]]的主要好处是,通过与一个远程的服务器接触来增加安全性。与其它的服务器访问工具一起,你的登录密码可能通过一个纯文本在因特网上传输,可能会被截取。 '''在Windows下,使用 [[WordPress:Wikipedia:Secure Shell|ssh]] ''', 使用 [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] 或者[http://www.cygwin.com/ Cygwin], 为Widows使用一个类似UNIX的环境。The [http://filezilla.sourceforge.net FileZilla] [[WordPress:FTP Clients|ftp client]] 通过ssh-2也支持sftp 。 '''要在一个运行OS X的Mac上使用[[WordPress:Wikipedia:Secure Shell|ssh]] ''', 使用Mac OS X 支持的,以终端为基础的SSH程序或者下载[http://rsug.itd.umich.edu/software/fugu/ Fugu]。 '''在 Linux 或者以 UNIX为基础的操作系统上''', 你可以从终端上使用以文本为基础的SSH和SFTP clients,如Konsole, Gnome Terminal 或者xterm。 图画式的 FTP clients 如[http://kbear.sourceforge.net/ KBear] and [http://gftp.seul.org/ gFTP] 也支持[[WordPress:Wikipedia:SSH_file_transfer_protocol|sftp]]。 你的主机公司会提供用户名你和主机的详细信息,使用这些信息是必要的。这些信息可能与你在控制面板上使用的信息有所不同。要使用这些信息,在Terminal prompt 输入<pre>ssh username@host</pre> or <pre>sftp username@host</pre> == 术语== 在开始处理一些UNIX commands之前,让我们来阅读一些术语。 ;'''目录? 文件夹?''' ;目录与文件夹指的是同一样的内容。目录可以包含有子目录。 *点(句点或者句号)指的是当前的目录;两个点指的是当前目录的上级目录。 *曲线字符(~)指的是你的主页目录。 *用户名后面的曲线字符(如在<tt style="font-weight:bold; color:#036">~username</tt>)指的是用户的主页目录。 :句点标记和曲线符号都可以看作为目录名称。例如, <tt style="font-weight:bold; color:#036">../config.php</tt>指的是当前目录的上一次目录上的文件 <tt style="font-weight:bold; color:#036">config.php</tt>。目录 <tt style="font-weight:bold; color:#036">./functions.php</tt> 指的是当前目录中的 <tt style="font-weight:bold; color:#036">functions.php</tt>。而且 <tt style="font-weight:bold; color:#036">~/public_html</tt> or <tt style="font-weight:bold; color:#036">~/htdocs</tt> (通常)是你的主要网页目录的名称,这个名称很可能是你的主页目录的一个子目录的名称。显示在你的网络服务器的地址框中域 [[WordPress:Glossary#URI|URI]] 指的是主要的网页目录,而不是站点所有者的主页目录。 ;'''前斜线(/)''' :前斜线的功能与前斜线在网站URI上的功能相同:it shows the item after to be in a subdirectory or the directory before it.斜线本身代表根目录,在文件系统的<em>顶上方</em>。 ;'''目录名字符规则和空格''' :文件或者目录名称可以包含任何标准的字符,但是一个前斜线&mdash除外;空格也除外。然而,当输入shell 命令行的时候,你用空格将命令行,参数,和文件分开。如果你的文件或者目录名中有一个空格,你需要在空格的前面使用一个前斜线。或者在文件或目录名称的周围加上一个引号。一个称为<tt style="font-weight:bold; color:#036">我的图片</tt>的目录,会以<pre>"我的图片"</pre> 或者 <pre>我的\ 图片</pre>输入。 ''' *和? 符号''': <tt style="font-weight:bold; color:#036">*</tt> 和<tt style="font-weight:bold; color:#036">?</tt> 符号称为[[WordPress:Wikipedia:Wildcard_character|通配符]] 可以用在任何处理文件的命令行中。<tt style="font-weight:bold; color:#036">*</tt> 指的是许多字符。<tt style="font-weight:bold; color:#036">?</tt>指的是一个字符。注意Linux 文件名是区分大小写的— 规范的形式是小写形式。所有的命令行都是小写的。 <br /><br /> '''命令选项''':命令通常接受选项或者参数, 这些选项和字符以一个连字号开始,挨次给出。如果你想为一个命令设置选项<tt style="font-weight:bold; color:#036">b</tt>, <tt style="font-weight:bold; color:#036">r</tt> and <tt style="font-weight:bold; color:#036">f</tt>,输入<pre>command -brf</pre>,其它的详细信息,例如文件名,在选项的后面。 == Shell 命令 == 下面简要介绍一些有用的UNIX shell命令。 === ls === 这个命令显示了一个目录的内容的列表。为更改前,命令显示了当前目录的内容;你可以特别规定列出另一个目录的内容。一些有用的选项是: * <tt style="font-weight:bold; color:#036">ls -l</tt> :如果列表很长,你可以在网页上显示列表。输入<pre>ls -l |less</pre> ,执行这一步 : (注意: 竖线 <tt style="font-weight:bold; color:#036">|</tt>也成为一个 UNIX ''pipe''). pipe bar 指的是来自<tt style="font-weight:bold; color:#036">ls -l</tt>的输出,提交到了一个程序 <tt style="font-weight:bold; color:#036">less</tt>, 这个程序显示了任何收到的输入内容。你可以点击空白处,来访问下一个网页,或者点击箭头,向上或者向下翻看。 * <tt style="font-weight:bold; color:#036">ls -la</tt> :包含隐藏文件 (例如,以一个圆点开始的文件,像目录列表中的 [[WordPress:Glossary#.htaccess|.htaccess]])。 * <tt style="font-weight:bold; color:#036">ls -l g*</tt> :指定任何其它的目录或者文件组列在选项的后面,在一个例子中,会列出所有以g开始的文件,然而<tt style="font-weight:bold; color:#036">ls public_html</tt>会列出public_html的内容。 === cd === <tt style="font-weight:bold; color:#036">cd</tt>命令更改了当前的目录。要从当前的目录切换到一个子目录中,将子目录的名称放到命令行的后面。要变成一个子目录<tt style="font-weight:bold; color:#036">wp-content</tt>,你需要输入 <pre> cd wp-wp-content </pre> 要进入当前目录的上级目录,请输入: <pre> cd .. </pre> 要从当前目录切换到你的主目录中,输入 <pre> cd </pre> === mkdir === <tt style="font-weight:bold; color:#036">mkdir</tt>命令创建了一个在当前目录内部创建了一个新的目录。要在当前的目录中,创建一个名为<tt style="font-weight:bold; color:#036">audio</tt>目录,请输入 <pre> mkdir audio </pre> 要移除一个空目录,请输入<tt style="font-weight:bold; color:#036">rmdir directoryname</tt>例如; <pre> rmdir audio </pre> === rm === <tt style="font-weight:bold; color:#036">rm</tt>命令删除('移除')一个文件。要一次地删除整个目录以及目录中所包含的内容,输入<tt style="font-weight:bold; color:#036">rm -rf directoryname</tt>。要删除当前目录中的所有内容,使用 <pre>rm -rf *</pre> 要谨慎—一旦某个内容以这样的方式删除掉了,这个内容就永远都不会返回了。 === 离开当前命令行外壳 === <tt style="font-weight:bold; color:#036">exit</tt>命令结束了你的shell部分。 === mv === <tt style="font-weight:bold; color:#036">mv</tt>命令将文件从一个位置移到了另一个位置;同时还会重新命名文件。输入 <pre>mv file new-location</pre> 如果 <tt style="font-weight:bold; color:#036">new-location</tt> 参数是当前文件系统中的一个 (有效的) 目录,文件就会被移动到这个目录;如果目录不是有效地目录 (而且目录名不与当前的文件名相冲突的话), <tt style="font-weight:bold; color:#036">文件</tt> 就会被重新命名为 <tt style="font-weight:bold; color:#036">new-location</tt>。你也可以使用一个命令,移动和重新命名一个文件: <pre>mv file ~/path/to/new-file-name</pre> === cp === <tt style="font-weight:bold; color:#036">cp</tt>命令复制文件或者目录。要复制一个目录和目录的全部内容,请使用 <pre>cp -rf source-file destination</pre> === ln === <tt style="font-weight:bold; color:#036">ln</tt>命令创建链接。与我们的目标相关的链接是"符号链接" 或者 ''symlinks'' —文件系统中 "指向" 其它文件或者目录的文件。当你访问一个 symlink的时候,你真正是在使用原始文件。如果你想要将你的WordPress目录的位置,如从<tt style="font-weight:bold; color:#036">/wordpress/</tt> 改到<tt style="font-weight:bold; color:#036">/blog/</tt>中,你可以创建一个如下的symlinks: <pre>ln -s wordpress blog</pre> 然后通过文件或者目录真正的名称来访问— <tt style="font-weight:bold; color:#036">wordpress</tt> —或者通过链接名— <tt style="font-weight:bold; color:#036">blog</tt>。在WordPress[[WordPress:Administration Panels|管理面板]]的[[WordPress:Administration_Panels#Options_-_Configuration_Settings|选项]]面板中,设置"博客地址(URI)"区,来显示symlink取代目录名。 === tar and unzip === <tt style="font-weight:bold; color:#036">tar</tt> 和 <tt style="font-weight:bold; color:#036">unzip</tt> 命令是用来压缩和解压"归档"文件的。存档指的是已经被"压缩的"文件或者文件加 — 例如,文件按大小得到了压缩— 通常是用来发行或者作为备份用的。<tt style="font-weight:bold; color:#036">解压</tt> 命令是用来将文件以<tt style="font-weight:bold; color:#036">.zip</tt>结束; the <tt style="font-weight:bold; color:#036">tar</tt> 命令是用来将文件以<tt style="font-weight:bold; color:#036">.tgz</tt> 或者 <tt style="font-weight:bold; color:#036">.tar.gz</tt>结束. '''解压文件''':如果文件是一个<tt style="font-weight:bold; color:#036">.tar.gz</tt>归档,请输入<pre>tar -zxvf file.tar.gz</pre> 如果文件是<tt style="font-weight:bold; color:#036">压缩</tt>归档,你可能要创建一个临时的目录,你将文件的内容解压到这个目录中(否则,文件就会解压到当前的目录中)。 === chmod和文件权限 === <tt style="font-weight:bold; color:#036">chmod</tt>更改了一个特定的文件的权限。UNIX 文件权限规定了谁可以对文件进行什么样的处理。<tt style="font-weight:bold; color:#036">ls -l</tt> 命令告诉了你一个文件或者目录拥有什么权限: <pre style="font-size: 0.82em"> -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 </pre> 权限显示在第一个栏中的字母串中。那个栏中的第一个字母暗示了字母串是文件,链接还是目录。<tt style="font-weight:bold; color:#036">d</tt>表示目录,<tt style="font-weight:bold; color:#036">l</tt>表示链接,一个破折号表示一个文件。 权限是用下面九个字母公告的,这九个字母作为三组显示。第一组的三个字母,涉及所有者,第二组他所属于的那个组(不可能设计到你,一个网络主机用户),第三组涉及到其他所有的人。注意拥有根权限(管理员)的人能够访问系统上的所有文件。 字母<tt style="font-weight:bold; color:#036">r</tt>, <tt style="font-weight:bold; color:#036">w</tt> 和 <tt style="font-weight:bold; color:#036">x</tt>代表着阅读,写和执行;如果文件是一个目录,可执行的指的是可移动的,意思是你可以用<tt style="font-weight:bold; color:#036">cd</tt>命令,移动到那个目录上。当权限列表上出现一个破折号的时候,这个权限不存在。 你用<tt style="font-weight:bold; color:#036">chmod</tt>命令更改权限。事实上,你可能不需要更改权限;一些主机在网络目录上的任何文件上,自动地设置某个权限。你的主机可能会通知你,你的服务器上需要设置什么权限。 <tt style="font-weight:bold; color:#036">chmod</tt>命令可以用来以两种方式设置权限:用字母或者用数字来设置权限。如果你使用字母,你可以输入<pre>chmod o+w 文件名</pre> 这赋予每个人使用系统的特权。第一个字母可以使u(用户),g(小组)或者o(其它的),或者一个组合;the + (grant) 也可以是 be - (withhold), 第三个字母也可以是 r 或者 x (阅读或者执行)。 如果你使用数字,文件的所有权限都可以一次设置好。如: <pre>chmod 755 wp-images</pre> 设置了<tt style="font-weight:bold; color:#036">wp-images</tt>目录的权限为755,然后第一个数字("百位数")是为用户设置的,第二位数("十位数")是为小组设置的,第三位数("个位数")是为其他所有的人设置的。 '''更多关于数字权限设置的内容:'''在任何区域中添加4,赋予了阅读权限;添加2赋予了编写的权限,而添加1赋予了执行的权限;每个组合都有一个独特的数字。上述例子中的目录,将权限设置为755,对于网络上可以使用的目录,这个权限非常常见,用户拥有所有的特权,而其他人只有阅读和执行的权限;上述例子中的文件的权限设置为644,用户可以阅读和编写文件,而其他人只能够阅读文件。 <pre style="font-size: 0.9em"> 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 </pre> === wget === 如果你在<tt style="font-weight:bold; color:#036">wget</tt>命令后,加上一个网络地址(URI),这个命令就会下载一个文件。要下载最新发行的WordPress版本,请输入<pre>wget http://wordpress.org/latest.tar.gz</pre> == 从Shell中升级WordPress == 让我们来使用,用命令行升级WordPress的例子。首先,在你的网络服务器的文件系统上确立你的WordPress的位置。这个例子中假如WordPress位于<tt style="font-weight:bold; color:#036">~/public_html/blog</tt>。 <ol> <li>为你的shell帐户的主页目录下载当前的WordPress版本并且将这个版本解压:<pre>wget http://wordpress.org/latest.tar.gz tar -zxvf latest.tar.gz</pre> WordPress存档文件会被解压到一个新的目录,目录名为<tt style="font-weight:bold; color:#036">/wordpress</tt>.</li> <li>用下面的命令输入新的目录:<pre>cd wordpress</pre></li> <li>移除 <tt style="font-weight:bold; color:#036">wp-config-sample.php</tt>: <pre>rm wp-config-sample.php</pre> (取而代之,我们会看到当前的<tt style="font-weight:bold; color:#036">wp-config.php</tt>)</li> <li>将整个<tt style="font-weight:bold; color:#036">/wp-content</tt> 目录,从新的目录中移除 (我们会用WordPress博客中的目录来代替这个目录): <pre>rm -rf wp-content</pre></li> <li>将博客的<tt style="font-weight:bold; color:#036">wp-config.php</tt> 和<tt style="font-weight:bold; color:#036">.htaccess</tt> 文件复制到新的目录中: <pre>cp ~/public_html/blog/wp-config.php . cp ~/public_html/blog/.htaccess .</pre> 注意: 不要忘了两个命令后面的点号!</li> <li>将<tt style="font-weight:bold; color:#036">wp-content</tt>目录复制到新的目录(包含了我们所有的主题和插件): <pre>cp -rf ~/public_html/blog/wp-content/ .</pre> 再一次地注意,命令结尾的点号。</li> <li>移除你的WordPress博客目录中的所有内容: <pre>rm -rf ~/public_html/blog/*</pre></li> <li>最后,将新目录的所有内容复制到你的主要博客目录中: <pre>cp -rf * ~/public_html/blog</pre></li> </ol> == SFTP Shell 命令 == SFTP代表安全文件传输协议,是加密的FTP形式,如FTP,你可以使用在这篇文章的顶端所提到的一个shell为基础的client或者一个图形client。如果你的主机支持SSH,主机就同样支持SFTP。 === 与Shell一样的命令=== Shell类型支持的命令,类似于用在bash中的命令。这些包括 <tt style="font-weight:bold; color:#036">cd</tt>, <tt style="font-weight:bold; color:#036">ls</tt>, <tt style="font-weight:bold; color:#036">mkdir</tt>, <tt style="font-weight:bold; color:#036">rm</tt> 和 <tt style="font-weight:bold; color:#036">rmdir</tt>。也支持 <tt style="font-weight:bold; color:#036">ln</tt>, 不同的是,你不需要使用<tt style="font-weight:bold; color:#036">-s</tt> 选项来创建symlinks; 在sftp中, <tt style="font-weight:bold; color:#036">ln</tt> 命令使得symlinks 是默认的。所有这些命令对于你的主机系统上的文件都起作用。 === put and mput === 这两个命令转移到你的主机(例如上传)一个单独的文件(<tt style="font-weight:bold; color:#036">put</tt>)或者任何与你支持的模式相匹配的文件(<tt style="font-weight:bold; color:#036">mput</tt>);以上所描述的通配符<tt style="font-weight:bold; color:#036">*</tt> 和<tt style="font-weight:bold; color:#036">?</tt>可以用在这儿。 === get and mget === 这两个命令从你的主机转移到你的本地电脑上(例如下载)一个单一的文件(<tt style="font-weight:bold; color:#036">get</tt>)或者任何匹配支持的模式的文件(<tt style="font-weight:bold; color:#036">mget</tt>)。与<tt style="font-weight:bold; color:#036">mput</tt>一样,可以使用<tt style="font-weight:bold; color:#036">*</tt> 和 <tt style="font-weight:bold; color:#036">?</tt>。 === cd, mkdir, ls === 这些命令与命令的bash shell命令是相同的:更改当前的目录,创建一个新的目录,列出当前目录的内容。在你自己的电脑的SFTP内部执行同样的操作,在命令的前面添加一个<tt style="font-weight:bold; color:#036">l</tt>:<tt style="font-weight:bold; color:#036">lcd</tt>, <tt style="font-weight:bold; color:#036">lmkdir</tt>, <tt style="font-weight:bold; color:#036">lls</tt>。 ==深入阅读 == [http://catcode.com/teachmod/ chmod 指南] [http://www.classical-webdesigns.co.uk/resources/whatchmod.html 什么 chmod?]在线文件权限计算器 == 也看看 == [[WordPress:Changing File Permissions|更改文件权限]] [[WordPress:htaccess for subdirectories|子目录的htaccess]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)