Розгляд структури каталогів Linux
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Каталоги в Linux

 

Файлова система Linux має багато каталогів, які утворюють ієрархічну деревоподібну систему. На початку цього дерева розташований кореневий каталог, який позначається як символ / (похила лінія). Далі розташовуються інші каталоги та файли. Призначення основних каталогів першого рівня наведено в розділі 1.3. На відміну від операційних систем MS-DOS і Windows, тут майже всі каталоги мають стандартні імена і їх не можна вилучати або перейменовувати.

Каталог X, що входить до складу каталога більш високого рівня Y, є по відношенню до нього підкаталогом, а сам каталог Y – батьківським каталогом для X, або надкаталогом.

Для найменування каталогів першого рівня, тобто підкаталогів кореневого каталога, необхідно спочатку вказати ім’я кореневого каталога (символ /), а потім – власне ім’я підкаталога, наприклад:

/bin

Для найменування каталогів наступних рівнів необхідно послідовно вказати імена всіх каталогів по дереву каталогів, починаючи із кореневого каталога. Ці імена розділяються між собою символом /. Наприклад:

/home/user/tom

Каталог, з яким в даний момент працює користувач, називається поточним. Він позначається символом *. * (точка). Для найменування в поточному каталозі безпосереднього батьківського каталога можна скористатись також символами *. . * (дві точки).

 



Файли в Linux

 

Файл з точки зору операційної системи є найбільшою сукупністю даних, з якою можна виконувати різні стандартні операції: копіювання, перейменування, вилучення і т.д. З позицій користувача файл – це поіменована область на диску або іншому машинному носії даних. В файлах можуть зберігатись тексти програм, документи тощо.

В Linux поняття файла є універсальним. Всі фізичні пристрої (дисплей, принтер, клавіатура та ін) представляються як спеціальні файли, які зберігаються в каталозі /dev. До речі, каталоги в Linux розглядаються як третя різновидність файлів, оскільки вони теж займають деяке місце на диску.

Ім’я файла може бути довільним, однак має задовольняти деякі обмеження. По-перше, імена файлів не можуть включати в себе пропуски. По-друге, не рекомендується включати до складу імені такі символи:

/ * \? “ ‘ ^! @ $% & () { } []:; < >

По-третє, довжина імені файла не повинна перевищувати 256 символів. Не варто також забувати, що розрізняють великі та малі букви алфавіту.

Позначення кожного файла може складатись із двох частин, які розділяються точкою: основного імені файла і розширення імені файла. Розширення імені файла використовувати не обов’язково, але бажано, оскільки воно вказує на тип файла. Наприклад,

*. txt - текстовий файл;

*. bin - бінарний, тобто виконуваний, файл;

*. с - програма мовою Сі.

Для звертання до файлів поточного каталогу достатньо вказати лише ім’я файла та розширення імені файла (якщо воно існує). В загальному випадку для звертання до файла із каталога X, необхідно в імені файла вказувати весь шлях по дереву каталогів, починаючи від кореневого каталога і до каталога X. В такому випадку матимемо абсолютне складове ім’я файла. Наприклад, абсолютне складове ім’я файла /Home/user/file. txt

позначає файл file. txt, що знаходиться в каталозі user, який є підкаталогом каталога першого рівня /Home.

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

При виконанні однакових операцій із групою файлів можна використовувати для них узагальнені імена. Символ * позначає будь-яку кількість будь-яких символів в основному імені файла або в розширенні імені файла. Ім’я файла із символами * по суті буде позначати не один файл, а групу файлів. Наприклад, запис *. txt буде позначати всі текстові файли поточного каталога, а запис M*. c позначатиме всі програми мовою С, імена яких розпочинаються із букви М.

Символ? позначає лише один довільний символ або відсутність одного символу в основному імені файла або в розширення імені файла. Наприклад, запис file?. txt може бути узагальненою формою позначення всіх файлів, основне ім’я яких включає 4 або 5 символів і розпочинаються словом file.

 



Основні команди Linux

 

Вичерпну інформацію про формат будь-якої команди Linux можна отримати за допомогою довідкової команди man:

man<імя команди>

Далі розглядаються лише найпоширеніші команди в скороченому форматі.

 

Перегляд каталогу

 

Перегляд вмісту каталогу здійснюється командою ls. Формат команди:

ls [–опції] [<Каталог>] [<Файл1> <…>]

При відсутності всіх опцій та параметрів можна отримати список всіх файлів і підкаталогів поточного каталогу у мінімальному форматі. Мінімальний формат передбачає видачу лише імен файлів та підкаталогів. Розширений формат дозволяє розрізнити між собою файли та підкаталоги (після імен останніх ставиться похила лінія “/”). Повний формат передбачає видачу для кожного файла або підкаталога інформації в такій послідовності:

тип (“d” - підкаталог, “-“ - файл, “b” - блочний пристрій, “c” - символьний пристрій);

права доступу (для користувача-власника, групи користувачів, всіх інших);

користувач;

група користувачів;

обсяг пам’яті в байтах;

дата створення;

час створення;

ім’я.

Основні опції:

l – видача списку файлів та підкаталогів у повному форматі;

F – видача списку файлів та підкаталогів у розширеному форматі;

R – видача списку файлів, каталогів і всієї ієрархії підкаталогів у мінімальному форматі;

[<Каталог>] визначаєтой каталог, для якого визначається список файлів та підкаталогів. За замовчуванням видається інформація про по-точний каталог.

[<Файл1> <…>] визначає файл або файли, про які видається інформація.

Приклад 1. Видача імен файлів та підкаталогів поточного каталогу у мінімальному форматі:

ls

Приклад 2. Видача інформації про каталог /home/user/mydir у розширеному форматі:

ls –F /home/user/mydir

Приклад 3. Видача інформації про файл file1. txt у повному форматі:

ls –l file1. txt

 

Створення каталогу

Для створення нових каталогів (підкаталогів) використовується команда mkdir. Формат команди:

mkdir [–опції] [<Каталог1> <…>]

Основні опції:

m <права> – задання прав доступу для створюваного каталога (в символьному вигляді або у вигляді числа у восьмеричній системі числення).

Приклад 1. Створити каталог mydir1 із наданням прав доступу за замовчуванням:

mkdir mydir1

Приклад 2. Створити каталог mydir2 із забороною запису та вилучення із нього файлів для всіх, за винятком користувача-власника:

mkdir –m 755 mydir2

 

Зміна поточного каталогу

 

Для переходу із поточного каталогу в інший каталог використовується команда cd. Формат команди:

cd [<Каталог>]

Приклад 1. Перейти в каталог /home/user/dir1/mydir:

cd /home/user/dir1/mydir

Приклад 2. Перейти у батьківський каталог, тобто на один рівень вище по ієрархії каталогів:

cd. .

Приклад 3. Перейти у домашній каталог користувача із будь-якого каталога:

cd

 

Знищення каталогу

 

Для знищення каталогів (підкаталогів) використовується команда rmdir. Формат команди:

rmdir [–опції] [<Каталог1> <…>]

За замовчуванням знищуються лише пусті каталоги та підкаталоги.

Основні опції:

p – знищення всіх підкаталогів того каталога, який ліквідовується.

Приклад 1. Знищити каталог mydir:

rmdir mydir

Приклад 2. Знищити каталог mydir та його пусті підкаталоги mydir1 та mydir2:

rmdir - p mydir/mydir1 mydir/mydir2

 

Створення файла

 

Створити файл можна за допомогою багатофункціональної команди cat. Формат команди для виконання цієї задачі:

cat > <file>

Приклад 1. Для створення нового текстового файла необхідно спочатку виконати команду

cat > file1. txt

Далі вводиться необхідний текст.д.ля повернення в командний режим необхідно натиснути клавіші <Ctrl><d>.

Для додання нових даних в кінець цього файла треба виконати аналогічні дії, але з іншою командою:

cat >> file1. txt

 

Копіювання файлів

 

Для копіювання файлів використовується команда cp. Формат команди:

cp [–опції] <Файл1> … < ФайлN> <Файл>|<Каталог>

В результаті виконання команди відбувається копіювання одного файла <Файл1> у новий файл <Файл> або кількох файлів <Файл1> … < ФайлN> в каталог <Каталог>.

Основні опції:

i – видача запиту на підтвердження заміни існуючого файла.

Приклад 1. Створити у поточному каталозі копію файла file1. txt:

cp file1. txt file2. txt

Приклад 2. Скопіювати із поточного каталогу файли file1. txt і file2. txt у каталог /home/user/work:

cp file1. txt file2. txt /home/user/work

 

Знищення файлів

 

Для переміщення файлів між різними каталогами використовується команда rm. Формат команди:

rm [–опції] <Файл1> … < ФайлN>

За замовчуванням знищуються лише файли і без попереднього запиту на знищення.

Основні опції:

i – видача запиту на підтвердження знищення файла.

f – знищення каталогу і всіх його підкаталогів, в тому числі і непустих.

Приклад 1. Знищити всі текстові файли із запитом на підтвердження для кожного файла:

rm –i *. txt

 



Об’єднання файлів

 

Для об’єднання файлів використовується багатофункціональна команда cat. Формат команди для виконання цієї задачі:

cat [–опції] <Файл1> … < ФайлN>

За замовчуванням файли <Файл1> … < ФайлN> об’єднуються один за другим в порядку їх запису в команді і результат видається на стандартний пристрій виведення, тобто на екран дисплея.

Основні опції:

n – здійснити нумерацію рядків об’єднаного файла.

e(E) – показати кінець кожного рядка за допомогою символу $.

Приклад 1. До файла file1. txt дописати файл file2. txt:

cat file1. txt file2. txt

Приклад 2. Об’єднати файли file1. txt і file2. txt у файл common. txt:

cat file1. txt file2. txt > common. txt

 

Сортування файлів

 

Для сортування вмісту текстових файлів використовується команда sort. Формат команди:

sort [–опції] <Файл1> … < ФайлN>

За замовчуванням вміст файлів <Файл1> … < ФайлN> відсортовується за алфавітом і результат видається на стандартний пристрій виведення, тобто на екран дисплея.

Основні опції:

r – відсортувати в оберненому порядку.

o <File> – результат сортування записати у файл <File>.

r – розглядати бінарні файли як текстові.

Приклад 1. Відсортувати вміст файла file1. txt в оберненому порядку і результат записати у файл result. txt:

sort –r –o result. txt file1. txt

 

Пошук у файлі за зразком

 

Пошук у файлі заданих ключових слів чи текстових фраз здійснюється командою grep. Формат команди:

grep [–опції] <зразок> [<файл>]

Результатом виконання команди є всі рядки із <файл>, які містять заданий <зразок>.

Основні опції:

f FILE – зразок для пошуку береться у першому рядку із файла FILE;

a – розглядати бінарні файли як текстові;

r – ігнорувати відмінності в регістрах.

Приклад 1. Знайти всі рядки у file1. txt, які містять слово “display” або “Display”:

grep –r “display” file1. txt

 

Пошук файлів

 

Для пошуку файлів використовується команда find. Формат команди:

find [<місце пошуку>] [<вираз>]

Здійснюється пошук файла із каталогів, заданих в <місце пошуку>, згідно з критерієм, що визначається у <вираз>. Можна виконувати пошук файлів за різними критеріями:

за іменем (–name <ім’я файла>);

за датою або часом створення (-atime n, mtime n);

за розміром (–size n);

за типом (–type t);

за іменем користувача-власника (–user <ім’я власника>);

за іменем групи користувачів (–group <ім’я групи>).

Можна шукати один конкретний файл або сукупність однотипних файлів, які можна задати одним іменем із символами підстановки. Якщо не вказано <місце пошуку>, тоді пошук здійснюється у поточному каталозі.

Приклад 1. Здійснити пошук файла inittab за всіма каталогами:

find / –name inittab

 

Перегляд файлів

 

Існує декілька команд для перегляду вмісту файла на екрані дисплея. Для малих за розміром файлів можна скористатись багатофункціональною командою cat. Вміст файла file1. txt на екрані дисплея можна побачити після виконання команди

cat file1. txt

Якщо вміст файла не поміщається повністю на екрані, тоді знадобиться команда more. За командою

more file1. txt

на екран дисплея буде виведено першу сторінку цього файла. Натискуючи клавішу <Enter>, можна переглянути посторінково весь вміст файла.

Переглянути посторінково текст файла можна також і за командою

less file1. txt

Важливою перевагою цієї команди є те, що можна рухатись не тільки вниз по тексту, але і повертатись назад.

За допомогою команди

head [–опції] <файл>

можна переглянути лише початок файла, а за допомогою команди

tail [–опції] <файл>

можна переглянути лише кінець цього файла.

Основні опції команд head і tail:

n c – видати на екран n символів;

n l – видати на екран n рядків;

n d – видати на екран n блоків.

Приклад 1. Видати на екран перші 5 рядків файла file1. txt:

head –5l file1. txt

Приклад 2. Видати на екран останні 40 символів файла file1. txt:

tail –40c file1. txt

 

Статистичні дані про файл

 

Для отримання статистичних даних про розмір файла використовується команда wc. Формат команди:

wc [–опції] <файл>

За замовчуванням видається інформація про кількість рядків, слів та символів (саме в такому порядку) у <файл>. За допомогою опцій можна отримати цю інформацію вибірково:

l – видати кількість рядків;

w – видати кількість слів;

с – видати кількість символів.

Приклад. Видати на екран кількість рядків файла file1. txt:

wc –l file1. txt

 

Каталоги в Linux

 

Файлова система Linux має багато каталогів, які утворюють ієрархічну деревоподібну систему. На початку цього дерева розташований кореневий каталог, який позначається як символ / (похила лінія). Далі розташовуються інші каталоги та файли. Призначення основних каталогів першого рівня наведено в розділі 1.3. На відміну від операційних систем MS-DOS і Windows, тут майже всі каталоги мають стандартні імена і їх не можна вилучати або перейменовувати.

Каталог X, що входить до складу каталога більш високого рівня Y, є по відношенню до нього підкаталогом, а сам каталог Y – батьківським каталогом для X, або надкаталогом.

Для найменування каталогів першого рівня, тобто підкаталогів кореневого каталога, необхідно спочатку вказати ім’я кореневого каталога (символ /), а потім – власне ім’я підкаталога, наприклад:

/bin

Для найменування каталогів наступних рівнів необхідно послідовно вказати імена всіх каталогів по дереву каталогів, починаючи із кореневого каталога. Ці імена розділяються між собою символом /. Наприклад:

/home/user/tom

Каталог, з яким в даний момент працює користувач, називається поточним. Він позначається символом *. * (точка). Для найменування в поточному каталозі безпосереднього батьківського каталога можна скористатись також символами *. . * (дві точки).

 



Файли в Linux

 

Файл з точки зору операційної системи є найбільшою сукупністю даних, з якою можна виконувати різні стандартні операції: копіювання, перейменування, вилучення і т.д. З позицій користувача файл – це поіменована область на диску або іншому машинному носії даних. В файлах можуть зберігатись тексти програм, документи тощо.

В Linux поняття файла є універсальним. Всі фізичні пристрої (дисплей, принтер, клавіатура та ін) представляються як спеціальні файли, які зберігаються в каталозі /dev. До речі, каталоги в Linux розглядаються як третя різновидність файлів, оскільки вони теж займають деяке місце на диску.

Ім’я файла може бути довільним, однак має задовольняти деякі обмеження. По-перше, імена файлів не можуть включати в себе пропуски. По-друге, не рекомендується включати до складу імені такі символи:

/ * \? “ ‘ ^! @ $% & () { } []:; < >

По-третє, довжина імені файла не повинна перевищувати 256 символів. Не варто також забувати, що розрізняють великі та малі букви алфавіту.

Позначення кожного файла може складатись із двох частин, які розділяються точкою: основного імені файла і розширення імені файла. Розширення імені файла використовувати не обов’язково, але бажано, оскільки воно вказує на тип файла. Наприклад,

*. txt - текстовий файл;

*. bin - бінарний, тобто виконуваний, файл;

*. с - програма мовою Сі.

Для звертання до файлів поточного каталогу достатньо вказати лише ім’я файла та розширення імені файла (якщо воно існує). В загальному випадку для звертання до файла із каталога X, необхідно в імені файла вказувати весь шлях по дереву каталогів, починаючи від кореневого каталога і до каталога X. В такому випадку матимемо абсолютне складове ім’я файла. Наприклад, абсолютне складове ім’я файла /Home/user/file. txt

позначає файл file. txt, що знаходиться в каталозі user, який є підкаталогом каталога першого рівня /Home.

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

При виконанні однакових операцій із групою файлів можна використовувати для них узагальнені імена. Символ * позначає будь-яку кількість будь-яких символів в основному імені файла або в розширенні імені файла. Ім’я файла із символами * по суті буде позначати не один файл, а групу файлів. Наприклад, запис *. txt буде позначати всі текстові файли поточного каталога, а запис M*. c позначатиме всі програми мовою С, імена яких розпочинаються із букви М.

Символ? позначає лише один довільний символ або відсутність одного символу в основному імені файла або в розширення імені файла. Наприклад, запис file?. txt може бути узагальненою формою позначення всіх файлів, основне ім’я яких включає 4 або 5 символів і розпочинаються словом file.

 



Розгляд структури каталогів Linux

 

Розглянемо призначення основних каталогів першого рівня.

Каталог /root. Він є робочим каталогом суперкористувача. Після реєстрації суперкористувач попадає саме в цей каталог.

Каталог /home. Цей каталог використовується для зберігання даних користувачів. В ньому створюються підкаталоги для кожного користувача під тим іменем, під яким реєструється користувач на початку сеанса роботи (login). Тільки в свому каталозі (а також в каталозі /tmp) рядовий користувач може створювати нові підкаталоги і файли.

Каталог /boot. В ньому містяться файли, що використовуються при початковому завантаженні операційної системи (ОС).

Каталоги /bin і /sbin. В цих каталогах містяться: системні утиліти і бінарні (тобто виконувальні) файли, оболонки, файли багатьох зовнішніх команд, редактори та т.п. Головною відмінністю між програмами, що зберігаються в згаданих каталогах є те, що програми з каталогу /sbin можуть бути виконані лише суперкористувачем.

Каталог /lib. В цьому каталозі знаходяться загальні системні бібліотеки. В одному з підкаталогів каталога /lib знаходиться ядро Linux.

Каталог /dev. Тут знаходяться файли, які представляють системні пристрої (термінали, принтери, вінчестери і т.п.).

Каталог /usr. Цей каталог призначено для зберігання файлів, які не змінюються та спільно використовуються різними користувачами. В підкаталогах /usr/bin і /usr/sbin міститься велика кількість програм, які за своїми функціями подібні до каталогів /bin та /sbin. Підкаталог /usr/share містить дані, які переносяться між комп’ютерами з різними операційними системами.

Каталог /mnt. В цьому каталозі знаходаться підкаталоги, що використовуються як точки монтування для інших файлових систем. До підкаталога /mnt/windows підключається файлова система ОС Windows, до підкаталогу /mnt/floppy підключаються дискети і т.д. Імена цих підкаталогів можуть бути змінені.

Каталог /etc. Цей каталог використовується для зберігання конфігураційних файлів ОС. Серед множини підкаталогів дуже важливим є підкаталог /etc/X11, де зберігаються файли конфігурації системи Х Window, а також підкаталог /etc/rc. d, де міститься сценарій початкового завантаження Linux.

Каталог /opt. В цьому каталозі інсталюються додаткові пакети програм.

Каталог /var. Тут зберігаються файли, вміст яких часто змінюється. Найважливіші такі підкаталоги:

/var/log – для зберігання системних журналів;

/var/mail – для організації поштових скриньок користувачів; /var/spool – для організації буферних черг для принтера, пошти і т.п.

Каталог /lost+found. Цей каталог призначений для зберігання пошкоджених даних, які можуть з’явитися після перевірки файлової системи Linux.

Каталог /tmp. Тут зберігаються тимчасові файли системи і користувачів.

Каталог /auto. Цей каталог використовується для конфігурування пристроїв з метою автоматичного знаходження і монтування носіїв інформації в момент їх встановлення.

 



Основні команди Linux

 

Вичерпну інформацію про формат будь-якої команди Linux можна отримати за допомогою довідкової команди man:

man<імя команди>

Далі розглядаються лише найпоширеніші команди в скороченому форматі.

 

Дата: 2019-05-29, просмотров: 211.