Linux. Робота з каталогами. Посилання, Детальна інформація

Linux. Робота з каталогами. Посилання
Тип документу: Реферат
Сторінок: 3
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 10.2
Скачувань: 1574
, ) для переміщення по тексту. Згадаєте, ми вже говорили про це, коли розглядали інтерактивну підказку man.

Команди more і less дозволяють робити пошук підрядків у файлі, що переглядається, причому команда less дозволяє робити пошук як у прямому, так і в зворотному напрямку. Для організації пошуку рядка символів string треба набрати в командному рядку програми в нижній частині екрана (там, де двокрапка) /string. Якщо шуканий рядок буде знайдена, буде відображений відповідний шматок тексту, причому знайдений рядок буде знаходитися в самому верху екрана.

Команда find і символи шаблонів для імен файлів

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

Загальний синтаксис команди find має наступний вигляд:

find [список_каталогів] критерій_пошуку

Параметр "список_каталогів" визначає, де шукати потрібний файл. Найпростіше задати як початковий каталог пошуку кореневий каталог /, однак, у такому випадку пошук може затягтися дуже надовго, тому що буде проглядатися вся структура каталогів, включаючи змонтовані файлові системи (у тому числі мережні, якщо такі є). Можна скоротити обсяг пошуку, якщо задати замість одного кореневого каталогу список з декількох каталогів (природно, тих, у яких може знаходитися шуканий файл):

[user]$ find /usr/share/doc /usr/doc /usr/locale/doc -name instr.txt

Початком "критерію_пошуку", що визначає, що саме повинна шукати програма find, вважається перший аргумент, що починається на "-", "(", ")"', "," чи "!". Всі аргументи, що передують "критерію_пошуку", трактуються як імена каталогів, у яких треба робити пошук. Якщо не зазначено жодного шляху, пошук виробляється тільки в поточному каталозі і його підкаталогах.

Найчастіше пошук проводиться по іменах файлів, як це показано в попередньому прикладі, тобто  "критерій_пошуку" задається як "-name ім'я_файлу". Замість опції -name можна використовувати опцію -path, тоді команда буде шукати збігу в повному імені файлу, із указівкою шляху. Наприклад, команда

[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.

The online video editor trusted by teams to make professional video in minutes