From c5a5889c8bb9e024c6a2f2677f5c7f4fd1e42eb6 Mon Sep 17 00:00:00 2001 From: Black-Gold Date: Sun, 25 Nov 2018 23:00:15 +0800 Subject: [PATCH] --- LearnShell/LinuxCommands/dd.md | 111 +++++++++--------------------- LearnShell/LinuxCommands/rsync.md | 27 ++++---- 2 files changed, 44 insertions(+), 94 deletions(-) diff --git a/LearnShell/LinuxCommands/dd.md b/LearnShell/LinuxCommands/dd.md index b83689c..127dfa2 100755 --- a/LearnShell/LinuxCommands/dd.md +++ b/LearnShell/LinuxCommands/dd.md @@ -1,9 +1,8 @@ -dd -=== +# dd 复制文件并对原文件的内容进行转换和格式化处理 -## 补充说明 +## 说明 **dd命令** 用于复制文件并对原文件的内容进行转换和格式化处理。dd命令功能很强大的,对于一些比较底层的问题,使用dd命令往往可以得到出人意料的效果。用的比较多的还是用dd来备份裸设备。但是不推荐,如果需要备份oracle裸设备,可以使用rman备份,或使用第三方软件备份,使用dd的话,管理起来不太方便。 @@ -12,15 +11,9 @@ dd 其次,dd命令可以创建一个固定大小的文件如下: dd if=/dev/zero of=/var/swap/file.swap bs=1024K count=64( linux支持K单位,unix不支持;) -### 语法 +## 选项 -``` -dd(选项) -``` - -### 选项 - -``` +```sh bs=<字节数>:将ibs(输入)与欧巴桑(输出)设成指定的字节数; cbs=<字节数>:转换时,每次只转换指定的字节数; conv=<关键字>:指定文件转换的方式; @@ -34,92 +27,52 @@ skip=<区块数>:一开始读取时,跳过指定的区块数; --version:显示版本信息。 ``` -### 实例 +## 实例 -``` -[root@localhost text]# dd if=/dev/zero of=sun.txt bs=1M count=1 +```sh +dd if=/dev/zero of=sun.txt bs=1M count=1 1+0 records in 1+0 records out 1048576 bytes (1.0 MB) copied, 0.006107 seconds, 172 MB/s - +可以看出dd命令来测试内存操作速度 ``` 该命令创建了一个1M大小的文件sun.txt,其中参数解释: -* **if** 代表输入文件。如果不指定if,默认就会从stdin中读取输入。 -* **of** 代表输出文件。如果不指定of,默认就会将stdout作为默认输出。 -* **bs** 代表字节为单位的块大小。 -* **count** 代表被复制的块数。 -* **/dev/zero** 是一个字符设备,会不断返回0值字节(\0)。 +* **if** 代表输入文件。如果不指定if,默认就会从stdin中读取输入。 +* **of** 代表输出文件。如果不指定of,默认就会将stdout作为默认输出。 +* **bs** 代表字节为单位的块大小。 +* **count** 代表被复制的块数。 +* **/dev/zero** 是一个字符设备,会不断返回0值字节(\0) 块大小可以使用的计量单位表 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +| 单元大小 | 代码 | +| :------: | :------: | +| 字节(1B) | c | +| 字节(2B) | w | +| 块(512B) | b | +| 千字节(1024B) | k | +| 兆字节(1024KB) | M | +| 吉字节(1024MB) | G | - +## 用dd命令备份磁盘 - +dd if=/dev/sda of=/deb/sdb +“if”表示inputfile,“of”表示outputfile。参数“conv = noerror”,如果存在读取错误,它将继续复制。 - +创建硬盘镜像 - +dd if=/dev/hda of=~/hdadisk.img - +从硬盘镜像恢复 -
单元大小代码
字节(1B)c
字节(2B)w
块(512B)b
千字节(1024B)k
兆字节(1024KB)M
吉字节(1024MB)G
+dd if=hdadisk.img of=/dev/hdb -以上命令可以看出dd命令来测试内存操作速度: +备份分区 +dd if=/dev/hda1 of=~/partition1.img +备份CDROM - +dd if=/dev/cdrom of=tgsservice.iso bs=2048 \ No newline at end of file diff --git a/LearnShell/LinuxCommands/rsync.md b/LearnShell/LinuxCommands/rsync.md index 2a0da87..10964ed 100755 --- a/LearnShell/LinuxCommands/rsync.md +++ b/LearnShell/LinuxCommands/rsync.md @@ -1,15 +1,14 @@ -rsync -=== - +# rsync + 远程数据同步工具 -## 补充说明 +## 说明 **rsync命令** 是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。 -### 语法 +## 语法 -``` +```sh rsync [OPTION]... SRC DEST rsync [OPTION]... SRC [USER@]host:DEST rsync [OPTION]... [USER@]HOST:SRC DEST @@ -20,8 +19,8 @@ rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST] 对应于以上六种命令格式,rsync有六种不同的工作模式: -1. 拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:`rsync -a /data /backup` -2. 使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:`rsync -avz *.c foo:src` +1. 同步本地目录。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:`rsync -a /data /backup` +2. 使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:`rsync -avz *.c foo:src` 3. 使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。如:`rsync -avz foo:src/bar /data` 4. 从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。如:`rsync -av root@192.168.78.192::www /databack` 5. 从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。如:`rsync -av /databack root@192.168.78.192::www` @@ -29,7 +28,7 @@ rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST] ### 选项 -``` +```sh -v, --verbose 详细模式输出。 -q, --quiet 精简输出模式。 -c, --checksum 打开校验开关,强制对文件传输进行校验。 @@ -93,11 +92,9 @@ rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST] -h, --help 显示帮助信息。 ``` -### 实例 +## 实例 - **SSH方式** - -首先在服务端启动ssh服务: +SSH方式,首先在服务端启动ssh服务: ``` service sshd start @@ -179,14 +176,14 @@ auth users=work 创建密码文件,采用这种方式不能使用系统用户对客户端进行认证,所以需要创建一个密码文件,其格式为“username:password”,用户名可以和密码可以随便定义,最好不要和系统帐户一致,同时要把创建的密码文件权限设置为600,这在前面的模块参数做了详细介绍。 -``` +```sh echo "work:abc123" > /etc/rsyncd.passwd chmod 600 /etc/rsyncd.passwd ``` 备份,完成以上工作,现在就可以对数据进行备份了,如下: -``` +```sh rsync -avz --progress --delete work@172.16.78.192::www /databack/experiment/rsync Password: