Информационные системы ускорителей

Лабораторная работа №2.
Unix-shell.Права доступа к файлам,
копирование, перемещение, поиск.

Для работы нам потребуется дерево, построенное в лабораторной работе №1




Права доступа к файлам.

Unix - это многопользовательская система, поэтому поэтому одной из актуальных является проблема доступа к некоторому файлу для нескольких пользователей. Существует три категории пользователей которые могут претендовать на доступ к файлу:

  • u - user (сам пользователь)
  • g - group (группа)
  • o - other (остальные)

Остается определить, что значит "доступ". Доступ - это право, выполнить какое либо действие с файлом. В Unix определены следующие права доступа к файлу:

  • r - read (право на чтение)
  • w - write (право на запись)
  • e - execute (право на использование, например на запуск программы)

Остается понять, что же делать с этими u, g, o, r, w и x?

Право на чтение (r) файла означает, что пользователь может просматривать содержимое файла с помощью различных команд просмотра, например, командой more или с помощью любого текстового редактора. Но, подредактировав содержимое файла в текстовом редакторе, вы не сможете сохранить изменения в файле на диске, если не имеете права на запись (w) в этот файл. Право на выполнение (x) означает, что вы можете загрузить файл в память и попытаться запустить его на выполнение как исполняемую программу.

По отношению к каталогам понятия "право на чтение", "право на запись" и "право на выполнение" имеют несколько другой смысл. Если вы имеете право на чтение каталога, то вы можете просматривать его содержимое, т.е. список файлов в каталоге. Право на запись означает, что вы можете создавать и удалять файлы в этом каталоге. Право на выполнение означает право переходить в этот каталог.


Просмотр прав доступа.

Начнем прямо с каталогов домашней директории:



Поскольку, еще раз повторяем, гостей ждать не приходится будем отнимать и дарить права самим себе.


Право на чтение для каталога.




Право на запись для каталога.




Право на выполнение для каталога.




Право на чтение для файла.




Право на запись для файла.

Отмените запись для файла papavas1 (не забыв включить чтение), зайдите в файл редактором vi, измените текст файла и выйдите из редактора с сохранением изменений. Просмотрите файл командой more и сделайте выводы из увиденного.

Право на выполнение актуально только для исполняемых программ, поэтому для текстовых файлов смысла не имеет.

Разобравшись с правами домтупа к файлам и каталогам предъявите результат преподавателю.


Копирование файлов.

Копирование файлов осуществляется командой cp что куда. Где "что" и "куда" суть имена файлов, с указанием пути к ним. Для текущей директории путь, естественно, указывать не нужно.

Мы будем копировать файлы papavas в каталог two, он должен быть пустой, поэтому удалите из него все каталоги и приступим:









Файл papavas4 скопируйте в two самостоятельно.

Скопировав файлы в каталог two, предъявите результат преподавателю. После этого удалите все файлы и каталоги из каталога one, в него мы будем перемещать файлы из каталога two. у нас должно остаться дерево:




Перемещение файлов.

Перемещение файлов осуществляется командой mv что куда. Где "что" и "куда" суть имена файлов, с указанием пути к ним. В отличие от копирования файл "что" удаляется. в остальном действуют те же правила, что и для команды копирования.





Переместите файлы papavas3 и papavas4 из каталога two в каталог one с именами pv3 и pv4, предъявите результат преподавателю, после чего полностью очистите домашний каталог.


Поиск файлов по фрагментам текста.



Для примера найдем аналог английской поговорки "As you sow, you shall mow". Для поиска воспользуемся фрагментом этой поговорки "shall".



При удачном поиске будет выдано имя файла и строка, содержащая искомый фрагмент. В противном случае сразу появится приглашение командной строки.

Мы нашли файл содержащий английскую поговорку, в этом же файле находится и ее русский агалог. Остается просмотреть файл и убедиться в этом. Для просмотра файла используем команду more:



Найдите русские аналоги английских поговорок по вариантам и скопируйте содержащие их файлы в каталог myproverbs (создайте этот каталог в домашней директории). Ваш вариант соответствует номеру вашего каталога в группе. Выполнив задание, предъявите его преподавателю.

Вариант 1.

No pains, no gains.
A friend in need is a friend indeed.

Вариант 2.

No pains, no gains.
Alive and kicking!

Вариант 3.

No pains, no gains.
Kill or cure.

Вариант 4.

No pains, no gains.
Crow will not pick out crow's eyes.

Вариант 5.

No sweet without some sweat.
A friend in need is a friend indeed.

Вариант 6.

No sweet without some sweat.
Alive and kicking!

Вариант 7.

No sweet without some sweat.
Kill or cure.

Вариант 8.

No sweet without some sweat.
Crow will not pick out crow's eyes.

Вариант 9.

No living man all things can.
A friend in need is a friend indeed.

Вариант 10.

No living man all things can.
Alive and kicking!

Вариант 11.

No living man all things can.
Kill or cure

Вариант 12.

No living man all things can.
Crow will not pick out crow's eyes.

Вариант 13.

No pains, no gains.
A friend in need is a friend indeed.

Вариант 14.

No pains, no gains.
Alive and kicking!

Вариант 15.

No pains, no gains.
Kill or cure.

Вариант 16.

No pains, no gains.
Crow will not pick out crow's eyes.

Вариант 17.

No sweet without some sweat.
A friend in need is a friend indeed.

Вариант 18.

No sweet without some sweat.
Alive and kicking!

Вариант 19.

No sweet without some sweat.
Kill or cure.

Вариант 20.

No sweet without some sweat.
Crow will not pick out crow's eyes.

Вариант 21.

No living man all things can.
A friend in need is a friend indeed.

Вариант 22.

No living man all things can.
Alive and kicking!

Вариант 23.

No living man all things can.
Kill or cure.

Вариант 24.

No living man all things can.
Crow will not pick out crow's eyes.

Вариант 25.

No pains, no gains.
A friend in need is a friend indeed.

Вариант 26.

No living man all things can.
Kill or cure

Вариант 27.

No living man all things can.
Crow will not pick out crow's eyes.

Вариант 28.

No pains, no gains.
A friend in need is a friend indeed.

Вариант 29.

No pains, no gains.
Alive and kicking!

Вариант 30.

No pains, no gains.
Kill or cure.