Chinaunix首页 | 论坛 | 博客
  • 博客访问: 151121
  • 博文数量: 55
  • 博客积分: 2409
  • 博客等级: 大尉
  • 技术积分: 371
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-10 14:19
文章分类

全部博文(55)

文章存档

2012年(5)

2011年(15)

2010年(6)

2009年(29)

我的朋友

分类: LINUX

2009-11-10 16:17:36

FTP命令大全及使用

2009-05-23 11:02

文件传输协议(File Transfer Protocol ,FTP)是一个被广泛应用的协议,它使得我们能够在网络上方便地传输文件。本文在主要介绍了FTP协议的基本命令及用户使用方法。掌握如何进行网页的上传和下载。能够在短时间内学会维护自己的个人主页。

注:(ftp命令对大小写是敏感的。as.Htm不等同于AS.htM)在使用dir,del,get,put中要注意。

网站建设的ftp命令的使用方法精选。
利用FTP自动传送文件
匿名FTP使用概述
FTP
网络安全

基本命令

ftp的命令行格式为:ftp -v -d -i -n -g [主机名]
-v
显示远程的所有响应信息
-n
限制ftp的自动登录
-d
使用调试方式
-g
取消全局文件名
-i
多文件进行传输时,关闭交换提示
-s
指定一个文本文件,当ftp开通时自动运行其中的命令(该参数中不允许有空格)
-a
捆绑数据连接时使用任一本地接口
-w buffersize
替代默认流量大小为4096缓冲器
-host
指定主机名或ip地址,去连接远程主机
举例说明ftp的命令行格式:
(1)
桌面--开始--运行 输入:ftp mail.hz.zj.cn
成功显示:220 ProFTPD 12.4 Server(ProFTPD)[ip地址]
username:
张三
成功显示:331 Password required for 用户名
password: 123456
成功显示:230 User 用户名 logged in
进入ftp运行环境 在ms-dos方式下的ftp>
(2)
桌面--程序--MS-DOS方式 在c:\windows\> 输入:ftp mail.hz.zj.cn
username:
张三 333
password: 123456
进入ftp运行环境 在ms-dos方式下的ftp>

ftp使用的内部命令如下:
?
显示所有ftp命令表 ! delete literal prompt send
debug ls put status
append dir mdelete pwd type
ascii disconnect mdir quit user
bell get mget quote verbose
binary glob mkdir recv
 
bye hash mls remotehelp
 
cd help mput rename
 
close lcd open rmdir
 

ftp使用的内部命令

! :在本地主机中执行交互方式,停止ftp,开始shell, exit回到ftp环境
例如:(1)ftp>!      结果为c:\windows\desktop>
            (2)c:\windows\desktop>exit
结果为ftp>

?(同help):显示所有ftp命令表 如ftp>? dir ftp>?

append:将本地文件追加到远程系统主机;若未指定远程系统文件名,则使用本地文件名。

ascii:(缺省)把文件设置成ASCII文本文件,使用ascii类型传输方式。

bell(是/不):每个命令执行完毕后计算机响铃一次。
例如:(1)ftp>bell 显示结果:Bell mode on.
            (2)ftp>bell
显示结果:Bell mode off.


binary:
把文件设置成二进制文件,使用二进制类型文件传输方式。

bye:退出Ftp会话过程。

cd:进入远程主机目录,改变到指定的目录
例如:ftp>cd .. 退向根目录(cd后有空格)
            ftp>cd path
进目录(目录名为path)

close:中断与远程主机的ftp会话(open对应),但保留ftp
例如:ftp>close 显示:221 Goodbye

delete:删除远程主机文件
例如:ftp>del 111.htm(文件名)

debug(是/不):设置调试方式,显示发送至远程主机的每条命令,若为0,表示取消debug
例如:ftp>debug 显示:Debugging on.
          ftp>debug  
显示:Debugging off.

dir:显示远程主机目录,并将结果存入本地文件。
例如:ftp>dir 显示(当前目录所有文件名):
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
drwxrwsr-x 2   2248    120    1024 Dec 18 11:25 ggg
- rw-r --r-- 1   2248     120     518 Dec 18 11:25 1.htm
226 Transfer complete.
ftp:185 bytes received in 0.66Seconds 0.28kbytes/sec.
权限   1文件2目录       字节大小 日期   文件名和目录名
(2)ftp>dir 1.htm(
文件名,大小写敏感) 查找当前目录的单个文件。
大写的1.HTM 不等同于1.hTm

disconnection:close
例如:ftp>dis 显示:221 Goodbye

get:将远程主机的文件传至本地硬盘,下传一个文件。
例如:ftp>get 1.htm d:\ggg\2.htm 下传文件一个文件。
说明:远程主机当前目录的1.htm文件,复制到本地d盘的ggg目录中,并且文件名改为2.htm

glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。

hash(是/不):每传送1024字节(一个数据块)显示一个hash符号(#

help(同?:显示所有ftp内部命令的帮助信息。如:ftp>help command(一个命令)
例如:ftp>help 显示于?相同
ftp>help dir
显示:dir     List contents of remote directory

lcd:将本地工作目录切换至dir.
例如:ftp>lcd 显示:local directory now c:\windows.
说明:ftp运行的当前目录是c:\windows

literal:传送任一Ftp命令

ls:显示远程目录,并存入本地文件
例如:ftp>ls
显示:200 PORT command successful.
150 Opening ASCII mode data connection for file list.
ggg
1.htm
226 Transfer complete.
ftp:20 bytes received in 0.00Seconds 20000.00kbytes/sec.
说明:ggg为目录名 1.htm为文件名

mdelete:删除远程主文件。

mdir:dir类似,但可指定多个远程文件。

mget:传输多个远程文件。
例如:ftp>mget * 当前目录中的所有文件下传到c:\windows目录

mkdir:在远程主机中建立一目录。
例如:ftp>mkdir ggg   建目录ggg

mls:显示远程主机目录的清单并存入本地硬盘,可指定多个文件名。

mput:将多个文件传输至远程主机。
例如:ftp>mput d:\ggg\* 说明:将本地的D盘中的

open:与指定计算机建立连接,可指定连接端口。
例如:ftp>open    显示:to
to
键入 servername(mail.hz.zj.cn域名或ip地址) 显示:Connected to 域名
显示:222o ProFTPD 1.2.4 Server(ProFTPD)[ip地址]
或直接健入:open ftpservername(域名或ip地址) 显示:Connected to 域名
显示:222o ProFTPD 1.2.4 Server(ProFTPD)[ip地址]
user(
域名:(none):键入username(用户名)
显示:331 Password required for 用户名
password:
键入password(密码)
显示:230 User 用户名 Logged in.

prompt(是/不):设置多个文件传输时的交互提示。
例如:ftp>prompt 显示:Interactive mode off.
            ftp>prompt
显示:Interactive mode on.

put:将本地文件传送至远程主机。
例如:ftp>put d:\1.htm 说明:将本地d盘的根目录中的1.htm文件上传到远程主机的当前目录中。

pwd:显示远程主机的当前工作目录。
例如:ftp>pwd 显示:257 "/" is current directory 根目录
            ftp>pwd
显示:257 "/ggg" is current directory    ggg目录中

quit:bye,退出Ftp会话。

quote arg1,arg2,..:将参数逐字发至远程Ftp服务器。

recv:get,将远程主机的文件传至本地硬盘。

remotehelp:请求获得远程主机的帮助。

rename:更改远程主机的文件名。
例如:ftp>ren 1.htm 4.txt 改文件名

rmdir:删除远程主机目录。
例如:ftp>rmdir ggg    说明:目录中必须没有文件。

send:put,将本地文件传送至远程主机。

status:显示当前Ftp状态。
例如:ftp>sta
连接状态 显示:Connected to 域名  
Type:ascii;verbose:On;Bell:off;Prompting:On;Globbing:On;
Debugging:off;Hash mark printing:off.
断开状态 显示:Not Connected.  
Type:ascii;verbose:On;Bell:off;Prompting:On;Globbing:On;
Debugging:off;Hash mark printing:off.

trace:设置包跟踪。

type:设置文件传输类型为type-name,缺省为ascii

user:向远程主机表明自已身份,需要口令时,必须输入口令。
例如:ftp>user root(用户名) 123456(密码)
ftp>user anonymous
(匿名用户)
(密码)

verbose:同命令行-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on

 

网站建设的ftp命令的使用方法精选。


ftp>?
(同help) 查命令
ftp>pwd        
查当前目录
ftp>dir                
查目录与文件
ftp>ls          
查文件
ftp>cd ..        
退向根目录(cd后有空格)
ftp>cd ggg           
进目录
ftp>mkdir ggg    
建目录
ftp>rmdir ggg    
删除空目录
ftp>put d:\name\1.htm
上传
ftp>get 1.htm d:\name\2.htm
改名下传文件
ftp>del 1.htm         
删除文件分大小写a.htm不等同A.HTM
ftp>ren 1.htm 2.txt
改文件名
ftp>put index.htm d:\ggg\default.htm
改名传文件

先输以下三个命令就可多个文件一起上传,下传。可以用mput,mget.mdel
ftp>prompt
ftp>hash
当目录传送时,显示#####
ftp>bin
只需把状态设置为Prompting:off

ftp>mput d:\ggg\* 传送d盘的ggg目录下所有文件
ftp>mget *
下传到c:\windows目录
ftp>mdel *
删除当前目录下的所有文件


ftp>dis
ftp>bye
保留ftp,断开ftp服务器连接。
ftp>quit
退出

 

利用FTP自动传送文件

我们可以利用FTP在两台计算机之间传送文件。要传送文件,你必须首先启动FTP程序,然后输入FTP命令进行文件传送。例如在Windows下,单击开始”/运行,输入FTP即可启动FTP程序,然后你便可以输入各种FTP命令进行操作,假如你不想手工输入命令来传送文件,可以使用以下自动传送的方法。
一、Windows下自动传送文件的方法
1.
先建立一个文本文件,文件名可以是任意名,例如autosend.txt,其内容如下:
open
/*远端FTP服务器地址或名(例如*/
NAME /*
用户名(例如NAME*/
PASSWORD /*
用户密码(例如PASSWORD*/
binary /*
以二进制传送文件,可选项*/
cd PATHNAME /*
进入远程目标路径(例如PATHNAME*/
get REMOTE_FILE LOCAL_FILE /*
把远程文件REMOTE_FILE下载成本地文件LOCAL_ FILE*/
put LOCAL_FILE REMOTE_FILE /*
将本地文件LOCAL_FILE上传成远程文件REMOTE_ FILE */
quit /*
退出ftp应用*/
2.
执行以下命令:
ftp -s:autosend.txt
即可自动执行autosend.txt中的一系列FTP命令,这样便能完成文件的自动传送。
二、UNIX下自动传送文件方法
以下关于UNIX的两种方法在LinuxFreeBSD下通过,其他UNIX下的可能有些稍为不同。
1.
要传送的文件名是静态的方法
1)建立一个文本文件,例如文件名是autosend.txt,其内容如下:
open
/*open连接远程服务器 */
user NAME PASSWORD /*NAME
是用户名,PASSWORD是密码*/
binary /*
以二进制传送*/
hash /*
当有数据传送时,显示#*/
cd PATHNAME /*
进入远程目标路径PATHNAME*/
get REMOTE_FILE LOCAL_FILE /*
把远程文件REMOTE_FILE下载成本地文件LOCAL_ FILE*/
put LOCAL_FILE REMOTE_FILE /*
将本地文件LOCAL_FILE上传成远程文件REMOTE_ FILE */
quit /*
退出ftp应用*/
2)执行命令:
cat autosend.txt | ftp -n
 
2.
要传送的文件名是动态的方法
假设文件名是由月份和日期组成的,文件名每天都会改变,我们以这种情况来说明传送文件的方法。
1)建立脚本文件autosend.sh
#!/bin/sh
MM=`date "+%m"` /*
取月份*/
DD=`date "+%d"` /*
取日期*/
pre_filename="LIHO" /*
设定文件名前缀前部分*/
filename="${pre_filename}${MM}${DD}.tgz"
echo "open

user NAME PASSWORD
binary
hash
cd PATHNAME
get ${filename} ${filename}
quit
"| ftp -n
2)将脚本赋有运行权后,执行脚本
chmod +x autosend.sh
sh autosend.sh (
./autosend.sh)

 

 

 

 

find linux

 

linux   2008-12-23 10:32   阅读58   评论0   字号: 大大  中中  小小 功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。

  语法:find 起始目录 寻找条件 操作

  说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。

  该命令提供的寻找条件可以是一个用逻辑运算符notandor组成的复合条件。逻辑运算符andornot的含义为:

  (1and:逻辑与,在命令中用“-a”表示,是系统缺省的选项,表示只有当所给的条件都满足时,寻找条件才算满足。例如:

  $ find name tmp xtype c -user inin

  该命令寻找三个给定条件都满足的所有文件。

  (2or:逻辑或,在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足时,寻找条件就算满足。例如:

  $ find name tmp o name mina*

  该命令查询文件名为’tmp’或是匹配’mina*’的所有文件。

  (3not:逻辑非,在命令中用“!”表示。该运算符表示查找不满足所给条件的文件。例如:

  $ find ! name tmp

  该命令查询文件名不是’tmp’的所有文件。

  需要说明的是:当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免Shell本身对括号引起误解,在话号前需要加转义字符“”来去除括号的意义。

  例:$ find (–name tmp xtype c -user inin

  寻找条件有以下选项:

  首先,下列各个选项中的n值可以有三种输入方式,假设n20,则:

  +20 表示20以后(212223等)

  -20 表示20以前(191817等)

  20 表示正好是20

  1. 以名称和文件属性查找。

  - name ’字串’ 查找文件名匹配所给字串的所有文件,字串内可用通配符*?、[ ]。

  - lname ’字串’ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*?、[ ]。

  -gid n 查找属于ID号为n的用户组的所有文件。

  -uid n 查找属于ID号为n的用户的所有文件。

  -group ’字串’ 查找属于用户组名为所给字串的所有的文件。

  -user ’字串’ 查找属于用户名为所给字串的所有的文件。

  -empty 查找大小为0的目录或文件。

  -path ’字串’ 查找路径名匹配所给字串的所有文件,字串内可用通配符*?、[ ]。

  -perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711644

  -size nbckw 查找指定文件大小的文件,n后面的字符表示单位,缺省为b,代表512字节的块。

  -type x 查找类型为x的文件,x为下列字符之一:

  b 块设备文件

  c 字符设备文件

  d 目录文件

  p 命名管道(FIFO

  f 普通文件

  l 符号链接文件(symbolic links

  s socket文件

  -xtype x -type基本相同,但只查找符号链接文件。

  2. 以时间为条件查找

    

  - amin +n -n 按访问时间查找 -nn分钟以内,+nn分钟以前。

  - atime +n -n 按访问时间查找 -nn天以内,+nn天以前。

  - cmin +n -n 按创建时间查找 -nn分钟以内,+nn分钟以前。

  - ctime +n -n 按创建时间查找 -nn天以内,+nn天以前。

  - mmin +n -n 按修改时间查找 -nn天以内,+nn天以前。

  - mtime +n -n 按修改时间查找 -nn天以内,+nn天以前。

  3. 可执行的操作

  - exec 命令名称 {} 对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令。{}表示命令的参数即为所找到的文件;命令的末尾必须以“ ;”结束。

  - ok 命令名称 { } 对符合条件的文件执行所给的Linux 命令,与exec不同的是,它会询问用户是否需要执行该命令。

  - ls 详细列出所找到的所有文件。

  - fprintf 文件名 将找到的文件名写入指定文件。

  - print 在标准输出设备上显示查找出的文件名。

  - printf 格式 格式的写法请参考有关C语言的书。

  例1:查找当前目录中所有以main开头的文件,并显示这些文件的内容。

  $ find . - name main* - exec more {} \;

  例2:删除当前目录下所有一周之内没有被访问过的a .out*.o文件。

  $ find . - name a.out - o - name *.o’)

  > - atime +7 - exec rm {} \;

  说明如下:

  命令中的“.”表示当前目录,此时find将从当前目录开始,逐个在其子目录中查找满足后面指定条件的文件。(和)表示括号(),其中的“”称为转义符。之所以这样写是由于对Shell而言,(和)另有不同的含义,而不是这里的用于组合条件的用途。“- name a.out”是指要查找名为a.out的文件;“- name *.o’”是指要查找所有名字以 .o结尾的文件。这两个- name之间的- o表示逻辑或(or),即查找名字为a.out或名字以 .o结尾的文件,find在当前目录及其子目录下找到这佯的文件之后,再进行判断,看其最后访问时间是否在7天以前(条件-atime +7),若是,则对该文件执行命令rm- exec rm{ };)。其中{ }代表当前查到的符合条件的文件名,;则是语法所要求的。上述命令中第一行的最后一个是续行符。当命令太长而在一行写不下时,可输入一个,之后系统将显示一个>,指示用户继续输入命令。

   例如:查找当前目录下的所有的某种格式的文件并移动到另外的目录

   find /home/ -name *.zip -exec mv {} /home1/zipback/ \;

     说明如下:

   还需要说明吗?:)注意后面的‘\;’这个很重要的

 

 

 

vi查找命令2008-09-19 11:15要自当前光标位置向上搜索,请使用以下命令:

 

/pattern Enter

 

其中,pattern 表示要搜索的特定字符序列。

 

要自当前光标位置向下搜索,请使用以下命令:

 

?pattern Enter

 

按下 Enter 键后,vi 将搜索指定的 pattern,并将光标定位在 pattern 的第一个字符处。例如,要向上搜索 place 一词,请键入:

 

/place Enter

 

如果 vi 找到了 place,它将把光标定位在 p 处。要搜索 place 的其他匹配,请按 n N

 

n,继续朝同一方向搜索 place

 

N,反方向进行搜索。

 

如果 vi 未找到指定的 pattern,光标位置将不变,屏幕底部显示以下消息:

 

Pattern: 未找到

 

4.5.1 搜索特殊匹配

在上面的示例中,vi 查找到包含 place 的任何序列,其中包括 displaceplacement replaced

 

要查找单个的 place,请键入该单词,并在其前后各加一个空格:

 

/ place Enter

 

要查找仅出现在行首的 place,请在该单词前加一个插字符号 (^)

 

/^place Enter

 

要查找仅出现在行尾的 place,请在该单词后加一个货币符号 ($)

 

/place$ Enter

 

使用 ^

要逐字搜索这种带有插字符号 (^) 或货币符号 ($) 的字符,请在字符前加一个反斜线 (\)。反斜线命令 vi 搜索特殊字符。

 

使用 $

特殊字符是指在 vi 中具有特殊功能的字符(例如 ^$*/ .)。例如,$ 通常表示“转至行尾”,但是,如果 $ 前紧跟一个 \,则 $ 只是一个普通的字符。

 

使用 \

例如,/(No \$ money) 向上搜索字符序列 (No $ money)。紧跟在 $ 之前的转义字符 (\) 命令 vi 逐字搜索货币符号

 

阅读(3868) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~