Linux показать только папки

Команда 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 .

Читайте также:  Попытка произвести недопустимую операцию над параметром реестра отмеченным для удаления windows 10

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

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

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

Как и все в 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 для вывода списка только подкаталогов:

Читайте также:  Код ошибки при активации windows 10 0x803fa067

Надеюсь, вы знакомы с командой 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.

Источник

Команды Linux для работы с файлами

Чтобы быть профессионалом в использовании терминала Linux, нужно научится управлять файлами через терминал. Это чуть ли не основа всего, включая редактирование конфигурационных файлов, сборку программ, администрирование и множество других вещей. Просмотр содержимого папок, переход между папками, создание и удаление файлов — это необходимая база, для удобной работы в терминале.

В этой статье мы рассмотрим самые часто используемые команды Linux для работы с файлами и каталогами, после их освоения терминал больше не будет казаться таким непонятным и объемлемым. Вот какие команды будут нас сегодня интересовать:

  • ls — список файлов в директории;
  • cd — переход между директориями;
  • rm — удалить файл;
  • rmdir — удалить папку;
  • mv — переместить файл;
  • cp — скопировать файл;
  • mkdir — создать папку;
  • ln — создать ссылку;
  • chmod — изменить права файла;
  • touch — создать пустой файл.

А теперь перейдем к подробному рассмотрению всех этих команд.

1. ls — просмотр содержимого папки

Команда ls позволяет вывести список файлов заданной папки, по умолчанию, будет выведен список файлов текущей папки:

Вы можете вывести список файлов из всех подкаталогов рекурсивно, для этого используйте опцию -R:

Чтобы вывести список файлов нужной папки, вы можете передать ее адрес утилите, например, /home:

Чтобы получить больше информации и вывести все имена файлов в виде списка используйте опцию -l:

2. cd — изменить папку

Команда cd позволяет изменить текущую папку на другую. По умолчанию, текущей считается домашняя папка, например, cd Desktop меняет папку на рабочий стол, если вы выполните ее из домашнего каталога:

Вы также можете указать полный путь к папке:

Команда cd .. переходит в папку, которая находится выше на одну в файловой системе:

Вы также можете вернуться в предыдущую рабочую папку:

Читайте также:  Нет файл hosts windows system32

3. rm — удалить файлы

Команда rm позволяет удалить файл. Будьте очень осторожны с ней, она не будет спрашивать подтверждения:

Например, rm file удалит файл с именем file, который находится в текущей папке. Как и в предыдущих вариантах, вы можете указать полный путь к файлу linux. Например:

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

rm -r /home/user/photo/

Будьте осторожны, потому что эта команда удаляет файлы безвозвратно.

4. rmdir — удалить папку

Команда rmdir позволяет удалить пустую папку. Например, команда rmdir directory удалит папку directory, которая находится в текущей папке:

Если вам нужно удалить папку с файлами, то нужно использовать утилиту rm вместе с опцией -r.

5. mv — перемещение файлов

Команда mv перемещает файл в новое место. Она также может использоваться для переименования файлов. Например, mv file newfile переименует файл file в newfile:

mv file newfile

Чтобы переместить файл в другую папку нужно указать путь к ней, например, переместим файл file в папку /home/user/tmp/

mv file /home/user/tmp/

6. cp — копирование файлов

Эта cp и mv — это похожие команды linux для работы с файлами. Они работают аналогичным образом, только исходный файл остается на своем месте.

cp file newfile

Вы также можете рекурсивно скопировать всю папку с помощью команды cp -r. Эта команда скопирует всю папку вместе со всеми файлами и вложенными папками в новое место. Например, скопируем папку /etc/:

cp -r /etc /etc_back

7. mkdir — создать папку

Команда mkdir позволяет создать новую папку mkdir test создаст папку в текущем каталоге:

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

8. ln — создание ссылок

Утилита ln позволяет создавать жесткие и символические ссылки на файлы или папки. Для создания символической ссылки используется опция -s. Например, вы создадим ссылку на папку с загрузками:

ln -s /home/user/Downloads/ /home/user/test/

Для создания жесткой ссылки никаких опций задавать не нужно:

ln /home/user/Downloads/ /home/user/test/

9. chmod — изменить права

chmod позволяет изменить права доступа к файлам. Например, chmod +x script.sh добавляет флаг исполняемости к файлу script.sh:

chmod +x script.sh

Чтобы убрать флаг исполняемый используйте опцию -x:

chmod -x script.sh

Подробнее о том, как работают разрешения для файлов смотрите в статье права доступа к файлам в Linux.

10. touch — создать файл

Команда touch создает пустой файл. Например, touch file создаст пустой файл в текущей папке с именем file:

Для создания файлов через терминал существует еще несколько команд, они рассмотрены в статье как создать файл в linux.

11. mc

Работа с файлами Linux через терминал может выполняться не только с помощью обычных консольных команд, каждая из которых выполняет только определенное действие. Вы можете использовать полнофункциональный файловый менеджер с псевдографическим интерфейсом на основе ncurses. Midnight Commander — это файловый менеджер, который можно использовать прямо в терминале. Для установки mc в Ubuntu выполните:

sudo apt install mc

После завершения установки достаточно выполнить команду mc:

Используйте клавиши со стрелками для перемещения по файлах, Tab для перехода на другую панель, Alt+1 для просмотра справки и Alt+2 для вывода меню:

Если терминальное окружение поддерживает мышь, то вы можете ее использовать в Midnight Commander.

Выводы

В этой статье мы рассмотрели как выполняется работа с файлами и каталогами в linux, с помощью терминала. Когда вы освоите все эти команды, вы сможете сделать большинство основных действий в терминале. А как часто вы пользуетесь терминалом? Используете его для работы с файлами? Напишите в комментариях!

Источник

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