当我在 bash 配置文件中将默认设置为 ls -h 时,如何强制 ls 终端命令以字节为单位显示结果?

当我在 bash 配置文件中将默认设置为 ls -h 时,如何强制 ls 终端命令以字节为单位显示结果?

我正在关注这个片段这里改进我在 Mac OSX 中的终端命令。

它通过导出到 bash 配置文件将 ls 结果的默认值设置为人类可读alias ls='ls -GFh'。这非常方便,但有时我想查看文件的确切大小(以字节为单位)(以便将其与另一个文件进行比较)。

我怎样才能做到这一点?是否有可以使用 ls 的命令来强制它以字节为单位显示结果?

还有其他命令可以用来获取文件大小吗?

我想过,du -s但是它只能给我该文件已用磁盘空间的估计值,而且最小大小是千字节块。

答案1

还有其他命令可以用来获取文件大小吗?

使用下列方法之一:

wc -c file

-c打印字节数。

\ls -ln file

\逃避ls别名。

Linux:

stat --format="%s" file

操作系统:

stat -f "%z bytes" file

请参阅 Stack Overflow 问题在 shell 中获取文件大小(以字节为单位)的便携方法?寻找其他替代方案。

答案2

对于那些接触这个话题并且愿意坚持使用ls工具的人,我建议:

\ls -lb

-n(在 中ls -ln)对我的眼睛来说数字太多了,我宁愿使用 来保持用户/组的可读性-b

或者更方便的是:

alias lsb='command ls --color -lb' # 其中“ ”是“ ”command ls的同义词\ls

答案3

通过完整路径运行“ls”将显示文件大小(以字节为单位):

/bin/ls -l

使用 Bash 在 macOS 10.15 上进行验证。

相关内容