Ich möchte den stat
Befehl verwenden, um Informationen zu einer Datei abzurufen. Ich war das:
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
Die 3. und 4. Zeile sind die Ausgabe, die ich bekommen habe. Dies geschieht immer dann, wenn ich den stat
Befehl verwende. Mittlerweile bekommt jeder im Internet Sachen wie:
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
Ich habe dies auf Terminal und iTerm 2 und in einer neuen Sitzung versucht. Auf demselben Laptop habe ich eine Verbindung zu meinem CentOS-Server hergestellt und dieselben Befehle eingegeben. Es hat perfekt funktioniert. Dies lässt mich glauben, dass die Terminal-Anwendung nicht das Problem ist. Ich arbeite auf einem MacBook Pro (Retina, 15 Zoll, Ende 2013) mit OS X Yosemite Version 10.10.1
Was ist los und wie kann ich das beheben?
quelle
stat
eine Shell eingebaut, die den eigentlichen Befehl stat maskiert. Irgendwelche Ideen, wie man das deaktiviert? (Ich habe GNU coreutils auf meinem macOS installiert, aber zsh hindert mich daran, es zu benutzen).Der
stat
Befehl, den Sie von "Alle im Internet" gesehen haben, ist der Befehl von GNU coreutils , der unter nicht eingebettetem Linux und Cygwin zu finden ist. Es könnte sich auch um die von BusyBox handeln , die häufig unter Embedded Linux zu finden ist. OSX hat ein anderesstat
Dienstprogramm (das von FreeBSD / NetBSD / OpenBSD) mit einem ähnlichen Zweck, aber unterschiedlichen Optionen und einem anderen Ausgabeformat.Der
stat
Befehl ist nicht standardisiert, sodass Sie nicht erwarten können, dass er auf allen Unix-Varianten dasselbe Verhalten aufweist. In der Praxis gibt es BSD stat und Linux stat, und viele andere Varianten haben keinenstat
Befehl.quelle
Linux
stat
(es sei denn, Sie beziehen sich auf den SystemaufrufLinux
stat ()), sondern nur GNUstat
von GNU coreutils.stat
Befehl lange vor den GNU- oder BSD-Befehlen.zsh
hatte auch einstat
eingebautes langes (wenn auch nicht so langes) vor GNU und BSD.