标签: coreutils

cp 选项 --no-clobber 与 --update

当(且仅当)目标不存在时,我想复制单个文件。源文件很少更改,可能每月一次。目的地几乎不存在。

-n和选项之间有什么区别吗-u?(或两者!)

cp直接从 调用crondcp没有使用其他选项。

同一 cron 作业同时在多台机器上调用,从相同的源读取数据并写入相同的目标(两者都在共享的 GFS 全局文件系统上)。此后不久,目标文件将被另一个进程移动,因此它唯一可能存在的时间是在 cron 作业在多个节点上同时执行的竞赛期间。

哪个会更有效率?:

  • cp -n source dest
  • cp -u source dest
  • cp -nu source dest
  • cp -pu source dest

我目前倾向于简单的-n替代方案。

gnu cp coreutils

3
推荐指数
1
解决办法
7881
查看次数

为什么有一个 '.' 在重庆工作?

为什么 GNUchown user.group有效?文档没有说明所支持的语法。背后有什么动人的故事吗?

gnu coreutils history chown

3
推荐指数
1
解决办法
426
查看次数

Unix 相当于“du -sb”,用于获取以字节为单位的汇总大小

在 Linux 上,使用 GNUdu以字节为单位递归计算目录大小,我可以运行:

du -sb /etc
Run Code Online (Sandbox Code Playgroud)

du基于-b参数不可用这一事实, BSD 的等效语法是什么?

osx bsd disk-usage coreutils

3
推荐指数
1
解决办法
5380
查看次数

unexpand 命令如何真正起作用?

我已经阅读了一些关于 unexpand 的解释,但要么我不明白,要么没有按预期工作。

让我们考虑以下示例:

[root@hope log]# echo "A12345678B" | tr '[1-8]' ' ' | unexpand -a
A        B
[root@hope log]# echo "A12345678B" | tr '[1-8]' ' ' | unexpand -a | od -ta
0000000   A  ht  sp   B  nl
0000005
[root@hope log]# echo "A12345678B12345678C" | tr '[1-8]' ' ' | unexpand -a | od -ta
0000000   A  ht  sp   B  ht  sp  sp   C  nl
0000011
[root@hope log]# echo "12345678" | tr '[1-8]' ' ' | unexpand -a | od …
Run Code Online (Sandbox Code Playgroud)

coreutils tabulation

3
推荐指数
1
解决办法
602
查看次数

为什么“touch -a”也会设置ctime?

是来自 coreutils-8.4-37.el6.x86_64 的 touch(1) 还是我的大脑坏了?

$ touch abc
$ LANG=C stat abc
  File: `abc'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fd04h/64772d    Inode: 10485773    Links: 1
Access: (0664/-rw-rw-r--)  Uid: (3060399/ nodakai)   Gid: (  418/   quant)
Access: 2016-10-14 18:42:06.189751847 +0800
Modify: 2016-10-14 18:42:06.189751847 +0800
Change: 2016-10-14 18:42:06.189751847 +0800
$ touch -a abc
$ LANG=C stat abc
  File: `abc'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: fd04h/64772d    Inode: 10485773    Links: 1
Access: (0664/-rw-rw-r--)  Uid: …
Run Code Online (Sandbox Code Playgroud)

filesystems coreutils timestamps files

3
推荐指数
1
解决办法
2453
查看次数

GNU install -d 递归?

我有 3 个命令来创建所需的文件夹Makefile

    install -d $(DESTDIR)/usr/lib/app
    install -d $(DESTDIR)/usr/lib/app/scripts
    install -d $(DESTDIR)/usr/lib/app/scripts/network-service
Run Code Online (Sandbox Code Playgroud)

有没有一个标志可以用来把它放到一行中?

make coreutils

3
推荐指数
1
解决办法
913
查看次数

使用“ls”时如何将文件日期转换为特定格式

我有以下输入数据:

-rw-rw-r--. 1 abmnyu abmnyu 0 Dec 30 07:06 ffd_in_imp_bus.dat
-rw-rw-r--. 1 abmnyu abmnyu 0 Dec 30 07:06 ffd_ik_imp_bus.dat
Run Code Online (Sandbox Code Playgroud)

我在使用时需要Dec 30以格式显示,如下图:20171230ls -l

-rw-rw-r--. 1 abmnyu abmnyu 0 20171230 07:06 ffd_in_imp_bus.dat
-rw-rw-r--. 1 abmnyu abmnyu 0 20171230 07:06 ffd_ik_imp_bus.dat
Run Code Online (Sandbox Code Playgroud)

ls coreutils timestamps files

3
推荐指数
1
解决办法
2756
查看次数

GNU cp:“--link”和“--reflink=always”有什么区别?

--link和 和有什么区别--reflink=always

我使用以下命令作为mv替代,我想知道使用是否--reflink是更好的选择。

command gcp -r --link --archive --verbose "${opts[@]}" "$@"
# delete the sources manually
Run Code Online (Sandbox Code Playgroud)

hard-link cp coreutils reflink

3
推荐指数
1
解决办法
961
查看次数

检查 shell 环境变量中项目的顺序

我想检查某个目录是否总是出现在环境变量中的其他目录之后。

列表项由冒号分隔,与 PATH 变量一样。

这不仅适用于 bash,还适用于一些不同的 shell。

问题是,我不确定如何使用标准的 unix 实用程序检查列表中项目的顺序。

什么是起点?

编辑:

一个例子是

$LIST=/test:/bin/test:/etc/test:/nan/:/var
Run Code Online (Sandbox Code Playgroud)

例如,我想测试任何包含 test 一词的目录路径在列表中优先于没有的目录。

我想要做的足够小,我可以对目录进行硬编码,因此不需要动态解决方案。

utilities coreutils environment-variables

2
推荐指数
1
解决办法
76
查看次数

在 NetBSD 上使用 pkgsrc 安装 coreutils 的权限

我正在尝试使用 pkgsrc 系统在 NetBSD 6.1.5 上安装 coreutils。

这是 6.1.5 的默认安装。所做的唯一更改是安装 zsh 并将其设置为我的 root 用户和任何本地用户的默认 shell。

与 pkgsrc 方式一样,我切换到包含我要安装的软件包的 pkgsrc heirachy 目录。在这种情况下,它是/usr/pkgsrc/sysutils/coreutils

当我以 root 身份进入这个目录时,我输入

制作

然后得到一个错误:

configure: error: you should not run configure as root (set
FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)
See `config.log' for more details
*** Error code 1
Run Code Online (Sandbox Code Playgroud)

这在使用 pkgsrc 作为 root 时并不典型,并且似乎特定于 gnu 包,因为我没有在 pkgsrc 中使用任何其他包时遇到过这种情况。

当我在同一目录中以普通用户身份进行 make 时,我无权写入/usr/pkgsrc下的任何目录,并且由于一堆权限被拒绝错误而使 make 失败。例如:

sh: Cannot create configure.override: permission denied.
Run Code Online (Sandbox Code Playgroud)

将包目录复制到本地用户有写权限的地方,编译似乎不符合使用 pkgsrc。

用户是否必须是特殊组的一部分才能使用 pkgsrc?

compiling netbsd coreutils pkgsrc

2
推荐指数
1
解决办法
3774
查看次数