- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在寻找一种在不同文件系统上使用旧 ctime 创建文件的方法。在 Linux ext 上,这是通过使用
触摸/path/to/file
debugfs -w -R 'set_inode_field/path/to/file ctime 201001010101'/dev/sdX
echo 3 >/proc/sys/vm/drop_caches
在 FreeBSD 的 UFS 上是否有任何等价物?甚至可能在 MacOSX HFS+ 上?
最佳答案
在 FreeBSD 上,touch使用 -f
选项的命令可能适用于此,例如:
touch -t 0510242022.13 file
将日期设置为 2005 年 11 月 24 日 20:22:13
格式为[[CC]YY]MMDDhhmm[.SS]
,来自man touch
:
-t Change the access and modification times to the specified time
instead of the current time of day. The argument is of the form
``[[CC]YY]MMDDhhmm[.SS]'' where each pair of letters represents
the following:
CC The first two digits of the year (the century).
YY The second two digits of the year. If ``YY'' is
specified, but ``CC'' is not, a value for ``YY''
between 69 and 99 results in a ``CC'' value of 19.
Otherwise, a ``CC'' value of 20 is used.
MM The month of the year, from 01 to 12.
DD the day of the month, from 01 to 31.
hh The hour of the day, from 00 to 23.
mm The minute of the hour, from 00 to 59.
SS The second of the minute, from 00 to 61.
要更改 ctime,您可以使用 fsdb ,您可能需要以单一模式启动以使磁盘处于只读模式,例如:
> fsdb /dev/vtbd0p2
** /dev/vtbd0p2 (NO WRITE)
Editing file system `/dev/vtbd0p2'
Last Mounted on /
current inode: directory
I=2 MODE=40755 SIZE=1024
BTIME=Sep 29 01:45:50 2016 [0 nsec]
MTIME=Nov 26 09:47:37 2016 [339135000 nsec]
CTIME=Nov 26 09:47:37 2016 [339135000 nsec]
ATIME=Nov 26 09:28:38 2016 [679268000 nsec]
OWNER=root GRP=wheel LINKCNT=20 FLAGS=0 BLKCNT=8 GEN=37b9b524
fsdb (inum: 2)>
从那里我可以 cd 到目录然后选择它:
fsdb (inum: 2)> cd /usr/home/nbari
和
fsdb (inum: 644816)> lookup file
您可以键入active
来仔细检查文件,例如:
fsdb (inum: 642101)> active
current inode: regular file
I=642101 MODE=100644 SIZE=29
BTIME=Oct 24 20:22:13 2005 [0 nsec]
MTIME=Jan 1 12:12:12 2012 [0 nsec]
CTIME=Jan 1 12:12:12 2012 [0 nsec]
ATIME=Jan 1 12:12:12 2012 [0 nsec]
OWNER=nbari GRP=nbari LINKCNT=1 FLAGS=0 BLKCNT=8 GEN=384445f7
然后只需将 ctime 更改为您想要的日期:
fsdb (inum: 642101)> ctime 20121212010101
格式为YYYYMMDDHHMMSS[.nsec]
然后通过键入 q
或 exit
退出,再次检查运行 stat
,示例:
> stat -x test_file
File: "test_file"
Size: 29 FileType: Regular File
Mode: (0644/-rw-r--r--) Uid: ( 1002/ nbari) Gid: ( 1002/ nbari)
Device: 0,68 Inode: 642101 Links: 1
Access: Sun Jan 1 12:12:12 2012
Modify: Sun Jan 1 12:12:12 2012
Change: Sun Jan 1 12:12:12 2012
关于linux - 在 FreeBSD UFS/MacOS X HFS 下更改文件的 ctime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40751290/
如果我在 FreeBSD 上,我想编译一些 C 代码。我为此使用了什么#ifdef? 我意识到这是正确的网络搜索应该回答的基本问题,但我找不到正确的搜索词。我看过代码检查 FREEBSD 和/或 __
好的,所以我刚刚读完 FreeBSD 的 kill(2) 的实现,并且正在尝试编写我自己的“kill”。这个系统调用需要 uid和 signum并将信号发送到 uid 拥有的进程,不包括调用进程。 我
如何获取系统中文件描述符的当前计数? 我知道如何获得最大值。 % sysctl kern.maxfiles kern.maxfiles: 8232 引用: http://www.freebsd.org
我继承了一个多台运行 jails 的 FreeBSD6.1 机器的环境。 由于本地网络上的 IP 耗尽,我想更改 jails,以便在物理网络上有 1 个可路由的 IP,而在 jails 之间有另一个不
如何从源代码在 FreeBSD 10.1 x86_64 上记录系统调用(int 0x80 和 sysenter/syscall 的系统调用编号和返回值)? 我知道 truss 可以完成这项工作,但我需
我的电脑上有 Windows、Linux 和 FreeBSD。但不小心我“忘记”在磁盘末尾分配 17 GB 的可用磁盘空间(“坏”Windows 使用了一个小的主恢复分区。因此我现在有 4 个主分区)
我有一个库,我想在 FreeBSD 上测试它。我的 CI 设置没有任何 FreeBSD 系统,添加它们会很困难,但是我可以在我的 CI 脚本中启动一个 VM。 (事实上 ,我已经这样做是为了在更奇
我负责管理一堆服务器,我想在每个服务器上设置我的提示,这样我就不会对我登录的位置感到困惑。 我已经编辑了我的 .cshrc文件并将其放入其中: set prompt=`whoami`@`hostnam
我正在为 FreeBSD 上的服务器编写错误处理代码。对于极其严重的错误,我想通过立即终止来避免数据损坏。很简单,exit(3) .在我退出之前,我输出引导我到达那里的相关变量。但是,理想情况下,此终
在 FreeBSD 系统上,在下面的顶部输出中,mysql 守护进程处于“sbwait”状态。这意味着什么? last pid: 12833; load averages: 0.18, 0.26
我有一个包含/boot/loader* 和/boot/kernel 等的 FreeBSD 镜像。它在 EC2 实例下启动良好,但我想用 Qemu 启动它。我尝试了各种方法,但都没有奏效。见下文。 qe
我倾向于在 Linux 上使用 cscope 和 ctags。我只是在我的源目录中运行 ctags -R 和 cscope -R 开始浏览源代码。 看起来它在 FreeBSD 中有所不同。 任何人请发
我安装了 FreeBSD 虚拟机,然后运行 sudo pkg install clang-devel。然而 clang-format似乎丢失了: -sh: clang-format: not fo
我正在为不使用 Make 的应用程序 ( Cypress ) 创建一个 FreeBSD 端口;相反,它使用 NPM: npm run binary-build-linux cd cli npm run
我在运行 Java 子进程时遇到性能问题Java下,运行在FreeBSD 9.0-RELEASE i386上。 对于该程序,System.exit() 的运行时间约为 2.6 秒。和我不明白为什么。在
我正在阅读 FreeBSD 的源代码,发现它们有 2 个文件可用于创建 MBR - sys/boot/i386/boot0/boot0.S 和 sys/boot/i386/mbr/mbr.S。 从目前
我正在尝试编写一个可移植的安装脚本来为我的编程语言构建编译器。可以看到脚本here : mkdir ArithmeticExpressionCompiler cd ArithmeticExpressi
我目前正在尝试找到一种在 FreeBSD 9.2 上安装包 openjdk8 的方法。为此,我使用了: sudo pkg install openjdk8 它没有任何问题。但是,这也将 perl 包更
在 FreeBSD 8.4 中,pkg 安装无法运行并出现错误。 $ pkg install git pkg:No active remote repositories configured. pkg
我正在考虑为 FreeBSD 编写一个守护程序,但是,我从来没有做过,而且看起来很棘手。 有没有我可以包含的库,然后只为我的守护进程编写特定的东西? 最佳答案 很抱歉发布这个答案而不是评论 - 我没有
我是一名优秀的程序员,十分优秀!