标签: coreutils

使用 stat 时更改文件大小格式

格式化字符%s品牌stat打印以字节为单位的文件大小

# stat -c'%A %h %U %G %s %n' /bin/foo
-rw-r--r-- 1 root root 45112 /bin/foo 
Run Code Online (Sandbox Code Playgroud)

ls可以配置为使用“千分隔符”打印字节大小数字,即45,112代替通常的45112.

# BLOCK_SIZE="'1" ls -lA 
-rw-r--r-- 1 root root 45,112 Nov 15  2014
Run Code Online (Sandbox Code Playgroud)

我可以类似地格式化 stat 的输出,以便文件大小有千位分隔符吗?

stat首先使用的原因是,我需要输出 like ls,但没有时间,因此-c'%A %h %U %G %s %n'.

或者有没有其他方法可以在ls没有时间的情况下打印类似输出?

command-line ls coreutils stat files

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

sudo ls 在 Linux 上不显示隐藏文件

今天我发现在 OS X 上sudo ls显示隐藏文件(即名称以 开头的文件.)。这让我感到非常惊讶,以至于我问了一个关于这种行为的问题,我仍然觉得有些奇怪和意外。

事实证明,这种行为可以追溯到1979 年的 2BSD

鉴于此,现在我想问以下问题。为什么ls在 Linux 上不这样做?
是否有一段时间ls在某些其他类型的 *nixes 上有这种行为?是否有任何文档、提交消息、电子邮件解释谁以及为什么决定根本不应该复制此功能,或者如果最初复制它应该删除它?

ls bsd coreutils history dot-files

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

GNU 核心实用程序 - 'ls'、'dir' 和 'vdir' 究竟有何不同?

ls --help, 中dir --helpvdir --help我注意到除了程序名称(“用法:”行和底部的几行)之外没有任何区别。但是vdir似乎是 的某种别名ls -l,而dir似乎没有区别。谁能告诉我它们之间的确切区别是什么?

ls coreutils

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

为什么在遇到 $HOME 时“rmdir -p --ignore-fail-on-non-empty”会失败?

请考虑以下命令:

cd /
mkdir -p ~/a/b
touch ~/a/content
# Removes dir 'b' and stops at 'a' because it's non-empty.
# (This is the expected behavior.)
rmdir -p --ignore-fail-on-non-empty ~/a/b

rm ~/a/content
mkdir -p ~/a/b
# Fails with error: "rmdir: failed to remove directory '/home/myhome'".
rmdir -p --ignore-fail-on-non-empty ~/a/b
Run Code Online (Sandbox Code Playgroud)

为什么rmdir最后一步会失败?为什么它试图删除非空 $HOME而不是停止?

coreutils

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

`cp` 与 `rsync -a` 最接近的是什么?

从联机帮助页rsync

-a, --archive
Run Code Online (Sandbox Code Playgroud)

这相当于-rlptgoD. 这是一种表示您想要递归并想要保留几乎所有内容的快捷方式(-H 是一个明显的遗漏)。上述等价的唯一例外是指定 --files-from 时,在这种情况下不暗示 -r。

请注意, -a 不保留硬链接,因为查找多重链接的文件很昂贵。您必须单独指定 -H。

什么是最接近的cprsync -a,在文件拷贝输入和结果方面,忽略了传输速度?

cp -arl错过与什么相比rsync -a?只有-Drsync

除了它错过的那些方面外,cp -arl行为是否相同rsync -a

谢谢。

cp rsync coreutils

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

`stat` 输出格式:截断日期字段

在一种stat格式(至少是我从 Linux 上的 bash 获得的格式)中,可以使用格式修饰符:例如,%010s将强制大小字段至少为 10 个字符,并在左侧填充零(顺便说一句,这是否记录在某处?)

是否有等效的技巧来限制字段的长度?我想在 %xyz 格式中删除秒的小数部分。或者我是否必须使用 sed/awk 对输出进行后处理?

bash coreutils

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

tsort: -: 输入包含奇数个标记

coreutils 手册说

tsort 将其输入读取为由空格分隔的字符串对,表示部分排序。输出是对应于给定偏序的全序。例如

tsort <<EOF
a b c
d
e f
b c d e
EOF
Run Code Online (Sandbox Code Playgroud)

将产生输出

a
b
c
d
e
f
Run Code Online (Sandbox Code Playgroud)

“tsort 将其输入读取为字符串对”是什么意思,这对输入有什么要求?在这个例子中,所做的第一行a b c没什么意思本身,而是ab配对,所以是cd

为什么这不起作用?

$ tsort <<EOF
> a b c
> b c d e
> EOF
tsort: -: input contains an odd number of tokens
Run Code Online (Sandbox Code Playgroud)

coreutils sort tsort

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

如果字符串中有空格,我还可以在字符串上使用 tsort 吗?

coreutils 手册说

tsort 将其输入读取为由空格分隔的字符串对,表示部分排序。

如果一个字符串里面有一个空格,根据手册,我不能在它和其他字符串上使用 tsort 。我如何仍然在字符串和其他字符串上使用 tsort ?谢谢。

coreutils tsort

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

`mv` 何时更改文件的时间戳,而何时不更改?

移动目录而不修改时间戳表示 mv 更改目录的时间戳。

当我mv将文件从外部硬盘驱动器传输到另一个外部硬盘驱动器时,它也会更改目录的时间戳。

当我mv在本地文件系统中创建目录时,它不会更改目录的时间戳。

何时mv更改文件的时间戳和其他属性,何时不更改?谢谢。

coreutils mv

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

如果在 `mkdir` 9.0 中不再需要 `-p` 标志?

我找不到任何关于这种行为改变的参考

\n
$ mkdir --version\nmkdir (GNU coreutils) 9.0\nCopyright (C) 2021 Free Software Foundation, Inc.\nLicense GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.\n\nWritten by David MacKenzie.\n
Run Code Online (Sandbox Code Playgroud)\n

所有文件夹都不存在。

\n
$ mkdir asdfg/qwerty\nmkdir: created directory 'asdfg'\nmkdir: created directory 'asdfg/qwerty'\n
Run Code Online (Sandbox Code Playgroud)\n

但是,对于 mkdir (GNU coreutils) 8.25,行为符合预期。

\n
\xe2\x9e\x9c  ~ mkdir asdfg/qwerty\nmkdir: cannot create directory \xe2\x80\x98asdfg/qwerty\xe2\x80\x99: No such file or directory\n
Run Code Online (Sandbox Code Playgroud)\n

linux coreutils mkdir

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

标签 统计

coreutils ×10

ls ×3

tsort ×2

bash ×1

bsd ×1

command-line ×1

cp ×1

dot-files ×1

files ×1

history ×1

linux ×1

mkdir ×1

mv ×1

rsync ×1

sort ×1

stat ×1