PDA

View Full Version : DreamHost Shell使用指南


topvip
2010-08-14, 11:23 AM
首先我们得知道什么叫shell.

操作系统与外部最主要的接口就叫做shell,或许这样说过于术语化,for example后你肯定就能够明白:cmd命令行,这是windows操作系统下的一个shell。这里说的dreamhost的shell是指dreamhost提供给客户一个命令行,方便客户更好的使用他们的虚拟主机服务。

DreamHost中shell使用指南本文中所用的shell指令及操作均基于Linux ord 2.4.29,即DreamHost现在采用的系统。本人不是计算机专业出身,本指南因此会比较死板,只针对想要使用shell又苦于不知如何下手的新手,如果你也是DreamHost的用户,那本文或许对你有所帮助。

在使用之前,要先将DreamHost中的shell开启

putty 软件使用指南

目录:

1. Basic Instructions /基本指令
2. wget /下载工具
3. Crontab /定时任务
4. tar/tar.gz /压缩文件
5. vi /编辑器

1. Basic Instructions基本操作命令

通常来说,使用"$[Instructions] --help"可以获得以下各个命令[instructions]的帮助,包含其参数列表的定义。

-ls 列出当前文件夹下所有内容
$ls -o 列出当前文件夹中所有内容,含详细信息,但不列出group
$ls -l 同上,含group信息
$ls -a 列出当前文件夹中所有内容,包含以"."开头的文件
$ls -t 按更改时间排序
$ls -v 按版本先后排序

-cd [dir] 进入文件夹

-pwd 显示当前路径

-mkdir [dir] 新建文件夹

-chmod 更改文件/文件夹权限
$chmod [Mode] [dir],其中Mode形如"755"或"777"等。
$chmod [Mode] [file]
$chmod -R [Mode] [dir],递归形式,即将目标文件夹内所有文件均改变权限
Mode还有另一种表达方式,"755"即为"-rwxr-xr-x",不列举了。

-rm [file] 删除文件/文件夹
$rm -f [file] 强行删除,忽略不存在的文件,无提示
$rm -r [file] 递归删除所有内容

-cp 拷贝
$cp [options] [source] [destination]
其中[options]可以为-f(强行拷贝)或-r(递归拷贝)

-mv 重命名或移动
$mv [options] [source] [destination]
[options]常用:-f(强行移动/重命名), -i(移动/重命名前尝试), -u(更新)
例如
$mv wwwroot/cgi-bin . 将/cgi-bin目录移动到当前目录下
$mv cronfile.txt myfile.txt 将cronfile.txt重命名为myfile.txt

2. wget下载工具

wget是一种非交互式的网络文件下载工具,在linux下可以使用该工具快速地从网络上下载所需要的文件而不需要经由本地硬盘中转,而且速度极快。以下是一些使用方法:

wget [参数列表] URL

最简单的用法:


$wget http://abc.com/file.tar

wget的常用参数:
· -t [nuber of times]:尝试次数,当wget无法与服务器建立连接时,尝试连接多少次。比如"-t120"表示尝试120次。当这一项为"0"的时候,指定尝试无穷多次直到连接成功为止,这个设置非常有用,当对方服务器突然关机或者网络突然中断的时候,可以在恢复正常后继续下载没有传完的文件;

· -c:断点续传,这也是个非常有用的设置,特别当下载比较大的文件的时候,如果中途意外中断,那么连接恢复的时候会从上次没传完的地方接着传,而不是又从头开始,使用这一项需要远程服务器也支持断点续传,一般来讲,基于UNIX/linux的Web/FTP服务器都支持断点续传;

· -T [number of seconds]:超时时间,指定多长时间远程服务器没有响应就中断连接,开始下一次尝试。比如"-T120"表示如果120秒以后远程服务器没有发过来数据,就重新尝试连接。如果网络速度比较快,这个时间可以设置的短些,相反,可以设置的长一些,一般最多不超过900,通常也不少于60,一般设置在120左右比较合适;

· -w [number of seconds]:在两次尝试之间等待多少秒,比如"-w 100"表示两次尝试之间等待100秒;

· -nd:不下载目录结构,把从服务器所有指定目录下载的文件都堆到当前目录里;

· -x:与"-nd"设置刚好相反,创建完整的目录结构,例如"wget -nd http://www.gnu.org/ ",实际的目录结构一级一级建下去,直到所有的文件都传完为止;

· -nH:不创建以目标主机域名为目录名的目录,将目标主机的目录结构直接下到当前目录下;

· -r:递归下载,在本机建立服务器端目录结构;

· -l [depth]:下载远程服务器目录结构的深度,例如"-l 5"下载目录深度小于或者等于5以内的目录结构或者文件;

· -m:做站点镜像时的选项,如果你想做一个站点的镜像,使用这个选项,它将自动设定其他合适的选项以便于站点镜像;

· -np:只下载目标站点指定目录及其子目录的内容。这也是一个非常有用的选项,我们假设某个人的个人主页里面有一个指向这个站点其他人个人主页的连接,而我们只想下载这个人的个人主页,如果不设置这个选项,甚至--有可能把整个站点给抓下来,这显然是我们通常不希望的;

· --http-user=username
· --http-passwd=password:如果Web服务器需要指定用户名和口令,用这两项来设定;

· -O 将数据写入文件中。

chmod 0777 -R *
设置所有文件和目录属性为0777

1,上传打包文件,DH空间支持的解压缩格式为.gz/.tar.gz/.tar/.zip 也就是说,您别上传rar格式!rar是win 下的格式!而不是*unx下的格式!
上传后,直接登陆shell,cd 到压缩包所在的目录

解压缩 tar/tar.gz/ 的命令是 tar xzf 压缩包名称 其中的zxf这些是参数,还可以加个v,列表所有压缩包文件

解压缩gz 的命令是 gunzip
佳压缩zip文件的命令是 unzip
有些可以通用!

建议尽量压缩成tar.gz 的格式!这个效率很高的!同样100M的文件,zip压完了是60 M,tar.gz 压完了是30M,因为tar.gz 是经过了双重压缩的!也就是说,先压成了tar格式!又压成了gz格式!

对于那些没有shell取权限的用户来说!推荐一个工具!http://hostdomainsetup.com/wenzip.rar 里面有说明!这个工具很好用!一般的php空间都支持,只要空间支持zlib..

2,直接下载压缩包!!获取到压缩包的地址,然后登陆shell,运行 wget http://*******.com/***.tar.gz
这样就可以直接把压缩包下载下来!然后再解压缩!很方便!!我曾经使用DH的shell下载过10多G的东西!连一个小时都用不了!!

3,chmod 命令!!也许现在很多使用DH的空间都是刚开始玩!所以对他的cpu限制不是很在意!但是请注意:如果在3个月以内你的用户使用CPU超过限制的话!管理员第一次会和你说下!警告你下!第2次会直接把你的根目录改名!!!如果3个月以后你的CPU使用时间超过限制的话!没有任何通知!他们会直接把你的根目录改名字!严重超过限制的会直接删除你的所有文件,包括登陆权限,也就是停权!

所以,如果你觉得自己的站点很大!在线人数很多!尽量使用mod_php 方式运行php脚本!而不是使用默认的cgi模式运行脚本!使用mod_php 的话,是不计算CPU时间的!当然也就涉及到了目录属性的权限问题!也就用到了我们的chmod 这个命令!注意:使用mod_php 的话,使用FTP工具很多时候是不能更改目录属性的!(不知道为什么,我尝试了很多次,都是提示我没有权限!!),所以就得使用chmod 这个命令了

例如 chmod 777 www 把www文件夹属性设置成777
chmod -R 777 www 把www文件夹以及下面所有文件和文件夹的属性设置成777 (R是大写的噢!)

使用mod_php 模式运行脚本的话也会有很多安全隐患的,不说了...希望世界是美好的吧!

关于文件的打包:

将目录./www打包到文件www.tar.gz

tar czvf www.tar.gz ./www
或者直接更简单的 zip ./www

将当前目录下所有.php文件打包并压缩到文件bak.tar.gz

tar czvf bak.tar.gz ./*.php]

--------
关于DH还有很多东西值得我们去挖掘!
例如说 shell命令 top 直接就可以看到当前CPU使用时间!who就能看到同权限的在线用户,
rm -f -r www 强制删除 www文件夹!

等等!

关于用户的使用!任何一个已经绑到 DH的米后面加/stats 就可以看到DH自己带的强大的站点统计信息!后面加/stats/resources/ 就可以看到该用户的CPU使用时间!!当然这些都得登陆的!!!

米后面加 /dh_phpmyadmin/ 这个是登陆到phpadmin管理sql数据库!

MySQL相关
----------------------------
update:登录SSH后才可操作MySQL!
登录MySQL,输入:
mysql -u jiangwenhua -p -h 208.113.179.231
username替代为你的帐号;出现下面这个提示后输入密码:
Enter password:
接着,登录mysql数据库成功,出现下面提示:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3602 to server version: 5.0.18-standard-log
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

查看你的数据库:
show databases;

导入数据库内容。首先要选择你要导入内容的数据库:
use database;
将database更改为你导入数据库内容的数据库名称。在导入数据库前,确认你已经把导出的数据库文件上传到FTP目录下。例如,我在WP利用插件导出的备份,解压有一个后缀为”.sql”的文件,把这个上传到你的FTP目录下即可;不用放进目录下面,直接上传就可以了。继续原来的话题,输入下面命令导入数据库:
source wp.sql
其中wp.sql是你的数据库备份文件的名称。
退出mysql:
\q
查看mysql的帮助(用途不大):
\h

备份:
mysqldump的绝对路径/mysqldump db1 --user=用户名 --password=密码 >绝对路径/mydata.txt

还原:
mysql的绝对路径/mysql -u 用户名 -p <绝对路径/mydata.txt