Linux
ls -d */ 適用於某些文件夾而不適用於其他文件夾
我在一個遠端伺服器上,它是一個 Ubuntu 16.04.1 LTS,我只需要列出這個名為“NewsData”的文件夾中的目錄我發現這
ls -d */
是一個列出文件夾的好命令,但是它在某些文件夾中而不是在其他文件夾中工作.下面是範例輸出
(venv_p3.5) anjali@momo:/scratche/home/anjali$ ls -d */ archive/ DownloadImages/ fixed/ getNews/ html/ log/ MonumentData/ NewsData/ Pytorch-finetuning/ src/ TestData/ TrainData/ TrainData2/ venv_p3.5/ VGG16FeatureExtraction/ (venv_p3.5) anjali@momo:/scratche/home/anjali$ cd NewsData/ (venv_p3.5) anjali@momo:/scratche/home/anjali/NewsData$ ls -d */ ls: invalid option -- '/' Try 'ls --help' for more information. (venv_p3.5) anjali@momo:/scratche/home/anjali/NewsData$ ls - A B C cleanData.py D E F G getList.py H I J K L M N O P Q R S sequentialNumbering.sh T U V W Y Z
為什麼會這樣?我怎樣才能解決這個問題?
該目錄包含一個名為 的子目錄
-
,因此 shell 的擴展*/
包括-/
,這被誤解為命令選項。
--
您可以通過使用ie顯式標記選項的結尾來避免這種情況ls -d -- */
或通過在 glob 前面加上路徑
ls -d ./*/
find . -maxdepth 1 -type d ! -name "\.*"
“-d”表示僅列出我理解的那個目錄。