重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
linux dd命令[用于制作U盘启动盘的神奇的命令]linux dd命令刻录启动U盘详解dd命令做usb启动盘十分方便,只须:sudo
成都创新互联公司始终致力于在企业网站建设领域发展。秉承“创新、求实、诚信、拼搏”的企业精神,致力为企业提供全面的网络宣传与技术应用整体策划方案,为企业提供包括“网站建设、成都响应式网站建设、手机网站建设、微信网站建设、重庆小程序开发、成都做商城网站、平台网站建设秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
dd if=xxx.iso of=/dev/sdb bs=1M
用以上命令前必须卸载u盘,sdb是你的u盘,bs=1M是块的大小,后面的数值大,写的速度相对块一点,但也不是无限的,我一般选2M,注意,执行命令后很块完成,但u盘还在闪,等不闪了,安全移除。
注意:你的镜像需要支持dd命令。
dd命令的解释。
定义
dd是Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
参数
1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。 if=input file
2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。 of=output file
3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
bs=bytes:同时设置读入/输出的块大小为bytes个字节。
4. cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
5. skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
6. seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。
7. count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
8. conv=conversion:用指定的参数转换文件。
ascii:转换ebcdic为ascii
ebcdic:转换ascii为ebcdic
ibm:转换ascii为alternate ebcdic
block:把每一行转换为长度为cbs,不足部分用空格填充
unblock:使每一行的长度都为cbs,不足部分用空格填充
lcase:把大写字符转换为小写字符
ucase:把小写字符转换为大写字符
swab:交换输入的每对字节
noerror:出错时不停止
notrunc:不截短输出文件
sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
编辑本段dd应用实例。
1.将本地的/dev/hdb整盘备份到/dev/hdd
dd if=/dev/hdb of=/dev/hdd
2.将/dev/hdb全盘数据备份到指定路径的image文件
dd if=/dev/hdb of=/root/image
3.将备份文件恢复到指定盘
dd if=/root/image of=/dev/hdb
4.备份/dev/hdb全盘数据,并利用gzip工具进行压缩,保存到指定路径
dd if=/dev/hdb | gzip /root/image.gz
5.将压缩的备份文件恢复到指定盘
gzip -dc /root/image.gz | dd of=/dev/hdb
6.备份磁盘开始的512个字节大小的MBR信息到指定文件
dd if=/dev/hda of=/root/image count=1 bs=512
count=1指仅拷贝一个块;bs=512指块大小为512个字节。
恢复:dd if=/root/image of=/dev/hda
7.备份软盘
dd if=/dev/fd0 of=disk.img count=1 bs=1440k (即块大小为1.44M)
8.拷贝内存内容到硬盘
dd if=/dev/mem of=/root/mem.bin bs=1024 (指定块大小为1k)
9.拷贝光盘内容到指定文件夹,并保存为cd.iso文件
dd if=/dev/cdrom(hdc) of=/root/cd.iso
10.增加swap分区文件大小
第一步:创建一个大小为256M的文件:
dd if=/dev/zero of=/swapfile bs=1024 count=262144
第二步:把这个文件变成swap文件:
mkswap /swapfile
第三步:启用这个swap文件:
swapon /swapfile
第四步:编辑/etc/fstab文件,使在每次开机时自动加载swap文件:
/swapfile swap swap default 0 0
11.销毁磁盘数据
dd if=/dev/urandom of=/dev/hda1
注意:利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。
12.测试硬盘的读写速度
dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
dd if=/root/1Gb.file bs=64k | dd of=/dev/null
通过以上两个命令输出的命令执行时间,可以计算出硬盘的读、写速度。
13.确定硬盘的最佳块大小:
dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file
dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file
dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file
通过比较以上命令输出中所显示的命令执行时间,即可确定系统最佳的块大小。
14.修复硬盘
dd if=/dev/sda of=/dev/sda
当硬盘较长时间(比如1,2年)放置不使用后,磁盘上会产生magnetic fluxpoint。当磁头读到这些区域时会遇到困难,并可能导致I/O错误。当这种情况影响到硬盘的第一个扇区时,可能导致硬盘报废。上边的命令有可能使这些数据起死回生。且这个过程是安全,高效的。
Linux下,有两个命令可以用来作为计划任务而执行,
要使用一次性任务计划,linux必须要有负责这个计划任务的服务,那就是atd服务
但是并非所有的linux distribution都默认会打开,我们需要手动激活爱听的任务
如果服务未安装,则需要手动安装
#:yum install - y at 或 #:apt-get install at
如果担心启动是否执行OK的话,可使用命令查看:
#:ps aux |grep atd
或者使用
systemctl status atd
# 查阅一下 atd 目前的状态,Active 状态应是 running
使用 at 这个指令来产生所要运行的工作,并 将这个工作以文本文件的方式写入 /var/spool/cron/atjobs/ 目录内,该工作便能等待 atd 这个服务的取用与执行了。 不过,因为安全的理由,并不是所有的人都可以进行 at 工作调度!
at 的使用限制是利用 /etc/at.allow 与 /etc/at.deny 这两个文件来进行的! 加上这两个文件后,at 的工作情况其实是这样的:
在一般的 distributions 当中,由于假设系统上的所有用户都是可信任的,因此系统通常会保留一个空的 /etc/at.deny 文件,意思是允 许所有人使用 at 指令的意思 (您可以自行检查一下该文件)。 不过,万一你不希望有某些 使用者使用 at 的话,将那个使用者的帐号写入 /etc/at.deny 即可! 一个帐号写一行。
单一工作调度的进行就使用 at 这个指令!这个指令的运行非常简单!将 at 加上一个时间即可!基本的语法如下:
事实上,当我们使用 at 时会进入一个 at shell 的环境来让使用者下达工作指令,此时,建议 你最好使用绝对路径来下达你的指令,比较不会有问题!由于指令的下达与 PATH 变量有关, 同时与当时的工作目录也有关连 (如果有牵涉到文件的话),因此使用绝对路径来下达 指令,会是比较一劳永逸的方法。 举例来说,你在 /tmp 下达 at now 然后输入 mail -s "test" root .bashrc , 问一下,那个 .bashrc 的文件会是在哪里?答案是 /tmp/.bashrc !因为 at 在运行时,会跑到当时下达 at 指令的那个工作目录运行!
要注意的是,如果在 at shell 内的指令并没有任何的讯息输出,那么 at 默认不会发 email 给执行者的。 如果你想要让 at 无论如何都发一封 email 告知你是否执行了指令,那么 可以使用“ at -m 时间格式 ”来下达指令! at 就会传送一个讯息给执行者,而不论该指令执行有无讯息输出了!
如果要在某某时刻,在我的终端机显示出 Hello 的字样,可以通过终端机的设备来处理!假如你在 tty1 登陆(在命令行里面输入 tty 可以查看),则可以使用 echo "Hello" /dev/tty1 。
at 有另外一个很棒的优点, 由于 at 工作调度的使用上,系统会将该项 at 工作独立出你的 bash 环境中, 直接交给系统的 atd 程序来接管,因此,当你下达了 at 的工作之后就可以立刻离线了, 剩下的工作就完全交 给 Linux 管理即可!所以如果有长时间的网络工作时,使用 at 可以让你免除网络断线后的困扰。
其实 batch 是利用 at 来进行指令的下达!只是加入一些控制参数而已。这个 batch 神奇的地方在于:他会在 CPU 的工作负载小于 0.8 的时候,才进行你所下达的工作任务啦!
那什么是工作负载 0.8 呢?这个工作负载的意思是: CPU 在单一时间点所负责的工作数量。不是CPU 的使用率喔! 举例来说,如果我有一只程序他需要一直使用 CPU 的运算功能,那么此 时 CPU 的使用率可能到达 100% , 但是 CPU 的工作负载则是趋近于“ 1 ”,因为 CPU 仅负责一个工作!如果同时执行这样的程序两支呢? CPU 的使用率还是 100% ,但是工作负载 则变成 2 了! 所以也就是说,当 CPU 的工作负载越大,代表 CPU 必须要在不同的工作之间进行频繁的工 作切换。 因为一直切换 工作,所以会导致系统忙碌啊! 系统如果很忙碌,还要额外进行 at ,不太合理!所以才有 batch 指令的产生!
下面来实验一下 batch 好了!为了产生 CPU 较高的工作负载,我们用了 计算 pi 的脚本,连续执行 4 次这只程序, 来仿真高负载,然后看看batch 的工作现象。
使用 uptime 可以观察到 1, 5, 15 分钟的“平均工作负载”量,因为是平均值,所以当我们如上 表删除掉四个工作后,工作负载不会立即降低, 需要一小段时间让这个 1 分钟平均值慢慢回 复到接近 0 啊!当小于 0.8 之后的“整分钟时间”时,atd 就会将 batch 的工作执行掉了!
什么是“整分钟时间”呢?不论是 at 还是 crontab,他们最小的时间单位是“分 钟”,所以,基本上,他们的工作是“每分钟检查一次”来处理的! 就是整分 (秒为 0 的时候),同时,你会发现其实 batch 也是使用 atq/atrm 来管理的!
你拿到一个libABC.so库,却没有头文件,这时候你该如何知道这个库中定义了哪些函数呢?
Linux/Mac提供了一个神奇的命令: nm 。看例子:
命令的用法是:
YUM是LINUX类系统上的自动更新组件安装系统,就象windows上的自动更新。
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
扩展资料:
可供Yum下载的软件包包括Fedora本身的软件包以及源自rpmfusion和rpm.的Fedora Extras,全部是由Linux社区维护的,并且基本是自由软件。所有的包都有一个独立的PGP签名,主要是为了您的系统安全。而对于Fedora core 4.0 的用户,rpm.的签名是自动导入并安装的。
常用命令行命令:
安装软件(以foo-x.x.x.rpm为例):yum install foo-x.x.x.rpm
删除软件:yum remove foo-x.x.x.rpm或者yum erase foo-x.x.x.rpm
升级软件:yum upgrade foo或者yum update foo
查询信息:yum info foo
搜索软件(以包含foo字段为例):yum search foo
显示软件包依赖关系:yum deplist foo
参考资料来源:百度百科:yum
Linux在终端命令行模式下有智能补全功能 ,输入首字母后按Tab键,如果系统环境变量里存在完全匹配字符串就会自动补全。
如目录路径或文件,比如系统里有这样的目录/boot/grub/grub.cfg文件
你要找.cfg这个文件。
那么你只要输入/boot/grub/g 按tab键,系统就会自动补全grub.cfg ..