Когда ты только начинаешь трогать Linux — всё пугает. Особенно терминал. Он чёрный. Он не прощает ошибок. Он вообще как будто из прошлого.
Но вот проходит пара недель — и ты уже спокойно пишешь cd, mkdir, sudo apt install. А потом... открываешь папку, пишешь ls — и видишь список файлов. И думаешь: ну, нормально. Работает. 👍
И на этом всё.
Я вот так же думал. До того момента, пока мне не пришлось разобрать 700 логов на сервере. И вот — ls превратился из «списка файлов» в инструмент, который реально спасал мне жизнь. И я такой: а что, так можно было?
Так что если ты тоже думал, что ls — это просто "показать, что в папке", — ты не один. Но у команды на самом деле гораздо больше мускулов, чем кажется. И вот — делюсь, как я это понял. 👇
✉️ Пишу каждый день про простые штуки, которые делают жизнь айтишника легче. Забирай первым — в Telegram.
Начнём с банального: ls просто выводит список
Да, это база.
ls
Показывает имена файлов и папок в текущем каталоге. Окей. Красиво. Можно настроить цвета (alias ls='ls --color=auto' уже встроен почти везде). На этом многие и останавливаются.
Но вот ты хочешь понять чуть больше, и тут начинается магия.
ls -l — включаем рентген
Когда я только увидел этот флаг, у меня было два вопроса:
- Почему всё стало вдруг вертикально?
- Что это за каша из drwxr-xr-x?
ls -l
Выдаёт подробную информацию: права доступа, количество ссылок, владелец, группа, размер и дата последней модификации.
И вот тут я впервые понял: терминал — это как "под капотом" Проводника. Только ты видишь реально всё. И без прикрас. Даже кто владелец файла, кто может его читать, кто нет.
Полезно, когда:
— нужно понять, почему скрипт не запускается (и ты видишь, что у него нет x)
— нужно найти, кто владеет файлом (root или ты)
— просто хочешь структурно видеть папку, а не в одну строку через запятую
ls -a — и ты видишь спрятанное
Всё, что начинается с точки (.git, .env, .bashrc) — по умолчанию скрыто.
А потом ты ставишь какой-нибудь софт, и он не работает. А там, оказывается, он положил .config в домашнюю папку. Только ты её не видишь.
ls -a
Теперь всё видно. Вообще всё.
Полезно, когда ты ищешь, куда делся конфиг, или почему Git вдруг перестал работать. Там может лежать .gitignore, который ты просто не замечал.
ls -lh — делаем по-человечески
Однажды я открыл папку с логами. Там всё в байтах. Просто числа. 3259481. 97453284. Спасибо, удобно. 🫠
А потом я узнал:
ls -lh
Где -h — human-readable. То есть он показывает не «4578832», а "4.3M". И ты сразу такой: ага, вот этот файл надо снести, он жирный.
Маленькое «h» — а как приятно.
ls -lt — сортировка по времени
Вот тут я начал кайфовать.
Когда в каталоге сотни файлов, а тебе нужно понять, что менялось последнее — ты пишешь:
ls -lt
И получаешь список по убыванию даты модификации. Последние изменения — сверху.
Особенно полезно, если логов много, и ты не понимаешь, кто из них самый свежий.
ls -ltr — сортировка наоборот
Случай: ты хочешь найти самый старый файл. Или просто — посмотреть, что лежит внизу. Используй -r.
ls -ltr
Да-да. Последние внизу, первые — вверху.
ls -S — сортировка по размеру
Когда я чистил сервер от мусора, это был мой любимый флаг:
ls -lS
Выдаёт файлы по убыванию размера. Сначала гиганты. Можно сразу увидеть, кто жрёт диск.
Добавляешь h — и вообще идеально:
ls -lSh
ls --group-directories-first
Если тебе бесит, что файлы и папки вперемешку, это прям спасение:
ls -l --group-directories-first
Сначала папки, потом всё остальное. Почему это не дефолт — не знаю. 🤷♂️
Псевдонимы (alias), без которых я уже не живу
После того как ты неделю подряд печатаешь ls -lhtr --group-directories-first, у тебя начинает дёргаться глаз.
Так что я просто в .bashrc прописал:
alias ll='ls -lh --group-directories-first'
alias la='ls -lha --group-directories-first'
И всё. ll — когда хочешь просто смотреть с размерами. la — если нужно видеть скрытые.
🔧 Это часть серии про терминальные команды, которые реально помогают в жизни. Продолжение скоро будет — подпишись на телегу, чтобы не пропустить.
Ещё пара штук по пути
- ls -d */ — показывает только папки
- ls *.txt — покажет только .txt-файлы
- ls -i — выводит inode (может пригодиться при жёстких дебагах)
А теперь — история
У меня на одном проде была история: лог-файлы копились, как плесень в ванной. Раз в час — новый лог. Через полгода — 40 000 файлов. Сервер начал тупить, место заканчивалось, мониторинг молчал.
Открыл папку — и просто повис терминал. Даже ls не выводил. Пришлось делать:
ls | head
А потом — аккуратно:
ls -ltr | tail
Так нашёл самые старые, грохнул их, и только после этого смог вообще хоть что-то делать. С тех пор — ls у меня не просто команда. Это как швейцарский нож. Пользуюсь — каждый день.
Короче
Команда ls — как нож в ящике. Все знают, что он там есть. Все им пользуются. Но не все знают, что у него, оказывается, есть штопор, отвертка и даже зубочистка.
Если ты начинаешь с терминала — учись ls. Это как научиться смотреть — прежде чем начать бегать.
Я теперь почти любую задачу с файловой системой начинаю с ll — просто посмотреть, что вообще происходит. И каждый раз удивляюсь, как мощно это работает.
📦 В Telegram почти каждый день — такие же штуки: про Linux, терминал, автоматизацию и ИИ. Всё живое, без воды. Присоединяйся.
Если у тебя есть свои alias — кидай. Я собираю коллекцию.
Если не знал, что ls умеет так много — попробуй. Оно прям чувствуется.