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

ЛАБОРАТОРНЫЙ ПРАКТИКУМ:
"КОМАНДНАЯ ОБОЛОЧКА UNIX"

СТРУКТУРА ПРАКТИКУМА

ЗАДАНИЯ ПРАКТИКУМА

ЗАДАНИЕ №1

ЗАДАНИЕ №2

ЗАДАНИЕ №3

ЗАДАНИЕ №4

ЗАДАНИЕ №5

ВВЕДЕНИЕ

НЕОБХОДИМАЯ ИНФОРМАЦИЯ

Host Name рабочего сервера

Приглашение командной строки

Редактирование командной строки

Стандартные обозначения

Используемые команды

1. СЕАНС РАБОТЫ В UNIX-СИСТЕМЕ

1. Терминал и командная строка

2. Логины, пароли и доступ к серверу

3. Вход в систему/завершение работы

2.ФАЙЛОВАЯ СИСТЕМА UNIX

1. Файлы и каталоги. Абсолютный (полный) путь

2. Домашний и текущий каталог. Относительный путь

3. Просмотр структуры каталогов и файлов

4. Создание и удаление каталогов и файлов

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

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

3.ЧТО ДОЛЖЕН ЗНАТЬ НЕ ТОЛЬКО СИСАДМИН

1. Учетные записи и пользователи

2. Задачи и процессы в системе

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

4. Ввод/вывод и конвейеры

5. Поиск и обработка текстовых данных

4.ФАЙЛОВЫЙ МЕНЕДЖЕР MIDNIGHT COMMANDER

1. Внешний вид, начало и завершение работы

2. Работа с каталогами и файлами

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


Копирование и перемещение являются неотъемлемыми функциями управления конфигурацией файловой системы. Копирование дает возможность тиражировать файлы и целые каталоги в необходимом количестве экземпляров, а перемещение позволяет менять местоположение информации, в связи с необходимостью решения новых задач. Для понимания и выполнения примеров в домашней директории необходимо наличие дерева ~/hacker, построение которого проиллюстрировано в п. 2.2 (Пример 2.22).

Копирование файлов осуществляется командой cp (сокращение от copy – копировать). Формат команды копирования: cp что куда, где «что» – это путь к копируемому файлу или директории, а «куда» – путь к копии (файлу или директории). При этом копия может иметь другое имя.

В качестве учебной задачи предлагается скопировать файлы из директории hacker/crack/answer/grant, в hacker/crack/question/thieve используя различные способы записи путей.


Пример 2.22. Учебно-тренировочное дерево ~/hacker

v100-1@beta:~> tree ~/hacker
/home/groups/v100/v100-1/hacker
`-- hacker
    |-- crack
    |   |-- answer
    |   |   |-- grant
    |   |   |   |-- hacker1.txt
    |   |   |   |-- hacker2.txt
    |   |   |   |-- hacker3.txt
    |   |   |   `-- hacker4.txt
    |   |   `-- thieve
    |   `-- question
    |       |-- grant
    |       `-- thieve
    `-- security
        |-- answer
        |   |-- grant
        |   `-- thieve
        `-- question
            |-- grant
            `-- thieve
15 directories, 4 files
v100-1@beta:~>
		

Команда cp – копирование файлов


unix-workdir

Пример 2.23. Копирование с длинными путями

	
v100-1@beta:~> cp hacker/crack/answer/grant/hacker1.txt  hacker/crack/question/thieve
v100-1@beta:~> ls hacker/crack/question/thieve
hacker1.txt
v100-1@beta:~>
			

Для удобства копирования нужно правильно выбирать текущую директорию, чтобы избегать написания длинных путей. В зависимости от рабочей ситуации в качестве текущей директории лучше выбирать каталог-источник (Пример 2.24) или каталог назначения, в который осуществляется копирование (Пример 2.25). Имя файла-копии может отличаться от имени файла-оригинала (Пример 2.24).


unix-workdir

Пример 2.24. Копирование из текущей директории с изменением имени

	
v100-1@beta:~> cd hacker/crack/answer/grant
v100-1@beta:~/hacker/crack/answer/grant> cp hacker2.txt  ../../question/thieve/hck2.txt
v100-1@beta:~/hacker/crack/answer/grant> ls  ~/hacker/crack/question/thieve
hacker1.txt   hck2.txt
v100-1@beta:~/hacker/crack/answer/grant>
			

Конечная точка во второй строке Примера 2.25 является обозначением текущего каталога.


unix-workdir

Пример 2.25. Копирование в текущую директорию

	
v100-1@beta:~/hacker/crack/answer/grant> cd ../../question/thieve
v100-1@beta:~/hacker/crack/question/thieve> cp ../../answer/grant/hacker3.txt  .
v100-1@beta:~/hacker/crack/question/thieve> ls
hacker1.txt   hacker3.txt   hck2.txt
v100-1@beta:~/hacker/crack/question/thieve>
			

Операции с группами файлов. Использование масок.

Возможно одновременное копирование группы файлов, как в Примере 2.26. Для обозначения группы файлов может быть использована маска – «*» (символ «звездочка»). Маска обозначает группу символов. Например «*» – означает «группа любых символов имени файла», аналогичный результат копирования был бы получен при использовании масок «*.*» – файлы с любым именем и любым расширением и «hacker*» (файлы c началом «hacker» и любым продолжением) или «hacker*.*» (файлы c началом «hacker», любым завершением имени и любым расширением).


unix-workdir

Пример 2.26. Копирование с применением маски

	
v100-1@beta:~/hacker/crack/answer/grant> cd ../../question/thieve
v100-1@beta:~/hacker/crack/question/thieve> cp ../../answer/grant/*  
v100-1@beta:~/hacker/crack/question/thieve> ls
hacker1.txt   hacker2.txt   hacker3.txt   hacker4.txt   hck2.txt
v100-1@beta:~/hacker/crack/question/thieve>
			

Пример 2.23 демонстрирует, как копировать файл hacker1.txt, находясь в домашней директории. В предыдущих примерах начало пути из текущей директории начиналось с «./». Такой вариант является универсальным, однако если речь идет не об исполнимых файлах, а о файлах данных, то начало «./» не является обязательным. Очевидно, что текстовые файлы являются файлами данных.

С практической точки зрения перемещение файлов отличается от копирования заменой команды cp на mv (move – перемещать). При этом в отличие от копирования, перемещаемый файл (файл-оригинал) удаляется из директории-источника. В качестве упражнения предлагается переместить файлы из hacker/crack/answer/grant в директорию hacker/security/answer/grant, по аналогии с примерами (Пример 2.24 ÷ Пример 2.26).