2014-04-01 70 views
1

當提供目錄作爲參數時,我可以使用什麼命令來查找以下信息?Linux:獲取文件和目錄列表以及默認信息

  1. 在(人類可讀的格式)
  2. 日期文件的時間戳(人類可讀的格式)
  3. 文件名不帶路徑的文件的大小
  4. MIME文件(文本文件,圖像文件等在查找)
  5. 可能使用MAXDEPTH選項

我厭倦了這樣一個

find /home/dojo50 -name "*" -exec file {} \; 

但它缺少文件大小和日期時間信息。 是否可以將Filels合併成find

類似,但不列入工作

find /home -name "*" -maxdepth 1 -exec ls -lh {} \; -exec file {} \; 
+1

這感覺就像家庭作業,但你可以'找到'並查看1,2,3的'-printf'選項。你的例子應該已經工作了4.不知道你的意思是5. – BroSlow

+1

'-name「*」'位的預期用途是什麼?似乎有點毫無意義...... – twalberg

回答

1

mime-type使用-exec選項file命令和其他項目使用-printf選項。如:

find * -printf "%kK %AD %AT %p " -exec file -b {} \; 

請參閱man find瞭解更多信息。

+1

這裏的'*'是個錯誤。它將被shell處理,這不是一個大問題,因爲'find'可以列出一個列表,但是它將依賴shell選項來確定它是否會實際獲取工作目錄中的所有文件/目錄。 – BroSlow

+0

@BrowSlow說的。它可能例如如果在需要首先展開的目錄中有許多文件,則跳過點文件並不必要地減慢查詢速度。 –

相關問題