linux下的ftp命令与windows下的不太一样。Linux下的ftp命令要复杂,灵活得多。
(1)关于.netrc
当用户输入类似下面的命令:
ftp 192.168.0.54
这时ftp首先会去找.netrc文件,搜索的路径为用户的home下的目录(如果为root用户,则为/root目录)。
如果找到了.netrc文件,则执行里面的命令。如果没有找到,则提示用户输入用户名和密码。
典型的.netrc的配置如下(下面的代码不要直接拷贝,需手工通过vi编辑成.netrc文件,不然会有想不到的错误出现):
machine 192.168.0.54
login anonymous
password
macdef init #此处为ftp的宏定义。init为系统默然的宏。用户可以自己定义,但这些宏不会自动执行,必须通过用户手动执行,例如:macdef up_load,则用户在进入ftp后,执行$up_load,就会执行这个宏对行的命令。
cd test
bin
put net_tran.ko
quit
bye
(2)ftp -n参数。
.netrc来上传文件,不能让用户指定其要上传的文件,不够灵活,而用-n参数,则可以实现用户指定其要上传的文件。
通过 vi编辑一个名为up_sh的文件,其内容如下:
#!/bin/bash
ftp -n 192.168.0.54 < user anonymous
binary
cd test
put $1
bye
EOC
当用户执行./up_sh aaa.txt时,就会把文件名传到相应的目录下。注意,如果是anonymous 用户,则默然目录为/var/pub/,这个目录是不能写入,而且用户也不能改变这些目录的权限,否则报错,如果想写入,则需在下面另外建目录。
阅读(617) | 评论(0) | 转发(0) |