如何統計 Linux 中文件和文件夾/目錄的數量

来源:https://www.cnblogs.com/xiepengcheng/archive/2018/04/01/8688331.html
-Advertisement-
Play Games

如何統計 Linux 中文件和文件夾/目錄的數量 在本教程中,我們將向您展示如何使用多個命令,並使用 ls、egrep、wc 和 find 命令執行一些高級操作。 下麵的命令將可用在多個方面。 為了實驗,我打算總共創建 7 個文件和 2 個文件夾(5 個常規文件和 2 個隱藏文件)。 下麵的 tre ...


如何統計 Linux 中文件和文件夾/目錄的數量

在本教程中,我們將向您展示如何使用多個命令,並使用 ls、egrep、wc 和 find 命令執行一些高級操作。 下麵的命令將可用在多個方面。   為了實驗,我打算總共創建 7 個文件和 2 個文件夾(5 個常規文件和 2 個隱藏文件)。 下麵的 tree 命令的輸出清楚的展示了文件和文件夾列表。  
# tree -a /opt /opt ├──magi │  └──2g │  ├──test5.txt │  └──.test6.txt ├──test1.txt ├──test2.txt ├──test3.txt ├──.test4.txt └──test.txt   2directories,7files
  示例 1   統計當前目錄的文件(不包括隱藏文件)。 運行以下命令以確定當前目錄中有多少個文件,並且不計算點文件(LCTT 譯註:點文件即以“.” 開頭的文件,它們在 Linux 預設是隱藏的)。  
# ls -l . | egrep -c '^-' 4
  細節:  
  • ls : 列出目錄內容
  • -l : 使用長列表格式
  • . : 列出有關文件的信息(預設為當前目錄)
  • | : 將一個程式的輸出發送到另一個程式進行進一步處理的控制操作符
  • egrep : 列印符合模式的行
  • -c : 通用輸出控制
  • '^-' : 以“-”開頭的行(ls -l 列出長列表時,行首的 “-” 代表普通文件)

 

示例 2

  統計當前目錄包含隱藏文件在內的文件。 包括當前目錄中的點文件。  
# ls -la . | egrep -c '^-' 5
  示例 3   運行以下命令來計數當前目錄的文件和文件夾。 它會計算所有的文件和目錄。  
# ls -l | wc -l 5
  細節:  
  • ls : 列出目錄內容
  • -l : 使用長列表格式
  • | : 將一個程式的輸出發送到另一個程式進行進一步處理的控制操作符
  • wc : 這是一個統計每個文件的換行符、單詞和位元組數的命令
  • -l : 輸出換行符的數量

 

示例 4

  統計當前目錄包含隱藏文件和目錄在內的文件和文件夾。  
# ls -la | wc -l 8
  示例 5   遞歸計算當前目錄的文件,包括隱藏文件。  
# find . -type f | wc -l 7
  細節 :  
  • find : 搜索目錄結構中的文件
  • -type : 文件類型
  • f : 常規文件
  • wc : 這是一個統計每個文件的換行符、單詞和位元組數的命令
  • -l : 輸出換行符的數量

 

示例 6

  使用 tree 命令輸出目錄和文件數(不包括隱藏文件)。  
# tree | tail -1 2directories,5files
  示例 7   使用包含隱藏文件的 tree 命令輸出目錄和文件計數。  
# tree -a | tail -1 2directories,7files
  示例 8   運行下麵的命令遞歸計算包含隱藏目錄在內的目錄數。  
# find . -type d | wc -l 3
  示例 9   根據文件擴展名計數文件數量。 這裡我們要計算 .txt 文件。  
# find . -name "*.txt" | wc -l 7
  示例 10   組合使用 echo 命令和 wc 命令統計當前目錄中的所有文件。 4 表示當前目錄中的文件數量。  
# echo *.* | wc 1       4      39
  示例 11   組合使用 echo 命令和 wc 命令來統計當前目錄中的所有目錄。 第二個 1 表示當前目錄中的目錄數量。  
# echo */ | wc 1       1       6
  示例 12   組合使用 echo 命令和 wc 命令來統計當前目錄中的所有文件和目錄。 5 表示當前目錄中的目錄和文件的數量。  
# echo * | wc 1544
  示例 13   統計系統(整個系統)中的文件數。  
# find / -type f | wc -l 69769
  示例-14   統計系統(整個系統)中的文件夾數。  
# find / -type d | wc -l 8819
  示例-15   運行以下命令來計算系統(整個系統)中的文件、文件夾、硬鏈接和符號鏈接數。  
# find / -type d -exec echo dirs \; -o -type l -exec echo symlinks \; -o -type f -links +1 -exec echo hardlinks \; -o -type f -exec echo files \; | sort | uniq -c    8779dirs   69343files      20hardlinks   11646symlinks

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文依舊是一篇譯文,寫於作者在開發.net core 半年後的進階學習時刻! 這篇文章很長,一口氣看完得花二十分鐘,大家要做好心理準備! 摘要:Java社群近來掀起了一陣輕量級容器的熱潮,這些容器能夠幫助開發者將來自不同項目的組件組裝成為一個內聚的應用程式。在它們的背後有著同一個模式,這個模式決定了 ...
  • 1.const是不變常量,在編譯的時候就需要有確定的值,只能用於數值和字元串,或者引用類型只能為null.(這裡為什麼要把字元串單獨拿出來?是因為字元串string是引用類型,但是使用的時候卻感覺是值類型,它是一種特殊的引用類型,後面會詳細說),struct也不能用const標記。const可以修飾 ...
  • 概述 前面 New UWP Community Toolkit 文章中,我們對 2.2.0 版本的重要更新做了簡單回顧,其中簡單介紹了 Staggered panel,本篇我們結合代碼詳細講解 Staggered panel 的實現。 Staggered panel 是一種交錯排列的面板控制項,允許面 ...
  • 上周需要做一個圖片上傳並且將上傳的圖片線上可以裁剪展示,覺得這個功能很有用,但是找參考資料的時候卻並不是很多,因此來將我用到的總結總結,也讓有需要的博友們直接借鑒。 首先環境介紹: 1、asp.net mvc網站,用到的前端插件是JCrop和Bootstrap-fileinput,在後端用框架自帶的 ...
  • 我將討論一些我認為應該應用於“容器管理”應用程式設計的原則。 模式1:服務字典 字典或關聯數組是我們在軟體工程中學到的第一個構造。 很容易看到使用依賴註入組成對象的字典和IoC容器之間的類比: 未使用容器 使用容器 這兩看起來不同的是: 一些花哨的新術語'Register'和'Resolve'被使用 ...
  • 最近將公司的項目用.netcore重寫, 服務的http外部介面部分收發消息是DES加解密的, 那麼在asp.net core mvc的action處理之前需要加入解密這個步驟. 我第一想到的是用filter的方法來做, 找到了ActionFilter, 重寫了OnActionExecuting方法 ...
  • # 安裝 telnet 避免 ssh 無法登錄 yum -y install xinetd telnet telnet-server yum -y install xinetd telnet telnet-server yum -y install xinetd telnet telnet-serv ...
  • 雙網卡一般情況不能有兩個網關 特別是別設內網網關,這樣有段時間過後會出現訪問不了外網情況 支持兩個網關的方法倒是有 讓雙網卡一臺電腦擁有兩個網關(轉) 首先要聲明一點,雙網卡一臺電腦擁有兩個網關是不可能的,因為預設網關(default gateway)只能是一個。 給伺服器安裝兩塊網卡,分別設置不同 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...