Linux вывести список только каталогов

Содержание
  1. Команда Ls в Linux (список файлов и каталогов)
  2. Как использовать команду ls
  3. Формат длинных списков
  4. Показать скрытые файлы
  5. Сортировка вывода
  6. Рекурсивный список подкаталогов
  7. Выводы
  8. Команда Ls в Linux (Список Файлов и Каталогов)
  9. Ls Command in Linux (List Files and Directories)
  10. В этом руководстве мы покажем вам, как использовать ls команду, на практических примерах и подробных объяснениях наиболее распространенных ls вариантов.
  11. Как использовать ls команду
  12. Подробный формат списка
  13. Показать скрытые файлы
  14. Сортировка вывода
  15. Рекурсивный список каталогов
  16. Вывод
  17. 🐧 Список всех каталогов и сортировка по размеру на Linux
  18. Как вывести список 10 самых больших каталогов
  19. Bash-скрипт для перечисления каталогов по размеру
  20. Как вывести список только каталогов в Linux
  21. Используйте команду ls для вывода только списка каталогов
  22. Список только подкаталогов в определенном каталоге
  23. Используйте комбинацию команды ls и grep
  24. Используйте команду поиска, чтобы вывести список только каталогов
  25. Используйте команду tree для вывода списка только каталогов
  26. Использование команды echo для вывода списка каталогов

Команда Ls в Linux (список файлов и каталогов)

ls — одна из основных команд, которую должен знать любой пользователь Linux.

Команда ls выводит список файлов и каталогов в файловой системе и показывает подробную информацию о них. Это часть пакета основных утилит GNU, который установлен во всех дистрибутивах Linux.

Эта статья покажет вам, как использовать команду ls, на практических примерах и подробных объяснениях наиболее распространенных параметров ls.

Как использовать команду ls

Синтаксис команды ls следующий:

При использовании без параметров и аргументов ls отображает список имен всех файлов в текущем рабочем каталоге :

Файлы перечислены в алфавитном порядке в столько столбцов, сколько может поместиться на вашем терминале:

Читайте также:  Как вывести пятно от черного чая с белого полотенца

Чтобы вывести список файлов в определенном каталоге, передайте путь к каталогу в качестве аргумента команде ls . Например, чтобы отобразить содержимое каталога /etc , введите:

Вы также можете передать несколько каталогов и файлов, разделенных пробелом:

Если пользователь, с которым вы вошли в систему, не имеет прав на чтение каталога, вы получите сообщение о том, что ls не может открыть каталог:

У команды ls есть несколько опций. В следующих разделах мы рассмотрим наиболее часто используемые варианты.

Формат длинных списков

По умолчанию вывод команды ls показывает только имена файлов и каталогов, что не очень информативно.

Параметр -l (нижний регистр L) указывает ls печатать файлы в формате длинного списка.

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

  • Тип файла.
  • Права доступа к файлу.
  • Количество жестких ссылок на файл.
  • Владелец файла.
  • Файловая группа.
  • Размер файла.
  • Дата и время.
  • Имя файла.

Давайте объясним самые важные столбцы вывода.

Первый символ показывает тип файла. В этом примере первый символ — , что указывает на обычный файл. Значения для других типов файлов следующие:

  • — — Обычный файл.
  • b — Заблокировать специальный файл.
  • c — Символьный специальный файл.
  • d — Справочник.
  • l — символическая ссылка.
  • n — Сетевой файл.
  • p — ФИФО.
  • s — Розетка.

Следующие девять символов показывают права доступа к файлу. Первые три символа предназначены для пользователя, следующие три — для группы, а последние три — для остальных. Вы можете изменить права доступа к файлу с помощью команды chmod . Символ разрешения может принимать следующие значения:

  • r — Разрешение на чтение файла.
  • w — Разрешение на запись в файл.
  • x — Разрешение на выполнение файла.
  • s — бит setgid .
  • t — sticky бит.

В нашем примере rw-r—r— означает, что пользователь может читать и записывать файл, а группа и другие пользователи могут только читать файл. Цифра 1 после символов разрешения — это количество жестких ссылок на этот файл.

Следующие два поля root root показывают владельца файла и группу, за которыми следует размер файла ( 337 ), показанный в байтах. Используйте параметр -h если вы хотите печатать размеры в удобочитаемом формате. Вы можете изменить владельца файла с помощью команды chown .

Oct 4 11:31 — дата и время последнего изменения файла.

Последний столбец — это имя файла.

Показать скрытые файлы

По умолчанию команда ls не отображает скрытые файлы. В Linux скрытый файл — это любой файл, который начинается с точки ( . ).

Чтобы отобразить все файлы, включая скрытые, используйте параметр -a :

Сортировка вывода

Как мы уже упоминали, по умолчанию команда ls перечисляет файлы в алфавитном порядке.

Параметр —sort позволяет сортировать вывод по расширению, размеру, времени и версии:

  • —sort=extension (или -X ) — отсортировать в алфавитном порядке по расширению.
  • —sort=size (или -S ) — сортировать по размеру файла.
  • —sort=time (или -t ) — сортировать по времени модификации.
  • —sort=version (или -v ) — естественный вид номеров версий.

Если вы хотите получить результаты в обратном порядке сортировки, используйте параметр -r .

Например, чтобы отсортировать файлы в каталоге /var по времени модификации в обратном порядке, вы должны использовать:

Стоит отметить, что команда ls не показывает общее пространство, занятое содержимым каталога. Чтобы узнать размер каталога , используйте команду du .

Рекурсивный список подкаталогов

Параметр -R указывает команде ls рекурсивно отображать содержимое подкаталогов:

Выводы

Команда ls отображает информацию о файлах и каталогах.

Для получения дополнительной информации о ls посетите страницу GNU Coreutils или введите man ls в свой терминал.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Команда Ls в Linux (Список Файлов и Каталогов)

Ls Command in Linux (List Files and Directories)

В этом руководстве мы покажем вам, как использовать ls команду, на практических примерах и подробных объяснениях наиболее распространенных ls вариантов.

Команда ls является одной из основных команд, которую должен знать любой пользователь Linux. Он используется для отображения информации о файлах и каталогах в файловой системе. ls Утилита является частью основных утилит пакета GNU , который установлен на все дистрибутивы Linux.

Как использовать ls команду

Синтаксис ls команды следующий:

При использовании без параметров и аргументов ls отображает список имен всех файлов в текущем рабочем каталоге :

Файлы перечислены в алфавитном порядке:

Чтобы вывести список файлов в определенном каталоге, передайте путь к каталогу в качестве аргумента команды ls. Например, чтобы просмотреть содержимое /etc каталога, вы должны набрать:

Вы также можете передать несколько каталогов и файлов в ls команду через пробел:

Если пользователь, в который вы вошли, не имеет прав на чтение каталога, вы получите сообщение о том, что он ls не может открыть каталог:

У ls команды есть несколько опций. В следующих разделах мы рассмотрим наиболее часто используемые параметры.

Подробный формат списка

Вывод команды по умолчанию ls показывает только имена файлов и каталогов, что не очень информативно.

Параметр -l (нижний регистр L) ls позволяет печатать файлы в формате длинного списка.

Если используется формат длинного списка, ls команда отобразит следующую информацию о файле:

  • Тип файла
  • Файл разрешений
  • Количество жестких ссылок на файл
  • Владелец файла
  • Файловая группа
  • Размер файла
  • Дата и время
  • Имя файла

Рассмотрим следующий пример:

Давайте объясним наиболее важные столбцы вывода.

Первый символ показывает тип файла. В нашем примере первый символ — указывает на обычный файл. Значения для других типов файлов следующие:

  • — — обычный файл
  • b — заблокировать специальный файл
  • c — Специальный символьный файл
  • d — Справочник
  • l — символическая ссылка
  • n — Сетевой файл
  • p — FIFO
  • s — Разъем

Следующие девять символов показывают права доступа к файлу. Первые три символа предназначены для пользователя, следующие три — для группы, а последние три — для других. Вы можете изменить права доступа к файлу с помощью chmod команды. Символ разрешения может принимать следующее значение:

  • r — Разрешение на чтение файла
  • w — разрешение на запись в файл
  • x — Разрешение на выполнение файла
  • s — установить бит
  • t — липкий бит

В нашем примере rw-r—r— означает, что пользователь может читать и записывать файл, а группа и другие пользователи могут только читать файл. Число 1 после символов разрешения — это количество жестких ссылок на этот файл.

Следующие два поля root root показывают владельца файла и группу, за которыми следует размер файла ( 337 ) в байтах. Используйте эту -h опцию, если вы хотите напечатать размеры в удобочитаемом формате. Вы можете изменить владельца файла с помощью chown команды.

Oct 4 11:31 — дата и время последнего изменения файла.

Последний столбец — это имя файла.

Показать скрытые файлы

По умолчанию ls команда не показывает скрытые файлы. В Linux скрытым файлом является любой файл, начинающийся с точки ( . ).

Чтобы отобразить все файлы, включая скрытые, используйте -a параметр:

Сортировка вывода

Как уже упоминалось, по умолчанию ls команда выводит файлы в алфавитном порядке.

—sort Опция позволяет сортировать вывод по расширению, размеру, времени и версии:

  • —sort=extension (или -X ) — сортировка по алфавиту по расширению.
  • —sort=size (или -S ) — сортировка по размеру файла.
  • —sort=time (или -t ) — сортировка по времени модификации.
  • —sort=version (или -v ) — Естественный вид номеров версий.

Если вы хотите получить результаты в обратном порядке сортировки, используйте -r опцию.

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

Стоит отметить, что ls команда не показывает общее пространство, занимаемое содержимым каталога. Чтобы получить размер каталога, используйте du команду.

Рекурсивный список каталогов

-R Опция указывает ls команду , чтобы отобразить содержимое подкаталогов рекурсивно:

Вывод

Команда ls выводит информацию о файлах и каталогах.

Для получения дополнительной информации ls посетите страницу GNU Coreutils или введите man ls свой терминал.

Источник

🐧 Список всех каталогов и сортировка по размеру на Linux

Когда дело доходит до очистки жесткого диска в системах Linux, чтобы освободить место или стать более организованным, полезно определить, какие каталоги занимают больше всего места на диске.

В этом руководстве мы покажем вам, как составить список всех каталогов и отсортировать их по их общему размеру в Linux с помощью примеров командной строки или скрипта Bash.

Как вывести список каталогов по размеру с помощью командной строки

Утилиты командной строки df и du – два лучших инструмента, которые у нас есть для измерения потребления диска в системах Linux.

Для проверки использования диска по папкам особенно полезна команда du.

При запуске du без каких-либо дополнительных параметров имейте в виду, что он будет проверять общее использование диска в каждом подкаталоге индивидуально.

В зависимости от того, насколько глубока ваша структура папок, это может быть огромное количество каталогов, и ваш терминал будет засыпан большим количеством спама.

В следующем примере мы запустим du в каталоге, полном ISO-файлов Linux, но это только один каталог по глубине.

Мы добавим параметр -h (удобочитаемый), чтобы было легче увидеть, сколько пространства занимают эти каталоги.

Мы видим, что папка AlmaLinux использует 11 ГБ, а папка Debian – только 349 МБ.

Общий объем всех этих папок составляет 44 ГБ, как указано в последней строке.

Посмотрим, что произойдет, если у нас будет более глубокая структура папок.

Как видите, каталоги «Debian-based» и «RHEL-based» имеют два и три подкаталога соответственно.

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

Если у вас есть глубокая структура, мы можем использовать флаг –max-depth = N, чтобы указать du, сколько подкаталогов он должен пройти.

Чтобы отсортировать эти каталоги по размеру и упростить определение того, какие из них занимают больше всего места, мы можем передать нашу команду du утилите sort.

Если вы используете параметр -h для du, убедитесь, что вы также используете его для sort.

Или, чтобы ограничить количество рекурсивно просматриваемых каталогов:

В этих примерах мы запускали du из текущего рабочего каталога.

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

Если вы попытаетесь запустить du в рутовом каталоге, чтобы увидеть пространство для хранения на всем диске, имейте в виду, что вам нужно выполнить эту команду с правами root, и вам следует перенаправить stderr в /dev/null, поскольку вы получите в вашем выводе много спама типа “permission denied”.

Как вывести список 10 самых больших каталогов

Используя приведенные выше команды, даже небольшие каталоги будут перечислены в выходных данных команды du.

Однако во многих случаях вас могут интересовать только 10 крупнейших каталогов или какое-то их количество.

В этом случае мы можем передать наш вывод команде head, чтобы показать только самые большие каталоги.

Обратите внимание, что мы также используем команду tail, чтобы не выводить размер родительского каталога, который в данном случае не имеет значения.

Bash-скрипт для перечисления каталогов по размеру

Команд du и sort, а также параметров, которые мы рассмотрели, должно быть достаточно, чтобы помочь вам легко проверить использование диска по папкам.

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

Следующий скрипт принимает 2 аргумента.

Первым аргументом будет имя каталога, в котором мы начнем поиск, а вторым аргументом будет количество каталогов, которые скрипт должен вывести.

А вот пример выполнения сценария скрипта из командной строки:

Источник

Как вывести список только каталогов в Linux

Главное меню » Linux » Как вывести список только каталогов в Linux

По умолчанию в нем отображается все содержимое, будь то файл, каталог, ссылка или именованный канал.

Но что, если вы хотите перечислить только каталоги?

Как и все в Linux, есть несколько способов выполнить одну и ту же задачу. Список только каталогов ничем не отличается:

  • ls -d */
  • ls -l | grep ‘^d’
  • find . -maxdepth 1 -type d
  • echo */
  • tree -d -L 1

Используйте команду ls для вывода только списка каталогов

Всегда полезно делать это с помощью знакомой команды ls, потому что это команда, которую вы используете для отображения содержимого каталога.

Чтобы вывести список только подкаталогов , используйте параметр -d с командой ls следующим образом:

Вот результат, который он показывает:

Почему */? Потому что без него ls -d будет возвращено только имя каталога. В списке опции -d каталоги не его содержимое (который включает в себя файл, каталоги и т.д.).

Это */ – шаблон. С помощью * вы перечисляете все содержимое (включая содержимое подкаталогов), а шаблон / ограничивает каталоги.

Вы можете комбинировать его с опцией длинного листинга -l и большинством других опций:

Если вам не нужна завершающая косая черта (/) в конце имен каталогов, вы можете использовать команду cut, чтобы вырезать ее:

Список только подкаталогов в определенном каталоге

Вышеупомянутая команда работает в текущем каталоге. Что делать, если вы не в том же каталоге?

В этой ситуации вы можете использовать */в конце пути к каталогу ls -d:

Вот пример, когда мы выходим из каталога Documents и затем перечисляю только каталоги внутри каталога Documents:

Вы заметили, что в нем нет скрытого каталога? Это один из недостатков этого метода. Вы можете использовать ls -d .*/ для отображения скрытых каталогов, но он отображает только скрытые каталоги.

Используйте комбинацию команды ls и grep

Вы всегда можете положиться на старую-добрую команду grep для фильтрации вывода для определенного контента.

Если вы долго перечисляете содержимое, вы можете идентифицировать каталоги, потому что начните с d.

Вы можете использовать grep для фильтрации содержимого, которое начинается с d:

Но это дает вам гораздо больше полей, чем просто имена каталогов:

Используйте команду поиска, чтобы вывести список только каталогов

Вот как использовать команду find для вывода списка только подкаталогов:

Надеюсь, вы знакомы с командой find. Тем не менее мы объясним.

С помощью type d вы просите команду find искать только каталоги.

С помощью maxdepth 1 вы просите команду find сохранить поиск только на текущем уровне (и не заходить в подкаталоги).

Как вы можете видеть в выводе выше, он также показывает скрытый каталог.

Используйте команду tree для вывода списка только каталогов

Если ваша цель – перечислить только каталоги, вы также можете использовать команду tree.

По умолчанию команда tree дает вам полную структуру каталогов. Вы можете изменить его, чтобы отображались только каталоги и только на текущем уровне.

  • d – искать только каталоги
  • a – ищите также скрытые файлы и каталоги
  • i – убрать древовидную структуру с дисплея
  • L 1 – не заходить в подкаталоги

Использование команды echo для вывода списка каталогов

Маловероятный кандидат? Вы будете удивлены, узнав, что команда echo в Linux также может использоваться для отображения содержимого каталога. Попробуйте использовать echo * и убедитесь сами.

Подобно команде ls, вы также можете использовать шаблон */ для вывода списка только каталогов в текущем рабочем каталоге.

Вот результат, идентичный тому, что вы получили с помощью команды ls -d.

Могло быть больше способов перечислить только каталоги, а не файлы. Фактически, обсуждаемые здесь методы могут иметь некоторые «если» и «но» в зависимости от того, что вы ищете.

Если ваша цель – просто отобразить каталоги, большинство команд, которые я обсуждал, будут работать. Если вам нужно что-то более конкретное, например, получить имя каталога только с косой чертой и т. д., Вам придется выполнить некоторое форматирование самостоятельно.

Надеюсь, этот совет по Linux окажется для вас полезным. Вопросы и предложения всегда приветствуются.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Оцените статью