Je souhaite utiliser la stat
commande pour obtenir des informations sur un fichier. J'ai fait ça:
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
Les 3ème et 4ème lignes sont la sortie que j'ai obtenue. Cela se produit chaque fois que j'utilise la stat
commande. Pendant ce temps, tout le monde sur Internet obtient des trucs comme:
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
J'ai essayé cela sur Terminal et iTerm 2 et dans une nouvelle session. Sur le même ordinateur portable, je me suis connecté à mon serveur CentOS et j'ai entré les mêmes commandes. Cela a parfaitement fonctionné. Cela m'amène à croire que l'application de terminal n'est pas le problème. Je suis sur un MacBook Pro (Retina, 15 pouces, fin 2013) avec OS X Yosemite version 10.10.1
Que se passe-t-il et comment puis-je résoudre ce problème?
la source
stat
un shell est intégré et masque la commande stat actuelle. Des idées sur la façon de désactiver cela? (J'ai installé GNU coreutils sur mon macOS, mais zsh m'empêche de l'utiliser).La
stat
commande que vous avez vue de «tout le monde sur Internet» est celle de GNU coreutils , qui se trouve sur Linux et Cygwin non embarqués. Il pourrait également s'agir de BusyBox , que l'on trouve couramment sur Linux embarqué. OSX a unstat
utilitaire différent (celui de FreeBSD / NetBSD / OpenBSD), avec un objectif similaire mais des options différentes et un format de sortie différent.La
stat
commande n'est pas standardisée, vous ne pouvez donc pas vous attendre à ce qu'elle ait le même comportement sur toutes les variantes Unix. En pratique, il y a BSD stat et Linux stat, et de nombreuses autres variantes n'ont pas destat
commande.la source
Linux
stat
(sauf si vous faites référence à l'Linux
appel système stat ()), juste GNUstat
de GNU coreutils.stat
commande bien avant celles GNU ou BSD.zsh
avait également unstat
long intégré (mais pas aussi long) avant ceux de GNU et BSD.