GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux:Anzahl der Dateien in einem Verzeichnis und Unterverzeichnissen finden

Manchmal möchten wir die Anzahl der Dateien in einem Verzeichnis in Linux finden. Finden Sie beispielsweise heraus, wie viele Bilder im Upload-Verzeichnis von JournalDev WordPress vorhanden sind.

Es gibt verschiedene Möglichkeiten, dies zu tun, schauen wir uns einige der häufigsten Szenarien und den besten Befehl an, um die Anzahl der Dateien in einem Verzeichnis zu finden.

1. Finden Sie die Anzahl der Dateien in einem Verzeichnis

Wir können den Befehl ls zusammen mit dem Befehl wc verwenden, um die Anzahl der Dateien in einem Verzeichnis zu zählen. Zählen wir die Anzahl der Dateien in meinem Theme-Root-Verzeichnis.

# ls
404.php    archive.php   functions.php  inc        layouts            phpcs.xml.dist     screenshot.png    single.php      webpack
LICENSE    comments.php  header.php     index.php  package-lock.json  postcss.config.js  search.php        src             woocommerce.css
Plugins    dist          home.php       js         package.json       readme.txt         sidebar-left.php  style.css
README.md  footer.php    images         languages  page.php           rtl.css            sidebar.php       template-parts
# ls -1 | wc -l
34

Wenn Sie sich das Bild ansehen, sind die blau gefärbten Elemente Verzeichnisse. Sie sind auch als Datei in der Ausgabe enthalten.

Was ist, wenn wir nur Dateien und keine Verzeichnisse zählen wollen?

# ls -p | grep -v / | wc -l
24
#
  1. Der Befehl „ls -p“ gibt Verzeichnisnamen mit „/“ am Ende aus.
  2. Der Befehl „grep -v /“ filtert die Ausgabe und gibt nur den Namen aus, der kein „/“ enthält, wodurch alle Verzeichnisse weggelassen werden.
  3. Schließlich zählt „wc -l“ die Zeilen in der Ausgabe und gibt sie aus.

Wenn Sie die Anzahl der Verzeichnisse nur innerhalb eines Verzeichnisses finden möchten, verwenden Sie auf ähnliche Weise den folgenden Befehl.

# ls -p | grep / | wc -l
10
#

Hinweis:Die obigen Befehle suchen nicht nach versteckten Dateien. Wenn Sie möchten, dass die Zählung auch versteckte Dateien enthält, verwenden Sie die Option „-a“ mit dem Befehl ls.

# ls -a1 | wc -l
41
#

Dieser Befehl zählt „.“ und „..“ auch, so dass Sie dies gegebenenfalls in Ihrem Shell-Skript berücksichtigen müssen.

2. Anzahl der Dateien in einem Verzeichnis und Unterverzeichnissen rekursiv finden

Die obigen Beispiele eignen sich gut, um Dateien und Verzeichnisse in einem Verzeichnis zu zählen. Wenn Sie jedoch auch die Anzahl der Dateien einschließlich der Unterverzeichnisse zählen möchten, müssen Sie den Befehl find verwenden.

# find . -type f
./.test_file
./functions.php
./logger/class-logger-writter.php
./logger/class-logger-export.php
./logger/assets/js/base.js
./logger/assets/css/base.css
./logger/assets/css/base.less
./logger/assets/css/base.css.map
./logger/class-logger-reader.php
./class-protector.php
./class-anti-spam-plugin.php
# find . -type f | wc -l
11
#
  1. Die Suchbefehlsoption „-type f“ wird verwendet, um nach regulären Dateien zu suchen.
  2. Dieser Befehl ignoriert alle Verzeichnisse, „.“- und „..“-Dateien. Aber es wird versteckte Dateien in die Ausgabe einschließen.
  3. Der Befehl „wc -l“ zählt die Gesamtzahl der Zeilen und gibt sie aus, wodurch wir die Anzahl der Dateien erhalten.

Referenzen:

  • Manpage für wc-Befehle
  • Befehlsseite finden


Linux
  1. So zählen Sie die Anzahl der Dateien und Unterverzeichnisse in einem bestimmten Verzeichnis

  2. So finden Sie MySQL-, PHP- und Apache-Konfigurationsdateien

  3. So finden Sie die Anzahl der Dateien in einem Verzeichnis und Unterverzeichnissen

  4. Benennen Sie alle Dateien und Verzeichnisnamen in Linux in Kleinbuchstaben um

  5. Finden Sie Dateien und Verzeichnisse in Linux wie ein Profi

So zählen Sie Dateien im Verzeichnis in Linux

So finden und löschen Sie doppelte Dateien in Linux

3 Möglichkeiten, Dateien und Verzeichnisse in Linux zu finden

Finden Sie Dateien und Verzeichnisse unter Linux ganz einfach

Zählen Sie die Anzahl der Dateien in einem Verzeichnis in Linux

So zählen Sie die Anzahl der Dateien in einem Verzeichnis in Linux