В ходе загрузки системы создаются несколько консолей - виртуальных устройств ввода-вывода, которыми могут пользоваться различные компоненты и пользовательские программы системы. В стандартной настройке Red Hat работает с 7 виртуальными консолями (6 текстовых и 1 графическая), из которых в каждый момент времени только одна может быть связана с реальной (физической) консолью, т.е. является активной. Консоли, представляющие информацию только в текстовом виде с использованием экранных шрифтов в форматах видеосистемы компьютера, называются текстовыми. В таких консолях используется интерфейс командной строки. Другие консоли (графические) представляют информацию в графическом виде, используя Графический пользовательский интерфейс (GUI). Как правило, в одной из консолей автоматически запускается графическая среда X Windows System и графическая оболочка GNOME. Для перехода между консолями используется сочетание клавиш [CTRL]+ [ALT]+ [Fn], n - номер консоли, находится в интервале от 1 до 12. Например, чтобы сделать активной консоль с номером 4, следует нажать клавиши [CTRL]+ [ALT]+ [F4].
Интерпретатор shell. Файлы и права к ним
Файл принадлежит создавшему его пользователю, а также группе, членом которой данный пользователь является. Пользователи, имеющие доступ к файлу, делятся на три категории:
- Владелец файла, создавший его;
- Члены группы, являющейся владельцем файла;
- Остальные пользователи.
Владелец файла может самостоятельно определять, кому позволено производить запись в файл, читать его содержимое, а также запускать файл на выполнение, если он является исполняемым. Пользователь с правами root может отменить практически все ограничения, заданные пользователем.
Доступ к созданному файлу может осуществляться тремя способами:
- путем чтения, при этом содержимое файла отображается на экране;
- путем записи, при этом содержимое файла редактируется или удаляется;
- путем выполнения, если файл содержит сценарий интерпретатора shell либо является программой.
После создания файла система сохраняет о нем всю информацию, в частности:
- раздел диска, где физически находится файл;
- размер файла;
- идентификатор владельца файла, а также тех, кому разрешен доступ к файлу;
- индексный дескриптор;
- дата и время последнего изменения файла;
- режим доступа к файлу.
Изменять режим доступа к файлам можно с помощью команды chmod. Аргументы этой команды могут быть заданы либо в числовом виде (абсолютный режим), либо в символьном (символьный режим).
Общий формат команды chmod для символьного режима:
chmod [кто] оператор [разрешения] файл (список файлов))
Значения параметра кто:
u Владелец файла,
g Группа, являющаяся владельцем файла,
о остальные пользователи,
а Все (владелец, группа и остальные пользователи)
Значения параметра оператор:
+ Добавление разрешения,
- Удаление разрешения,
= Установка заданного разрешения
Значения параметра разрешения:
r Право чтения,
w Право записи,
х Право выполнения,
X Установка права выполнения только в том случае, если для какой-либо категории пользователей уже задано право выполнения,
s Установка бита SUID или SGID для владельца или группы,
t Установка sticky-бита,
u Установка тех же прав, что и у владельца файла,
g Установка тех же прав, что и у группы, являющейся владельцем файла,
о Установка тех же прав, что и у других пользователей.\
Обзор основных команд
Синтаксис многих команд предусматривает использование параметров довольно сложного формата, указываемых в командной строке после имени команды. Полное описание команд и их параметров можно получить, набрав
man имя_команды
Дополнительную информацию по команде :
info имя_команды
После ввода вышеперечисленных команд ОС Linux открывает на нескольких, сменяющих друг друга экранах описание нужной команды. Если не помните правильный синтаксис имени нужной команды, введите команду man с параметром -k, затем ключевое слово для поиска нужной команды. Система выполнит поиск в своих файлах справки, содержащей это ключевое слово. Для этой команды имеется также псевдоним apropos. Например, если ввести команду:
man ls
ОС Linux выведет на экран справку о команде ls, в том числе обо всех ее параметрах. По команде:
man -k cls
выводится из справки список всех команд, в которых есть слово cls.
Команда apropos cls аналогична команде man -k cls.
Ниже приведены наиболее употребительные команды и наиболее частые форматы.
а) команды управления файлами
ls [ opt ] [ file 1 file 2 …] - вывод имен файлов текущего каталога. В качестве параметров можно задать имена каталогов, содержимое которых нужно вывести, или имена файлов, информацию о которых нужно получить. Опции команды позволяют получить список дополнительной информации:
ls - список файлов текущего каталога (краткий формат).
ls - al - получить список файлов текущего каталога с указанием размера, времени создания и изменения, имени владельца, таблицы прав и других данных, например:
-rwxr- - r - - 2 nata group 34 Nov 10 10:34 a.out
где - rwxr -- r -- - права доступа (за исключением первого символа, обозначающего тип файла: - – обычный файл, d – каталог, p – именованный канал, b – специальное блочное устройство, c – специальное символьное устройство) на чтение (read -символ r), запись (write -символ w), выполнение (execute - символ x). Наличие прав обозначается соответствующим символом, а отсутствие - символом "-";
2 – число жестких связей (hard link) данного файла;
nata - имя владельца -пользователя (user owner) файла. Владельцем-пользователем вновь созданного файла является пользователь, запустивший процесс, который и создал файл;
group – имя владельца - группы (group owner). Порядок назначения владельца группы зависит от конкретной версии UNIX;
34 - размер файла;
Nov 10 - дата последнего изменения;
10:34 - время последнего изменения;
a . out - имя файла.
ls – a С – просмотр скрытых файлов;
ls -С nata - вывод списка файлов каталога nata в несколько колонок в алфавитном порядке;
ls – RC / home / nata / bin - рекурсивный просмотр каталогов, например, / home / nata / bin;
ls – tC - сортировка по времени модификации, все вновь созданные файлы размещаются в начале списка;
ls –с tC - сортировка по изменению статуса (изменение владельца или прав доступа). Если ключ t не задан, то ключ c игнорируется.
cd [ dir ] - сменить текущий каталог. При задании без параметра – происходит переход в домашний каталог пользователя;
cp файл1 файл2 - копировать файл. Если вместо имени второго файла указать каталог, то файл1 копируется в каталог файл2 c тем же именем, при этом в имени первого файла допускается использование подстановочного символа “звездочка”;
rm файл1 – удалить файлы с указанными именами. Допускается использование подстановочного символа “звездочка” и другие специальные возможности. Например, команда rm * m * позволит удалить все файлы, в именах которых встречается буква m ;
mkdir [имя_каталога1]… – создать новый каталог;
rmdir [имя_каталога]… – удалить пустой каталог;
ln [-опция] source target - создает жесткую связь имени source с файлом, адресуемым именем target. При использовании опции – s будет создана символическая ссылка;
pwd - вывести имя текущего каталога;
cmp [-опция] файл1 файл2 - сравнить два файла, указанных в качестве аргумента. Если файлы одинаковы, то никакое сообщение не выводится, в противном случае выводятся данные о первом несоответствии между этими файлами, например:
file1 file2 differ: char 15, line 6 ,
найдено различие в 15 символе 6-й строки.
б) управление выводом на экран
cat [-опция] файл - выводит содержимое файла на экран терминала. Использование ключа – v целесообразно при просмотре нетекстового файла. В этом случае вывод “непечатных ” символов, которые могут нарушить настройки терминала, будет подавлен;
more [-опция] файл – выводит стандартный входной поток на экран порциями по 24 строки, ожидая нажатия клавиши Пробел для вывода очередной порции. Досрочно завершить вывод можно, нажав клавишу Q;
less - выводит стандартный входной поток на экран порциями по 24 строки, ожидая нажатия клавиши Пробел для вывода очередной порции. В отличие от команды more поддерживает возможность прокрутки вверх и поиска;
head [- n ] файл – просмотреть только начало (первые n строк) файла;
tail [-опция] файл – просмотреть конец (последние n строк) файла;
в) поиск файлов
find имя_каталога [-ключ] - выполнить поиск файла в файловой системе, начиная с каталога имя_каталога, используя различные критерии:
- name – поиск по искомому имени файла, например:
find / - name sh ,
по этой команде будет осуществляться поиск в каталоге / файла с именем sh ;
-print – обеспечивает вывод информации. Например, для вывода полного имени исполняемого файла командного интерпретатора Bourne shell необходимо ввести команду:
find / -name sh -print 2 >/dev/null ;
Для фрагментарного поиска по имени файла (только в последней части спецификации файла), например, ‘*core*’, следует ввести команду:
find ~ - name ‘*core*’ - print
- size [размер] – поиск по заданному размеру. Например, для поиска файлов размером больше 10 Мбайт по всей файловой системе необходимо ввести команду:
find . – size +20480 - print ;
- atime - поиск по последнему времени модификации. Например, поиск файлов с именем file 1, обращение к которым было более 15 дней назад:
find / –name file1 -atime +15 - print ;
Для автоматического удаления всех найденных файлов с именем core (образ процесса, создаваемый при неудачном его завершении и используемый в целях отладки), последнее обращение к которым было более месяца (+30) назад, следует ввести команду:
find / –name сore -atime +30 - exec rm {} \ ;
Следует отметить, что каждый раз при запуске команды, указанной после ключа exec, создается новый процесс. Это приводит к увеличению нагрузки на систему и излишнему потреблению ресурсов процессора и оперативной памяти. Однако при необходимости выполнить операцию, например такую как rm , над большим количеством файлов, эффективнее сначала построить список файлов, а затем запустить команду rm лишь один раз, передав ей этот список в качестве параметра.
Из приведенного выше видно, что при работе с командой find чаще всего используется опция - name . После нее в кавычках должен быть указан шаблон имени файла. Если необходимо найти все файлы с расширением txt в Вашем начальном каталоге, укажите символ '-' в качестве путевого имени. Имя начального каталога будет извлечено из переменной $номе.
find ~ - name "*. txt " - print
Чтобы найти все файлы с расширением txt, находящиеся в текущем каталоге, следует воспользоваться такой командой:
find . - name "*. txt " - print
Для нахождения в текущем каталоге всех файлов, в именах которых встречается хотя бы один символ в верхнем регистре, введите следующую команду:
find . - name "[ A - Z ]*" - print
Команда find . – print аналогична команде ls – Rfl , но в последнем случае выводимый список будет длиннее, т.к. в процессе обхода команда ls отмечает каждый новый каталог, а команда find не обращает внимание на каталог .. ;
which [-ключ] - поиск выполняемых файлов. Данная команда встроена в оболочку, позволяет определить точное местонахождение файла и передает результаты своего выполнения в стандартный выходной поток. В оболочке C команда which позволяет определить, какие из команд являются встроенными, а какие псевдонимами.
г) исследование и мониторинг системы
Для управления дисковым пространством используются команды df , du и ulimit:
df [-ключ] – команда определяет, сколько свободного дискового пространства и индексных дескрипторов доступно в разделе смонтированного диска.
По умолчанию команда используется без параметров и выводит объем свободного пространства, например:
/ (/dev/hdb1 ): 260836 blocks 12034 files
/home (/dev/sda1 ): 260836 blocks 2104 files
В первом столбце содержится точка монтирования данной файловой системы. Затем в круглых скобках следует имя смонтированного физического устройства (в UNIX все устройства являются файлами, даже сама файловая система). Следующий столбец отображает число свободных блоков размером по 512 байт. В последнем столбце выводится количество файлов, содержащихся на данном устройстве.
При использовании ключей:
- k – вывод данных осуществляется в блоках по 1024 байт, или в килобайтах. При этом данные выводятся в формате, принятом в системе BSD:
Дата: 2019-02-18, просмотров: 554.