Quiero usar el stat
comando para obtener información sobre un archivo. Hice esto:
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
Las líneas 3 y 4 son la salida que obtuve. Esto sucede cada vez que uso el stat
comando. Mientras tanto, todos en Internet obtienen cosas como:
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
Probé esto en Terminal e iTerm 2 y en una nueva sesión. En la misma computadora portátil, me conecté a mi servidor CentOS y puse los mismos comandos. Funcionó perfectamente. Esto me lleva a creer que la aplicación de terminal no es el problema. Estoy en una MacBook Pro (Retina, 15 pulgadas, finales de 2013) con OS X Yosemite versión 10.10.1
¿Qué está pasando y cómo puedo solucionarlo?
fuente
stat
es un shell incorporado y enmascara el comando stat real. ¿Alguna idea de cómo deshabilitar esto? (Tengo GNU coreutils instalado en mi macOS, pero zsh me impide usarlo).El
stat
comando que vio de "todos en Internet" es el de GNU coreutils , que se encuentra en Linux y Cygwin no integrados. También podría ser el de BusyBox , que se encuentra comúnmente en Linux incorporado. OSX tiene unastat
utilidad diferente (la de FreeBSD / NetBSD / OpenBSD), con un propósito similar pero diferentes opciones y un formato de salida diferente.El
stat
comando no está estandarizado, por lo que no puede esperar que tenga el mismo comportamiento en todas las variantes de Unix. En la práctica, hay estadísticas de BSD y estadísticas de Linux, y muchas otras variantes no tienen unstat
comando.fuente
Linux
stat
(a menos que se refiera a laLinux
llamada al sistema stat ()), solo GNUstat
de los coreutils de GNU.stat
comando mucho antes que los de GNU o BSD.zsh
también tenía unstat
tiempo incorporado (aunque no tanto) antes que los de GNU y BSD.