Linux基础命令-dd拷贝、转换文件

news2024/9/24 9:19:29

文章目录

dd

命令介绍

语法格式

基本参数

参考实例

1)生成一个200M的新文件

2)拷贝文件的100个字节

3)将文件的字母全部转换成大写

4)将linux自带的光盘制作成iso格式的镜像文件

5)使用dd命令制作1G的交换分区

6)将文件大写字母转换为小写字母

命令总结

dd

命令介绍

先看下帮助文档里的含义

NAME
       dd - convert and copy a file

可以看出来dd(disk dump)的功能是用来转换和拷贝文件的,并且使用dd命令可以按照指定大小的数据块来拷贝文件,并在拷贝的过程中对内容进行转换。

语法格式

继续来看下命令帮助文档内的具体使用

语法:dd 【参数】【对象】

SYNOPSIS
       dd [OPERAND]...
       dd OPTION

基本参数

参数以表格显示

if=文件名输入的文件名,默认为标准输入,即指定源文件
of=文件名输出的文件名,默认为标准输出,即指定目标文件
bs=bytes同时设置读入/输出的“块”的大小为bytes个字节
ibs=bytes一次读入bytes个字节,即指定一个块的大小为bytes个字节
obs=bytes一次输出bytes个字节,即指定一个块的大小为bytes个字节
cbs=bytes一次转换bytes个字节,即指定转换缓冲区大小
count=blocks设置“块”的数量
skip=blocks从输入文件开头跳过blocks个块再开始复制
seek=blocks从输出文件开头跳过blocks个块后再开始复制
conv=<关键字>设置关键字信息来转换文件

 conv的关键字有以下几种:

  • conversion:用指定的参数转换文件。
  • ascii:转换ebcdic为ascii
  • ebcdic:转换ascii为ebcdic
  • ibm:转换ascii为alternate ebcdic
  • block:把每一行转换为长度为cbs,不足部分用空格填充
  • unblock:使每一行的长度都为cbs,不足部分用空格填充
  • lcase:把大写字符转换为小写字符
  • ucase:把小写字符转换为大写字符
  • swap:交换输入的每对字节
  • noerror:出错时不停止
  • notrunc:不截短输出文件
  • sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。

参考实例

1)生成一个200M的新文件

/dev/zero的文件可以产生无穷的数据,使用这个设备配合dd使用,就能创建一个指定大小的文件。

[root@localhost ~]# dd if=/dev/zero of=1.txt bs=10M count=20
记录了20+0 的读入
记录了20+0 的写出
209715200字节(210 MB)已复制,3.69047 秒,56.8 MB/秒
[root@localhost ~]# ll -h 1.txt
-rw-r--r--. 1 root root 200M 2月  26 11:16 1.txt

2)拷贝文件的100个字节

可以用来拷贝源文件的数据到目标文件中, 设置要拷贝的大小为100字节,数量为1个。

[root@localhost ~]# dd if=/etc/passwd of=passwd.txt count=1 bs=100
记录了1+0 的读入
记录了1+0 的写出
100字节(100 B)已复制,0.000323161 秒,309 kB/秒
[root@localhost ~]# cat passwd.txt 
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

3)将文件的字母全部转换成大写

将源文件转换成目标文件,使用关键字“ucase”,意将小写的字符转换成大写的。

[root@localhost ~]# dd if=/etc/passwd of=passwd1.txt conv=ucase
记录了4+1 的读入
记录了4+1 的写出
2290字节(2.3 kB)已复制,0.00014741 秒,15.5 MB/秒
[root@localhost ~]# cat passwd1.txt | head
ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH
BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN
DAEMON:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN
ADM:X:3:4:ADM:/VAR/ADM:/SBIN/NOLOGIN

4)将linux自带的光盘制作成iso格式的镜像文件

centos7.iso文件系统格式为iso 9660,表示此文件为镜像文件 

[root@localhost ~]# dd if=/dev/cdrom of=centos7.iso 
记录了9203712+0 的读入
记录了9203712+0 的写出
4712300544字节(4.7 GB)已复制,228.538 秒,20.6 MB/秒
[root@localhost ~]# file centos7.iso 
centos7.iso: # ISO 9660 CD-ROM filesystem data 'CentOS 7 x86_64' (bootable)

5)使用dd命令制作1G的交换分区

制作交换分区,先拷贝一个1G的文件出来 ,再使用mkswap命令进行强制格式化后,设置文件权限为600后就可以进行激活挂载了。

[root@localhost ~]# dd if=/dev/zero of=a.txt bs=1M count=1000  #拷贝1G的文件
记录了1000+0 的读入
记录了1000+0 的写出
1048576000字节(1.0 GB)已复制,25.3194 秒,41.4 MB/秒
[root@localhost ~]# mkswap -f a.txt                        #使用-f强制格式化文件
正在设置交换空间版本 1,大小 = 1023996 KiB
无标签,UUID=15c1a284-e382-40c7-9787-4b52d4d52652
#需要设置文件权限为600才能挂载,否则会显示不安全的权限
[root@localhost ~]# chmod 600 a.txt                      
[root@localhost ~]# swapoff -a         #关闭所有交互分区
[root@localhost ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           3.8G        883M        105M         27M        2.9G        2.7G
Swap:            0B          0B          0B
[root@localhost ~]# swapon a.txt      #激活此文件
[root@localhost ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           3.8G        883M        142M         27M        2.8G        2.7G
Swap:          999M          0B        999M
#将设置好的交换分区写入到/etc/fstab文件,使其能开机自启
[root@localhost ~]# echo "/root/a.txt swap swap defaults 0 0" >> /etc/fstab

6)将文件大写字母转换为小写字母

刚可以将小写字母转换成大写字母,也可将大写字母转换成小写字母。

[root@localhost ~]# dd if=passwd1.txt of=passwd2.txt conv=lcase
记录了4+1 的读入
记录了4+1 的写出
2290字节(2.3 kB)已复制,0.00987157 秒,232 kB/秒
[root@localhost ~]# cat passwd2.txt | head -2
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

命令总结

        这个命令正常使用还是挺有意思的,参数上看着是比较多的内容,实际有几个是比较常能用来搭配使用的,若觉得以上内容还行的,可以点赞支持一下!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/372556.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软考中级-操作系统

1 操作系统地位计算机系统由硬件和软件组成&#xff0c;未配置软件的称为裸机&#xff0c;但这会导致效率低下。操作系统是为弥补用户与硬件之间的鸿沟的一种系统软件&#xff0c;汇编、编译、解释、数据库管理系统等系统软件和其他应用软件都在此基础。2 进程管理又称处理机管…

Linux Ubuntu配置国内源

因为众所周知的原因&#xff0c;国外的很多网站在国内是访问不了或者访问极慢的&#xff0c;这其中就包括了Ubuntu的官方源。 所以&#xff0c;想要流畅的使用apt安装应用&#xff0c;就需要配置国内源的镜像。 市面上Ubuntu的国内镜像源非常多&#xff0c;比较有代表性的有清华…

pytorch学习日记之激活函数

常用的激活函数为S型&#xff08;sigmoid&#xff09;激活函数、双曲正切&#xff08;Tanh&#xff09;激活函数、线性修正单元&#xff08;ReLU&#xff09;激活函数等&#xff0c;对应Pytorch的函数如下所示 层对应的种类功能torch.nn.SigmoidSigmoid激活函数torch.nn.TanhT…

_vue-3

Vue3有了解过吗&#xff1f;能说说跟vue2的区别吗&#xff1f; 1. 哪些变化 从上图中&#xff0c;我们可以概览Vue3的新特性&#xff0c;如下&#xff1a; 速度更快体积减少更易维护更接近原生更易使用 1.1 速度更快 vue3相比vue2 重写了虚拟Dom实现编译模板的优化更高效的…

数据挖掘概述

目录1、数据挖掘概述2、数据挖掘常用库3、模型介绍3.1 分类3.2 聚类3.3 回归3.4 关联3.5 模型集成4、模型评估ROC 曲线5、模型应用1、数据挖掘概述 数据挖掘&#xff1a;寻找数据中隐含的知识并用于产生商业价值 数据挖掘产生原因&#xff1a;海量数据、维度众多、问题复杂 数…

直接拿项目运行npm start 会出现’react-scripts’ 不是内部或外部命令,也不是可运行的程序或批处理文件错误

目录 解决方案 原因 解决方案 npm install react-scripts或npm install安装完成后再次运行 npm start 即可 原因 create-react-app有丢包的缺陷&#xff0c;手动安装包后&#xff0c;需要重新npm install一下&#xff0c;这样node_modules/.bin/目录下才会重新出现react-s…

【论文阅读】基于LevelDB的分布式数据库研究

基于LevelDB的分布式数据库研究 基于LevelDB的分布式数据库的研究与实现 - 中国知网 (cnki.net) 实现了什么&#xff1f; 基于键值型NoSQL数据库LevelDB&#xff0c;并与数据一致性算法Raft、 数据分片和负载均衡相结合&#xff0c;设计并实现基于LevelDB的分布式数据库。 主要…

Wireshark “偷窥”浏览器与服务器三次握手

本文使用的是Wireshark 4.0.3, Java 11 编写简易服务器&#xff0c;客户端使用Chrome浏览器移动端开发或是前、后端开发又或是高大上的云计算都脱离不了网络&#xff0c;离开了网络的计算机就是一个孤岛&#xff0c;快速上手开发、背面试八股文固然有些急功近利&#xff0c;但确…

jstatd的启动方式与关闭方式

启动方式与注意事项&#xff1a; 启动方式&#xff1a; 前台启动不打印日志&#xff1a; jstatd -J-Djava.security.policyjstatd.all.policy -J-Djava.rmi.server.hostname服务器IP 前台启动并打印日志&#xff1a; ./jstatd -J-Djava.security.policyjstatd.all.policy -…

傻瓜式minio使用指南

傻瓜式minio使用指南1. docker部署minio1.1 docker拉取minio镜像1.2 创建docker容器1.3 查看docker容器是否启动正常2.登陆minio2.1 账户、密码为原先设置minioadmin2.2 创建桶2.3 设置桶属性3.Java客户端使用3.1引入依赖3.2 使用3.3 结果1. docker部署minio 1.1 docker拉取mi…

你应该知道的ChatGPT提示语

ChatGPT 自上线以来&#xff0c;凭借其优异的自然语言理解和输出能力&#xff0c;仅花 5天就成为了活跃用户过百万的现象级产品。而上一个现象级产品 instagram 花了 2 个半月。到目前为止 ChatGPT 在全球累计用户数量已经过亿&#xff0c;相信现在也有很多人在跟 ChatGPT 聊过…

Acwing 蓝桥杯 第二章 二分与前缀和

今天来补一下之前没写的总结&#xff0c;题是写完了&#xff0c;但是总结没写感觉没什么好总结的啊&#xff0c;就当打卡了789. 数的范围 - AcWing题库思路&#xff1a;一眼二分&#xff0c;典中典先排个序&#xff0c;再用lower_bound和upper_bound维护相同的数的左界和右界就…

Google Guice 4:Bindings(2)

4 Scopes (实例的作用域&#xff09; 4.1 默认规则&#xff1a;unreuse instance 到目前为止&#xff0c;通过bind().to()和Provides定义的binding&#xff0c;每次需要注入实例对象时&#xff0c;Guice都会创建一个新的实例 // 修改DatabaseTransactionLog&#xff0c;使其打…

【python学习笔记】:SQL常用脚本(二)

11、四舍五入ROUND函数 ROUND ( numeric_expression , length [ ,function ] ) function 必须为 tinyint、smallint 或 int。 如果省略 function 或其值为 0&#xff08;默认值&#xff09;&#xff0c;则将舍入 numeric_expression。 如果指定了0以外的值&#xff0c;则将截…

TypeScript笔记-进行中

学习来源&#xff1a; 本笔记由尚硅谷教学视频整理而来 文章目录学习来源&#xff1a;一.TS简介TypeScript是什么TypeScript增加了什么二环境搭建安装nvm环境搭建二.TypeScript中的基本类型类型声明类型类型示例代码三.编译配置自动编译文件自动编译整个项目四.使用webpack打包…

一文掌握如何轻松稿定项目风险管理【静说】

风险管理对于每个项目经理和PMO都非常重要&#xff0c;如果管理不当会出现很多问题&#xff0c;咱们以前分享过很多风险管理的内容&#xff1a; 风险无处不在&#xff0c;一旦发生&#xff0c;会对一个或多个项目目标产生积极或消极影响的确定事件或条件。那么接下来介绍下五大…

在成都想转行IT,选择什么专业比较好?

很多创新型的互联网服务公司的核心其实都是软件&#xff0c;创新的基础、运行的支撑都是软件。例如&#xff0c;软件应用到了出租车行业&#xff0c;就形成了巅覆行业的滴滴;软件应用到了金融领域&#xff0c;就形成互联网金融;软件运用到餐饮行业&#xff0c;就形成美团;软件运…

学渣适用版——Transformer理论和代码以及注意力机制attention的学习

参考一篇玩具级别不错的代码和案例 自注意力机制 注意力机制是为了transform打基础。 参考这个自注意力机制的讲解流程很详细&#xff0c; 但是学渣一般不知道 key&#xff0c;query&#xff0c;value是啥。 结合B站和GPT理解 注意力机制是一种常见的神经网络结构&#xff0…

[计算机网络(第八版)]第二章 物理层(复习笔记)

2.1 物理层的概念 物理层是屏蔽掉传输媒体和通信手段的差异&#xff0c;为数据链路层提供一个统一的数据传输服务&#xff0c;将比特流按照传输媒体的需要进行编码&#xff0c;然后将信号通过传输媒体传输到下一个节点的物理层&#xff0c;并不是指具体的传输媒体。用于物理层…

一文带你看懂:如何进行一次高质量CR?

程序员对代码评审&#xff08;Code Review&#xff09;不可谓不熟悉&#xff0c;而代码评审也已经是许多组织的标准化实践。结合笔者的五年多的开发经验&#xff0c;既有经历过零CR的小组织&#xff0c;也有接触过完善CR规范的大厂团队。对于“如何进行一次--高质量的组内代码C…