所以它看起来nautilus/文件和其他软件正在使用国际单位制现在已经使用单位显示文件大小了,Ubuntu。
但这与客户端命令类似ls,杜,和自由度仍然使用 IEC 二进制单位。
通常可以使用环境变量 BLOCK_SIZE 来改变 cli 命令的行为,但这不起作用(编辑:17.10)(https://www.gnu.org/software/coreutils/manual/html_node/Block-size.html#Block-size)
BLOCK_SIZE=si ls -l -h
仍以 IEC 二进制单位显示
export BLOCK_SIZE=si
ls -l -h
表现相同或使用 BLOCKSIZE
这是一个错误吗?ubuntu 是否已修复/删除此问题?
编辑:我想使用环境变量在我的.bashrc
答案1
它的工作原理如下:
从man ls
-h, --人类可读
使用 -l 和/或 -s,打印人类可读的大小(例如,1K 234M 2G)
--si 同样,但使用 1000 的幂而不是 1024
和
SIZE 参数是一个整数和可选单位(例如:10K 是 10*1024)。单位为 K、M、G、T、P、E、Z、Y(1024 的幂)或 KB、MB、...(1000 的幂)。
我认为这些命令可以正常工作,如以下示例所示(在 16.04 LTS 中运行)
$ ls -l ubuntu-17.10-desktop-amd64.iso
-rw-rw-r-- 1 olle olle 1501102080 okt 19 16:09 ubuntu-17.10-desktop-amd64.iso
$ BLOCK_SIZE=h ls -l ubuntu-17.10-desktop-amd64.iso
-rw-rw-r-- 1 olle olle 1,4G okt 19 16:09 ubuntu-17.10-desktop-amd64.iso
$ BLOCK_SIZE=si ls -l ubuntu-17.10-desktop-amd64.iso
-rw-rw-r-- 1 olle olle 1,6G okt 19 16:09 ubuntu-17.10-desktop-amd64.iso
$ ls -lh ubuntu-17.10-desktop-amd64.iso
-rw-rw-r-- 1 olle olle 1,4G okt 19 16:09 ubuntu-17.10-desktop-amd64.iso
$ ls -l --si ubuntu-17.10-desktop-amd64.iso
-rw-rw-r-- 1 olle olle 1,6G okt 19 16:09 ubuntu-17.10-desktop-amd64.iso