Linux ftp命令的使用方法详解

哈,Linux的FTP命令这玩意儿,用多了还真顺手,但一开始搞混了就容易卡壳。
我跟你捋捋我踩过的坑和搞明白的操作:
上周有个客人问我为啥他用的get命令下载文件突然就没了,后来发现是没指定本地文件名,直接用远程文件名了,结果本地没空,自动删了远程的...惨不惨。

启动FTP会话 最基础的是用 ftp hostname 或者 ftp 1 9 2 .1 6 8 .1 .1 00 这种,连不上就检查网络。
连上了会提示你登录用户名,别忘了写密码。
要是想换站点,不用关了,直接 open 另个host 就行,这个特方便。

终止会话 这里我踩坑过。
用 bye 是连远程都断开并且退出FTP,用 close 或 disconnect 是只断开远程连接,你还能在FTP里操作本地文件。
比如我要保存一个列表,会先用 ls > filelist.txt,然后用 close 跑回本地命令行删文件,再用 bye 完全结束。

改目录 远程目录用 cd /remote/dir,本地目录用 lcd /local/dir。
注意是英文斜杠,别用Windows习惯的 \,不然会报错。
我之前在Windows环境混久了,还习惯用 \ 结果卡死过。

看远程文件 ls 列表,ls remote_dir > local_file.txt 保存列表。
特别提醒,别用 ls 这种通配符直接保存,容易保存一堆乱码或者隐藏文件,不如手动列文件名靠谱。

传文件 get filename 是单个,mget 是全拉,但记得用 binary 模式,不然文本文件会转码乱码!上次传个exe文件没用 binary 结果变成一串乱码,重传了半天。
二进制文件比如图片、视频、软件包,必须 binary。

传本地文件 put local_file 是单个,mput 是全发。
注意,这个 是指本地目录里的文件名,不是远程的。
我之前想用 put 结果把远程所有文件都传过去了,笑死。

传输模式 ASCII是文本文件,binary是二进制。
文本文件比如.txt、.、.log,用ASCII;其他都用binary。
这个别搞混,搞混了图片会变成马赛克,代码文件看不懂。

看进度 hash 命令是每次传输一小块就印个 ,知道还在转。
没这个命令时只能干等,特别慢的文件看着没反应。
我上次传一个3 G的电影,开了 hash 才知道没挂。

本地命令 这个超有用!用 !ls 就能看到本地的文件,!mkdir new_dir 就能在本地建目录。
特别适合临时需要看本地文件再传过去的情况。
比如 !cd Downloads 切换到本地下载目录再 put all.zip。

总结下,FTP命令关键在于: 1 . 别混用本地/远程路径 2 . 文本文件用ASCII,二进制用binary 3 . 传大文件或不确定类型用binary 4 . hash 命令看进度 5 . ! 后面是万能钥匙
你按这些来试试,应该问题不大。
实在卡壳了说具体是哪个命令出问题,我再帮你分析。
反正多试几次就熟了。

2 02 3 年1 0月1 5 日。
我在北京。
那天天气很好。
我坐在电脑前。
看到这段代码。
觉得有点复杂。
这部分我不确定。
算了。

哎,最近帮朋友装修房子,真的是踩了不少坑啊。
记得那年我在北京,找了个装修队,想着能省点事,结果呢,简直是噩梦。
他们先是工期一拖再拖,然后装修材料质量差得要命,最后连个验收标准都不给,真是让人头大。

那时候我天天跑装修现场,跟那些工人磨嘴皮子,就为了让他们把活儿做好。
有一次,我差点跟装修队的人吵起来,就因为地板铺设不平整,差点动手。
最后还是我自己找了个师傅来重新铺,才解决了问题。

还有一次,我在网上看到一个装修案例,觉得挺好看的,就让我朋友也照着做。
结果呢,那款家具尺寸不合适,整个房间都显得很拥挤。
我当时就后悔死了,真是盲目跟风啊。

现在想想,装修这事儿,还是得自己多上心。
不能光想着省事,最后还得自己收拾烂摊子。
对了,你装修房子的时候遇到过什么问题吗?咱们可以互相交流一下经验。

Linux ftp命令的使用方法详解

等等,还有个事,我上次在咖啡馆里,邻座小哥对着笔记本电脑敲啊敲,屏幕上跳动着一行行命令,其中一个就是ftp,当时我就想,这玩意儿是不是特神奇?他当时是在传输一个视频文件,速度还挺快。
话说回来,他用的肯定不止你上面说的这些,比如还有pwd看当前远程目录,mkdir创建远程目录,rm删除远程文件等等。
不过你说的这些核心命令,确实够用了。
我上次在公司的旧服务器上用ftp传个文档,那服务器放在地下室,风扇声音嗡嗡的,跟拖拉机似的,但ftp传东西还是嗖嗖的。
等等,我突然想到,他当时是不是用了binary模式传输那个视频的?不然怎么那么快?