Заметки о решаемых задачах АйТишников

Сделал - запиши. Нашёл - сохрани :)

Прошу прощения за рекламу на сайте. Я постарался сделать это максимально ненавязчиво и по минимуму. При чтении заинтересовавших вас статей она не будет вам мешать.
И если есть возможность поставить мой сайт в исключения у блокировщика рекламы, я буду очень признателен вам.

Полезные советы по команде `ls` в Linux: от базового использования до продвинутых опций

Полезные советы по команде `ls` в Linux: от базового использования до продвинутых опций

 

 

 

Если вы работаете в терминале Linux, команда ls — ваш лучший друг для просмотра содержимого директорий. В этой статье объясним комбинацию ls -lAFh, поговорим о порядке ключей и покажем, как отсортировать директории перед файлами. Всё с примерами и советами для новичков и опытных пользователей.

1. Что делает ls -lAFh?

Эта команда — отличный способ получить подробный и читаемый список файлов. Давайте разберём каждый ключ:

  • -l (long listing): Показывает файлы в длинном формате — права доступа, владелец, размер, дата изменения и имя.
  • -A (almost all): Включает скрытые файлы (начинающиеся с .), но исключает . (текущая директория) и .. (родительская).
  • -F (classify): Добавляет символы к именам для классификации:
    • / — директория.
    • * — исполняемый файл.
    • @ — символическая ссылка.
    • И другие (например, | для FIFO).
  • -h (human-readable): Делает размеры файлов понятными (например, 4.0K вместо 4096 байт).

Пример команды:

ls -lAFh

Пример вывода:

total 12K
drwxr-xr-x 2 user user 4.0K Sep 11 20:30 Documents/
-rw-r--r-- 1 user user  123 Sep 11 20:25 file.txt
-rwxr-xr-x 1 user user  456 Sep 11 20:26 script.sh*
lrwxrwxrwx 1 user user    7 Sep 11 20:27 link -> file.txt@

Здесь видно директории, файлы и ссылки с удобными размерами и символами.

2. Влияет ли порядок ключей?

Нет! В ls (и большинстве Linux-команд) порядок ключей не важен. Эти команды эквивалентны:

  • ls -lAFh
  • ls -hFlA
  • ls -AhFl

Команда просто анализирует все опции и применяет их вместе. Исключение: если опция требует аргумента (например, -d /path), порядок имеет значение.

3. Как отсортировать директории перед файлами?

Стандартный ls сортирует по имени, времени или размеру, но не по типу. На системах с GNU ls (большинство Linux-дистрибутивов) используйте --group-directories-first:

  • Это группирует директории в начале списка, а затем файлы.
  • Комбинируйте с другими ключами: ls -lAFh --group-directories-first.

Пример:

ls -lAFh --group-directories-first

Пример вывода:

drwxr-xr-x 2 user user 4.0K Sep 11 20:30 Documents/
drwxr-xr-x 2 user user 4.0K Sep 11 20:31 Pictures/
-rw-r--r-- 1 user user  123 Sep 11 20:25 file.txt
-rwxr-xr-x 1 user user  456 Sep 11 20:26 script.sh*

Директории идут первыми, внутри групп — сортировка по имени.

Альтернатива для других систем (например, macOS):

Если --group-directories-first не поддерживается, используйте:

ls -ld */ 2>/dev/null; ls -lAFh | grep -v '^d'
  • Первая часть выводит директории.
  • Вторая — файлы (исключая директории).

4. Сортировка по времени с ключом -t

Если вам нужно отсортировать файлы по времени последнего изменения (от самых свежих к старым), добавьте ключ -t (time). Это особенно полезно для больших директорий, где важно видеть недавно изменённые файлы.

  • -t: Сортирует по дате модификации (mtime). Без дополнительных опций — от новых к старым.
  • Комбинируйте с другими ключами: ls -lAFht (длинный формат + классификация + размеры + сортировка по времени).
  • С --group-directories-first: ls -lAFht --group-directories-first — директории первыми, внутри групп по времени.

Пример команды:

ls -lAFht --group-directories-first

Пример вывода:

drwxr-xr-x 2 user user 4.0K Sep 11 20:31 Pictures/       # Самая свежая директория
drwxr-xr-x 2 user user 4.0K Sep 11 20:30 Documents/      # Более старая директория
-rwxr-xr-x 1 user user  456 Sep 11 20:26 script.sh*      # Самый свежий файл
-rw-r--r-- 1 user user  123 Sep 11 20:25 file.txt        # Более старый файл
lrwxrwxrwx 1 user user    7 Sep 11 20:27 link -> file.txt@  # Ссылка по времени

Обратите внимание: внутри групп (директории и файлы отдельно) сортировка по времени, а не по имени.

Заключение

Команда ls -lAFh --group-directories-first — мощный инструмент для навигации в терминале. Она сочетает подробность, читаемость и удобную сортировку. Экспериментируйте с ключами, чтобы адаптировать под свои нужды.

 

11 сентября 2025, 20:54    Александр Linux 0    1 0

 

 

 

Рекомендую: кулинарные мастер классы в москве на день рождения в Loft17

 



Комментарии ()

    Вы должны авторизоваться, чтобы оставлять комментарии.