Мы уже установили Linux, пора приступить и к теории. Сегодня мы поговорим о некоторых особенностях Linux и начнём изучать основные команды. Linux - это тебе не Windows, где всё можно сделать одной левой мышкой. Здесь без клавы некуда. Хотя и говорят об упрощении, но всё это только слова.
В линуксе все диски именуются как /dev/hda. На самом деле это путь. dev - это папка в которой находятся файлы устройств. В то время, как любое остройство может быть описано в виде файла в директории dev и общатся с устройством можно как с простым файлом.
Первый диск (Диск "С:" в DOS или Windows) всегда имеет номер /dev/hda1. Второй диск будет иметь номер /dev/hda2. Так нумеруются четыре диска. Четыре - это максимальное количество IDE дисков, которое ты можешь засунуть в комп. Если ты диск разбиваешь на разделы, то логические диски начинают нумерацию с /dev/hda5. Например, если у тебя в компе установлен один винчестер разбитый на три диска (С, D, E,), то они будут нумероватся как /dev/hda1 (диск С:), /dev/hda5 (диск D:), /dev/hda6 (диск E:).
Имена файлов в линуксе могут содержать до 256 символов. Имя может быть любое, лишь бы оно не содержало символ "/", потому что он используется для отделения имён директорий.
Что такое каталоги? Папки, каталоги и директории - это одно и то же. Я буду применять в различных случаях разные термины, но всё это одно и тоже - набор файлов.
Дерево каталогов в линуксе (как и в любой другой unix подобной ОС) начинается с символа "/". Этот симол всегда указывает на начало пути. Например /dev или /etс, где dev и etc - каталоги в корне.
Давай теперь рассмотрим некоторые команды работы с файлами и каталогами. Эти компнды нужно использвовать в окне терминала, которое мы уже запускали и использовали. Из него мы запускали программу mc (подобие нортона).
cd
Команда cd используется для перемещения по каталогам. Вот несколько примеров (после символа ";" точка с запятой находятся коментарии происходящего).
; мы находимся в корне
# cd home ; перейти в папку home из текущего места
/home# cd mydir ; перейти в папку mydir из текущего места
/home/mydir cd / ; перейти в начало диска
# cd /home/mydir ; перейти в /home/mydir каталог
Вот так происходит перемещение по каталогам. Это очень похоже на DOS версию команды cd.
ls
Эта команда используется для просмотра содержимого каталога. В DOS эту роль выполняла команда dir.
Пример работы команды ls:
; мы находимся в корне
# ls
home/
etc/
drv/
usr/
... ; и так далее. Я не буду приводить весь список
#cd home ;перейдём в каталог home
/home# ls
mydir/
vasya/
petya/
/home# ls /etc ;показать содержимое каталога etc
Слэш в конце имени (home/) - означает, что нам перечисляют каталог. Если слэша нет, то это файл. Если рядом с именем стоит звёздочка "*", то это исполняемый файл.
В последнем примере /home# ls /etc я прошу показать каталог etc. Несмотря на то, что я сейчас нахожусь в каталоге Home, мне будут показаны файлы каталога /etc.
Если ты будешь использовать ключ -а, то тебе покажут абсолютно всё содержимое каталога.
; мы находимся в корне
/home# ls -a
mydir/ vasya/ petya/ shells adm
getty inet init init.d lilo
rc
Все возможные ключи для команды ls:
-a Вывести список всех файлов (обычно не выводятся файлы, имена которых начинаются с точки).
-d Если аргумент является каталогом, то выводить только его имя, а не содержимое. Часто используется с флагом -l для получения сведений о состоянии каталога.
-C Вывод в несколько колонок с сортировкой по колонкам.
-x Вывод в несколько колонок с сортировкой по строкам.
-m Вывод в свободном формате, имена файлов разделяются запятыми.
-l Вывод в длинном формате: перед именами файлов выдается режим доступа, количество ссылок на файл, имена владельца и группы, размер в байтах и время последней модификации (см. ниже). Если файл является специальным, то в поле размера выводится старший и младший номера устройства.
-n То же, что и -l, но идентификаторы владельца и группы выводятся в виде чисел, а не в виде имен.
-o То же, что и -l, но идентификатор группы не выводится.
-g То же, что и -l, но идентификатор владельца не выводится.
-r Изменить порядок сортировки на обратный алфавитный или, при наличии флага -t, сначала выводить более старые файлы.
-t Имена файлов сортируются не по алфавиту, а по времени (сначала идут самые свежие файлы). По умолчанию используется время последнего изменения. См. также флаги -u и -c.
-u Вместо времени последнего изменения использовать время последнего доступа для сортировки (с флагом -t) или для вывода (с флагом -l).
-c Вместо времени последнего изменения использовать время последней модификации описателя файла (т.е. время создания файла, изменения режима доступа к нему и т.п.) для сортировки (с флагом -t) или для вывода (с флагом -l).
-p Если файл является каталогом, то выдавать после его имени символ /.
-F Если файл является каталогом, то выдавать после его имени символ /; если файл является выполняемым, то выдавать после его имени символ *.
-b Выдавать непечатные символы, входящие в имя файла, в восьмеричном виде (\ddd).
-q Выдавать непечатные символы, входящие в имя файла, в виде символа ?.
-i Выдавать в первой колонке номера описателей файлов.
-s Выдавать размер файлов в блоках (включая косвенные блоки).
-f Рассматривать каждый аргумент как каталог и выводить его содержимое. Этот флаг отменяет флаги -l, -t, -s, -r и включает флаг -a. Сортировка имен файлов не производится; имена выдаются в таком порядке, в каком они перечислены в каталоге.
Запомни, что регистр команд имеет значение. Если ты используешь ключ -l, то тебе будет выводится информация о правах. Права выглядят из набора букв:
- (прочерк) - Данное право доступа отсутствует.
r - Право на чтение.
w - Право на запись.
x - Право на выполнение (поиск в каталоге).
l - Учет блокировки доступа (бит переустановки идентификатора группы равен 1, бит права на выполнение членами группы равен 0). Располагается на месте права на выполнение для членов группы.
s - Право переустанавливать идентификатор группы или идентификатор владельца и право выполнения файла для членов группы или владельца.
S - Неопределенная комбинация бит: право переустанавливать идентификатор владельца есть, а право выполнения файла для владельца отсутствует.
t - Установлен бит навязчивости [см. chmod(1)] у файла, который могут выполнять прочие пользователи. Располагается на месте права на выполнение для прочих пользователей.
T - Бит навязчивости установлен, а права на выполнение у прочих пользователей нет. Располагается на месте права на выполнение для прочих пользователей.
mkdir
Эта команда используется для создания нового каталога. Например:
/home# mkdir newdir
/home# ls
mydir/
vasya/
petya/
newdir/
cp
Эта команда используется для копирования файлов. Команда выглядит как:
В принципе, копировать удобнее через mc (подобие нортора командера), поэтому эту команду я опускаю. Если по каталогам ещё придётся шлятся, то копировать файлы можно другими способами, не используя терминал. А примера выше, достаточно любому, чтобы понять, как пользоватся командой cp.
mv
Эта команда нужна для перемещения файлов из одной папки в другую. Синтаксис использования, такой же, как и у команды cp:
С помощью этой команды можно удалять файлы. У этой команды есть несколько ключей:
f Команда не выдает сообщений, когда удаляемый файл не существует, не запрашивает подтверждения при удалении файлов, на запись в которые нет прав. Если нет права и на запись в каталог, файлы не удаляются. Сообщение об ошибке выдается лишь при попытке удалить каталог, на запись в который нет прав (см. опцию -r).
-r Происходит рекурсивное удаление всех каталогов и подкаталогов, перечисленных в списке аргументов. Сначала каталоги опустошаются, затем удаляются. Подтверждение при удалении файлов, на запись в которые нет прав, не запрашивается, если задана опция -f или стандартный ввод не назначен на терминал и не задана опция -i.
-i Перед удалением каждого файла запрашивается подтверждение. Опция -i устраняет действие опции -f; она действует даже тогда, когда стандартный ввод не назначен на терминал.
Синтаксис команды выглядит так
rm ключи имя_файла
more
Эта команда используется для вывода на экран содержимого файлов
Вот и всё, что касается основных команд работы с файлами. На последок хочу сказать: если возникли проблемы с какой-то командой, то набери в строке:
man Имя_Команды
И ты получишь достаточно полную информацию об этой команде. "man" - это команда вызова помощи. Для выхода из файла помощи нажми "q".
shutdown
Эта команда предназначена для выключения компьютера. Если ты хочешь перезагрузить компьютер, то достаточно набрать в окне терминала или командной строке команду:
shutdown -r now
Ключ -r указывает на то, что компьютер надо перегрузить. Если ты хочешь его выключить, то набери ключь -halt. Ключь now указывает на то, что команду надо выполнить немедленно.