Как объединить команды ls и cd в Unix

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

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

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

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

10
задан Petro Semeniuk
22.04.2023 5:31 Количество просмотров материала 2417
Распечатать страницу

4 ответа

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

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

EDIT: camh правильно, что это должно дать лучшую производительность, потому что head не пойдет по линии вы игнорируете.

cd "$(ls -th | head -1)"
10
отвечен Matthew Flaschen 2023-04-23 13:19

решение с помощью backticks:

cd `ls -th | head -1`
2
отвечен Naytzyrhc 2023-04-23 15:36

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

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

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

2
отвечен 2023-04-23 17:53

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

cd `ls -t`

символ < ` > - это Апостроф. Не Апостроф.

это будет последний каталог. Попробовать его.

1
отвечен Neilvert Noval 2023-04-23 20:10

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх