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 08: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 u-w display<CR>

После того как получите подсказку, введите команду:

ls -l<CR>

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

$ chmod u-w display<CR> $ ls -l<CR>

total 35

-r-xr-xr-x 1 startship project 9346 Nov 1 08:06 display

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

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

$

Как видите, изменилось право на внесение изменений в файл. Вы не сможете изменить этот файл, пока существует это право записи.

Теперь обратимся к другому примеру. Право на запись в файл 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 08: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 08:06 display

Чтобы изменить ваш ID на чей-либо другой (например, sara) вы должны ввести:

chown sara display<CR>

Если вы введете:

ls -l display<CR>

на экране появится сообщение:

-r-xr-xr-x l sara group 9346 Nov 1 08: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, N.Y.

----

> Mr. J.J.McDonough

> Ubu Press

> 37 Chico Place

> Springfield, N.J.

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 и group2, каждый из которых содержит перечень имен. Вы хотите отсортировать каждый список по алфавиту и затем объединить два списка в один. Вначале отобразите содержание файлов, выполнив команду 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 group2<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.


Информация о работе «Работа с файлами и каталогами»
Раздел: Информатика, программирование
Количество знаков с пробелами: 45359
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
2825
0
0

... имя каталога RUS. 2)Создание каталога 2-го уровня.   а) H:>md RUSVOVA б) Проверка H:>dir RUS В каталоге RUS содержится имя каталога VOVA. 3)Создание копированием с клавиатуры файла в каталоге 2-го уровня; проверка. (В место этой операции можно скопировать файл sm.txt из каталога LR в каталог 2-го уровня).   ...

Скачать
81628
1
0

... Вы можете переключиться на VC №2 и начать работу над чем-то другим). Использование виртуальных консолей дает вам представление о многопользовательских возможностях UNIX. 2.    Краткая информация о командах, встречающихся в этой практической работе. ИМЯ banner - печатает аргументы крупными буквами. СИНТАКСИС banner arg ... ОПИСАНИЕ banner печатает параметры на stdout, используя матрицы ...

Скачать
62688
1
3

... задачи: – изучены назначение и особенности использования файловых менеджеров; – рассмотрены особенности использования свободно-распространяемых программных средств; – рассмотрены основные возможности файлового менеджера Free Commander; – составлено описание порядка работы с файловым менеджером Free Commander; – разработана система заданий для обучения работе с файловым менеджером Free ...

Скачать
10327
0
16

... на предмет вирусов, так каких проникновение в компьютер может нанести непоправимый ущерб вплоть до удаления файлов пользователя или необходимости переустановки операционной системы. Установка и удаление программ Перед тем, как использовать программный продукт, необходимо его установить, если это не было сделано ранее. Установка практически всех программ происходит по общему алгоритму: ...

0 комментариев


Наверх