Смекни!
smekni.com

Linux Робота з каталогами Посилання (стр. 2 из 2)

[user]$ find . -path './sr*sc'

знайде в поточному каталозі підкаталог './src/misc'. Замість повного імені чи файлу каталогу в цьому прикладі використаний так називаний "шаблон імені". Оскільки шаблони імен файлів можуть використовуватися не тільки з командою find, але і з багатьма іншими командами (включаючи вже розглянуті команди chmod, chown, chgrp, cp, rm, cat, mv), те правилам складання шаблонів варто приділити деяка увага.

Найчастіше шаблони імен файлів будуються за допомогою спеціальних символів "*" і "?". Значок "*" використовується для заміни довільного рядка символів. У Linux

· "*" — відповідає усім файлам, за винятком схованих;

· ".*" — відповідає всім схованим файлам (але також поточному каталогу "." і каталогу рівнем вище "..": не забувайте про цьому!);

· "*.*" — відповідає тільки тим файлам і каталогам, що мають "." у середині імені, чи закінчуються на крапку;

· "p*r" — відповідає і "peter" і "piper";

· "*c*" — відповідає і "picked" і "peck".

Значок ? заміняє один довільний символ, тому index?.htm буде відповідати іменам index0.htm, index5.htm і indexa.htm.

Крім "*" і "?" у Linux при завданні шаблонів імен можна використовувати квадратні дужки [], у яких дається або список можливих символів, або інтервал, у який повинні попадати можливі символи. Наприклад, [abc]* відповідає всім іменам файлів, що починається з a, b, c; *[I-N1-3] відповідає файлам, імена яких закінчуються на I, J, K, L, M, N, 1, 2, 3.