Несмотря на то, что эта книга ориентирована на администраторов и опытных пользователей, мы не хотели исключать заинтересовавшихся новичков. Это приложение - ускоренный курс,в котором описываются основные понятия, затрагивающие обращение с компьютером в Unix.
B.1. Shell и Базовые команды
В мире Unix каждый администратор рано или поздно использует командную строку; например, когда система не запускается должным образом и имеется только командная строка режима восстановления. Умение управляться с командной строкой - базовое для выживания в таких условиях.
Эта секция дает только краткий обзор команд. Они все имеют много опций, не описанных здесь. Поэтому, пожалуйста, обратитесь к документации в соответствующих страницах руководства.
B.1.1. Обзор Дерева Каталогов и Управления Файлами
После того, как сеанс открыт, команда pwd
(которая служит для вывода рабочего каталога) показывает текущее местоположение в файловой системе. Текущий каталог изменяется с помощью команды cd каталог
(cd
для того, чтобы изменить каталог). Родительский каталог всегда называют ..
(две точки), тогда как текущий каталог - .
(одна точка). Команда ls
выводит список содержимого каталога. Если никаких параметров не задано, она работает в текущем каталоге.
$
pwd
/home/rhertzog
$
cd Desktop
$
pwd
/home/rhertzog/Desktop
$
cd .
$
pwd
/home/rhertzog/Desktop
$
cd ..
$
pwd
/home/rhertzog
$
ls
Desktop Downloads Pictures Templates
Documents Music Public Videos
Новый каталог может быть создан с помощью команды mkdir каталог
, а удален существующий (пустой) каталог может быть с помощью - rmdir каталог
. Команда mv
позволяет переместить и/или переименовать файлы и каталоги; удаление файлов достигается с помощью команды rm файл
.
$
mkdir test
$
ls
Desktop Downloads Pictures Templates Videos
Documents Music Public test
$
mv test new
$
ls
Desktop Downloads new Public Videos
Documents Music Pictures Templates
$
rmdir new
$
ls
Desktop Downloads Pictures Templates Videos
Documents Music Public
B.1.2. Отображение и Изменение Текстовых Файлов
Команда cat файл
(предназначенная для связывания файла со стандартным устройством вывода) считывает файл и отображает его содержимое на терминале. Если файл слишком большой чтобы поместиться на экране, используйте пейджер (полоса прокрутки) например меньше
(или больше
) для прокрутки содержимого файла на странице.
Команда editor
запускает текстовый редактор (например vi
или nano
) и позволяет создавать, редактировать и читать текстовые файлы. Простейшие файлы иногда могут быть созданы непосредственно из интерпретатора команд с помощью перенаправления: echo "текст" >файл
. Оно создает файл с “текстом” в качестве содержимого. Добавить строку в конце файла тоже возможно, с помощью такой команды как echo "еще текст" >>файл
. Запишите >>
в этот пример.
B.1.3. Поиск Файлов и в пределах Файла
Команда find каталог критерий
ищет файлы внутри каталога каталог по особым критериям. Наиболее часто используемым критерием является -name имя
: что позволяет найти файл по его имени.
Команда
grep выражение файл
ищет содержимое файла и извлекает строки, совпадающие с выражением (смотри боковую панель
BACK TO BASICS Regular expression). Добавление опции
-r
включает рекурсивный поиск всех файлов, содержащихся в каталоге, используемом в качестве параметра. Это позволяет найти файл когда известна лишь часть содержимого.
B.1.4. Управление Процессами
Команда ps aux
выводит список запущенных процессов и помогает идентифицировать, показывая их pid (Идентификационный номер процесса). Когда pid процесса известен, команда kill -сигнал pid
позволяет отправить ему сигнал (если процесс принадлежит текущему пользователю). Существует несколько сигналов; наиболее часто используемые - это TERM
(запрос завершиться корректно) и KILL
(принудительно убить).
Командный интерпретатор может запускать программы в фоновом режиме, если за командой следует “&”. Используя амперсанд, пользователь немедленно возобновляет контроль над оболочкой, хотя команда все еще выполняется (как фоновый процесс). Команда jobs
выводит список процессов, запущенных в фоновом режим; ввод fg %номер фонового процесса
(от foreground) возвращает процесс на передний план. Когда команда выполняется на переднем плане (была запущена обычным образом или перенесена на передний план с помощью fg
), комбинация клавиш Control+Zприостанавливает процесс и возвращает контроль над командной строкой. Процесс может быть возобновлен в фоновом режиме с помощью bg %номер фонового процесса
(от background).
B.1.5. Информация о системе: Память, Дисковое пространство, Идентификатор
Команда free
отображает сведения о памяти; df
(disk free) выводит отчет о доступном дисковом пространстве на каждом из дисков, смонтированных в файловой системе. Опция -h
(для читаемости человеком) преобразует размеры в более разборчивый вид (обычно в мегабайты или гигабайты).Аналогичным образом, команда free
поддерживает опции -m
и -g
для отображения данных в мегабайтах или гигабайтах, соответственно.
$
free
total used free shared buffers cached
Mem: 1028420 1009624 18796 0 47404 391804
-/+ buffers/cache: 570416 458004
Swap: 2771172 404588 2366584
$
df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 9614084 4737916 4387796 52% /
tmpfs 514208 0 514208 0% /lib/init/rw
udev 10240 100 10140 1% /dev
tmpfs 514208 269136 245072 53% /dev/shm
/dev/sda5 44552904 36315896 7784380 83% /home
Команда id
выводит идентификатор пользователя, запустившего сессию, а также список групп, в которые он входит. Поскольку доступ к некоторым файлам или устройствам может быть ограничен для членов некоторых групп, проверка групп (в которых состоит пользователь) может быть полезной.
$
id
uid=1000(rhertzog) gid=1000(rhertzog) groups=1000(rhertzog),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),109(bluetooth),115(scanner)