REDHAT一总复习1 输出重定向及head tail的用法
1、使用bash命令,在server机上完成以下任务。(考点是:head tail的使用)
.显示/usr/bin/clean-binary-files文件的前12行,并将其输出到/home/student/headtail.txt
.显示/usr/bin/clean-binary-files文件的最后9行,并将其添加到/home/student/headtail.txt
(存放到一个文件里,记得有个增量添加和异地同步的命令rsync和scp实现,MK在一篇博客里有提到过。 这里使用的是>>重定向,这里>与>>的区别,naifuzhang在知道中回答道:> 是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节);>> 这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。 把前面的文件输出到后面的文件里,顺序不要搞错了。)
1.1 显示/usr/bin/clean-binary-files文件的前12行,并将其输出到/home/student/headtail.txt文件
$ head -n 12 /usr/bin/clean-binary-files > /home/student/headtail.txt
1.2 显示/usr/bin/clean-binary-files文件的最后9行,并将其添加到/home/student/headtail.txt
$ tail -n 9 /usr/bin/clean-binary-files >> /home/student/headtail.txt
附MK博文摘要:
rsync增量更新
然后是文件的增量更新,主要解决的问题是现在有两台服务器A和B,要将A服务器上的test目录增量复制到B服务器上的test目录(所谓增量更新就是指B服务器原来已经有的文件不再传了,只传送那些A有的而B没有的),这样使得B服务器上的test文件夹保持与A同步
这就需要用到rsync这个命令,这个命令的用法跟scp是一样的
比如在A服务器下执行命令:rsync -r /home/test/ user@B:/home/test 即可实现增量更新
注意:这里有一个问题需要详细说明一下:
假如test目录下有1.txt,2.txt这两个文件
如果命令中源目录那里写成这样:/home/test/
那么rsync准备更新的文件列表就是
1.txt
2.txt
然后就会在B机器的/home/test目录下找这两个文件并做增量更新,这样能够满足需求
但如果源目录写成这样:/home/test
那么rsync准备增量更新的文件列表就会是这样:
test/1.txt
test/2.txt
然后在B机器的/home/test目录下寻找test/1.txt,发现没有test文件夹,于是又创建了test文件夹,所以这样执行的结果就是B机器的目录结构就会有这两个文件,而这不是希望看到的
/home/test/test/1.txt
/home/test/test/2.txt
所以要注意这个问题。下面两种写法是正确的:
rsync -r /home/test/ user@B:/home/test
或者
rsync -r /home/test user@B:/home
具体的关于rsync的详细参数的设置这里就不说了,这里只把一种推荐的命令运行方式记录下来:
rsync -rtv /home/test/ user@B:/home/test
-t是指判断文件是否已有的时候只判断文件的时间戳和文件的大小,如果都一样就把这个文件跳过(这是一种不够严谨但足够快的方法)
-v是指输出一下执行的日志,其实可以加很多v,v越多,输出的日志越多
免验证访问
现在就可以将crontab和rsync结合一下了,当然首先需要解决两个机器之间rsync免验证的问题,也就是命令可以直接这样写(不需要B机器的用户名和密码):
rsync -rtv /home/test user@B:/home/test
关于这个网上看了一些rsync的配置,但是觉得太麻烦了,想到这个跟scp差不多,是不是也可以直接ssh免验证的那种方式解决,试了一下,可行
关于ssh免验证登录,是这样做的(这里的用户全部用root,当然可以用其他的):
在A机器下:
首先生成秘钥文件
ssh-keygen -t rsa -P ''
注意‘’是两个单引号,表示密码为空
然后将生成的id_rsa.pub文件复制到B服务器上(注意文件的位置为/root/.ssh,如果是其他用户应该是/home/user/.ssh,即为当前用户的主目录)
scp /root/.ssh/id_rsa.pub root@B:/root/
(因为操作还没有完成,这里还要输入密码)
然后在B机器上操作:
如果/root/.ssh/里没有authorized_keys这个文件,那么将从A机器scp过来的id_rsa.pub文件移动并重命名成authorized_keys即可
mv /root/id_rsa.pub /root/.ssh/authorized_keys
如果这个authorized_keys文件已经存在,那么将id_rsa.pub这个文件的内容追加到authorized_keys即可
cat /root/id_rsa.pub >> /root/.ssh/authorized_keys
此时就可以在A机器上免密码访问B机器了,注意别搞反了
在A机器上测试一下:
ssh root@B
如果不需要输入密码就可以登录,说明配置成功
REDHAT一总复习1 输出重定向及head tail的用法的更多相关文章
- REDHAT一总复习1 禁用颜色
使用man page 研究如何在输出中禁用颜色.将ls命令的相关选项放到server上的文本文件 /home/student/lscolor.txt中. 1. 在ls(l) man page中查询相关 ...
- REDHAT一总复习1 记录systemd日志条目 rsyslogd配置记录日志指令
显示9:05:00 到9:15:00 之间在/home/student/systemdreview.txt 文件中记录所有systemd日志条目 # echo "journalctl --s ...
- REDHAT一总复习1 NTP更改时区,并验证时区设置是否正确
把计算机时区调整到巴哈马(这是个啥地方?听都没听过.) 使用 tzselect 进行确定时区,并进行可对话性的设置,按照对应的序号,射进去就行了. 使用:timedatectl set-timezo ...
- REDHAT一总复习1 ssh配置 禁用root用户SSH连接
生成SSH公钥 $ ssh-keygen 生成的公钥安装到指定的服务器上,这里安装到desktop0上的student账户 $ ssh-copy-id desktop0 $ su - 禁用root用户 ...
- REDHAT一总复习1 cups 打印服务配置
停止cups服务 $ sudo systemctl stop cups $ sudo systemctl status cups 配置cups服务,使其不在系统启动时启动 $ sudo systemc ...
- REDHAT一总复习1 vim编辑器的使用 删除所有者列 删除指定行
将文件/home/student/vimfile.txt 复制到server 上的/home/student/longlisting.txt . 根据下列要求,使用vim编辑器更改 /home/stu ...
- REDHAT一总复习1更改系统文档文件
十台linux系统需要更改文档.请在server上执行以下任务: .在server计算机上,以student用户在/home/student目录中创建空文件,并将文件取名system_changes- ...
- linux进程后台运行及输出重定向
本机环境为ubuntu 14.04 以ping www.baidu.com为例: 1.程序的前台运行 ping www.baidu.com 可以看到,屏幕上输出了baidu返回的结果 2.实现程序后台 ...
- unix下输出重定向
> 为重定向符号 >> 重定向不覆盖原文件内容 example: 1. 标准输出重定向 echo "123" > /home/123.txt ---- 标准 ...
随机推荐
- [iOS]技巧集锦:UICollectionView在旋转屏幕后Cell中的约束不起作用或自动布局失效
这似乎是iOS的一个BUG(ref: stackoverflow的大神们讲的) 解决方案 在继承自UITableViewCell的子类中的init方法中加入如下设置: self.contentView ...
- 网络IO之阻塞、非阻塞、同步、异步总结
网络IO之阻塞.非阻塞.同步.异步总结 1.前言 在网络编程中,阻塞.非阻塞.同步.异步经常被提到.unix网络编程第一卷第六章专门讨论五种不同的IO模型,Stevens讲的非常详细,我记得去年看第一 ...
- SNMP与MIB
简单网络管理协议(SNMP:Simple Network Management Protocol)是一套网络管理协议,注意,SNMP是一个强大的网络管理协议,而不是"简单"的.利用 ...
- NFS指定端口
nfs服务端: 编辑/etc/nfsmount.conf,在末尾添加: RQUOTAD_PORT=30001LOCKD_TCPPORT=30002LOCKD_UDPPORT=30002MOUNTD_P ...
- Batis-iBatis基本操作(增删改查)
Batis-iBatis基本操作(增删改查) 时间 2014-04-10 17:55:20 CSDN博客 原文 http://blog.csdn.net/mazhaojuan/article/de ...
- FineUI(专业版)v3.0.0 发布,手机、平板和桌面全支持!
FineUI(专业版)v3.0.0 已经正式发布,全面支持手机.平板和桌面! 自 2008 年 4 月发布第一个版本,我们持续更新了 126 个版本,拥有 16000 多位注册用户,130 ...
- quartus和modelsim中使用mif和hex文件
.mif和.hex文件都是Quartus支持的数据文件格式,常被用作内存初始化文件.可是,M odelSim却不支持.mif文件,只支持.hex文件格式,这意味着如果你的设计采用了.mif文件 ,你的 ...
- java Ajax的应用
一.Ajax的使用步骤 步一:创建AJAX异步对象,例如:createAJAX() 步二:准备发送异步请求,例如:ajax.open(method,url) 步三:如果是POST请求的话,一定要设置A ...
- mtk flash tool,Win7 On VirtualBox
SP_Flash_Tool_exe_Windows_v5.1624.00.000 Win7 在 VirtualBox, 安裝 mtk flash tool, v5.1628 在燒錄時會 fail. v ...
- iOS 设置不同的字体颜色
//设置不同字体颜色 -(void)fuwenbenLabel:(UILabel *)labell FontNumber:(UIFont *)font AndRange:(NSRange)range ...