• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

Linux 只列出目錄名稱、排除一般檔案教學與範例

介紹如何在 Linux 中以 ls 與 find 等指令,只顯示目錄、不顯示檔案的各種方法。


在 Linux 的命令列中,若要列出目前工作目錄之下的所有子目錄名稱,有好多種做法,以下是各種方式的使用教學與範例。

ls 指令

以 ls 指令列出目錄是簡單的方式:

# 只列出目錄
ls -d */
NetworkManager/
X11/
acpi/
[略]

或是將 ls 的輸出搭配 grep 篩選出目錄:

# 只列出目錄
ls -F | grep \/$
NetworkManager/
X11/
acpi/
[略]

或是列出詳細的屬性後,搭配 grep 篩選:

# 只列出目錄
ls -l | grep ^d
drwxr-xr-x 3 root root       4096 Jun 26  2019 NetworkManager
drwxr-xr-x 6 root root       4096 Feb 16 17:13 X11
drwxr-xr-x 3 root root       4096 Jun 26  2019 acpi
[略]

find 指令

find 指令是一個功能強大的 Linux 工具,也可以用來列出目錄:

# 只列出目錄
find . -maxdepth 1 -type d
.
./gtk-3.0
./netplan
./update-notifier
[略]

這裡的 -maxdepth 1 參數是用來限制 find 只列出第一層(也就是目前這一層)的子目錄,若沒有加上這一個參數,就會以遞迴的方式列出所有的子目錄;-type d 是讓 find 僅列出目錄。

其他指令

echo 指令也可以用來列出目錄,只不過它在輸出時會將所有的目錄串成一行:

# 只列出目錄
echo */
NetworkManager/ X11/ acpi/ alternatives/ apm/ apparmor.d/ apparmor/ apport/ apt/ bash_completion.d/ binfmt.d/ byobu/ ca-certificates/ calendar/ cloud/ console-setup/ cron.d/ cron.daily/ cron.hourly/ cron.monthly/ cron.weekly/ cryptsetup-initramfs/ dbus-1/ default/ depmod.d/ dhcp/ dnsmasq.d-available/ dnsmasq.d/ dpkg/ fonts/ glvnd/ groff/ grub.d/ gss/ gtk-2.0/ gtk-3.0/ init.d/ initramfs-tools/ iproute2/ iscsi/ kernel/ landscape/ ld.so.conf.d/ ldap/ libibverbs.d/ libnl-3/ logcheck/ logrotate.d/ lvm/ mdadm/ modprobe.d/ modules-load.d/ netplan/ network/ networkd-dispatcher/ newt/ opt/ pam.d/ perl/ pm/ polkit-1/ pollinate/ profile.d/ python/ python2.7/ python3.6/ python3/ rc0.d/ rc1.d/ rc2.d/ rc3.d/ rc4.d/ rc5.d/ rc6.d/ rcS.d/ rsyslog.d/ security/ selinux/ sensors.d/ skel/ ssh/ ssl/ sudoers.d/ sysctl.d/ sysstat/ systemd/ terminfo/ tmpfiles.d/ udev/ ufw/ update-manager/ update-motd.d/ update-notifier/ vim/ vmware-tools/ xdg/ zsh/

printf 指令跟 echo 類似,不過輸出格式可自訂:

# 只列出目錄
printf '%s\n' */
NetworkManager/
X11/
acpi/
[略]

參考資料:nixCraft、LinOxide

分類:Linux

主要資訊欄

搜尋

近期文章

  • Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤
  • Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例
  • Linux 網路設定 ip 指令用法教學與範例
  • Windows 使用 TPM 虛擬智慧卡保護 SSH 金鑰教學與範例
  • Linux 以 Shamir’s Secret Sharing 分割保存金鑰教學與範例
  • Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例
  • Linux 以 Cryptsetup 與 LUKS 加密磁碟教學與範例
  • Linux 使用 age 簡潔的加密、解密工具使用教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide