
Мой профессор показал мне, как перечислить каталоги выше текущего рабочего каталога с помощью команды cd. Я думал, что это cd ..[tab], но это перечисляет команды в моем текущем каталоге.
решение1
Я предполагаю, что вы просто хотите вывести список каталогов родительского каталога текущего каталога, вы можете использовать find
:
find .. -maxdepth 1 -type d -not -name '..'
В качестве альтернативы вы можете использовать ls
:
ls -p .. | grep '/$'
Или оболочка:
echo ../*/
или более подробно:
for i in ../*; do [ -d "$i" ] && echo "$i"; done
Или при zsh
использовании квалификатора glob /
(хотя это излишне :)):
echo ../*(/)
решение2
cd ..
переходит в каталог, расположенный выше текущего рабочего каталога в дереве.
Например,
home:$ pwd
/home
home:$ cd ..
:$ pwd
/
Что касается перечисления каталогов в родительском каталоге, ответ heemayl's достаточно охватывает это. Я просто добавлю еще один:
stat ../* --format="%n %F" | awk '/directory/'
решение3
Если вы хотите вывести список содержимого «вышеуказанного» рабочего каталога (родительского каталога), используйте:
ls ..
Однако он показывает как файлы, так и каталоги родительской папки.