AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1401176
Accepted
Manuel Jordan
Manuel Jordan
Asked: 2022-04-07 05:57:30 +0800 CST2022-04-07 05:57:30 +0800 CST 2022-04-07 05:57:30 +0800 CST

dd 如何使用 oflag 和 conv 参数?

  • 772

在以下链接中

  • 如何增加交换文件的大小而不在终端中删除它?

出于swap file调整大小的目的,该dd命令的使用如下:

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 oflag=append conv=notrunc

问题:

  • oflag和参数如何conv工作?
  • 是否应该期望在当前大小的基础上添加零的新块的定义明确的连续性swap file?

请注意以防万一 Ubuntu 是20.04

command-line
  • 1 1 个回答
  • 112 Views

1 个回答

  • Voted
  1. Best Answer
    matigo
    2022-04-07T06:28:59+08:002022-04-07T06:28:59+08:00

    的手册dd描述得不是oflag很好,但是@guiverc的这个答案很好地解释了它:

    Write in append mode, so that even if some other process is
    writing to this file, every ‘dd’ write will append to the
    current contents of the file.  This flag makes sense only for
    output.  If you combine this flag with the ‘of=FILE’ operand,
    you should also specify ‘conv=notrunc’ unless you want 
    

    conv=notruc注释中明确提到了该部分oflag,它告诉系统不要截断现有文件。我在特定于 Ubuntu 的手册中找不到任何有价值的东西,但是这个 StackOverflow 答案解释了这个标志:

    If the file already exists and is a regular file and the open mode allows
    writing (i.e., is O_RDWR or O_WRONLY) it will be truncated to length 0. If
    the file is a FIFO or terminal device file, the O_TRUNC flag is ignored.
    Otherwise the effect of O_TRUNC is unspecified.
    

    本质上,现有文件不会减少到 0 字节,而是将现有数据保持原样,并以连续的方式将新数据附加到文件末尾。

    但是,这应该提出一个问题:如果交换文件在扩展时要消耗的空间中存在一个文件,会发生什么情况?

    这就是事情变得有趣的地方。

    因为您告诉系统使文件连续,如果在旋转磁盘驱动器上以自然扩展文件的方式存在另一个文件,那么整个文件将被移动到有足够连续空间的位置支持文件。如果磁盘碎片严重且没有足够的空间,No space left on device则会抛出错误。但是,在固态磁盘上,这不是问题,即使这些0位存储在单独的闪存模块中,文件也会有额外的空间应用于现有文件。

    注意:请参阅 Mark G. Sobell 的(非常旧的)Ubuntu Linux 实用指南以获取更多信息。

    所以,这样说:

    问:oflag 和 conv 参数如何工作?

    看上面。

    问:是否应该期望在交换文件的当前大小上添加零的新块的明确定义的连续性?

    是的。看上面。

    • 1

相关问题

  • 如何从命令行仅安装安全更新?关于如何管理更新的一些提示

  • 如何从命令行刻录双层 dvd iso

  • 如何从命令行判断机器是否需要重新启动?

  • 文件权限如何工作?文件权限用户和组

  • 如何在 Vim 中启用全彩支持?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve