Как сортировать файлы внутри каталога через терминал? [закрыто]

Я хочу сортировать подкаталоги внутри главного каталога по размеру, а также сортировать файлы внутри подкаталогов по дате создания файла через терминал. Возможно ли это?

Edit: После того, как я отсортировал файлы внутри папки, следуя приведенным ниже ответам, они не переставляются при просмотре через nautilus. Я хочу, чтобы файлы переставлялись при просмотре через nautilus.

-3
задан 25 December 2013 в 05:21

4 ответа

Если вы хотите отсортировать подкаталоги / файлы внутри каталога по размеру, введите в терминале

gsettings set org.gnome.nautilus.preferences default-sort-order "size"

Чтобы отсортировать подкаталоги / файлы по времени изменения файла,

gsettings set org.gnome.nautilus.preferences default-sort-order "mtime"

Вы также можете сортировать в соответствии с name и type. Но вы не можете установить два значения одновременно, например, одно для каталога и другое для подкаталогов. Нет проблем изменить значения в любое время. Изменение вступит в силу немедленно для всех каталогов.

Также вы можете сортировать в обратном порядке для size, name, modification time или type. Для этого введите в терминале,

gsettings set org.gnome.nautilus.preferences default-sort-in-reverse-order true
0
ответ дан 25 December 2013 в 05:21

Для сортировки файлов по размеру вы можете использовать следующую команду:

ls -Sl

Сортировать результаты по дате создания немного сложнее. Смотрите следующий пост в этом смысле:

0
ответ дан 25 December 2013 в 05:21

Откройте терминал и введите

du -sk * | sort -rn 
.
0
ответ дан 25 December 2013 в 05:21

Я не думаю, что это возможно без цикла - по крайней мере, без bash - но если вы хотите использовать циклы, вот пример, который поможет вам выбрать правильный путь.

#!/bin/bash
for dir in $(du -sh */ | sort -rh | cut -f2); do
    echo "*** $(du -sh $dir) ***"
    ls -l --sort=time $dir
done

Этот скрипт…

  • проходит по всем элементам du -sh, сортируется по размеру - cut просто форматирует выходные данные
  • и, для каждой записи, печатает общий размер этого каталога (du -sh) и перечисляет его содержимое, отсортированное по размеру (ls -l --sort=time).
0
ответ дан 25 December 2013 в 05:21

Другие вопросы по тегам:

Похожие вопросы: