Перейти до основного контенту

Як вивести всі файли директорії в Bash: кращі способи і команди

5 хв читання
2448 переглядів

У світі розробки програмного забезпечення та адміністрування серверів Bash є однією з найпопулярніших мов командного рядка. Один з його найбільш поширених питань - це як вивести всі файли, що знаходяться в певній директорії. Якщо вас цікавить ця проблема, ви потрапили в потрібне місце.

Існує кілька способів отримати список всіх файлів в директорії за допомогою команди bash. Один з найпростіших способів-це використання команди ls. Команда ls відображає список файлів і директорій в заданій директорії. Просто введіть ls у командному рядку, а потім вкажіть шлях до директорії, файли якої ви хочете побачити. Наприклад, щоб побачити файли в поточній директорії, просто введіть ls без вказівки шляху.

Якщо вам потрібно побачити всі файли, включаючи приховані файли, скористайтеся опцією -a при виклику команди. Наприклад, ls -a покаже всі файли і Директорії в поточній директорії, включаючи приховані файли.

Ще один спосіб вивести всі файли в директорії-це використання команди find. Команда find надає більш просунуті можливості пошуку файлів і директорій. Вона дозволяє вам виконувати пошук файлів за різними критеріями, таким як ім'я файлу, тип файлу, дата зміни і навіть вміст файлу. Щоб знайти всі файли в певній директорії, просто введіть find, а потім вкажіть шлях до директорії. Наприклад, find /path/to/directory виведе всі файли в зазначеній Директорії та її піддиректоріях.

  1. ls: введення просто команди ls без аргументів виведе всі файли і каталоги в поточній директорії в алфавітному порядку.
  2. LS-a: Аргумент-a відображатиме всі файли та каталоги, включаючи приховані файли, які починаються з крапки.
  3. ls -R : Аргумент-R дозволяє рекурсивно відображати вміст поточної директорії та всіх піддиректорій.

Нижче наведено деякі з найбільш корисних параметрів команди ls:

  • - t: сортує файли за датою створення, починаючи з найновішого.
  • - S: сортує файли за розміром, починаючи з найбільшого.
  • --color : додає колірну розмітку для більш наочного відображення файлів і директорій.

Команда ls надає різні параметри, які можна комбінувати в будь-яких поєднаннях для отримання необхідного результату. Використання цих параметрів дозволяє побачити потрібну інформацію про файли і директорії, сортувати їх, а також виконувати інші дії в рамках командного рядка.

find /path/to/directory
find /path/to/directory -type f

Для пошуку тільки директорій можна використовувати опцію-type d :

find /path/to/directory -type d

Також можна задати різні умови пошуку за допомогою інших опцій команди find. Наприклад, опція-name дозволяє шукати файли з певним іменем:

find /path/to/directory -name "filename"

Опція-iname здійснює пошук, ігноруючи регістр символів:

find /path/to/directory -iname "filename"

Команда find також дозволяє задавати умови пошуку на основі розміру файлу, часу його останньої зміни та інших атрибутів. Це робить її потужним інструментом для пошуку і обробки файлів в директоріях.

КомандаОпис
find /path/to/directory -type f Вивести всі файли в зазначеній директорії / path / to / directory
find . -type f Вивести всі файли в поточній директорії і всіх її піддиректоріях

Ви також можете додати фільтри, щоб виключити певні файли або розширення. Наприклад, щоб виключити файли з розширенням .txt, ви можете використовувати команду:

find . -type f ! -name "*.txt"

Ця команда виключить усі файли з розширенням .txt з результату.

Використовуючи команду find із зазначеними опціями, ви можете легко вивести всі файли в директорії рекурсивно.

Для використання команди необхідно просто ввести tree в терміналі, після чого вона виведе структуру поточної директорії. Однак, ви можете вказати шлях до будь-якої іншої директорії, додавши його в якості аргументу. Наприклад:

За замовчуванням tree відображає дерево як графічне дерево за допомогою символів ASCII. Кожна директорія представлена гілкою, файли-листям. Символи/, ─ і └ вказують на зв'язки між елементами дерева.

  • - a-Відображати приховані файли і директорії;
  • - d-відображати тільки директорії без файлів;
  • -I шаблон - виключити файли і директорії, відповідні заданому шаблоном.

Команда tree є зручним інструментом для аналізу структури каталогів, особливо у випадках, коли потрібно швидко ознайомитися з вмістом ієрархії файлової системи.

Найпростіший спосіб використання команди du - вказати їй шлях до директорії, розмір якої хочете дізнатися. Наприклад, команда du /home виведе розмір всіх файлів і директорій, що знаходяться в директорії /home.

Якщо ви хочете вивести розмір кожного файлу і директорії окремо, то можете додати прапор -a. У цьому випадку команда du -a /home виведе розмір кожного файлу і директорії, що знаходяться в директорії /home.

Якщо вам цікавить тільки сумарний розмір, то можна використовувати прапор -s. Наприклад, команда du -s /home виведе тільки сумарний розмір директорії / home, без подробиць по кожному файлу і директорії.

Щоб розмір відображався в людиночитаному форматі (наприклад, в гігабайтах або мегабайтах) , можна додати прапор -h. Наприклад, команда du -sh /home виведе сумарний розмір директорії / home в людиночитаному форматі.

Команда du є однією з найбільш корисних утиліт командного рядка в Linux, дозволяючи швидко і зручно дізнаватися розміри файлів і директорій. Знаючи розмір файлів, ви можете визначити, які з них можна видалити або архівувати, щоб звільнити місце на диску.

  1. Відкрийте термінал і перейдіть в потрібну директорію, використовуючи команду cd.
  2. Виконайте команду ls -l для перегляду списку файлів і директорій в довгому форматі.
  3. Для кожного файлу або директорії виконайте команду stat з іменем файлу як аргументом.

stat example.txt

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

Використання команди stat дозволяє отримати більш детальну інформацію про файли і директорії, що може бути корисно при роботі з файловою системою в командному рядку.

ls -l

Інший варіант-сортування за датою зміни файлу:

ls -lt
ls | grep "\.txt$"

Також можна комбінувати команди для більш складних фільтрацій і сортувань. Наприклад, щоб вивести тільки файли з розширенням .txt і сортувати їх за розміром у порядку зменшення:

ls -l | grep "\.txt$" | sort -nrk 5