Автор работы: Пользователь скрыл имя, 28 Января 2014 в 18:04, лабораторная работа
Все объекты в UNIX делятся на два типа: файлы и процессы.
Все данные хранятся в файлах, доступ к периферийным устройствам осуществляется через специальные файлы.
Вся функциональность операционной системы определяется выполнением различных процессов.
Важнейшим пользовательским процессом является основной командный интерпретатор (login shell). login, password
Информационные технологии (лаб.). ММ. Неделя 2.
UNIX – это многозадачная, многопользовательская система, обладающая широкими возможностями. Ее реализации существуют практически на всех распространенных компьютерных платформах.
LINUX – один из наиболее известных свободно распространяемых диалектов UNIX.
Все объекты в UNIX делятся на два типа: файлы и процессы.
Все данные хранятся в файлах, доступ к периферийным устройствам осуществляется через специальные файлы.
Вся функциональность операционной системы определяется выполнением различных процессов.
Важнейшим пользовательским процессом является основной командный интерпретатор (login shell). login, password
passwd – смена пароля пароль должен хорошо запоминаться и быть трудным для подбора!
exit – выход из системы
man – получение справки о командах: man man
Идентификатор пользователя (UID), идентификаторы групп (GID).
Принадлежность к группе определяет дополнительные права пользователей.
Информация о пользователях и группах обычно хранится в системных файлах /etc/passwd, /etc/shadow и /etc/group
Файловая система, каталоги.
/ - корневой каталог
/home/asa/myfile.txt
. – текущий каталог
.. – каталог на единицу более высокого уровня
С каждым пользователем ассоциируется его домашний каталог.
Атрибуты файлов. ls –l
-rwxr-xr-- 1 asa group 3422 Feb 28 13:30 test
- – обычный файл; d – каталог, l – ссылка и др.
Права доступа к файлу:
- – отсутствие права доступа, r – право на чтение, w – право на запись или удаление, x – право на выполнение файла.
Владелец-пользователь, владелец-группа и все остальные пользователи
Смена прав доступа к файлу:
chmod [u g o a][+ - =][r w x] file1…
u – смена права доступа для пользователя,
g – для группы, o – для других пользователей,
a – для всех трех категорий.
+ – добавление соответствующего права,
- – удаление, а = – присвоение
chmod g+w test
chown и chgrp – смена владельца-пользователя и владельца-группы файла
cd [dir] – переход в каталог dir. Если каталог не указан, то переход осуществляется в домашний каталог пользователя.
cp file1 file2 – копирование файла
mv file1 file2 – перемещение (изменение имени) файла
rm file1… – удаление файлов
rmdir dir1… – удаление каталогов
mkdir dir1… – создание каталога
pwd – вывести имя текущего каталога
cat file, more file, less file – утилиты просмотра содержимого файла
find dir – поиск в файловой системе, начиная с каталога dir
grep <рег_выражение> file1… – поиск в файлах вхождений регулярного выражения рег_выражение
Процесс - программа в стадии ее выполнения.
ps – список выполняющихся процессов
Уникальный идентификатор процесса (PID).
Сигналы.
Завершить выполнение процесса:
kill –9 PID
Список процессов,
занимающих наибольшее количество процессорного
времени или системных
top
Потоки ввода/вывода: стандартный ввод, стандартный вывод и стандартный вывод ошибок. Для перенаправления стандартного ввода можно использовать символ <, для стандартного вывода – > или >> (с добавлением), для потока ошибок – 2>
program > file.log
Конвейер команд:
program1 | program2 | program3…
Фоновый режим:
program &
who – список пользователей, работающих в данный момент в системе
uname – некоторые сведения о системе
Редактирование файлов: vi, joe и др., встроенный редактор файлового менеджера Midnight Commander (mc), удаленное редактирование.
Компиляторы с языка Си cc (CC для Си++), компилятор с языка Фортран – f77 (f90 для Фортрана 90).
time program – время работы программы
Таблица 3.1. Простейшие команды Linux | |
Команда |
Краткое описание |
whoami |
Сообщает имя, с которым вы вошли в систему в данном сеансе работы |
w или who |
Сообщает, какие пользователи работают в данный момент в системе |
pwd |
Сообщает имя текущего каталога |
ls -l |
Выдает список файлов и подкаталогов текущего каталога |
cd <имя_каталога> |
Осуществляет смену текущего каталога |
ps ax |
Выдает список выполняющихся процессов |
Таблица 4.1. Структура каталогов | ||
Каталог |
Подкаталоги |
Назначение |
/bin |
Этот каталог содержит в основном готовые к исполнению программы, большинство из которых необходимы во время старта системы (или в однопользовательском системном режиме, используемом для отладки). Здесь хранится значительное количество общеупотребительных команд Linux | |
/boot |
Содержит основные постоянные файлы для загрузки системы, в частности загружаемое ядро. Файлы из этого каталога нужны только во время загрузки системы | |
/dev |
Каталог специальных файлов или файлов устройств. О них мы поговорим чуть подробнее в одном из следующих подразделов. Можете также заглянуть в man mknod(1) | |
/etc |
Этот каталог и его подкаталоги содержат большинство данных, необходимых для начальной загрузки системы и основные конфигурационные файлы. В /etc находятся, например, файл inittab, определяющий загружаемую конфигурацию, и файл паролей пользователей passwd. Часть конфигурационных файлов может находиться и в /usr/etc. Каталог /etc не должен содержать двоичных файлов (их следует перенести в /bin или /sbin). Ниже приводится назначение основных (но далеко не всех!) подкаталогов каталога /etc | |
/etc/rc.d |
Этот подкаталог содержит файлы, которые используются в процессе начальной загрузки системы. | |
/etc/skel |
Когда создается новый пользователь и account для него, то файлы из этого каталога копируются во вновь созданный домашний каталог пользователя | |
/etc/sysconfig |
Каталог, содержащий некоторые (но не все) конфигурационные файлы системы | |
/etc/X11 |
Каталог для конфигурационных файлов подсистемы X11 (например, XF86Config) | |
/home |
Обычно в этом каталоге находятся домашние каталоги пользователей | |
/lib |
Этот каталог содержит разделяемые библиотеки функций, необходимых компилятору языка C и модули (драйверы устройств). Даже если в системе не установлен компилятор языка C, разделяемые библиотеки необходимы, поскольку они используются многими прикладными программами. Они загружаются в память по мере необходимости выполнения каких-то функций, что позволяет уменьшить объем кода программ - в противном случае один и тот же код многократно повторялся бы в различных программах | |
/lost+found |
Этот каталог используется при восстановлении файловой системы командой fsck. Если fsck обнаруживает файл, родительский каталог которого определить невозможно, она помещает такой файл в каталог /lost+found. Поскольку родительский каталог потерян, то таким файлам присваиваются имена, совпадающие с номерами их индексных дескрипторов | |
/mnt |
Это точка монтирования
для временно монтируемых файловых
систем. Если на компьютере запускается
поочередно Linux и MS DOS, то этот каталог
обычно используется, чтобы монтировать
файловую систему MS DOS. Если вы имеете привычку
монтировать несколько дополнит | |
/proc |
Это точка монтирования для файловой системы proc, которая обеспечивает информацию о выполняющихся процессах, ядре, оборудовании вычислительной установки и т. д. Это псевдо-файловая система, подробности о которой можно узнать по команде man 5 proc. Специальные файлы из этого каталога используются для получения и передачи данных ядру | |
/root |
Это домашний каталог суперпользователя. Обратите внимание на то, что он расположен не там, где располагаются личные каталоги остальных пользователей (в /home) | |
/sbin |
Подобно каталогу /bin содержит в основном исполняемые файлы - программы и утилиты ОС, используемые в процессе загрузки и запускаемые системным администратором. В стандарте FHS говорится, что в этот каталог надо помещать те исполняемые файлы, которые используются после успешного подключения файловой системы /usr. Минимальное содержимое этого каталога включает программы clock, getty, init, update, mkswap, swapon, swapoff, halt, reboot, shutdown, fdisk, fsck.*, mkfs.*, lilo, arp, ifconfig, route | |
/tmp |
Каталог для
временных файлов. В любой момент
суперпользователь может | |
/usr |
Этот каталог огромен и его структура в основном повторяет структуру корневого каталога. В его подкаталогах находятся все основные приложения. В соответствии со стандартом FHS рекомендуется выделять для этого каталога отдельный раздел диска или вообще располагать его на сетевом диске, общем для всех компьютеров в сети. Такой раздел или диск монтируют только для чтения и располагают в нем общие конфигурационные и исполняемые файлы, документацию, системные утилиты и библиотеки, а также включаемые файлы (файлы типа include) | |
/usr/bin |
Готовые к исполнению программы - утилиты и приложения, которые часто вызывают обычные пользователи. /usr/bin/X11 - Обычное место для расположения готовых к исполнению программ из X-Window в Linux. Часто это символическая ссылка на /usr/X11R6/bin | |
/usr/dict |
Этот каталог содержит файлы со словарным запасом для программ проверки корректности написания слов | |
/usr/etc |
Здесь содержатся конфигурационные файлы для группы машин. Однако, команды и программы должны смотреть в каталог /etc, в котором должны быть линки к файлам в каталоге /usr/etc | |
/usr/include |
Этот каталог содержит исходный код стандартных библиотек языка C, подставляемый в программы директивой препроцессора include. Поэтому пользователю надо иметь, по крайней мере, право на чтение из этого каталога. Ни в коем случае не следует модифицировать файлы в этом каталоге, потому что они тщательно отлажены разработчиком системы (разве что вы знаете систему лучше разработчика) | |
/usr/lib |
В данном каталоге содержится объектные библиотеки подпрограмм, динамические библиотеки, некоторые готовые к исполнению программы, которые не вызываются непосредственно. Сложные программные системы могут иметь свои подкаталоги в этом каталоге.
| |
/usr/local |
Обычно здесь помещают программы и подкаталоги, которые являются локальными (уникальными) для данной машины.
| |
/usr/man |
Страницы интерактивного руководства
man в исходном формате (не подготовленные
для просмотра)./usr/man/<locale>/ | |
/usr/sbin |
Этот каталог содержит готовые к исполнению программы для системного администрирования, которые не используются во время загрузки | |
/usr/src |
Исходные тексты для различных частей Linux. /usr/src/linux - исходные тексты для ядра Linux | |
/usr/tmp |
Еще одно место для хранения временных файлов. Обычно это символическая ссылка на каталог /var/tmp | |
/usr/X11R6 |
Файлы относящиеся к системе X-Window (версии 11, релиз 6).
| |
/var |
Этот каталог содержит файлы, в которых сохраняются различные переменные данные, определяющие конфигурацию некоторых программ при следующем запуске или временно сохраняемую информацию, которая будет использоваться позже в ходе текущего сеанса. Объем данных в этом каталоге может сильно изменяться, поскольку он содержит, например, файлы протоколов (логи), файлы спулинга и блокировки (locking), временные файлы и т. д. | |
/var/adm |
Содержит учетную и диагностическую информацию, необходимую системному администратору | |
/var/backups |
Этот каталог используется, чтобы сохранить резервную копию важных системных файлов | |
/var/catman/cat[1-9] |
Этот каталог используется, чтобы хранить уже сформированные страницы руководств в соответствии с номером главы | |
/var/lock |
Здесь содержатся управляющие файлы системы, которые используются для резервирования использования тех или иных ресурсов системы | |
/var/log |
Различные файлы протоколов (логи) | |
/var/run |
Переменные файлы времени выполнения различных программ. Они содержат идентификаторы процессов (PIDs) и записывают текущую информацию (utmp). Файлы в этом каталоге обычно очищаются во время загрузки системы | |
/var/spool |
Файлы различных программ, поставленные в очередь на обслуживание.
| |
/var/tmp |
Временные файлы |
Команды chown и chgrp
Эти команды служат для смены владельца файла и группы файла. Выполнять смену владельца может только суперпользователь, смену группы может выполнить сам владелец файла или суперпользователь. Для того, чтобы иметь право сменить группу, владелец должен дополнительно быть членом той группы, которой он хочет дать права на данный файл. Формат этих двух команд аналогичен:
[root]# chown vasja имя-файла
[root]# chgrp usersgrp имя-файла
Команда mkdir
Команда mkdir позволяет создать подкаталог в текущем каталоге. В качестве аргумента этой команде надо дать имя создаваемого каталога. Во вновь созданном каталоге автоматически создаются две записи: . (ссылка на этот самый каталог) и .. (ссылка на родительский каталог). Чтобы создать подкаталог, вы должны иметь в текущем каталоге право записи. Можно создать подкаталог не в текущем, а в каком-то другом каталоге, но тогда необходимо указать путь к создаваемому каталогу:
[user]$ mkdir /home/kos/book/glava5/part1
Команда mkdir может использоваться со следующими опциями:
Команда cat
Команда cat часто
используется для создания файлов (хотя
можно воспользоваться и
[user]$ cat file1 > file2
Собственно, первоначальное предназначение команды cat как раз и предполагало перенаправление вывода, так как эта команда создана для конкатенации, т. е. объединения нескольких файлов в один:
[user]$ cat file1 file2 ... fileN > new-file
Именно возможности перенаправления ввода и вывода этой команды и используются для создания новых файлов. Для этого на вход команды cat направляют данные со стандартного ввода (т. е. с клавиатуры), а вывод команды - в новый файл:
[user]$ cat > newfile
После того, как вы напечатаете все, что хотите, нажмите комбинацию клавиш <Ctrl>+<D> или <Ctrl>+<C>, и все, что вы ввели, будет записано в newfile. Конечно, таким образом создаются, в основном, короткие текстовые файлы.
Команда cp
Хотя для копирования файлов иногда пользуются командой cat, но в Linux существует для этого специальная команда cp. Ее можно применять в одной из двух форм:
[user]$ cp [options] source destination
[user]$ cp [options] source_directory new_directory
В первом случае файл или каталог source копируется, соответственно, в файл или каталог destination, а во втором случае файлы, содержащиеся в каталоге source_directory копируются в каталог new_directory. Для копирования надо иметь права на чтение файлов, которые копируются, и права на запись в каталог, в который производится копирование.
Если в качестве целевого указывается существующий файл, то его содержимое будет затерто, поэтому при копировании надо соблюдать осторожность. Впрочем, можно использовать команду cp с опцией -i, тогда перед перезаписью существующего файла будет запрашиваться подтверждение (очень рекомендую вам всегда использовать эту опцию!).
У команды cp имеется еще несколько полезных опций.
Таблица 4.3. Основные опции команды cp | |
Опция |
Значение |
-p |
Сохраняет время
модификации файла и |
-R или -r |
Если source - каталог, то копируется как он, так и все входящие в него подкаталоги, т. е. сохраняется исходная форма дерева каталогов |
-d |
Если задать эту опцию, то символические ссылки будут оставаться ссылками (а иначе вместо ссылки копируется файл, на который дается ссылка) |
-f |
Перезаписывать файлы при копировании (если такие уже есть) без дополнительных предупреждений |
Команда mv
Если вам необходимо не скопировать, а переместить файл из одного каталога в другой, вы можете воспользоваться командой mv. Синтаксис этой команды аналогичен синтаксису команды cp. Более того, она сначала копирует файл (или каталог), а только потом удаляет исходный файл (каталог). И опции у нее такие же, как у cp.
Команда mv может использоваться не только для перемещения, но и для переименования файлов и каталогов (т. е. перемещения их внутри одного каталога). Для этого надо просто задать в качестве аргументов старое и новое имя файла:
[user]$ mv oldname newname
Но учтите, что команда mv не позволяет переименовать сразу несколько файлов (используя шаблон имени), так что команда mv *.xxx *.yyy не будет работать.
При использовании команды mv, также как и при использовании cp, не забывайте применять опцию -i для того, чтобы получить предупреждение, когда файл будет перезаписываться.
При работе с Linux вы, может быть, еще
не скоро встретитесь с
Основным средством
У читателя, привыкшего к архиваторам типа arj, которые собирают файлы в единый архив и сразу "сжимают" их, может возникнуть вопрос "А зачем использовать две программы?" Все дело в том, что tar расшифровывается как Tape ARchiver, он не сжимает данные, а лишь объединяет их в единый файл с последовательным доступом для последующей записи на ленту. По умолчанию этот архивный файл создается на ленточном накопителе, точнее на устройстве /dev/rmt0. Если вы хотите создать архивный файл на диске, то необходимо использовать команду tar с опцией f, после которой указывается имя архивного файла.
У программы tar имеется 8 опций, отличающихся от остальных тем, что при вызове программы должна обязательно задаваться одна из этих опций. Эти опции определяют основные функции программы.
Таблица 4.5. Основные опции программы tar | |
Опция |
Значение |
-A, --catenate, --concatenate |
Добавляет файлы в существующий архив |
-c, --create |
Создает новый архив |
-d, --diff, --compare |
Найти различия между архивом и файловой системой |
--delete |
Удалить из архива (не может использоваться с магнитной лентой!) |
-r, --append |
Дописывает файлы в конец архива |
-t, --list |
Выводит список файлов архива |
-u, --update |
Добавляет только файлы, которые новее, чем имеющаяся в архиве копия |
-x, --extract, --get |
Извлечь файлы из архива |
Информация о работе Создание высокопроизводительного вычислительного кластера на Linux