案例一:将一个地方里的所有差异数据同步到另一个地方
# rsync -avDogp <source directory>/* <target directory>
案例二:将一个地方里的所有差异数据同步到另一个地方,并且被同步的地方有的数据而原地方没有的数据都将被删除
# rsync -avDogp --delete <source directory>/* <target directory>
# rsync -avDogp <source directory>/* <target directory>
# rsync -avDogp --delete <source directory>/* <target directory>
纪念:站主于 2020 年 6 月完成了此开源实验,并将过程中的所有命令经过整理和注释以后,形成以下教程
服务端 192.168.101.10
客户端 192.168.101.11
1) 服务器提供 NFS 服务将自己的目录分享
2) 客户端挂载和使用 NFS 服务将服务端分享的目录挂载在自己的目录上
1) 所有服务器的系统都需要是 CentOS 8 版本
2) 所有服务器都要关闭防火墙
3) 所有服务器系统都要配置好可用的软件源
4) 需要按照拓扑图给对应的服务器配置好 IP 地址和主机名
5) 所有服务器都要可以相互 ping 通自己和对方的 IP 地址和主机名
(分别在服务端和客户端上执行以下步骤)
# yum -y install rpcbind nfs-utils
(分别在服务端和客户端上执行以下步骤)
# systemctl enable nfs-server
(分别在服务端和客户端上执行以下步骤)
# systemctl start nfs-server
(只在服务端上执行以下步骤)
# mkdir /nfsshare
(只在客户端上执行以下步骤)
# mkdir /autofs
(只在服务端上执行以下步骤)
# vim /etc/exports
添加以下内容:
......
/nfsshare 192.168.101.0/24(rw,sync,no_root_squash,no_subtree_check)
(补充:这里的 192.168.101.0.24 是客户端的 IP 地址所在的网段)
(只在服务端上执行以下步骤)
# exportfs -a
(只在客户端上执行以下步骤)
# yum -y install autofs
(只在客户端上执行以下步骤)
# systemctl enable autofs
(只在客户端上执行以下步骤)
# vim /etc/auto.master
将以下内容:
......
#
/misc /etc/auto.misc
#
......
修改为:
......
/misc /etc/auto.misc
/autofs /etc/auto.autofs
......
(补充:在这里指定了 /etc/auto.autofs 为 Autofs 的从配置文件,并且将 autofs 的主目录设置为 /autofs)
(只在客户端上执行以下步骤)
# cp /etc/auto.misc /etc/auto.autofs
# vim /etc/auto.autofs
将以下内容:
......
cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
......
修改为:
......
cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
directory01 -fstype=nfs,rw 192.168.101.10:/nfsshare
......
(补充:在这里指定了 Autofs 的次级目录为 directory01,即:/autofs/directory01)
(只在客户端上执行以下步骤)
# systemctl restart autofs
(只在客户端上执行以下步骤)
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 957M 0 957M 0% /dev
tmpfs 971M 0 971M 0% /dev/shm
tmpfs 971M 17M 954M 2% /run
tmpfs 971M 0 971M 0% /sys/fs/cgroup
/dev/vda1 10G 1.6G 8.5G 16% /
tmpfs 195M 0 195M 0% /run/user/0
(只在客户端上执行以下步骤)
# cd /autofs/directory01
(只在客户端上执行以下步骤)
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 957M 0 957M 0% /dev
tmpfs 971M 0 971M 0% /dev/shm
tmpfs 971M 17M 955M 2% /run
tmpfs 971M 0 971M 0% /sys/fs/cgroup
/dev/vda1 10G 1.6G 8.5G 16% /
tmpfs 195M 0 195M 0% /run/user/0
192.168.101.10:/nfsshare 10G 1.6G 8.5G 16% /autofs/directory01
(补充:在进入到 Autofs 自动挂载的目录后,自动挂载就在系统中自动出现了)
1) h 以方便人类阅读的方式进行显示
2) s 将所有文件的大小进行相加
# du -s
或者:
# du -s
# du -sh
或者:
# du -sh *
# du -h <directory>
或者:
# du -h <directory>/*
# du -h <file>
# du -h --max-depth=1
# du -sm
或者:
# du -sm *
# du -sg
或者:
# du -sg *
1) 命令模式:主要用于对文件进行批量编辑
2) 末行模式:主要用于保存退出文件
3) 输入模式:主要用于编辑文件
# vi <file>
或者:
# vim <file>
(补充:此时将自动进入命令模式)
# vi +<line number> <file>
或者:
# vim +<line number> <file>
(补充:此时将自动进入命令模式)
按下 “g” 键再按下 “上方向” 键
或者:
按下 “g” 键再按下 “j” 键
(注意:此方法还可以实现让光标跨分布或跨终端移动)
按下 “上方向” 键
或者:
按下 “k” 键
(注意:此方法还可以实现让光标跨分布或跨终端移动)
或者:
按下 “<any number>” 键再按下 “上方向” 键
(补充:此方法会向上方移动对应数字个光标位)
或者:
按下 “<any number>” 键再按下 “k” 键
(补充:此方法会向上方移动对应数字个光标位)
(注意:此方法还可以实现让光标跨分布或跨终端移动)
按下 “g” 键再按下 “下方向” 键
或者:
按下 “g” 键再按下 “k” 键
(注意:此方法还可以实现让光标跨分布或跨终端移动)
按下 “下方向” 键
或者:
按下 “j” 键
(注意:此方法还可以实现让光标跨分布或跨终端移动)
或者:
按下 “<any number>” 键再按下 “下方向” 键
(补充:此方法会向下方移动对应数字个光标位)
或者:
按下 “<any number>” 键再按下 “j” 键
(补充:此方法会向下方移动对应数字个光标位)
(注意:此方法还可以实现让光标跨分布或跨终端移动)
按下 “左方向” 键
或者:
按下 “h” 键
(注意:此方法还可以实现让光标跨分布或跨终端移动)
或者:
按下 ““<any number>” 键之后再按下 “左方向” 键
(补充:此方法会向左方移动对应数字个光标位)
或者:
按下 ““<any number>” 键之后再按下 “h” 键
(补充:此方法会向左方移动对应数字个光标位)
(注意:此方法还可以实现让光标跨分布或跨终端移动)
按下 “右方向” 键
或者:
按下 “l” 键
(注意:此方法还可以实现让光标跨分布或跨终端移动)
或者:
按下 ““<any number>” 之后再按下 “右方向” 键
(补充:此方法会向右方移动对应数字个光标位)
或者:
按下 ““<any number>” 之后再按下 “l” 键
(补充:此方法会向右方移动对应数字个光标位)
(注意:此方法还可以实现让光标跨分布或跨终端移动)
按下 ““<any number>” 键之后再按下 “G” 键
(补充:此方法会让光标移动到对应数字的行)
按下 “0” 键
按下 “^” 键
按下 “$” 键
按下 “H” 键
按下 “M” 键
按下 “L” 键
按下 “g” 键之后再按下 “g” 键
按下 “G” 键
同时按下 “ctrl” 键和 “b” 键
同时按下 “ctrl” 键和 “f” 键
同时按下 “ctrl” 键和 “u” 键
同时按下 “ctrl” 键和 “e” 键
输入百分比后再按下 “%” 键
按下 “z” 键之后再按下 “z” 键
按下 “z” 键之后再按下 “t” 键
按下 “z” 键之后再按下 “b” 键
按下 “d” 键之后再按下 “w” 键
按下 “d” 键之后再按下 “<any number>” 键之后再按下 “w”
(补充:此方法会在光标所在行的范围内从光标所在位置开始向后删除对应数字个单词)
按下 “d” 键之后再按下 “<any number>” 键之后再按下 “h”
(补充:此方法会在光标所在行的范围内从光标所在位置开始向前删除对应数字个字符)
同时按下 “d” 键和 “0” 键
按下 “d” 键之后再按下 “<any number>” 键之后再按下 “l”
(补充:此方法会在光标所在行的范围内从光标所在位置开始向后删除对应数字个字符)
同时按下 “d” 键和 “$” 键
或者:
按下 “D” 键
按下 “d” 键之后再按下 “d” 键
按下 “<start number>” 键之后再按下 “,” 键之后再按下 “<end number>” 之后再按下 “d” 键
(补充:此方法会删除从对应数字到对应数字的行)
按下 “<any number>” 键之后再按下 “d” 键之后再按下 “d” 键
(补充:此方法会从光标所在行开始向后删除对应数字个行)
按下 “d” 键之后再按下 “G” 键
按下 “d” 键之后再按下 “1” 键之后再按下 “G” 键
或者:
按下 “d” 键之后再按下 “g” 键之后再按下 “g” 键
按下 “c” 键
按下 “X” 键
按下 “x” 键
按下 “<any number>” 键之后再按下 “X” 键
(补充:此方法会在光标所在行的范围内从光标所在位置开始向后删除对应数字个字符)
按下 “<any number>” 键之后再按下 “x” 键
(补充:此方法会在光标所在行的范围内从光标所在位置开始向前删除对应数字个字符)
按下 “y” 键之后再按下 “w” 键
按下 “y” 键之后再按下 “<any number>” 键之后再按下 “w”
(补充:此方法会在光标所在行的范围内从光标所在位置开始向后复制对应数字个单词)
按下 “y” 键之后再按下 “<any number>” 键之后再按下 “h”
(补充:此方法会在光标所在行的范围内从光标所在位置开始向前复制对应数字个字符)
同时按下 “y” 键和 “0” 键
按下 “y” 键之后再按下 “<any number>” 键之后再按下 “l”
(补充:此方法会在光标所在行的范围内从光标所在位置开始向后复制对应数字个字符)
同时按下 “y” 键和 “$” 键
按下 “y” 键之后再按下 “y” 键
按下 “<start number>” 键之后再按下 “,” 键之后再按下 “<end number>” 之后再按下 “y” 键
(补充:此方法会复制从对应数字到对应数字的行)
按下 “<any number>” 键之后再按下 “y” 键之后再按下 “y” 键
(补充:此方法会从光标所在行开始向后复制对应数字个行)
按下 “y” 键之后再按下 “G” 键
按下 “y” 键之后再按下 “1” 键之后再按下 “G” 键
或者:
按下 “y” 键之后再按下 “g” 键之后再按下 “g” 键
按下 “p” 键
按下 “P” 键
1) 按下 “i” 键,在光标所在位置进入输入模式
2) 按下 “a” 键,在光标所在位置的后 1 个字符进入输入模式
3) 按下 “I” 键,在光标所在行行首的第 1 个非空格字符进入插入模式
4) 按下 “A” 键,在光标所在行的行尾进入插入模式
5) 按下 “O” 键,在光标所在行的上 1 行新建 1 行,并在行首进入输入模式
5) 按下 “o” 键,在光标所在行的下 1 行新建 1 行,并在行首进入输入模式
按下 “:” 键
按下 “v” 键
或者:
按下 “V” 键
同时按下 “ctrl” 键和 “v” 键
在光标所在行行首,同时按下 “ctrl” 键和 “v” 键再选择对应的行首再按下 “d” 键或者 “x”键,删除在这些行行首的字符
在光标所在行行首,同时按下 “ctrl” 键和 “v” 键再选择对应的行首再按下 “I” 键再输入 <content>再按 “esc” 键,在这些行行首插入 <content>
在光标所在行行首,同时按下 “ctrl” 键和 “v” 键再按下再按 “I” 键再按下 “g” 键再按 “g” 键再输入<content> 再按 “esc” 键,在光标所在行以及前面的所有行的行首插入 <content>
在光标所在行行首,同时按下 “ctrl” 键和 “v” 键再按下再按 “I” 键再按下 “G” 键再输入 <content> 再按 “esc” 键,在这光标所在行以及后面的所有行的行首插入 <content>
按下 “R” 键
按下 “J” 键
按下 “ctrl” 键和 “r” 键
或者:
按下 “.“ 键
按下 “u” 键
按下 “Z” 键之后再按下 “Z” 键
1) :w 保存当前内容
2) :w! 强制保存当前内容
3) :w <file> 保存当前内容到另 1 个名为 <file> 文件
4) :w! <file> 强制保存当前内容到另 1 个名为 <file> 文件
5) :q 退出
6) :q! 强制推出
7) :wq 或者 : x 保存当前内容并退出
8) :wq! 强制保存当前内容并退出
9) :wq <file> 或者 :saveas <file> 保存当前内容到另 1 个名为 <file> 文件并退出
10) :wq! <file> 强制保存当前内容到另 1 个名为 <file> 文件并退出
11) :e! 放弃当前所有修改,将内容恢复到上次保存时
12) :! <command> 使用 Linux 命令
13) :r <file> 在当前行插入名为 <file> 文件里的内容
14) :<n>r <file> 在第 n 行插入名为 <file> 文件里的内容
1) :set nu 或者 :set number 开启行号
2) :set nonu 或者 :set nonumber
: /<key word> 之后按 “n” 键或者 “N” 键显示下 1 个匹配的关键字
:?<key word> 之后按 “n” 键或者 “N” 键显示下 1 个匹配的关键字
:<line number> 之后按 “回车” 键
:s/<old keyword>/<new keyword>
:s/<old keyword>/<new keyword>/g
<start number>,<end number>s/<old keyword>/<new keyword>/g
:,+<any number>s/<old keyword>/<new keyword>/g
:<any number>,%s/<old keyword>/<new keyword>/g
:%s/<old keyword>/<new keyword>/g
:按下 “esc” 键
正常键入内容即可
按下 “esc” 键
?
*
[<character><character><character>]
或者:
{<character>,<character>,<character>}
[^<character><character><character>]
或者:
[!<character><character><character>]
{<head character>...<tail character>}
# touch {a..b}{1..3}.txt
# ls
a1.txt a2.txt a3.txt b1.txt b2.txt b3.txt
# cd /tmp
# tar -zcvf /home/zhumingyu/all.tar.gz .[!.]* *