Wenn Sie ls -il
in das Verzeichnis ein.
Sie werden sehen, dass viele Dateien die gleichen Inodes haben. Und deshalb werden du -a
nur Informationen für die eindeutigen Inodes angezeigt
I (für Neugier willen) leite du -a
innen /usr/lib/git-core
und es zeigt keine Ergebnisse für alle Dateien in diesem Verzeichnis. Warum lässt es eine beliebige Anzahl von Dateien aus?
Das ist, was cd /usr/lib/git-core; du -a
zurückkehrt:
4 ./git-merge-resolve 972 ./git-config 12 ./git-show-index 404 ./git-remote-ftp 4 ./git-difftool 16 ./git-rebase 20 ./git-submodule 40 ./git-issues 12 ./git-filter-branch 36 ./git-add--interactive 4 ./git-web--browse 12 ./git-bisect 8 ./git-relink 412 ./git-fast-import 4 ./git-merge-one-file 248 ./git-instaweb 20 ./git-am 4 ./git-lost-found 4 ./git-notes 384 ./git-daemon 8 ./t_gitshelve.py 376 ./git-http-backend 8 ./git-repack 20 ./gitshelve.py 4 ./git-parse-remote 24 ./git-rebase--interactive 4 ./git-quiltimport 380 ./git-imap-send 8 ./git-pull 4 ./git-sh-setup 4 ./git-difftool--helper 4 ./git-request-pull 372 ./git-shell 4 ./git-merge-octopus 392 ./git-http-fetch 8 ./git-mergetool 380 ./git-upload-pack 12 ./git-mergetool--lib 12 ./git-stash 404 ./git-http-push 5052 .
Wenn ich jedoch laufe ls
, werden viele weitere Dateien im aktuellen Verzeichnis als vorhanden angezeigt:
git git-add git-add--interactive git-am git-annotate git-apply git-archive git-bisect git-bisect--helper git-blame git-branch git-bundle git-cat-file git-check-attr git-check-ref-format git-checkout git-checkout-index git-cherry git-cherry-pick git-clean git-clone git-commit git-commit-tree git-config git-count-objects git-daemon git-describe git-diff git-diff-files git-diff-index git-diff-tree git-difftool git-difftool--helper git-fast-export git-fast-import git-fetch git-fetch-pack git-filter-branch git-fmt-merge-msg git-for-each-ref git-format-patch git-fsck git-fsck-objects git-gc git-get-tar-commit-id git-grep git-hash-object git-help git-http-backend git-http-fetch git-http-push git-imap-send git-index-pack git-init git-init-db git-instaweb git-issues git-log git-lost-found git-ls-files git-ls-remote git-ls-tree git-mailinfo git-mailsplit git-merge git-merge-base git-merge-file git-merge-index git-merge-octopus git-merge-one-file git-merge-ours git-merge-recursive git-merge-resolve git-merge-subtree git-merge-tree git-mergetool git-mergetool--lib git-mktag git-mktree git-mv git-name-rev git-notes git-pack-objects git-pack-redundant git-pack-refs git-parse-remote git-patch-id git-peek-remote git-prune git-prune-packed git-pull git-push git-quiltimport git-read-tree git-rebase git-rebase--interactive git-receive-pack git-reflog git-relink git-remote git-remote-ftp git-remote-ftps git-remote-http git-remote-https git-repack git-replace git-repo-config git-request-pull git-rerere git-reset git-rev-list git-rev-parse git-revert git-rm git-send-pack git-sh-setup git-shell git-shortlog git-show git-show-branch git-show-index git-show-ref git-stage git-stash git-status git-stripspace git-submodule git-symbolic-ref git-tag git-tar-tree git-unpack-file git-unpack-objects git-update-index git-update-ref git-update-server-info git-upload-archive git-upload-pack git-var git-verify-pack git-verify-tag git-web--browse git-whatchanged git-write-tree gitshelve.py t_gitshelve.py
Kann jemand erklären, warum du
nur für einige Dateien Informationen zurückgegeben werden? Ich sehe hier kein Muster.
Beim Laufen wird file $(du -a) | grep "^\."
auch kein Muster angezeigt.
Wenn Sie ls -il
in das Verzeichnis ein.
Sie werden sehen, dass viele Dateien die gleichen Inodes haben. Und deshalb werden du -a
nur Informationen für die eindeutigen Inodes angezeigt