5

ls , дает мне все каталоги

ls -trh , выдает мне все каталоги, отсортированные по дате (последняя из последних)

ls -dtrh */ | tail -1 , дает мне имя последней директории (по дате)

Можно ли как-то включить команды ls и cd , чтобы я мог перейти к последнему каталогу. Что-то логически равное ls -trh | tail -1 | cd , но работает.

4 ответа4

10
cd "$(ls -trh | tail -1)"

Это использует выходные данные конвейера ls | tail в качестве аргументов командной строки для cd.

РЕДАКТИРОВАТЬ: Camh правильно, что это должно дать лучшую производительность, потому что head не пройдет через линии, которые вы игнорируете.

cd "$(ls -th | head -1)"
2

Решение с использованием обратных галочек:

cd `ls -th | head -1`
2

Я сделал псевдоним для собственного использования:

alias cdu='cd $(ls -rtd */ | tail -1)'

это поместит вас в последний измененный / созданный каталог на вашей позиции.

1

Используйте эту простую команду:

cd `ls -t`

Символ <`> является символом обратного удара. Не апостроф.

Это пойдет в последний каталог. Попытайся.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .