Оригінальна публікація: The Linux LS Command – How to List Files in a Directory + Option Flags

З моменту створення Unix у 1970-х роках багато операційних систем використовували його як основу. Багато з цих операційних систем зазнали невдачі, тоді як інші досягли успіху.

Linux є однією з найпопулярніших операційних систем на основі Unix. Вона має відкритий код та використовується в усьому світі в багатьох галузях.

Однією з дивовижних особливостей операційної системи Linux є інтерфейс командного рядка (CLI), який дозволяє користувачам взаємодіяти зі своїм комп’ютером з оболонки. Оболонка Linux — це середовище REPL (Read, Evaluate, Print, Loop), де користувачі можуть ввести команду, а оболонка виконає її та поверне результат.

Команда ls є однією з багатьох команд Linux, які дозволяють користувачеві вивести список файлів або каталогів з CLI.

У цій статті ми детально розглянемо команду ls і деякі з найважливіших прапорців, які вам знадобляться.

Передумови

  • Комп’ютер з каталогами та файлами
  • Мати встановленим один із дистрибутивів Linux
  • Базові знання навігації командного рядка
  • Посмішка на обличчі :)

Команда ls в Linux

Команду ls використовують, щоб вивести список файлів або каталогів у Linux та інших операційних системах на основі Unix.

Подібно до того, як ви переміщуєтеся у File explorer або Finder з графічного інтерфейсу користувача, команда ls дозволяє вивести список всіх файлів або каталогів в поточному каталозі за замовчуванням та далі взаємодіяти з ними за допомогою командного рядка.

Запустіть свій термінал та введіть ls, щоб побачити це в дії:

Screenshot-2020-08-20-at-9.40.29-PM

Як вивести список файлів в каталозі, використовуючи опції

Команда ls приймає деякі прапорці (також відомі як опції), які є додатковою інформацією, яка змінює спосіб переліку файлів або каталогів у терміналі.

Іншими словами, прапорці змінюють те, як працює команда ls:

 ls [прапорці] [каталог]
Важливо: слово «вміст», яке використовується по всій статті, стосується файлів та каталогів зі списку, а не фактичного вмісту файлів/каталогів.

Виведіть список файлів у поточному робочому каталозі

Введіть команду ls, щоб вивести вміст поточного робочого каталогу:

Screenshot-2020-08-20-at-9.40.29-PM

Виведіть список файлів у іншому каталозі

Введіть команду ls [тут шлях до каталогу], щоб вивести вміст іншого каталогу:

Screenshot-2020-08-20-at-10.32.52-PM

Виведіть список файлів в кореневому каталозі

Введіть команду ls /, щоб вивести вміст кореневого каталогу:

Screenshot-2020-08-20-at-10.46.10-PM

Виведіть список файлів в батьківському каталозі

Введіть команду ls .., щоб вивести вміст батьківського каталогу одним рівнем вище. Використайте ls ../.. для вмісту двома рівнями вище:

Screenshot-2020-08-20-at-10.48.22-PM

Виведіть список файлів в домашньому каталозі користувача (/home/user)

Введіть команду ls ~, щоб вивести вміст в домашньому каталозі користувача:

Screenshot-2020-08-20-at-10.51.19-PM

Виведіть список лише каталогів

Введіть команду ls -d */, щоб вивести лише каталоги:

Screenshot-2020-08-21-at-12.53.05-PM

Виведіть список файлів з вкладеними каталогами

Введіть команду ls *, щоб вивести вміст каталогу з його вкладеними каталогами:

Screenshot-2020-08-21-at-1.07.54-PM

Виведіть список рекурсивно

Введіть команду ls -R, щоб вивести усі файли та каталоги з відповідними вкладеними каталогами до останнього файлу:

Screenshot-2020-09-01-at-9.04.56-AM
Якщо у вас велика кількість файлів, це може зайняти багато часу, оскільки буде виведено кожен файл у кожному каталозі. Натомість ви можете вказати, у якому каталозі провести команду: ls Downloads -R

Виведіть список файлів з їхніми розмірами

Введіть команду ls -s (s у нижньому регістрі), щоб вивести файли або каталоги з їхніми розмірами:

Screenshot-2020-08-21-at-12.30.19-PM

Виведіть список файлів у довгому форматі

Введіть команду ls -l, щоб вивести вміст каталогу у форматі таблиці зі стовпцями, яка містить:

  • дозволи вмісту
  • кількість посилань на контент
  • власник вмісту
  • група власника вмісту
  • розмір вмісту в байтах
  • дата/час останньої зміни вмісту
  • назва файлу або каталогу
Screenshot-2020-08-20-at-10.52.37-PM

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

Введіть команду ls -lh, щоб вивести файли або каталоги у тому самому форматі таблиці, що й вище, але з іншим стовпцем, який представляє розмір кожного файлу/каталогу:

Screenshot-2020-08-21-at-12.14.33-PM

Зауважте, що розміри вказуються в байтах (B), мегабайтах (MB), гігабайтах (GB) або терабайтах (TB), якщо розмір файлу чи каталогу перевищує 1024 байти.

Виведіть список файлів включно з прихованими файлами

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

Screenshot-2020-08-21-at-11.12.26-AM

Виведіть список файлів у довгому форматі, включно з прихованими файлами

Введіть команду ls -l -a, або ls -a -l, або ls -la, або ls -al, щоб вивести файли або каталоги у форматі таблиці з додатковою інформацією, включно з прихованими файлами або каталогами:

Screenshot-2020-08-21-at-12.17.01-PM

Виведіть список файлів та відсортуйте їх за датою і часом

Введіть команду ls -t, щоб вивести файли або каталоги та відсортувати їх за датою останньої зміни в порядку спадання (від найбільшого до найменшого).

Ви можете додати прапорець -r, щоб змінити порядок сортування (ls -tr):

Screenshot-2020-08-21-at-12.20.09-PM

Виведіть список файлів та відсортуйте їх за розміром файлу

Введіть команду ls -S (S у верхньому регістрі), щоб вивести файли або каталоги та відсортувати їх за розміром в порядку спадання (від найбільшого до найменшого).

Ви можете додати прапорець -r, щоб змінити порядок сортування (ls -Sr):

Screenshot-2020-08-21-at-12.20.38-PM

Виведіть список файлів і виведіть результат у файл

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

Потім ви можете використати файл або вивести вміст файлу за допомогою cat output.txt:

Screenshot-2020-09-01-at-9.12.59-AM
.

Висновок

Існує багато інших команд та комбінацій, які ви можете дослідити, щоб вивести список файлів та каталогів відповідно до своїх потреб. Єдине, про що варто пам’ятати — можливість комбінувати кілька команд одночасно.

Уявіть, що ви хочете вивести список файлів у довгому форматі, включно з прихованими файлами, та відсортувати їх за розміром. Командою буде ls -alS, яка є комбінацією ls -l, ls -a та ls -S.

Якщо ви забули команду або не знаєте, що робити, запустіть ls --help або man ls, які відобразять посібник з усіма можливими опціями для команди ls:

Screenshot-2020-09-01-at-9.57.37-AM

Дякую, що прочитали!