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啦。

参考:

佐丹奴和优衣库

三月 8th, 2008 | Posted by Benny Wen in 长篇小论 - (0 Comments)

这两个牌子都是很平民的牌子,本来没有什么大书特书的,只是对这两个品牌的一些推广感兴趣,因为远离了大城市,并不知道最近佐丹奴的推广,只是从别的blog中看到了这个消息。虽然我对黄永玉不了解,不过看到这个广告还是很优兴趣的:

佐丹奴

看上去还是挺有形的,只是跟优衣库的网络推广一比还是差距很大:

uniq

不知道为什么国内的广告商们都喜欢请些大牌或是看似大牌的人物进行广告推广,但是平民品牌应该说优衣库这样的运作更加有效些,毕竟对于普通人来说参与感更加多些,虽然优衣库在国内的价格并不便宜。话又说回来了,这两个品牌的贴身衣物还是不错的,料子和做工都不粗。

Mac Os X本来就是基于Unix的,所以在使用SSH Shell的时候跟在本地使用是一致的。通过终端进行ssh连接是十分容易,网络上有不少提供Shell服务的网站,当然这些Shell服务不只是提供SSH而已,这个就自己找吧,不是每个网站都愿意拉来很多人,而且一般都是人工审核,多半以体验和测试开源软件为主,专门的SSH免费提供者还是很少的,所以靠运气吧。

在mac下面,打开终端,输入: ssh -nNTf -D [port number] [username]@[domain] 然后在浏览器中添加localhost:[port number]代理就可以了,直到电脑关机,这个ssh一直保持连接的。

在win下面要稍微麻烦一些,而且要第三方软件来完成这个代理,推荐用myentunnel,当然如果你觉得PuTTY好用一点也可以,(而且如果想改密码,没有putty还真不太好用)。剩下的事情就是自己慢慢学习了。

推荐firefox下面的Foxyproxy这个插件,虽然这个插件是专门给Tor用的,不过也可以自己改成自动转换代理的插件。

看来真得考虑自己买个带ssh的主机了,而且也真想自己重新弄wordpress了,不过,哎,改代码的日子啊。

OSX 合并分区

一月 26th, 2008 | Posted by Benny Wen in 长篇小论 - (1 Comments)

上午还在抱怨OS X的磁盘工具似乎有bug,添加和删除分区后分区和未分配空间无法按照顺序排列,没有办法按照帮助说明里面的方法把分出的区合并到一个启动分区里面,下午就找到了方法。事实上在OS X里面分区实在是一件没有必要的事情,除非是升级想通过磁盘安装,似乎只有ppc处理器的机器安装的时候没有办法用usb启动移动硬盘,猜想没有光驱的Macbook Air也可能有这样的问题,其他情况下实在没有必要进行分区处理,分区只是Windows留下来的怪病,事实上家里的pc也只有三个分区,一个系统区,一个资料区和一个共享区。分太多的区实际上只能造成磁盘的浪费。

在网上搜了不少资料,没有多少中文的介绍,或者介绍的很模糊,而且多半是因为在pc上安装OS X,因为硬件的问题,合并分区的时候造成的错误或者数据的丢失,很多论坛里面关于分区的介绍都是慎重,慎重,慎重。那么是不是这么复杂和风险巨大呢?我是做小白鼠做惯了,自己试试好了。由于很多人都习惯在图形界面里面操作,这里把步骤写的详细点,让那些对命令行不熟悉的人更好的了解操作步骤。

首先在用Finder在应用程序=》实用工具=》下面找到终端,这个相当于windows下面的cmd,一个命令行操作的界面,可以试想这里是pc下面的dos,只是命令是不同的,在这个终端里面就可以进行命令操作了。因为第一次使用diskutil mergePartitions命令错误,所以给出下面的提示,正好对这个命令不熟悉,给我们一个学习的机会,对关键部分解释一下,可以更好的理解。

Disk Utility Tool
Usage:  diskutil mergePartitions [force] format name
命令的使用方法就是上面的这个命令格式,把这行命令输入,回车之后就可以执行合并分区命令。但是建议你读下去,毕竟你对自己电脑上的磁盘状况还不是很了解。

DiskIdentifier|DeviceNode DiskIdentifier|DeviceNode
Merge two or more pre-existing partitions into one.  The first disk parameter is the starting partition; the second disk parameter is the ending partition; this given range of two or more partitions will be merged into one.  Both disk parameters must of course be on the same whole-disk. All data on merged partitions other than the first will be lost. The first will be erased if it doesn’t have a resizable type (e.g. JHFS+) or if the “force” argument is given.
这段是解释这个命令的作用和数据丢失的情况,合并分区是件麻烦的事情,最大的问题就是数据安全的问题,谁也不想把自己数据搞丢,不管是系统文件还是mp3,或者……小电影。diskutil mergePartitions命令也同样不能保证所有数据的完整,实际上通常情况下只能保留第一个分区的数据,但是如果选用的磁盘格式是不能调整大小的格式,比如JHFS+会删除所有分区上的数据,默认情况下OS X使用的是HFS+格式,这个格式可以在磁盘工具下进行分区大小的调整,而且也会保留所有合并分区里面第一个分区中的数据。这个命令要求在同一个磁盘下面进行合并,就是说如果机器里面有多个硬盘是没有办法合并的(有人想这么干么?)。
Merged partitions are required to be ordered sequentially on disk(see diskutil list for the actual on-disk ordering).合并的分区必须是顺序相连的,就是说disk0s1和disk0s2是可以合并的,而disk0s1和disk0s3是不能合并的,如果你不知道自己电脑重的硬盘信息和分区顺序,可以在终端里面输入diskutil list命令列出电脑中的硬盘信息。

Ownership of the affected disk is required. The Format parameter is the specific filesystem name you want to erase it as (e.g. HFS+, etc.).  The Name parameter is the name of the final volume created. Format and Name are ignored if the first partition is resizable.
必须拥有硬盘的权限,也就是说只能以计算机管理员身份进行操作。 Format就是要定义的文件系统名字,比如HFS+ ,Name是你合并之后的分区名字。如果第一个分区是可变大小格式的,可以省略这两个字段。

Example: diskutil mergePartitions HFS+ NewName disk3s4 disk3s7
进行操作的时候,参考上面的这个例子,回车后开始运行命令。

Note:  This will merge all partitions *BETWEEN* disk3s4 and disk3s7! This will destroy the data on disk3s5, disk3s6, disk3s7 and any invisible free space partitions between those disks. disk3s4 will be resized to cover the full space if possible.
这个例子中要注意,合并的是从disk3s4到disk3s7四个分区,而不是两个,4和7是不能单独合并的,从5到7分区上的所有数据都会被删除,并且在这些分区间的未使用空间也会被划分到合并的分区里面的。disk3s4会被重新调整扩大分区。

Valid filesystems: “Journaled HFS+” “HFS+” “Case-sensitive HFS+” “Case-sensitive Journaled HFS+” “HFS” “MS-DOS FAT16″ “MS-DOS FAT32″ “MS-DOS FAT12″ “MS-DOS” “UDF” “UFS” “ZFS”

这个命令支持的文件系统格式如上。

通过这个命令,把原有的分区合并到启动分区里了,这个故事告诉我们的是,不要轻易在不熟悉的系统里面进行分区操作,而且现在的文件系统已经不需要进行太多的分区了。

迟到的发现

十二月 20th, 2007 | Posted by Benny Wen in 长篇小论 - (0 Comments)

说来离开3M这么久,一直没有关注过这家公司,也没有想到一位离开3M的兄弟以这么极端的方式与它对抗。想到8月5日离职的前夕,也收到过Hank群发的邮件,当时只是好奇,没有多想。离职后也就没有人跟我说起关于3M的是是非非。

仔细看了所有的文章和回复,基本上把公司的上上下下扒光了,给世人看,略有偏激,但基本上言之有物,差不多都是这家公司发生的事情。如果我还是公司员工,可能会考虑到自身的问题,不会在这件事上发出什么声音,离职了也只是想想而已,毕竟自己是在技术部门工作过,此间涉及的机密信息也多半不应当公布出来。Sales要略微好些, 山不转水转的。

老k的为人,用不着多说了, 至少我也见识过不少耍手腕对付别人的人,大的小的。应该说,这家公司代表了相当多的跨国公司在中国的现实,公司独特的结构让这种事态发展得更加极端典型。或许,也不应该说得更多了。其中的一个回复,看起来好熟悉,如果没猜错,应该是我认识的那个人。