Linux下常用scp,tail,grep命令详解[记录]

发布时间 2023-06-28 15:51:12作者: Daijn

scp 命令

用于在本地主机和远程主机之间复制文件或目录,支持加密传输。它可以通过ssh协议来进行数据传输,因此传输过程是安全的。

注意:在使用 scp 命令时,如果出现权限验证失败的情况,可能需要检查本地主机和远程主机之间的 ssh 配置是否正确。

scp [参数] [原路径] [目标路径]

[参数]可以省略,常用的参数有-r表示递归复制子目录,-P表示指定端口号等。

1、将本地文件 test.txt 复制到远程主机的 /home/user 目录下:

scp test.txt user@remotehost:/home/user/

2、 将远程主机的 /home/user/test.txt 文件复制到本地当前目录下:

scp user@remotehost:/home/user/test.txt .

3、复制整个目录(包括子目录)到远程主机的 /home/user 目录下: 

scp -r /path/to/local/dir user@remotehost:/home/user/

 4、从远程主机复制整个目录(包括子目录)到本地当前目录下:

scp -r user@remotehost:/path/to/remote/dir .

 tail 命令

可以查看文件的末尾内容,常用于查看日志文件。

tail -f <文件名>:实时查看文件的最新内容,随着文件不断更新,继续输出新增的内容。

tail -n <行数> <文件名>:显示文件末尾的 <行数> 行内容,例如 tail -n 1000 log.txt 将会显示 log.txt 文件末尾的 1000 行内容。

 注意:如果使用 -f 参数来实时查看文件内容,可以通过按 Ctrl + C 组合键来退出 tail 命令。此外,在许多 Linux 发行版中,还可以通过添加 --follow 或者 -F 参数来实现动态跟踪日志文件,这样即使日志文件被删除和重新创建,也可以保持对日志文件的监控。

grep 命令

grep 命令可以根据指定的模式(pattern)在文本文件中进行搜索,并将匹配到的行输出到终端。

注意:grep 命令默认区分大小写,因此如果要忽略大小写,需要使用 -i 参数。此外,为了提高搜索效率,可以限制搜索范围和深度,避免搜索无关目录和文件。

grep 命令的语法格式如下:

grep [参数] 模式 文件名

[参数]可以省略,常用的参数有 -i 表示忽略大小写,-r 表示递归搜索子目录,-n 表示显示匹配行号等。

1、在 error.log 日志文件中查找包含字符串 error 的行:

grep "error" error.log

 2、搜索多个文件中包含特定字符串的行:

grep "error" *.log

3、查找包含字符串 Error 的行(忽略大小写): 

grep -i "error" error.log

 4、递归搜索子目录中包含字符串 error 的行: 

grep -r "error" /var/log/
​文章来源于:https://www.uudwc.com