使用ssh sftp管理网站-命令简介

三月 8th, 2008 | Posted by Benny Wen in 长篇小论

ssh shell有些网站空间服务商支持ssh shell服务,当然也有些私人组织也提供,不过作为个人网站的来说多半是由服务商来提供的。前面也说过了ssh可以有其他的用途,但是作为建站来说,ssh不只是提供一个安全的加密通道让你绕开防火墙,还可是方便的管理你的网站。当然也可以使用ftp工具,不过ftp工具传输的时候使用明文传输,而且ftp工具本身就不是很安全。另外很多时候我们没有必要把安装文件拉到本地来,再上传到服务器上去。而且本地的网络比服务器的要慢很多,可能下载上传需要半个小时,二服务器之间可能只需要几分钟就可以了。不过就跟doc一样,使用ssh的时候那个吓人的命令行窗口会让很多人望而却步,其实了解了并没有那么可怕,而且操作更加容易和快捷。因为我用的是mac os所以系统自带的终端本身就是基于unix的,打开实用工具=》终端就可以链接ssh了;windows用户去找putty好了。

mac os Terminal

打开终端之后可以看到一个新的终端窗口,当然也可以从文件打开新的连接服务器,使用sftp,ftp,telnet等连接,我们要使用的只是ssh和sftp这两个。这终端中输入:

ssh [username]@[domain]: 以username身份登录到domain服务器中

开始连接服务器,系统提示输入密码,enter之后进入服务器。下面介绍这shell中常用命令:

ls: 相当于dos下面的dir,列出当前目录的文件和文件夹;

cd [foldername]:跟dos下面的cd一样的作用,进入文件夹;使用cd ..返回上一层文件夹,cd -返回根目录。注意的是cd后面要有空格;

pwd: 显示当前目录的路径;

mkdir: 建立新的文件夹;

chmod: 改变文件(夹)权限;

rm: 删除文件(夹),当文件夹不为空时,使用rm -f 强制删除文件夹;

cp [source] [destination]: 复制文件(夹)到指定目录,这个命令经常会使用cp -f 强制复制和cp -a复制整个目录树;

mv [source] [destination]: 移动文件(夹)到指定目录,经常用到的mv -f强制移动或重命名;mv -u更新;

上面这些挺枯燥的,就像很多人第一次使用dos的时候,不知所措,这么麻烦的命令真的要记住么,真不如鼠标操作直观。但是作为开始上面的这些命令最好还是先记住,为下面的工作打点基础,因为方便的地方就要来了。

wget下载格式: wget [url]

wget http://example.com/file.zip : 下载http://example.com/目录中的file.zip文件到当前目录;

使用服务器下载时的速度比从本地下载要快得多,通常网站服务器的带宽是以m为单位计算的,特别是从国外的一些网站下载的时候,本地通常只有kB的速度,而ftp上传整个文件夹,多个文件的时候速度更加缓慢。wget同样也多个选项可以使用:

wget -t [number]: 重试次数,当连接不顺畅的时候重试的次数;

wget -c: 断点续传,不多讲了,下载工具通常都有这个功能,当下载的文件较大,连接不顺畅的时候使用;

wget -nd: 将某个文件目录下面的多个文件都下载到当前目录;

wget -x: 于nd相反,把文件目录下面的所有文件和文件夹都下载到当前目录,包括下载目录同时创建;

wget -nh: 不创建目标目录,而把足有目标目录下的所有文件下载到当前目录;

如果下载到的是zip文件,需要解压缩,可以使用unzip命令,举例

unzip file.zip

如果下载的是tar或者tar.gz格式,使用tar命令,tar命令有多个选项可以使用:

tar -zxvf file.tar.gz : 解压缩tar.gz

tar -xvf file.tar : 解压缩tar

同时tar命令还可以压缩文件:

tar -cf archive.tar contents/ : 把contents目录里面的所有文件压缩到archive.tar里面

对于本地文件上传或者下载的时候就需要使用sftp了,这终端里面输入sftp [username]@[domain] 登录就可以了。这sftp登录后,使用help命令,显示出sftp的各种命令,显然这个比ssh shell中的help要清楚得多了,具体就不解释了:

Available commands:
cd path: Change remote directory to ‘path’
lcd path: Change local directory to ‘path’
chgrp grp path: Change group of file ‘path’ to ‘grp’
chmod mode path: Change permissions of file ‘path’ to ‘mode’
chown own path: Change owner of file ‘path’ to ‘own’
help: Display this help text
get remote-path [local-path]: Download file
lls [ls-options [path]]: Display local directory listing
ln oldpath newpath: Symlink remote file
lmkdir path: Create local directory
lpwd: Print local working directory
ls [path]: Display remote directory listing
lumask umask:  Set local umask to ‘umask’
mkdir path: Create remote directory
progress: Toggle display of progress meter
put local-path [remote-path]: Upload file
pwd: Display remote working directory
exit: Quit sftp
quit: Quit sftp
rename oldpath newpath:  Rename remote file
rmdir path: Remove remote directory
rm path: Delete remote file
symlink oldpath newpath:  Symlink remote file
version: Show SFTP version
!command: Execute ‘command’ in local shell
!: Escape to local shell
?: Synonym for help

使用windows的朋友烦劳去google啦。

参考:

You can follow any responses to this entry through the RSS 2.0 You can leave a response, or trackback.

Leave a Reply

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>