簡體   English   中英

列出目錄內容

[英]Listing directory contents

我正在嘗試使用管道編寫UNIX命令,該管道將顯示我的主目錄中的文件數,包括以“。”開頭的隱藏文件。

到目前為止,我有:

ls -a。* | wc -l我得到一個返回的整數

我的命令正確嗎?

在當前目錄中時:

ls -1 | wc -l

或指定完整路徑:

ls -1 /path/to/dir | wc -l

-請注意, ls密鑰不是l ,而是1將跳過“隱藏”文件(以.開頭的文件)。 如果要包括它們,則:

ls -1a /path/to/dir | wc -l

-但請注意. (當前目錄指針)和.. (父目錄指針),因此可能需要從結果編號中減去2。

我的命令正確嗎?

否。當說ls -a .* ,該命令還將返回以.開頭的目錄中的文件. 除了返回. ..

為了display the number of files in my home directory including hidden files that begin with a '.' ,說:

find $HOME -type f | wc -l

如果要將其限制為僅HOME目錄,請說:

find $HOME -maxdepth 1 -type f | wc -l

您還可以使用find

find ~ -type f | wc -l

要么

find ~ -type f -maxdepth 1 | wc -l

如果您不想遞歸查找。

具有更多管道的YA非遞歸命令:

ls -la | awk '{ print $1 }' | grep -v total | grep -v d | wc -l

最佳非遞歸-與上述同事一樣,但為避免警告,請在類型選項前放置maxdepth:

find ~ -maxdepth 1 -type f | wc -l

遞歸:

find ~ -type f | wc -l

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM