GNU/Linux >> Znalost Linux >  >> Linux

Jak spočítat počet souborů a podadresářů v adresáři

Ahoj lidi, v tomto článku vám ukážeme, jak spočítat počet souborů a podadresářů v adresáři pomocí stromového příkazu.

Počítání počtu souborů a adresářů pomocí stromového příkazu :

  • strom příkaz bude fungovat, i když nebudou zadány žádné argumenty, jak je uvedeno níže:
tree -iLf 1
  1. „-i“ :umožňuje stromu vytisknout odsazovací čáry.
  2. “-L” :určuje úroveň hloubky adresářového stromu, který se má zobrazit, což je ve výše uvedeném případě 1 .
  3. "-f" :způsobí, že strom vypíše úplnou předponu cesty pro každý soubor.
  • Pokud chcete zobrazit stejné informace bez argumentů pro úroveň hloubky 2:
tree -iLf 2
  • Také pokud chcete zobrazit stejné informace, ale pro určitý adresář.

Například: /etc/systemd/

tree -iLf 1 /etc/systemd/

Ukázkový výstup :

[root@rhel-pc ~]# tree -iLf 1 /etc/systemd/
/etc/systemd
/etc/systemd/coredump.conf
/etc/systemd/journald.conf
/etc/systemd/logind.conf
/etc/systemd/resolved.conf
/etc/systemd/system
/etc/systemd/system.conf
/etc/systemd/user
/etc/systemd/user.conf

2 directories, 6 files
[root@rhel-pc ~]# 
  • Chcete-li zobrazit informace pro předchozí adresář, ale s úrovní hloubky 2
tree -iLf 2 /etc/systemd/

Ukázkový výstup:

[root@rhel-pc ~]# tree -iLf 2 /etc/systemd/
/etc/systemd
/etc/systemd/coredump.conf
/etc/systemd/journald.conf
/etc/systemd/logind.conf
/etc/systemd/resolved.conf
/etc/systemd/system
/etc/systemd/system/basic.target.wants
/etc/systemd/system/bluetooth.target.wants
/etc/systemd/system/dbus-org.bluez.service -> /usr/lib/systemd/system/bluetooth.service
/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service -> /usr/lib/systemd/system/firewalld.service
/etc/systemd/system/dbus-org.freedesktop.Avahi.service -> /usr/lib/systemd/system/avahi-daemon.service
/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service -> /usr/lib/systemd/system/ModemManager.service
/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service -> /usr/lib/systemd/system/NetworkManager-dispatcher.service
/etc/systemd/system/dbus-org.freedesktop.timedate1.service -> /usr/lib/systemd/system/timedatex.service
/etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target
/etc/systemd/system/default.target.wants
/etc/systemd/system/dev-virtio\x2dports-org.qemu.guest_agent.0.device.wants
/etc/systemd/system/display-manager.service -> /usr/lib/systemd/system/gdm.service
/etc/systemd/system/getty.target.wants
/etc/systemd/system/graphical.target.wants
/etc/systemd/system/local-fs.target.wants
/etc/systemd/system/multi-user.target.wants
/etc/systemd/system/network-online.target.wants
/etc/systemd/system/printer.target.wants
/etc/systemd/system/remote-fs.target.wants
/etc/systemd/system/snap.remmina.ssh-agent.service
/etc/systemd/system/sockets.target.wants
/etc/systemd/system/sysinit.target.wants
/etc/systemd/system/syslog.service -> /usr/lib/systemd/system/rsyslog.service
/etc/systemd/system/sysstat.service.wants
/etc/systemd/system/systemd-timedated.service -> /dev/null
/etc/systemd/system/timers.target.wants
/etc/systemd/system/var-lib-snapd-snap-bare-5.mount
/etc/systemd/system/var-lib-snapd-snap-core-11993.mount
/etc/systemd/system/var-lib-snapd-snap-core18-2284.mount
/etc/systemd/system/var-lib-snapd-snap-core20-1270.mount
/etc/systemd/system/var-lib-snapd-snap-discord-131.mount
/etc/systemd/system/var-lib-snapd-snap-gnome\x2d3\x2d28\x2d1804-161.mount
/etc/systemd/system/var-lib-snapd-snap-gnome\x2d3\x2d38\x2d2004-87.mount
/etc/systemd/system/var-lib-snapd-snap-gtk\x2dcommon\x2dthemes-1519.mount
/etc/systemd/system/var-lib-snapd-snap-remmina-5130.mount
/etc/systemd/system/var-lib-snapd-snap-snapd-14295.mount
/etc/systemd/system/var-lib-snapd-snap-spotify-56.mount
/etc/systemd/system/var-lib-snapd-snap-telegram\x2ddesktop-3544.mount
/etc/systemd/system/vmtoolsd.service.requires
/etc/systemd/system.conf
/etc/systemd/user
/etc/systemd/user/dbus-org.bluez.obex.service -> /usr/lib/systemd/user/obex.service
/etc/systemd/user/default.target.wants
/etc/systemd/user/sockets.target.wants
/etc/systemd/user.conf

20 directories, 30 files
[root@rhel-pc ~]# 

Jak můžete vidět z výstupu výše, po vypsání všech souborů a podadresářů strom zobrazuje celkový počet adresářů a souborů v adresáři, který jste zadali, a hodnoty nebudou stejné, když se úroveň hloubky liší.

Závěr

To je ono….

V tomto článku jsme ilustrovali, jak spočítat počet souborů a podadresářů v adresáři.

terminálové nástroje


Linux
  1. Jak spočítat počet souborů a podadresářů v daném adresáři

  2. Jak zjistit počet souborů v adresáři a podadresářích

  3. Jaký je nejlepší způsob, jak spočítat počet souborů v adresáři?

  1. Jak spočítat počet souborů v adresáři a odstranit nejstarší, pokud počet překročí 5?

  2. Jak počítat počet řádků v souboru v Linuxu (příklady wc a nl)

  3. Jak spočítat počet souborů v každém adresáři?

  1. Jak spočítat celkový počet řádků nalezených souborů?

  2. Jak vynutím skupinu a oprávnění pro vytvořené soubory v konkrétním adresáři?

  3. Jak vytvořit symbolické odkazy na všechny soubory (třídu souborů) v adresáři?