红联Linux门户
Linux帮助

SSH(Secure Shell Protocol)命令教程

发布时间:2014-12-18 15:28:32来源:linux网站作者:lovingprince

ssh具有客户端和服务端两部分。服务端是提供一个守护进程sshd来响应客户端的请求。

这里介绍一个常用的在两台远程机器上进行文件传输命令SCP(Secure Copy)。

常用语法:

scp -r [[user@]host1:]file1 [...] [[user@]host2:]file2

从将host1上的文件file1拷贝到host2上file2下

-r表示递归复制整个目录

例子:

1.将本地文件test.conf copy到另一台主机/etc下

scp /etc/test.conf  admin@www:/etc/

2.将远程的test.conf下载到本机

scp admin@www:/etc/test.conf   /etc


sftp 用于在两台计算机之间传输文件,类似于ftp,但是相对于ftp安全得多,sftp默认采用加密方式来传输数据,sftp不是单一命令,而是一系列相关的操作命令。

sftp username@remotehost

登陆远程主机,可能要求输入登录密码

cd  remotedir

远程切换目录

mkdir  dir

远程创建目录

ls

显示远程目录中的文件或者目录,可以配合一系列选项使用

get remotefile  localdir

将远程文件拷贝到本地制定目录下,如果省略localdir,则直接拷贝到本地目录下

put  localfile    remotedir

将本地文件上传到远程服务器上,同样remotedir可以省略,则默认到远程所在目录下

rm remotefile

可以删除远程文件

pwd

显示远程主机上的当前路径

exit

quit

以上两个命令都可以退出sftp

如果想在sftp操作过程中操作本地目录等,可以在相关命令上加上l,表示操作本地目录,例如:lcd 表示切换本地目录

lpwd 显示本地路径  lrm 删除本地文件 lls 显示本地目录中的文件。

sftp操作本身都比较简单,比较好学习。


grep是一个文本搜索工具,能够使用正则表达式搜索文本,并根据要求输出匹配的行数或者输出匹配的行,该命令的一般格式如下:

grep [选项] pattern files

常用【选项】有:

-?  ?表示一个数字,意思是输出匹配行前后?行,-3表示输出前后3行

-c  只输出匹配的行数

-i   忽略大小写进行匹配

-n  打印匹配行的行号

pattern 是要匹配文本的正则表达式,具体正则语法可以参考其他相关资料,这里只列举几个。

^  行的开始 如:'^grep'匹配所有以grep开头的行。

$   行的结束 如:'grep$'匹配所有以grep结尾的行。

.   匹配非换行符的任意一个字符 如:'ab.z' 匹配abcz,也匹配abzz

*  匹配零个或多个前导字符 如:'ab.*z'  匹配abz,也匹配abcccccczz

[]  匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。

[^] 匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。      

.........

files 要搜索的文件列表,文件可以有一个或者多个,当然要搜索的目标也可以是其他命令的输出,可以使用管道进行连接

grep -c 'abc' a.log b.log

【实例】

grep用得比较多是用来进行统计,并与管道进行联合使用。

查找包含abc 的行  ,并打印行号

grep  -n 'abc'  a.log     

利用管道方式完成同样的工作

cat a.log | grep -n 'abc'

意思是将cat看到的内容输出作为grep命令的输入,并在这个输入中搜索abc字符串

在所有log文件中搜索包含abc字符串的行

grep -n 'abc'  *.log