Я хочу использовать stat
команду для получения информации о файле. Я сделал это:
Josephs-MacBook-Pro:Desktop Joseph$ echo 'hello' > info.txt
Josephs-MacBook-Pro:Desktop Joseph$ stat info.txt
16777220 21195549 -rw-r--r-- 1 Joseph staff 0 6 "Dec 21 20:45:31 2014" "Dec 21 20:45:30 2014" "Dec 21 20:45:30 2014" "Dec 21 20:45:30 2014" 4096 8 0 info.txt
3-я и 4-я строки - это вывод, который я получил. Это происходит всякий раз, когда я использую stat
команду. Между тем, все в Интернете получают такие вещи, как:
File: `index.htm'
Size: 17137 Blocks: 40 IO Block: 8192 regular file
Device: 8h/8d Inode: 23161443 Links: 1
Access: (0644/-rw-r--r--)
Uid: (17433/comphope) Gid: ( 32/ www)
Access: 2007-04-03 09:20:18.000000000 -0600
Modify: 2007-04-01 23:13:05.000000000 -0600
Change: 2007-04-02
16:36:21.000000000 -0600
Я попробовал это на терминале и iTerm 2 и на свежем сеансе. На том же ноутбуке я подключился к своему серверу CentOS и ввел те же команды. Это сработало отлично. Это заставляет меня поверить, что терминальное приложение не является проблемой. Я работаю на MacBook Pro (Retina, 15-дюймовый, конец 2013 г.) с OS X Yosemite версии 10.10.1
Что происходит и как я могу это исправить?
источник
stat
встроен в оболочку и маскирует фактическую команду stat. Есть идеи как это отключить? (У меня установлен macutils GNU на моей macOS, но zsh не позволяет мне его использовать).Команда,
stat
которую вы видели у «всех в Интернете», - это команда GNU coreutils , которая встречается в не встроенных Linux и Cygwin. Это может быть также BusyBox , который обычно используется во встроенном Linux. OSX имеет другуюstat
утилиту (из FreeBSD / NetBSD / OpenBSD), с аналогичной целью, но с разными опциями и другим форматом вывода.Команда
stat
не стандартизирована, поэтому нельзя ожидать, что она будет иметь одинаковое поведение во всех вариантах Unix. На практике есть статистика BSD, статистика Linux и многие другие варианты безstat
команды.источник
Linux
stat
(если вы не обращаетесь кLinux
системному вызову stat ()), просто GNUstat
из GNU coreutils.stat
команда задолго до GNU или BSD.zsh
также имелstat
встроенную задолго (хотя и не так долго) перед GNU и BSD.