NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
UK

Команди Linux і навички оболонки

знайти: пошук у Linux, який робить усе

find — найнебезпечніша команда на робочому сервері, і саме тому вона заслуговує на майстерність. Він перераховує, фільтрує та виконує в одному виразі, і кожен класичний інцидент «/var here be dragons» відстежує попередній перегляд, який хтось пропустив. Звички є механічними: спочатку пройти з -print або -ls, пакетно з -exec ... +, передати через -print0 у xargs -0 і розглядати -delete як рішення другого проходу, ніколи не першу чернетку.

Головне

  1. Фільтруйте метадані, а не лише ім’я: -type f, -mtime +30, -size +100M і -perm -o+w знайдіть дивні файли, які не враховуються ні правилами іменування, ні віковими звітами.
  2. Перегляньте кожен деструктивний запит: спочатку знайдіть /var/www/uploads -name 'core.*' -ls, замініть -ls на -delete лише після того, як ви фактично прочитаєте список; попередній перегляд є перевіркою безпеки, а не пропозицією.
  3. -exec cmd {} + групує файли в декілька викликів і випереджає \; формують на великих деревах; той самий синтаксис дозволяє «завантажувати кожен відповідний файл в один процес» без помилки «задовгий список аргументів».
  4. Захищений від нуля вихід за замовчуванням: find . -name '*.old' -print0 | xargs -0 rm -v; звичайні канали в xargs є відомим шаблоном втрати даних у день, коли ім’я файлу містить пробіл.
  5. -xdev і -maxdepth забезпечують чесність проходження: вони зупиняють пошук від переходу до монтувань і знімків, що рятує як час виконання, так і ваші припущення щодо «цього каталогу».
  6. Часові вікна є точними, якщо їх запитують точно: -mmin -1440 за останні 24 години, -newermt '2026-01-01' для дати, починаючи з дати, і пам'ятайте, що -xtime означає 'n повних 24-годинних періодів тому' перед цитуванням у заявці.
  7. Обрізати свідомо: знайти . -path '*/node_modules' -prune -o -name '*.js' -print пропускає один каталог, який в іншому випадку переважає решту дерева за розміром і часом.
  8. Очікуйте ненульових виходів у нечитабельних каталогах; Рядки stderr, як-от «Дозвіл заборонено», пропускають файли, а не дані, тому сценарії або допускають статус виходу find, або явно перевіряють його замість припущення чистих проходів.

Польова нотатка

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

Часті запитання

Мій пошук знайшов файли, але нижча команда нічого не дала. чому

Майже завжди цитування або порожній вхід: шаблон було розширено оболонкою до того, як find його побачив, або xargs не отримали нічого. Котируйте шаблони та поєднуйте -print0 із xargs -0 щоразу.

-видалити або RM після пошуку?

- видалення є прямим, швидким і невблаганним; його не можна змішувати з -exec в одному виразі. Запустіть відповідність - спочатку надрукуйте та прочитайте; це вся дисципліна.

Чому відображається помилка дозволу на друк у системних каталогах?

Компоненти, які не можуть читати помилки друку в stderr і робити find exit відмінним від нуля; фільтруйте за допомогою 2>/dev/null для інтерактивного комфорту та ніколи не інтерпретуйте ці помилки як відсутність файлів.

Знову різниця між -mtime і -ctime?

-mtime — зміна вмісту, -ctime — зміна метаданих (дозволи, перейменування, кількість жорстких посилань); чаун або хід змінює ctime, не торкаючись mtime, що вводить в оману рівно один звіт на квартал.

Допомога Kinetikatech: команди linux і навички оболонки

Ми бралися за це сотні разів: Команди та сценарії, які вирішують, чи керує адміністратор сервером, чи бореться з ним: шукайте, трансформуйте, пересилайте та контролюйте текст і процеси за допомогою інструментів, які присутні в кожній базовій установці. Служба Безпека серверів Linux та Адміністрування серверів дає замкнений цикл: ми оцінюємо, впроваджуємо, цілодобово стежимо й підхоплюємо за 30 хвилин, коли це критично.

Поговорити з інженером

Проблема із сервером? Зламаний сайт? Повільна сторінка?

Критичні інциденти — відповідь за 30 хвилин, цілодобово, 7 днів на тиждень.

Запросити екстрену підтримку support@kinetikatech.com