Робота з файлами і каталогами

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Міністерство загальної та професійної освіти РФ

Волзький університет ім.Татіщева

Факультет «Інформатика і телекомунікації»

Кафедра «Інформатика та системи управління»

ЗАТВЕРДЖУЮ

Проректор з УР

Є. В. Нікіфорова

2000

МЕТОДИЧНИЙ ПОСІБНИК

дисципліна «Операційні системи» ОС UNIX

Робота з файлами і каталогами

для студентів спеціальностей

Обчислювальні машини, системи, комплекси та мережі

Інформаційні системи в техніці та технології

м. Тольятті

2001

Методичний посібник призначений для студентів денного та заочного відділень спеціальностей «Обчислювальні машини, системи, комплекси та мережі», «Інформаційні системи в техніці та технології» для вивчення основних правил проектування операційних систем. Розроблено на підставі державного стандарту.

Укладач: ст. викладач Трубачова С. І.

Файлова система

Структура файлової системи

Файлова система побудована із звичайних файлів, символічних зв'язків та довідників. Ці компоненти забезпечують спосіб організації, пошуку та керування нею. Перш ніж докладно описувати компоненти, дамо короткий огляд.

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

Спеціальні файли відповідають фізичним пристроїв (наприклад, термінал або диск).

Символічна зв'язок - це файл, який вказує на інший файл.

Довідник містить імена інших довідників (званих подсправочнікамі) або файлів. Файли ви можете групувати в довідники на свій вибір.

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

Ваш власний довідник

Після того як ви успішно завершили процедуру реєстрації, система UNIX поміщає вас в певне місце в структурі файлової системи, зване вашим власним довідником. Реєстраційне ім'я, призначене вам системою UNIX, зазвичай є ім'ям цього довідника. Кожен користувач з повноважним реєстраційним ім'ям має унікальний власний довідник у файловій системі.

Система UNIX здатна тримати зв'язок з усіма власними довідниками, підтримуючи один або більш системних довідників для їх організації. Наприклад, власні довідники з реєстраційними іменами startship, mary 2 і jmrs містяться в системному каталозі, званому home.

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

Поточний довідник

Весь час, що ви будете працювати у вашому власному довіднику, передбачається, що він ваш поточний робочий довідник. Якщо ви перейдете в інший довідник, то він стає вашим поточним довідником.

Команда pwd друкує ім'я довідника, в якому ви зараз працюєте. Наприклад, якщо ваше реєстраційне ім'я startship і ви задаєте команду pwd у відповідь на першу після реєстрації підказку, то система UNIX відповість наступним чином:

$ Pwd <CR> / home / startship

$

У відповідь система назве вам ім'я довідника, в якому ви працюєте (startship) і місце розташування цього довідника у файловій системі. Ім'я шляху / home / startship каже, що довідник root (позначений косою межею в рядку) містить довідник home, який у свою чергу містить довідник startship. Всі інші косі риси в імені шляху використовуються для розділення імен довідників і файлів, і показують положення кожного довідника з

відношенню до root .. Ім'я довідника, яке показує місце розташування довідника в цьому шляху, називається повним ім'ям довідника або ім'ям шляху.

Ім'я шляху

Кожен файл і довідник системи UNIX ідентифікується унікальним ім'ям шляху. Ім'я шляху показує місце розташування файлу або довідника і забезпечує напрям пошуку його. Існує 2 типу імені шляху: повне і родинне.

Повне ім'я шляху

Повне ім'я шляху (іноді називається абсолютним ім'ям шляху) дає напрям, який починається в довіднику root і показує шлях далі по унікальної послідовності довідників до конкретного довідником або файлу. Ви можете використовувати повне ім'я шляхи для пошуку будь-якого файлу або довідника у системі UNIX.

Так як повне ім'я шляху завжди починається з довідника root, то це ім'я починається з символу коса риса (/). Останнє ім'я в повному імені шляху може бути або іменем файлу або ім'ям довідника. Всі інші імена колії повинні бути довідниками.

Щоб зрозуміти як повне ім'я шляху будується, зверніться до такого прикладу. Припустимо, що ви працюєте в довіднику startship, розташованому в / home. Ви задаєте команду pwd і система друкує повне ім'я шляху вашого робочого довідника:

/ Home / startship

/ - Це кореневий довідник (root);

home - системний довідник, розташований на один рівень нижче довідника root;

/ - Поділяє імена довідників root і startship;

startship - поточний робочий довідник.

Родинне ім'я шляху

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

Родинне ім'я шляху починається з імені довідника або файлу.

Одна крапка (.) Означає поточний довідник, дві точки (..) - довідник, безпосередньо знаходиться вище поточного довідника в ієрархії файлової системи. Довідник, представлений двома точками, називається батьківським для довідника, позначеного однією точкою (вашого поточного довідника).

Наприклад, ви знаходитеся в довіднику startship, який містить довідники draft, letters і bin і файл mbox. Спорідненим ім'ям шляхи для кожного з них є просто його ім'я.

Довідник draft, що належить довіднику startship, містить файли outline і table. Родинне ім'я шляху від startship до файлу outline:

draft / outline

Зверніть увагу, що коса риска в цьому імені шляху розділяє ім'я довідника draft та ім'я файлу outline. Тут було згадано вище показує, що outline є підпорядкованим довіднику draft, тобто draft є батьком outline.

Щоб піднятися до батька вашого поточного довідника, ви можете ввести дві точки (..). Це означає, що якщо ви перебуваєте в довіднику draft, то .. є ім'ям шляху до startship, і ../.. є ім'ям шляху до батьківського довіднику для startship, тобто до home.

З довідника draft ви також можете простежити шлях до файлу sanders, вказавши ім'я шляху .. / letters / sanders. Дві точки (..) приводить вас до starship. Потім імена letters і sanders ведуть вас вниз через довідник letters до файлу sanders.

Правила іменування довідників і файлів

Ви можете давати довідників або файлів будь-які імена у відповідності з наступними правилами:

допустимі всі символи, за винятком /;

деякі імена краще не використовувати, такі як пробіл, табуляція і наступні:? "# $ ^ ();<>[]| \ *@'~&. Якщо ви скористаєтеся символами пробіл або табуляція в імені файлу або довідника, то ви повинні укласти ім'я в подвійні лапки в командному рядку;

уникайте використання знаків + - або. в якості першого символу в імені файлу;

система UNIX розрізняє великі та малі літери. Наприклад, система припускає, що довідник (або файл) названий draft відрізняється від DRAFT.

Організація довідника

У цьому розділі описуються 4 системні команди, що дозволяють вам організовувати і використовувати структуру довідника:

mkdir - створити новий довідник або подсправочнік у вашому поточному довіднику;

ls - надрукувати список імен всіх подсправочніков і файлів у довіднику;

cd - змінити ваше місце розташування у файловій системі, тобто перейти з одного довідника в іншій;

rmdir-видалити порожній довідник. Ці команди можуть використовувати або повне ім'я шляху, або споріднене. Дві команди можуть застосовуватися без імені шляху.

Команда mkdir - створити довідник

Рекомендується створювати подсправочнікі у вашому власному довіднику відповідно до логічної схемою, яка буде полегшувати відновлення інформації Ваших файлів. Якщо ви помістіть всі файли, пов'язані з однією темою, в один довідник, то ви будете знати, де їх потім знайти. Для створення довідника скористайтеся командою mkdir.

Синтаксис команди:

mkdir ім'я довідника (ів)

Наприклад, подсправочнік draft створюється за допомогою наступної команди, що видається з довідника home (/ home / startship): $ mkdir draft

Користувач може створити одразу кілька подсправочніков одночасно, перерахувавши їх усіх в одній командному рядку:

$ Mkdir draft letters bin

Ви можете перейти до подсправочніку і в ньому побудувати додаткові подсправочнікі.

Команда ls - надрукувати вміст довідника

Усі довідники у файловій системі мають інформацію про які у них файлах і довідниках, таку як: ім'я, розмір і дата останньої модифікації. Ви можете отримати цю інформацію про вашому поточному довіднику та інших системних довідниках, задавши команду ls.

Команда ls перераховує імена всіх файлів і подсправочніков у вказаному довіднику. Якщо ви не вкажете довідник, то команда ls надрукує інформацію про файли і довідниках у вашому поточному довіднику.

Звернімося до прикладу. Припустимо, що ви зареєструвалися в системі UNIX під ім'ям startship і задали команду pwd. Система надрукує ім'я шляху / home / startship. Щоб відобразити імена файлів і довідників в цьому поточному довіднику, введіть команду ls і натисніть клавішу <RETURN>. Після того, як ви виконаєте послідовність цих команд, екран буде виглядати наступним чином:

$ Pwd <CR>

/ Home / startship

$ Ls <CR>

bin

draft

letters

list

mbox

$

Зверніть увагу, що система видає перелік довідників в алфавітному порядку. Якщо першим символом імені файлу або довідника буде цифра або велика буква, то воно буде надруковано першим.

Щоб надрукувати імена файлів і подсправочніков в довіднику, відмінному від поточного без переходу з поточного довідника, ви повинні вказати ім'я довідника.

Синтаксис команди:

ls ім'я шляху

Ім'я шляху може бути або повним ім'ям шляху необхідного довідника, або родинним. Наприклад, ви можете отримати зміст довідника draft, коли ви працюєте в довіднику startship, якщо введете команду ls draft. Екран терміналу буде виглядати наступним чином:

$ Ls draft <CR>

Outline

table

$

У цьому прикладі draft є спорідненим ім'ям шляху від батька (starship) до підлеглого довідника (draft).

Ви також можете використовувати родинне ім'я шляхи для друку вмісту батьківського довідника в той час, коли ви знаходитесь в підлеглому довіднику. Дві точки (..) є найпростішим способом виконання цієї функції. Наприклад, наступна командний рядок вказує родинне ім'я шляху від довідника startship до home:

$ Is .. <CR> jmrs

mary2 startship

$

Ви отримаєте той же результат, якщо поставите повне ім'я шляху від root до home:

ls / home <CR>

Ви можете роздрукувати вміст будь-якого системного довідника, до якого маєте право доступу, виконавши команду ls з повним або родинним ім'ям шляху.

Команда ls особливо корисна, якщо ви маєте багато файлів і намагаєтеся визначити, чи існує певний файл у вашому поточному довіднику. Наприклад, ви знаходитеся в довіднику draft і хочете визначити, чи є в ньому файли outline і notes. Задайте команду Is наступним чином:

$ Ls outline notes <CR>

outline

notes: No such file or directory

$

Система повідомить, що файл outline існує в цьому довіднику, а ось файл notes не знайдений.

Команда Is не роздруковувати вміст файлу. Для цих цілей скористайтеся командами cat, pg, pr.

Часто використовувані ключі команди ls

Команда ls може містити ключі, які перераховують специфічні атрибути файлу або подсправочніка. Найчастіше використовуються ключі-а і-l.

1. Перелічити всі файли в довіднику.

Імена деяких файлів у вашому власному довіднику починаються з точки (наприклад,. Profile). Коли ім'я файлу починається з точки, він не включається до списку, роздруковується командою Is. Щоб роздрукувати такі файли, введіть команду Is з ключем-а ..

Наприклад, щоб роздрукувати інформацію про всі файлах у вашому поточному довіднику (starship), включаючи і файли, ім'я яких починається з точки, введіть команду Is-а і натисніть клавішу <RETURN>.

2.Распечатать вміст у скороченому форматі.

Ключі-С і - F команди ls використовуються досить часто. Разом ці ключі роздруковують подсправочнікі та файли довідників і позначають виконувані файли символом *, довідники - символом /, символічний зв'язок (канали) - символом @.

Наприклад, ви можете роздрукувати інформацію про всі файлах вашого робочого довідника startship, виконавши команду:

3.Распечатать вміст у розширеному форматі.

Можливо, більш інформативним ключем команди ls є ключ -1, який відображає зміст довідника в розширеному форматі. Цей формат включає в себе: режим, число зв'язків, власник, група, розмір у байтах і час останньої модифікації кожного файлу. Припустимо, ви задали команду Is -1, перебуваючи в довіднику startship:

Перша вивідна рядок (total 30) показує обсяг дискового простору в байтах. Наступні рядки дають уявлення про довідниках і файлах у довіднику startship. Перший символ у кожному рядку (d, -, l, b або c) говорить про тип файлу:

d = довідник

- = Звичайний файл

1 = символічна зв'язок (канал)

b = спеціальний блоковий файл

з = спеціальний символьний файл

Таким чином на екрані ви можете бачити, що довідник startship містить три довідники і два звичайних файлу.

Наступні кілька символів, які є або літерами, або дефісами, ідентифікують право на читання та використання файлу або довідника.

Далі слідує цифра - лічильник зв'язків. Для довідника цей лічильник показує число довідників, розташованих під ним, плюс два (для самого довідника і довідника-батька).

Наступним є реєстраційне ім'я власника файла (у даному випадку startship), і за ним - групове ім'я файлу або довідника (project).

Наступне число показує довжину файлу або довідника в байтах. Місяць, день і час останньої модифікації файлу - в передостанній колонці. В останній колонці представлено ім'я довідника або файлу.

Команда cd - змінити поточний довідник

Відразу ж після реєстрації в системі UNIX, ви потрапляєте у ваш власний довідник. Поки ви будете працювати в ньому, він буде вашим поточним довідником. За допомогою команди cd ви зможете працювати в іншому довіднику.

Синтаксис команди:

cd ім'я-шляху-нового-довідника <СR>

Будь-яке припустиме ім'я шляху (повне або споріднене) може використовуватися як аргумент команди cd .. Якщо ви не вкажете ім'я шляху, то команда перемістить вас у ваш власний довідник. Довідник, в який ви перейшли, стає вашим поточним довідником.

Наприклад, щоб перейти з довідника startship в підпорядкований draft, введіть команду cd draft і натисніть клавішу RETURN. Після отримання підказки ви можете перевірити ваше нове місце розташування, ввівши команду pwd.

Тепер, перебуваючи в довіднику draft, ви можете створити подсправочнікі в ньому, задавши команду mkdir, і нові файли, використовуючи редактор ed або vi.

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

Ви також можете використовувати повне ім'я шляху в команді cd. Наприклад, щоб перейти з довідника draft в довідник letters, введіть:

cd / home / startship / letters <CR>

Так як letters і draft є підпорядкованими довіднику srartship, то ви можете використовувати родинне ім'я шляху .. / letters в команді cd. Дві точки (..) переміщають вас в довідник startship і / letters переміщує вас в letters.

Отже, команда cd змінює ваш робочий довідник. Аргументом команди cd є нове ім'я довідника. Якщо аргумент відсутній, команда cd поміщає вас у ваш власний довідник.

Коли shell поміщає вас в зазначений довідник, то повертається підказка $. Щоб отримати доступ до довідника, який не є вашим робочим довідником, ви повинні вказати повне або родинне ім'я шляху в командному рядку.

Команда rmdir - видалити довідник

Якщо вам більше не потрібен довідник, ви можете видалити його за допомогою команди rmdir.

Синтаксис команди:

rmdir ім'я (імена) довідника (ів)

Ви можете вказати більше одного імені довідників в командному рядку.

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

Якщо ви спробуєте видалити довідник, в якому містяться подсправочнікі і файли, то команда rmdir надрукує повідомлення:

ім'я-довідника not empty

Наприклад, припустимо, що ви маєте довідник memos, який містить один подсправочнік: tech і два файли june .30 і july .31. Якщо ви спробуєте видалити довідник memos, то отримаєте повідомлення:

$ Rmdir memos <CR> rmdir: memos not empty

$

Щоб видалити довідник memos, ви повинні спочатку видалити його вміст: подсправочнік tech і файли june .30 і july .31. Видаливши вміст довідника memos, можете видалити і його. Однак спочатку перейдіть на батьківський довідник (ваш власний). Команда rmdir не відпрацює, якщо ви будете перебувати в тому ж довіднику, який видаляєте. З свого власного довідника задайте команду:

rmdir memos <CR>

Якщо довідник memos порожній, то ця команда його видалить і поверне вам підказку.

Доступ до файлу і робота з ним

У цьому підрозділі описуються кілька команд системи UNIX, які здійснюють доступ до файлу і роблять обробку його в структурі файлової системи. Команди розділені на дві групи: основні та advanced.

Основні команди є фундаментальними у використанні файлової системи; advanced команди припускають складну техніку обробки інформації при роботі з файлами.

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

У цьому підрозділі описуються команди системи UNIX, необхідного для доступу до файлів і для їх використання.

cat - Друкує вміст зазначеного файлу на термінал

pg - Друкує вміст зазначеного файлу на термінал порціями або сторінками

рг - Друкує частково відформатовану версію зазначеного файлу на термінал

ср - Створює копію існуючого файлу

mv - Переміщає або видаляє файли

rm - Видаляє файл

wc - Роздруковує інформацію про кількість рядків, слів та символів у файлі

chmod - Змінює режим доступу до файлу (або довідником)

Команди cat, pg, рг - роздрукувати вміст файлу

У системі UNIX існує три команди для друкування вмісту файлів: cat, pg, рг. Команда cat виводить вміст файлу на екран терміналу або, якщо ви вкажете, в інший файл або нову команду.

Команда pg особливо корисна, якщо ви хочете прочитати вміст великого файлу, тому що вона відображає текст файлу посторінково.

Команда рг форматує зазначені файли і відображає на термінал або направляє вивід на друк.

Команда cat

Команда cat відображає вміст файлу або файлів. Наприклад, припустимо, ви перебуваєте в довіднику letters і ви хочете відобразити вміст файлу Johnson. Введіть команду cat Johnson і на екрані з'явиться наступна інформація:

$ Cat johnson <CR> March 5, 1986

Mr. Ron Johnson Layton Printing 52 Hudson Street New York, NY

Dear Mr. Johnson:

I enjoyed with you this morning

about your company's plans to

your business.

Enclosed please find

the material you requested

about AB & C's line of computers

and office automation software.

If I can be of furtther assistance to you, please don't besitate to call.

Yours truly,

John Home

$

Щоб відобразити вміст двох або більше файлів, перерахуйте імена цих файлів у командному рядку. Наприклад, щоб роздрукувати вміст файлів Johnson і sanders, введіть команду:

$ Cat Johnson sanders <CR>

Команда cat прочитає файли Johnson і sanders і роздрукує їх вміст на терміналі.

Синтаксис команди:

cat ключі назва_пакунка (ів) <СR>

Якщо вказаний файл не існує або його не можна прочитати, на екрані з'являється наступне повідомлення:

cannot open назва_пакунка

Команда pg

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

Команда Функція

h - Допомога. - Роздруковує список допустимих інструкцій команди pg

q або Q - Припиняє режим команди pg

<CR> - Відображає наступну сторінку тексту

l - Відображає наступний рядок тексту

d або ^ d - Відображає додаткову половину сторінки тексту

або ^ l - Знову відображає поточну сторінку тексту

f - Пропускає одну сторінку тексту і роздруковує наступну за нею

n - Починає роздруковувати наступний вказаний в командному рядку файл

р - Відображає попередній вказаний в командному рядку файл

s - Відображає останню сторінку тексту поточного файлу

/ Pattern - Здійснює пошук вперед зазначеного шаблону символів

? Pattern - Здійснює пошук назад зазначеного шаблону символів

Примітка. Деякі команди можуть бути введені з цифрою попереду. Наприклад:

+1 <CR> - відображає наступну сторінку;

1 <CR> - відображає попередню сторінку;

1 <CR> - відображає першу сторінку тексту.

Команда pg особливо корисна, якщо ви читаєте великий файл або серію файлів, тому що пауза після кожної сторінки дає можливість для аналізу інформації. Розмір відображуваної сторінки залежить від типу терміналу. Наприклад, термінал здатний відображати 24 строки; значить сторінка тексту визначається 23 рядки плюс один рядок для двокрапки.

Якщо файл має менш 23 рядки, то довжина сторінки буде дорівнює числу рядків у файлі плюс один рядок (для двокрапки).

Синтаксис команди:

pg назва_пакунка (ів) <СК>

Наприклад, щоб відобразити вміст файлу outline з довідника draft, введіть команду:

pg outline <CR>

Перша сторінка тексту з'явиться на екрані. Так як у файлі більше рядків, ніж вмістилося на одній сторінці, то внизу екрану з'явиться двокрапка. Коли ви будете готові читати текст далі, натисніть клавішу <RETURN> і pg надрукує наступну сторінку тексту.

Коли весь файл буде прочитано, в останньому рядку з'явиться:

(EOF):

Підказка: (двокрапка) пропонує вам ввести нову команду.

Якщо ви у відповідь на підказку: натиснете клавішу <RETURN>, то знову з'явиться підказка. Ви можете скористатися однією з раніше перерахованих допустимих команд.

Успішне виконання команди pg залежить від типу терміналу, який ви використовуєте. Це пов'язано з тим, що програма pg досить гнучка і може бути запущена на різних терміналах; те, як вона запускається, залежить від конкретного типу терміналу. Вказавши тип терміналу, ви говорите команді:

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

скільки колонок друкувати;

як очистити екран;

як висвітлити підказку чи інші слова;

як стерти поточний рядок.

Щоб визначити тип терміналу, надайте код вашого терміналу змінної TERM у файлі. Profile.

У команді pg можуть застосовуватися всі допустимі ключі.

Команда рг

Команда рг використовується для форматування та друку вмісту файлу. Вона форматує заголовки, кількість сторінок і друкує файл на екрані терміналу.

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

Якщо ви не виберете жоден з допустимих ключів, то команда рг сформує висновок в одну колонку, сторінка міститиме 66 рядків і тексту буде передувати короткий заголовок. Заголовок складається з 5 рядків: дві порожні рядки, рядок, що містить дату, час, ім'я файлу та номер сторінки і далі дві порожні рядки.

Команда рг часто використовується з командою l р для отримання копії тексту на папері у тому вигляді, в якому він був введений у файл.

Наприклад, щоб проаналізувати вміст файлу johnson, введіть команду:

$ Pr johnson <CR>

Порожні рядки після останнього рядка символів у файлі рг додає до висновку, так що кожна сторінка містить загалом 66 рядків. Якщо ви працюєте з відеотерміналом, який має 24 рядки, то всі 66 рядків відформатованого тексту без пауз роздрукують на екрані. Це означає, що перші 42 рядки неможливо буде прочитати, тому що ви не можете повернути екран чи два тому.

У цьому випадку скористайтеся:

^ S - для переривання потоку виведеного на термінал

і

^ Q - для продовження виведення на екран.

Команда ср - зробити копію файлу

При роботі з системою UNIX у вас може з'явитися необхідність зробити копію файлу. Команда ср повністю копіює вміст одного файлу в іншій. Також вона дозволяє вам скопіювати один або більше файлів з ​​одного довідника в іншій, залишивши оригінал файлу на колишньому місці.

Щоб скопіювати файл outline в файл new. Outline в довіднику draft, введіть команду: пор outline new. Outline. Коли система скопіює файл, то поверне підказку. Щоб перевірити існування нового файлу, введіть команду:

ls <CR>

Ця команда перерахує імена всіх файлів і довідників в поточному довіднику (в даному випадку в довіднику draft). Екран буде виглядати наступним чином:

$ Ср outline new.outline <CR>

$ Ls <CR>

new.outline

outline

table

$

Система UNIX не дозволяє мати в одному довіднику два файли з одним ім'ям. Якби файл new. Outline вже існував у цьому довіднику, то він був би замінений на копію файлу outline, попередня версія файлу new. Outline буде видалена.

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

Якщо ви потім перевірите зміст довідника, щоб визначити скільки копій файлу outline існує, то ви отримаєте такий екран:

$ Ср outline new.outline <CR>

cp: outline and outline are identical

$ Ls <CR>

outline

table

$

Система UNIX дозволяє мати файли з однаковими іменами в різних довідниках. Наприклад, ви можете скопіювати файл outline з довідника draft в файл outline в довіднику letters. Якщо ви знаходитесь в довіднику draft, то зможете скористатися однією з перерахованих нижче 4-х командних рядків. У перших двох рядках Ви вказуєте ім'я нового файлу при виконанні копіювання.

ср outline / home / startship / letters / outline <CR>

(Вказано повне ім'я шляху)

ср outline. . / Letters / outline <CR>

(Вказано родинне ім'я шляху)

Однак система UNIX не вимагає, щоб вказували нове ім'я файлу. Якщо ви не вкажете ім'я нового файлу в командному рядку, то ср дасть новому файлу те ж ім'я, яке має оригінальний файл. У цьому випадку можете задати команду в одному з наступних видів:

ср outline / home / startship / letters <CR>

(Вказано повне ім'я шляху)

ср outline .. / letters <CR>

(Вказано родинне ім'я шляху)

Якщо ви хочете дати інше ім'я новому файлу, то обов'язково вкажіть це ім'я.

Наприклад, щоб скопіювати файл outline (довідник draft) у файл з ім'ям outlin. Vers 2 в довідник letters, потрібно задати одну з наступних команд:

ср outline home/startship/letters/outlin.vers2 <CR>

(Вказано повне ім'я шляху)

ср outline ../letters/outlin.vers2 <CR>

(Вказано родинне ім'я шляху)

Синтаксис команди:

ср ключі ім'я-файла1 ім'я-фaйлa2 <CR>

ср ключі назва_пакунка (ів) cnpa вочнік <CR>

Команда mv - перейменування файлу

Команда mv дозволяє вам перейменувати файл у тому ж довіднику або перемістити його з одного довідника в іншій. Коли переміщаєте файл в інший довідник, то можете перейменувати його або залишити колишнє ім'я.

Синтаксис команди:

mv ім'я-файла1 ім'я-файла2 <СК>

Команда mv змінює ім'я-файла 1 на ім'я-файла2 і видаляє файл 1. Назва_пакунка 1 і назва_пакунка 2 можуть бути будь-якими допустимими іменами, включаючи ім'я шляху. Ім'я-файла2 може бути довідником.

Наприклад, якщо ви знаходитеся в довіднику draft і хочете перейменувати файл table на new. Table, введіть команду:

mv table new.table <CR>

Якщо команда виконається успішно, то на екрані з'явиться підказка. Перевірте, що файл new. Table існує. Екран буде виглядати наступним чином:

$ Mv table new.table <CR>

$ Ls <CR>

outline

new. table

$

Щоб переписати файл в іншій довідник без зміни імені, введіть команду:

mv назва_пакунка (ів) cnpa вочнік <CR>

Наприклад, ви хочете переписати файл table з поточного довідника draft (який має повне ім'я шляху / home / startship / draft) у файл з тим же ім'ям в довідник letters (який має родинне ім'я шляху з draft .. / letters і повне ім'я шляху / home / startship / letters). Для цього можете скористатися однією з наступних командних рядків:

mv table / home / startship / letters <CR>

mv table / home / startship / letters / table <CR>

mv table .. / letters <CR>

mv table .. / Letters / table <CR>

mv / home / startship / draft / table / home / startship / letters <CR>

Тепер, припустимо, ви хочете перейменувати файл table в table 2 і переписати в довідник letters. Для цього скористайтеся однією з таких командних рядків:

mv table / home / startship / letters / table 2 <CR>

mv table ../letters/table2 <CR>

Коли ви переписуєте файл з ім'ям ім'я-файла1 в ім'я-файла2 і файл з ім'ям ім'я-файла2 вже існує, команда mv перезапише нову версію файлу. Стара версія файлу видаляється.

Команда rm - видалити файл

Щоб видалити файл, введіть наступну команду:

rm фaйл (и) <CR>

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

rm файл1 файл2 файл3 ... <CR>

Щоб перевірити, чи успішно виконалася команда, виконайте команду ls. Наприклад, припустимо, що у вашому довіднику знаходяться файли outline і table. Ви хочете видалити обидва файли. Якщо команда rm виконається успішно, то довідник буде порожньою. Перевірте, задавши команду ls. Екран буде виглядати наступним чином:

$ Rm outline table <CR>

$ Ls

$

Підказка говорить про те, що файли outline і table видалені.

Команда wc - підрахунок рядків, слів і символів

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

Синтаксис команди:

wc ім'я-фaйлa <CR>

Система відповідає рядком у наступному форматі:

1 w з файл

де 1 - число рядків у файлі;

w - кількість слів у файлі;

с - число символів в файлі.

Наприклад, щоб підрахувати кількість рядків, слів та символів у файлі johnson, що знаходиться в поточному довіднику, введіть команду:

$ We johnson <CR> 24 66 406 johnson

$

Система відповідає, що у файлі Johnson 24 строки, 66 слів і 406 символів.

Щоб підрахувати кількість рядків, слів і символів в декількох файлах, використовуйте наступний формат:

we файл1 файл2 <СR>

Система відповідає наступним чином:

1 w з файл1

1 w з файл2

1 w з total

Число рядків, слів і символів для файл1 і файл2 відображається на окремих рядках. На останньому рядку відображається загальна кількість рядків, слів та символів у двох файлах.

Наприклад, підрахуємо кількість рядків, слів та символів у файлах johnson і sanders в поточному довіднику. Екран буде виглядати наступним чином:

$ Wc johnson sanders <CR> 24 66 406 Johnson

  1. 92 559 sanders

  2. 52158965 total

$

Останній рядок показує, що файли Johnson і sanders разом мають 52 рядки, 158 слів і 965 символів.

Щоб отримати тільки кількість рядків, або кількість слів, або число символів, виберіть один з відповідних форматів командного рядка:

wc -1 файл <СR> (кількість стрічок)

wc - w файл <СR> (кількість слів)

wc-с файл <СК> (число символів)

Наприклад, якщо ви використовуєте ключ -1, то система надрукує тільки число рядків у файлі sanders:

$ Wc-l sanders <CR>

28 sanders

$

Команда chmod - змінити статус файлу

Команда chmod дозволяє вам встановлювати дозвіл на читання, запис і використання вашого файлу. Так як операційна система UNIX є багато користувачів, то зазвичай ви не працюєте в поодинці у файловій системі. Користувачі системи можуть будь-яким шляхом звертатися до різних довідниках і читати файли, що належать іншим користувачам до тих пір, поки є дозвіл на це.

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

r - дозволяє користувачам системи читати файл або копіювати його вміст;

w-дозволяє користувачам системи вносити зміни у файл або копіювати його вміст;

х-дозволяє користувачам системи запускати файл на виконання.

Щоб вказати, хто з користувачів має ці права на доступ, використовуються наступні символи:

u - власник файлу і довідника; g - член вашої групи; о-всі користувачі системи.

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

Як визначити права

Ви можете визначити права доступу до файлу або довідником, скориставшись командою ls -1. Наприклад, якщо ви знаходитеся в довіднику startship / bin, і введете команду ls -1, то отримаєте наступну інформацію:

$ Ls -1 <CR>

total 35

-Rwxr-xr-x 1 startship project 9346 Nov 1 8:06 display

-Rw-r - r - 1 startship project 6428 Dec 2 10:26 list drwxr-x - x 2 startship project 32 Nov 8 15:32 tools $

У лівій частині екрана відображені права доступу для файлів display і list і довідника tools:

- Rwxr - xr - x для файлу display

- Rw - r - - r - для файлу list

drwxr - x - x для довідника tools

Перший символ описує тип файлу (наприклад, символ "-" говорить, що це звичайний файл, символ "d" - довідник). Подальші дев'ять символів описують права доступу. Перші три символи з дев'яти встановлюють права доступу для власника, другі три - для групи, треті - для всіх користувачів. Кожен набір символів r, w, x показує поточні встановлені права доступу для кожної категорії користувачів. Якщо замість символу стоїть "-", то відповідне право відсутнє.

Існує два обмеження. Випадково можуть з'явитися літери 1 або s в рядку замість г, w або х. Буква s представляє спеціальне право на виконання файлу. Вона з'являється на тому місці, де зазвичай стоїть буква r у наборах для власника або для групи користувачів і це означає спеціальне право на виконання файлу. Вона має значення лише для програмістів та системних програмістів. Буква l вказує, що блокування буде з'являтися при зверненні до файлу. Це не означає, що файл захищений.

Як змінити існуючі права

Змінити існуючі права можна за допомогою команди chmod. Синтаксис команди:

chmod хто + права файл (и) <З R>

або

chmod хто-права файл (и) <СR>

де

chmod-ім'я програми; хто-одна з трьох груп користувачів: u - власник; g-група; о - всі користувачі; "+" або "-"-наявність або відсутність права; право-одна з трьох прав: м-право на читання; w-право на запис; х - право на виконання; файл (и) - ім'я файлу (ів) (довідника); передбачається, що файл знаходиться в поточному довіднику або ви повинні вказати повне ім'я шляху.

Примітка. Команда chmod не буде виконуватися, якщо ви поставите пробіл між "хто", символами "+","-" і "право".

У наступних прикладах наведено кілька способів використання команди chmod. Як власник display ви можете читати файл, писати в нього і запускати на виконання файл. Ви можете захистити файл від випадкової зміни. Щоб зробити це, введіть наступну командний рядок:

chmod uw display <CR>

Після того як отримаєте підказку, введіть команду:

ls - l <CR>

щоб перевірити, як змінилися права. Екран буде виглядати наступним чином:

$ Chmod uw display <CR> $ ls-l <CR>

total 35

-R-xr-xr-x 1 startship project 9346 Nov 1 8:06 display

-Rw-r - r - 1 startship project 6428 Dec 2 10:26 list

drwxr-x - x 2 startship project 32 Nov 8 15:32 tools

$

Як бачите, змінилося право на внесення змін у файл. Ви не зможете змінити цей файл, поки існує це право запису.

Тепер звернімося до іншого прикладу. Право на запис у файл display не дозволено вашій групі і всім користувачам системи. Однак їм надано право на читання. Це означає, що вони можуть копіювати файл у свій власний довідник і потім вносити до нього зміни. Щоб запобігти ці дії, ви повинні скасувати право на читання. Для цього введіть команду:

chmod go - r display <CR>

де g і про позначають права для групи і для всіх користувачів системи;

-Г - забороняє читати або копіювати файл. -

Перевірте результат і введіть команду ls -1. Екран буде виглядати наступним чином:

$ Chmod go-r display <CR> $ ls -1 <CR>

total 35

-Rwx - x - x 1 startship project 9346 Nov 1 8:06 display

-Rw-r - r - 1 startship project 6428 Dec 2 10:26 list

drwxr-x - x 2 startship project 32 Nov 8 15:32 tools

$

Ви можете використовувати команду chmod для надання або заперечення права для довідників, як і для файлів.

Наприклад, ви надали право на читання довідника собі (і), членам вашої групи (g) і всім користувачам системи. Кожен користувач, який має доступ до системи, буде мати право читати імена файлів, що містяться в цьому довіднику, задавши команду ls -1. Аналогічно, надання права на запис дозволяє користувачам створювати нові файли в довіднику і видаляти в ньому наявні файли. Надане право на виконання в довіднику дозволяє позначеним користувачам переміщатися в цей довідник (і робити його своїм поточним довідником) за допомогою команди cd.

Альтернативний метод

Існує два методи, за допомогою яких може бути виконана команда chmod. Спосіб, описаний вище, в якому символи r, w і х використовуються для вказівки права, називається символічним методом.

Альтернативним методом є восьмеричний метод. Його формат вимагає від вас вказати права з використанням трьох вісімкових цифр (від 0 до 7).

Додаткові команди

У цьому пункті описані три команди, які можуть вам стати в нагоді при роботі з файлами: chown, id, groups. Якщо ви власник файлу, ваше реєстраційне ім'я розміщується в категорії owner. Команда chown дозволяє власнику файлу змінити власний ID на будь-який інший. Наприклад, якщо ви введете команду:

ls - l display <CR>

на екрані з'явиться інформація:

-R-xr-xr-x l owner group 9346 Nov 1 8:06 display

Щоб змінити ваш ID на чий-небудь інший (наприклад, sara) ви повинні ввести:

chown sara display <CR>

Якщо ви введете:

ls-l display <CR>

на екрані з'явиться повідомлення:

-R-xr-xr-x l sara group 9346 Nov один 8:06 display

Якщо ви введете команду chown і на екрані з'явиться повідомлення про помилку, це буде вказувати на те, що системний програміст не передбачив цю можливість при встановленні системи. Якщо ви введете:

id <CR>

то система відобразить ID користувачів і ваш дійсний груповий ID (gid). У залежності від початкової установки системи ви можете належати більш ніж до однієї групи. Щоб визначити, членом якої групи ви є, введіть:

groups <CR>

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

Так як ви добре знайомі з цими командами, вам необхідно отримати більш поглиблені знання з техніки обробки інформації. У цьому пункті представимо три команди:

diff - знайти відмінності між двома файлами;

grep - пошук у файлі за шаблоном;

sort - сортування і злиття файлів.

Команда diff

Команда diff виявляє і повідомляє про всі відмінності між двома файлами і говорить вам як змінити перший файл, щоб він був дублікатом другого.

Синтаксис команди:

diff файл_1 фaйл_2 <CR>

Якщо файл_1 і файл_2 ідентичні, то система повертає підказку. Якщо є відмінності між ними, то команда diff інструктує вас, як змінити перший файл (за допомогою редактора ed), щоб він відповідав другого файлу. Система UNIX позначає рядки в файл_1 (які будуть змінені) символом <(менше), і рядки в файл_2 (шаблон тексту) символом> (більше).

Наприклад, ви хочете знайти відмінності між файлами johnson і mcdonough. Файл mcdonough містить той же текст листа, що і johnson, але з відповідними змінами для різних одержувачів. Команда diff ідентифікує ці зміни таким чином:

3, 6сЗ, 6

<Mr. Ron Johnson

<Layton Printing

<52 Hudson Street

<New York, NY

----

> Mr. JJMcDonough

> Ubu Press

> 37 Chico Place

> Springfield, NJ

9c9

<Dear Mr. Johnson:

----

> Dear Mr. McDonough:

Перший рядок команди diff:

3, 6сЗ, 6

Це означає, що якщо ви хочете, щоб johnson відповідав mcdonough, ви повинні змінити (с) рядки з 3-го по 6-ту у файлі Johnson на рядки з 3-го по 6-ма з файлу mcdonough. Команда diff потім відобразить обидва набору рядків. Якщо ви виконаєте ці зміни (за допомогою таких редакторів як ed або vi), файл johnson буде ідентичний файлу mcdonough. Пам'ятайте, що команда diff шукає відмінності тільки між двома вказаними файлами.

У першій вивідний рядку команди diff можуть з'явитися наступні літери:

а - додати; с - змінити; d - видалити.

Цифри, наведені разом з буквою, вказують на рядки, які повинні бути модифіковані.

Команда greр

Ви можете видати системі UNIX інструкцію пошуку у файлі вказаного слова, фрази, групи символів за допомогою команди grep. Пошук здійснюється за шаблоном.

Синтаксис команди:

grep шаблон файл (и) <СR>

Наприклад, щоб відшукати будь-який рядок, що містить слово automation у файлі johnson, введіть:

grep automation johnson <CR> Система відповість:

$ Grep automation johnson <CR> and office automation software

$

Висновок складається з усіх рядків у файлі Johnson, які містять шаблон, зазначений вами.

Якщо шаблон містить багато слів або будь-яких символів, які мають спеціальне значення для системи UNIX (наприклад, $, |, *,? І т.д.) вводиться шаблон повинен бути укладений в лапки. Наприклад, ви хочете знайти рядки, які містять шаблон office automation. Ваша командний рядок і відповідь системи будуть виглядати наступним чином;

$ Grep 'office automation' johnson <CR> and office automation software

$

Але якщо ви не знаєте, який лист містить шаблон office automation, лист johnson або sanders, можете ввести команду в наступному вигляді:

$ Grep 'office automation' johnson sanders <CR> johnson: and office automation software

$

Вивідна рядок говорить вам, що шаблон office automation знайдений тільки у файлі Johnson.

Додатково до команди grep система UNIX забезпечує різновиди цієї команди - це команди egrep і fgerp з декількома ключами, що полегшують пошук.

Команда sort

Система забезпечує ефективний засіб для сортування і злиття файлів. Синтаксис команди:

sort фaйл (и) <CR>

Ця команда приводить до того, що рядки у вказаному файлі будуть відсортовані і злиті в наступному порядку:

рядки, які починаються з цифри, будуть відсортовані по цифрах і перераховані після рядків, що починаються з літери;

рядки, які починаються з великої літери, перераховуються до рядків, що починаються з маленької літери;

рядки, які починаються з таких символів, як "%", "*" сортуються на основі символьного подання ASCII.

Наприклад, ви маєте 2 файлу group 1 і group 2, кожен з яких містить перелік імен. Ви хочете відсортувати кожен список за алфавітом і потім об'єднати два списки в один. Спочатку відобразіть зміст файлів, виконавши команду cat для кожного файлу. Екран буде виглядати наступним чином:

$ Cat group 1 <CR> Smith, Allyn

Jones, Barbara

Cook, Karen

Moore, Peter

Wolf, Robert

$ Cat group2 <CR> Frank, H. Jay

Nelson, James

West, Donna

Hill, Chales

Morgan Kristina

$

Замість того, щоб друкувати ці два файли індивідуально, ви можете зробити це в одній командному рядку. Якщо ви введете команду:

$ Cat group 1 group 2 <CR> результат буде такий самий.

Тепер відсортуйте і злийте ці два файли, виконавши команду sort. Результат виконання команди sort буде роздрукований на екрані терміналу, якщо ви не вкажете інакше.

$ Cat group 1 group2 <CR>

Cook, Karen

Frank, H. Jay

Hill, Chales

Jones, Barbara

Moore, Peter

Morgan, Kristina Nelson, James

Smith, Allyn

West, Donna

Wolf, Robert

$

Додатково до комбінування списків (як у прикладі), команда sort може переставляти рядки і частини рядків (звані полями) у відповідності з іншими специфікаціями, які ви призначили в командному рядку. Можливими специфікаціями є complex і beyond.

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Методичка
145.2кб. | скачати


Схожі роботи:
Linux Робота з каталогами Посилання
Паскаль робота з файлами
Робота з файлами і папками у Windows 98
Організація та методика проведення уроку з теми Робота з дисками та каталогами в Norton Commander
Організація та методика проведення уроку з теми Робота з дисками та каталогами в Norton Commander 2
Робота з файлами засобами FTP-сервера
Робота з файлами папками WINDOWS поняття файла папки збереження перейменування
Об єкти Ос Windows Робота із документами файлами папками дисками Основні об єкти в ос WIND
Команди для роботи з файлами
© Усі права захищені
написати до нас