Linux
Шрифт:
date Сбт Окт 6 19:57:30 EEST 2001
Более подробную информацию можно получить по команде man date.
Файлы и каталоги
В этом разделе представлены команды и утилиты, которые напрямую взаимодействуют с файлами и каталогами.
Административные команды Здесь собраны команды, которые отвечают за «административную работу» с файлами и каталогами.chgrp
Команда chgrp изменяет группу каждого заданного файла на группу, которая может быть представлена как именем группы, так и ее числовым идентификатором (GID).
Более подробную информацию можно получить по команде man chgrp.chmod
Команда chmod изменяет права доступа файла в соответствии с правами доступа, указанными в параметре, который может быть представлен как в символьном виде, так и в виде восьмеричного числа.
Формат символьного режима:[ugoa…][[+-=][rwxXstugo…]…][,…]
Здесь каждый аргумент – это список символьных
• u – владельца;
• g – группы;
• о – других пользователей, не входящих в данную группу;
• а – всех пользователей. Буква а эквивалентна ugo. В том случае, если не задана ни одна буква, то будет использоваться буква а;
• + – добавляет выбранные права доступа к уже имеющимся;
• – – удаляет эти права;
• = – присваивает только эти права файлу.
Буквы rwxXstugo выбирают новые права доступа для пользователя, заданного одной из букв ugoa:
• r – чтение;
• w – запись;
• х – выполнение;
• X – выполнение, если файл является каталогом или уже имеет право на выполнение для какого-нибудь пользователя;
• S – setuid– или setgid-бит;
• t – sticky-бит;
• u – установка для остальных таких же прав доступа, какие имеет пользователь, владеющий этим файлом;
• g – установка для остальных таких же прав доступа, какие имеет группа файла;
• о – установка для остальных таких же прав доступа, какие имеют остальные пользователи.
Установка sticky-бита для каталога приводит к тому, что только владелец файла и владелец этого каталога могут удалять файл из каталога.
В операционной среде Linux, если на файле установлен бит setgid, но не установлен бит выполнения группой, то блокировки этого файла становятся жесткими (mandatory), в отличие от обычных – информационных (advisory). Подробная информация по этому вопросу находится в файле /usr/src/linux/Documentation/mandatory.txt.
Числовой режим состоит из четырех восьмеричных цифр, которые складываются из битовых масок 4, 2 и 1. Любые пропущенные разряды дополняются лидирующими нулями:
• первая цифра выбирает установку идентификатора пользователя – setuid (4), идентификатора группы – setgid (2) или sticky-бита (1);
• вторая цифра выбирает права доступа для пользователя, владеющего данным файлом: чтение (4), запись (2) и выполнение (1);
• третья цифра выбирает права доступа для пользователей, входящих в группу;
• четвертая цифра выбирает права доступа для остальных пользователей, не входящих в группу.
Эту команду может применять либо владелец файла, либо пользователь root. Более подробную информацию можно получить по команде man chmod.chown
Команда chown изменяет владельца и/или группу для заданного файла.
В качестве имени владельца/группы берется первый аргумент, не являющийся опцией. Если задано только имя пользователя (или его числовой идентификатор), то данный пользователь становится владельцем каждого из указанных файлов, а группа этих файлов не изменяется. Если за именем пользователя через двоеточие следует имя группы (или числовой идентификатор группы) без пробелов между ними, то изменяется также и группа файла. Если двоеточие стоит за именем пользователя, но группа не задана, то данный пользователь становится владельцем указанных файлов, а группа указанных файлов изменяется на основную группу пользователя. Если опущено имя пользователя, а двоеточие или точка вместе с группой заданы, то будет изменена только группа указанных файлов.
Как и предыдущие команды, ее может применять либо владелец файла, либо пользователь root.chroot Команда chroot используется только пользователем root, который с помощью команды
chroot имя_каталога
делает каталог корневым каталогом. Эта команда используется администратором для повышения безопасности системы. Более подробную информацию можно получить по команде man chroot.
lockflle Команда lockfile используется для создания специальных семафорных файлов.
mknod
Команда mknod создает именованный канал (FIFO), специальный символьный или специальный блочный файл (файл устройства).
Специальный файл именуется с помощью тройки параметров: один логический и два целых. Логический параметр говорит о том, является ли специальный файл символьным или блочным. Два целых параметра задают старший и младший номера устройства.
Специальный файл практически не занимает места на диске и используется только для общения с операционной системой, а не для хранения данных. Часто специальные файлы указывают на аппаратные устройства или на службы операционной системы.
Специальные блочные файлы обычно являются устройствами, подобными диску. Все другие устройства являются специальными символьными файлами.
Аргумент, следующий за именем, задает тип файла, который нужно создать:
• р – для FIFO;
• b – для блочного специального файла;
• с – для символьного специального
В файле /usr/src/linux/Documentation/devices.tex находится список устройств, где есть имена устройства, тип, старший и младший номер.
Более подробную информацию можно получить по команде man mknod.
Общие команды В этом разделе собраны команды, тем или иным способом воздействующие на файлы и каталоги.cat Команда выводит на экран содержимое файла, начиная с первой строки.
cd
Команда cd является встроенной в bash командой, которая предназначена для смены текущего каталога.
Пример:cd /var/log
Делает текущим каталог /var/log.
ср
Команда ср копирует файлы или каталоги. Если последний аргумент является существующим каталогом, то команда ср копирует каждый файл в этот каталог. В случае, если задано только два имени файла, то команда ср копирует первый файл во второй.
Права доступа к файлам и каталогам будут равны тем, что были на оригинальных файлах, но биты sticky, setuid и setgid будут сброшены.
Пример:ср /home/user1/test /home/user2/1.txt
Копирует файл /home/user1/test в файл /home/user2/l.txt. Более подробную информацию можно получить по команде man ср.
dir См. команду is.
file
Команда file определяет тип (или принадлежность к определенному процессу) файла. Иногда для этих целей используется файл /usr/share/magic.
Пример:file file.с
file.с: С program text
file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10}
/dev/hda: x86 boot sector
/dev/hda1: Linux/i386 ext2 filesystem
/dev/hda2: x86 boot sector
/dev/hda3: x86 boot sector, extended partition table
/dev/hda4: Linux/i386 ext2 filesystem
/dev/hda5: Linux/i386 swap file
/dev/hda6: Linux/i386 swap file
/dev/hda7: Linux/i386 swap file
/dev/hda8: Linux/i386 swap file
/dev/hda9: empty
/dev/hda10: emptyБолее подробную информацию можно получить по команде man file.
find
Команда find осуществляет поиск файлов. Имеет большое количество параметров, позволяющих ей производить как простой поиск, так и поиск со многими условиями.
Более подробную информацию можно получить по команде man find.head Команда head выводит на экран первые 10 строк файла. С помощью параметров можно изменить размер выводимой части.
In
Команда in создает ссылки на файлы. По умолчанию создаются жесткие ссылки, а при указании опции -s делаются символические ссылки.
Если задан только один файл, то для него делается ссылка в текущем каталоге с таким же именем, как у этого файла. В противном случае, если последний аргумент является именем существующего каталога, то команда in создаст ссылки в этом каталоге для каждого из файлов с такими же именами, как и у исходных файлов. В случае, если задано два имени, то создается ссылка (второе имя) на файл (первое имя).
По умолчанию команда in не удаляет существующие файлы или существующие символьные ссылки.
Пример:In make test
Создает жесткую ссылку с именем test на файл make. Более подробную информацию можно получить по команде man in.
locate См. команду slocate.
Is
Команда is выводит содержимое каталога. Эта команда сначала выводит список всех файлов, перечисленных в командной строке, а затем выводит список всех файлов, находящихся в каталогах, перечисленных в командной строке. Если не указано ни одного файла, то по умолчанию аргументом назначается текущий каталог.
Каждый список файлов сортируется отдельно в алфавитной последовательности текущих региональных настроек (locale).
Результат выдается на стандартный вывод, по одному файлу на строку.
При использовании ключа -l информация выдается в следующем виде:
• тип файла;
• права доступа к файлу;
• количество ссылок на файл;
• имя владельца;
• имя группы;
• размер файла;
• временной штамп;
• имя файла.
Типы файлов могут принимать следующие значения:
• – – для обычного файла;
• d – для каталога;
• b – для блочного устройства;
• с – для символьного устройства;
• l – для символической ссылки;
• р – для FIFO;
• s – для сокета.
Пример:
mc Команда mc запускает на выполнение файловый менеджер Midnight Commander, который позволяет производить множество операций с файлами и каталогами и имеет огромное количество команд и настроек. Исчерпывающую информацию о Midnight Commander можно получить из его справочной системы, вызываемой нажатием клавиши <F1>.
mkdir
Команда создает каталоги с заданными именами. По умолчанию права доступа к каталогам устанавливаются в 0777 за вычетом битов, установленных в umask.
Пример: