Меню Рубрики

Вывести список каталогов linux

Как получить список всех папок и файлов в Linux?

В Unix OS (Linux) получить список файлов и папок можно несколькими способами. Я распишу лишь один из них — самый распространенный, а также некоторые метод помощники, который помогут вам в работе в файлами.

Внимание! «$» будет обозначать начало консольной команды, вводить в консоль его не нужно.

Самый распространенный способ — это использовать ls :

В ответ вы должны получить что-то подобное на это:

В одну строчку список всех файлов в директории, где вы находитесь. Не удобно, не правда ли? Давайте сделаем вывод столбцом.

Вывод файлов и папок столбцом

Где -a обозначает показывать все файлы, даже . и .. . . — означает текущая директория, .. на одну директорию назад, а -l означает использование длинного синтаксиса вывода списка файлов и папок.

Чтобы не писать параметры в формате как «ls -a -l» вы можете группировать их (писать друг за другом), как показано на примере выше.

Пример вывод команды выше будет следующий:

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

Сортировать папки и файлы по размеру

Сортировать можно по:

Расшифровка:

  • По пустому значению, что в принципе логично
  • По времени
  • По размеру
  • По расширению, например показать только php файлы
  • Или по версии файла

Пример сортировки по размеру файлов и папок:

В этой случае логичнее распределить параметры с помощью тире(«-«), потому что написанное становится читабельнее.

В ответ вы должны получить что-то на подобии этого:

Как видно, в четвертой колонке, такие числа как 123916 (третья строка) — обозначают размер файла и не очень читаются. Давайте сделаем читабельный вид, добавив -h параметр, который означает «человеческий вид размера файла».

В итоге у вас должно получиться что-то похожее на это:

Сразу стало намного лучше 🙂

Быстрый способ написано ls

Мне часто было лень писать:

И в дальнейшем я нашел альтернативный способ:

В формате «ll» вы также можете прописывать -h, -S —sort=size и т.д. — это лишь укороченный формат

Еще много чего можно сделать с помощью ls

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

Остальные команды вы можете посмотреть командой ls —help .

Вот список всех доступных команд:

Да-да, они на английском, поэтому учите английский или переводите определенную команду и пробуйте сами как это работает, потому что без практики мало что получиться.

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

Когда, например, вы видите следующий формат:

Это означает, что сначала нужно указать -S , а за ним —sort или —time , то есть в итоге у вас получится -S —sort или -S —time .

Источник

Как вывести список только директорий используя ls в Bash

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

1. С помощью ls увидеть все папки кроме скрытых

*/ — это шаблон, который соответствует всем подкаталогам в текущем каталоге (* будет соответствовать всем файлам и подкаталогам; / ограничивает его каталогами). Точно так же, чтобы вывести список всех подкаталогов в /home/mial/bin/aur, используйте:

Чтобы вывести только каталоги в текущей папке:

Чтобы вывести данные в столбик:

2. С помощью ls увидеть все папки вместе со скрытыми

Обратите внимание, что */ не найдёт любые скрытые папки. Чтобы включить и их, укажите их явно:

Обратите внимание, что в примере выше используется два шаблона. Чтобы это стало очевидным, рассмотрим следующий пример: нужно показать только каталоги, в том числе и скрытые в директории /home/mial/bin/aur/:

3. С помощью ls и cut

Следующий способ показывает каталоги только в текущей папке, но делает это в виде столбика:

Чтобы показать вместе со скрытыми каталогами:

Чтобы показать только директории в папке /home/mial/bin/aur:

4. Используя echo

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

Пример показа всех папок кроме скрытых:

Показ всех скрытых и обычных директорий:

Показ всех скрытых и обычных папок в директории /home/mial/bin/aur/:

5. Используя ls и grep

В этом варианте применяется фильтрация вывода с помощью grep. Этот способ имеет ограничение — папки должны выводиться в виде подробного списка:

Чтобы показать вместе со скрытыми папками:

Для вывода только имён директорий (возможны проблемы с директориями, имеющими пробелы в названиях):

6. С помощью find

Команда find имеет очень гибкие критерии поиска.

Чтобы вывести все папки без подпапок (замените /home/mial/bin/aur/ на интересующую папку):

Чтобы вывести все папки с подбапками:

7. printf

Чтобы вывести все директории на отдельных строках (аналогично -1)

Предыдущий пример работает правильно с именами «-«, пробелами и переводами строк (newline).

Улучшенный пример, удаляет последний слэш (/), правильно работает с именами, содержащими пробелы и переводы строк:

Пример с функцией. Наконец, использование списка аргументов внутри функции не повлияет на список аргументов текущей запущенной оболочки:

Для запуска функции:

8. tree

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

Но если мы хотим получить только каталоги, без дерева ascii и с полным путём из текущего каталога, вы можете сделать:

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

А чтобы ограничить количество подкаталогов, вы можете установить максимальный уровень подкаталогов с уровнем -L, например:

9. Пример скрипта: выполнение действие только с каждой папкой в директории

Следующий скрипт показывает, как можно выполнить действие с каждой папкой в директории — имя каждой папки будет присваиваться переменной $line:

Чтобы выполнить действие с каждой папкой в директории /home/mial/bin/aur:

Источник

ИТ База знаний

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Популярное и похожее

15 примеров команды PING для диагностики сети

15 примеров CURL в Linux

Руководство по команде grep в Linux

Установка Oracle Java 11 и OpenJDK 11 в CentOS 8 и RHEL 8

Как пользоваться vim в Linux

Автоматическая установка исправлений безопасности и обновлений в CentOS и RHEL

Руководство по OpenSSL: SSL-сертификаты, ключи и CSR

Fanvil X3S

Еженедельный дайджест

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

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

Основы

Итак, в Linux в отличие от Windows существует понятие полного и относительного пути. Разница между ними в том, что полный путь всегда начинается с корневого каталога (корневой каталог обозначается как /), и далее также через слеш происходит перечисление всех названий каталогов на пути к искомому файлу или директории, а в случае относительного пути – в начале слеш не указывается. То есть без слеша путь указывается относительно нынешнего местоположения, а со слешем – относительно корневого каталога. Примеры:

/tmp/file1 — относительный путь;

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

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

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

  1. cd — смена директории на домашнюю, можно добавлять аргументы – к примеру, cd /root ;
  2. pwd — команда покажет текущий путь к директории, в которой вы находитесь в данный момент;
  3. ls — вывод списка файлов и каталогов по порядку (наверное, самая известная команда) если добавить модификаторы lax , то команда выведет форматированный список всех файлов и директорий (в том числе скрытые);
  4. cat — показывает содержимое файла, к примеру – cat /root/file.txt ;
  5. tail — например, tail /root/file.txt , выводит только конец файла, удобно при работе с логами;
  6. cp — копирование директории или файла, то есть cp /root/file.txt /etc/folder1/file.txt – из /root файл будет скопирован в указанную директорию
  7. mkdir — создание директории, например, mkdir /root/1 ;
  8. rmdir — удаление директории, синтаксис такой же, как и у команды выше;
  9. rm -rf — очень опасная команда (и довольно популярная в интернет фольклоре), но иногда и она может пригодиться – она удаляет директорию со вложенными файлами;
  10. mv — переименование файла или директории, сначала указывается целевая директория и затем её новое название;
  11. locate — поиск файла с заданным названием;

Для наглядности, посмотрите на вывод команды tail

В примере выше, команда tail вывела только последние 11 строк.

Работа с архивами

Работа с .tar архивами – очень часто встречающаяся задача, поэтому хотим привести несколько полезных команд, чтобы не пришлось лишний раз пользоваться поисковиком 🙂

  • tar cf example.tar /home/example.txt — создание .tar архива, который будет содержать в себе текстовый файл example.txt;
  • tar cjf example1.tar.codez2 /home/example1.txt — команда с тем же функционалом, только будет использоваться сжатие Bzip2;
  • tar czf example2.tar.gz /home/example2.txt — опять архивация, только на этот раз со сжатием Gzip;
  • tar xf example.tar — распаковка архива в текущую директорию, если тип сжатия нестандартный, то после расширения нужно добавить тип сжатия (.codez2 или .gz соответственно);
Работа с .rpm пакетами

Так как мы больше всего рассказываем и пишем про FreePBX, который по умолчанию скачивается с официального сайта вместе c СentOS, здесь место для пары команд по работе c RPM пакетами. Почему? Потому что CentOS – RPM-based Linux Distribution 🙂 Команды требуют наличие прав супер — пользователя.

  • rpm -qa — вывод списка всех установленных RPM пакетов в системе;
  • rpm –i rpmpackage.rpm — установка пакета с именем rpmpackage;
  • rpm –e rpmpackage — удаление пакета с таким именем;
  • dpkg -i *.rpm — установка всех пакетов в директории;
Про жёсткие диски

Команда fdisk –l выводит информацию о всех подключенных жёстких и сменных дисках в системе, бывает очень полезной. Ниже пример вывод этой команды (в качестве пример рассматривается OTRS — сервер)

Было полезно?

Почему?

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

😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Яркость дисплея mac os
  • Яндекс строка для mac os
  • Яндекс радио для mac os
  • Яндекс почта приложение для mac os
  • Яндекс переводчик для mac os