在linux系统中,whereis命令,用于定位可执行文件、源代码文件、帮助文件在文件系统中的位置。
whereis命令
语法:whereis [-bmsu] [BMS 目录名 -f ] 文件名
whereis命令的各选项的含义:
-m 定位帮助文件。
-s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
-B 指定搜索可执行文件的路径。
-M 指定搜索帮助文件的路径。
-S 指定搜索源代码文件的路径。
有关whereis命令的例子。
1,查看apache2的所在位置:
apache2: /usr/local/apache2
2,查看mysql的所在位置:
mysql: /usr/local/mysql
3,查看httpd服务的所在位置
httpd: /usr/sbin/httpd.event /usr/sbin/httpd.worker /usr/sbin/httpd /etc/httpd /usr/lib/httpd /usr/share/man/man8/httpd.8.gz
如果查找的文件位置不存在,则会以 要查找 的关键词:的形式来显示。
例如,当查找apache2的文件位置不存在时,则显示如下图所示:
参数 -B用于指定搜索可执行文件的路径,便于缩小搜索范围,提高搜索效率。
例如:
细心的你,一定发现了,在使用-SMB参数时,后面一定要跟一个-f参数,指定要查找的文件。
就介绍这些吧,在定位具体文件位置时,这个whereis命令是相当有用的,建议大家牢固掌握。
本节学习linux下一个好用的上传与下载文件的命令,cp命令的用法。
1,登录 ftp服务器
使用以下命令登录 ftp服务器:
lftp ftp://用户名[:密码]@服务器地址[:端口] #标准方式,推荐
lftp 用户名[:密码]@服务器地址[:端口]
lftp 服务器地址 [-p 端口] -u 用户名[,密码]
lftp 服务器地址[:端口] -u 用户名[,密码]
* 如果不指定端口,默认 21
* 如果不在命令中使用明文输入密码,连接时会询问密码(推荐)
可以使用“书签”收藏服务器站点,在 lftp 中以下命令,为当前站点定义别名:
lftp >bookmark add 别名 #使用 别名 收藏当前站点
2,使用别名登录 ftp服务器:
lftp 别名
也可以编辑 lftp 的配置文件 ~/.lftp/bookmarks ,格式如下:
别名 ftp://用户名:密码@服务器地址:端口
3,lftp 使用方法
大多数图形界面的 ftp客户端,都有两栏窗口,一栏为本地目录,一栏为远程目录。lftp 也采用这种方式工作,只不过没有使用图形界面直观的显示
命令 本地 远程
显示工作目录 lpwd pwd
切换目录 lcd cd
显示文件列表 !ls cls
!ls -l ls
* 其中, ! 表示执行本地命令,lftp中没有与 ls 对应的本地命令 lls, 所以要使用 !ls 显示本地目录文件
使用以上命令确认当前工作目录的情况。以下命令用于从本地目录上传,或者从远程目录下载:
下载 上传
单个文件 get put
多个文件 mget mput
多线程 pget
目录 mirror mirror -R
*
在 lftp 配置文件 ~/.lftp/rc 中设置 pget 使用的线程数
set pget:default-n 5
在远程目录中,可以使用以下命令操作文件
统计文件大小 du
移动、重命名 mv
删除 rm
创建文件夹 mkdir
删除文件夹 rmdir
使用 exit 命令退出 lftp
4,lftp 中文乱码
大多数 windows 平台下的 ftp服务器 使用 GB2312 编码,而 lftp 使用 UTF-8 编码,使用 lftp 访问这些服务器,中文显示为乱码。
解决方法,指定编码即可:
lftp >set file:charset utf8 #设置本地编码(Linux系统默认使用 UTF-8,此步通常可以省略)
也可以在 lftp 配置文件中 ~/.lftp/rc 设置默认值:
set file:charset utf8
至此,有关lftp命令的用法,就介绍完了。
lftp命令在镜像备份、文件同步方面还是很有特色的,另外,也介绍了中文乱码的解决方法。希望对大家有一定的帮助吧。
有关lftp命令的学习笔记,分享给大家。
登录FTP lftp FTP站点
lftp>user 用户名
id 密码
下载文件 get或者mget
下载文件夹 mirror
lftp命令
lftp,没有GUI,对于初学者来说,虽然有一点点痛苦,但只要想想,lftp能在众多client中屹立不倒这么多年,而且至今仍然是linux 里最首推崇的利器,足以说明他的功
能和易用性都是不错的。我的经验是,花一点时间来学lftp是值得的,不要再徒劳地寻找GUI FTP Client,在unix世界里,没有FlashFXP!
首先,了解lftp登录站点的操作,方式有多种。
1,一气呵成式
比较常用于网页或bbs上给出的现成链接,缺点是password显示为明文。
然后系统会提示输入password,这是就是******了
2,老实巴交型
$ lftp site:port -u user,password
我一般用这个方法,一般人我不告诉他,呵呵。
3,五短之中暗藏一长
这是一个递归嵌套的招式%¥#@!×&
lftp:~>lftp user:password@site:port
就是说在lftp控制台里进行操作,和在系统终端是完全一样的,你仍然可以毫无顾忌地用使用前面两招,同时也可以用o或open代替lftp,后面站点用户名密码的格式也可以
根据自己偏好输入。
4,终极大招
每次登录都狂敲一行user:password@site:port,长年累月,就算李铁来了也扛不住。所以还是要让lftp把常用的站点记下来,就象FlashFXP里的站台管理器,在lftp里,叫
做bookmark,具体的咱们日后再说
登录完服务器,就是想看看上面有哪些东西。
操作和终端里是一样的,ls就是列出服务器目录。有一点要说明,第一次ls之后,目录表就被保存到了本地cache,这样再次ls就不能得到这个目录下最新的列表,这时可以
用rels重新下载目录表。这里的cache是lftp的默认设置,目的无非就是更快的得到列表,有时却不符和你的使用习惯。可以用 cache on和cache off开关cache,也可以用
cache flush来清空cache。
更改目录也是cd,没什么可说的,lftp也支持tab匹配功能,大大减少了劳动强度。
lftp 支援了六种模式, ftp, ftps, http, https, hftp, fish and file(当然了 https 和 ftps 的支援必须在编译就和 openssl library 一起编译好)。
lftp 内建了 shell-like 的命令格式, 允许在背景同时执行多个命令(&)。所有背景执行的工作都是在同一个程序中(process), 能将前景执行的命令放到背景执行(Ctrl-z),
或从背景拿回前景执行(wait 或 fg), 甚至还可以经由上个命令的传回值来决定目前这个命令是否要执行(&& ||)。
在结束 lftp 时, 如果还有程序执行中, lftp 会将自己切换到 no hup 模式並放到背景执行。因此不必担心执行 lftp 当中无法登出。
!
可执行本地端 shell 中的命令, 如 !ls /usr/local/bin/
由於 lftp 並没有 lls(显示本地端档案列表的指令), 故可用 !ls 来替代。
alias []
定义别名
alias reconnect "close; cd ."
直接输入 alias 即可看到目前定义了那些别名。如果只输入 alias name 的话, 则是取消 name 这个别名。
bookmark SUBCMD
设定书籤, 可将目前站台及所在目录设成书籤, 下次可直接进来, 不用再 cd 来 cd 去的
bookmark add name 用来新增名称为 name 的书籤
bookmark del name 删除名称为 name 的书籤
bookmark list 显示目前有设定那些书籤(另外直接打 bookmark 和 bookmark list 的结果一样)
bookmark edit 呼叫编辑器修改书籤 (~/.lftp/bookmarks)
cd 切换远端目录
cache SUBCMD
管理 lftp 的 cache
rels []
从 cache 中显示远端档案列表
rels 则不会从 cache 中读取
recls opts [path/]pattern
从 cache 中显示远端的档案列表, 应该算是 ls 的加强版, 有很多参数可用,应该是可用来产生各种不同>的档案列表以供其他程式使用。
recls 则不会从 cache 中读取
du options
计算远端整个目录佔用容量
get OPTS -o
抓取远端档案
get rfile -o lfile
抓 rfile 到本地改名为 lfile
-c 为续传
-E 抓档完成後, 将远端的档案砍了
-a 为 ascii mode, 预设为 binary mode
-O 设定 base directory 为本地端放档案的目录
mget OPTS
下载远端档案(可用 wildcard expansion 也就是 *)
pget OPTS -o
使用多个连结来下载档案, 预设为五个。
-n 3 为叁个连结
jobs -v
显示目前有那些程序在背景执行
-v 显示详细的资讯(-v 可多加幾个来显示更详细的资讯)
lcd
切换本地端的目录
mirror OPTS remote [local]
下载整个目录(楼上的 get 只能用来抓档案)
-c 续传
-e 这个要小心一些, 比较远端和本地端的档案, 假如远端没有的, 就将本地端的档案删除, 也就是将本地端和远端资料同步。
-R 上传整个目录
-n 只下载较新的档案
-r 不用递迴到目录中
--parallel=n 同时下载 n 个档案(预设一次只下载一个)
module name args
载入模组
put OPTS -o
上传档案
mput OPTS
上传档案(可用 wildcard expansion 也就是 *)
mv
将远端的 file1 改名为 file2
mrm
用 wildcard expansion 方式来删除远端档案
open OPTS
开启某个站台
open -u , -p site
queue OPTS []
将 cmd 放到伫列中等待执行
-d index 将编号为 index 的 job 删除
-m index new_index 将编号为 index 的 job 移至编号 new_index, 插队专用。
-n index 在编号 index 之前新增一个 job
wait []
将背景执行中的程序移至前景(也可用 fg)
kill all|
删除全部的 jobs 或 job_no
repeat delay command
每隔 delay 秒, 重覆执行 command, 预设是每隔一秒
rm -r -f
移除远端档案
mkdir -p
建立远端目录
rmdir -f
移除远端目录
set OPT []
设定变数
直接键入 set 可看目前定义了那些变数
source
读取 file, 並执行 file 中的命令(应该是和 bash 中的 source 命令是一样的吧)
debug [|off] -o
设定 debug level 为 level
-o 将输出导向至 file
exit [|bg]
结束 lftp
此时若还有 jobs, 则会将 lftp 放至背景执行, 继续未完成的工作
history -w file-r file-c|-l cnt
和 bash 中的 history 功能一样
renlist []
只显示远端的档名
pwd -p
显示目前远端所在目录
-p 连登入密码也显示
scache []
只打 scache 显示目前所有的 session, 加上 session_no 可切换至其他的 session,
对於同时开启多个站台或同个站台不同目录间切换。