В началоНаивные вопросы юных линуксоидов → Секреты консоли
Gentoo-doc HOME Пред.: Общие вопросыВ началоУровень выше: Наивные вопросы юных линуксоидовСлед.: Графическая оболочка X Window

3. Секреты консоли

3.1. Основные команды

Можно на 100% гарантировать, что количество команд в вашей Linux системе больше пары тысяч. Но практически все линуксоиды используют из этого количества не более 100 команд, хотя и это, пожалуй, завышенное число. Человеку, который линукс видел только на скринах, будет полезно узнать, как же использовать эту консоль.

3.1.1. Команда man

Linux – отлично документированная система. Подробную информацию о программе, команде или основным конфигурационном файлам можно получить при помощи команды man. Например man whereis выдаст вам подробную справку по использованию команды whereis, а команда man fstab выдаст синтаксис конфигурационного файла /etc/fstab.

Если вам не удалось найти нужную информацию, можно заглянуть в /usr/share/doc (в Gentoo Linux так же находится в /usr/doc). Там хранится документация программ.

3.1.2. Команда cd

Без этой команды навигация по файловой системе будет невозможна. Смысл её простой – сменить текущий каталог. А синтаксис такой: cd /home/vasya/katalog

Можно использовать как абсолютные, так и относительные пути к папкам.

Абсолютный путь – это путь указанный от корневого каталога (/).

Относительный путь – это путь указанный относительно текущего каталога.

Например, если вы находитесь в каталоге /home/vasya, то для перехода в /home/vasya/katalog вам нужно ввести только cd katalog. Необходимо отметить, что в Linux нет такого понятия, как "диски". Все разделы жестких дисков, CD-приводы, сетевые диски и т.д. отображаются в виде каталогов файловой системы (обычно в /mnt).

Чтобы узнать в каком каталоге вы сейчас находитесь используется команда pwd.

3.1.3. Команда ls

Используется для получения списка файлов и каталогов. Например, ls выведет нам содержимое текущего каталога. Для вывода информации о каталоге, в котором вы сейчас не находитесь, используется ls /etc. Наверняка вас не удовлетворят только имена файлов. Для увеличения количества выводимой информации используйте опцию "-l" ls -l. Теперь ls выведет вам много полезной информации, такой как права, время последней модификации, размер и прочее. ls -la с опцией "-a" покажет скрытые файлы (by morgoth)

3.1.4. Команда cp

Предназначена для копирования файлов и каталогов. Например, скопируем файл /home/vasya/katalog/linux.txt в каталог /home/vasya. Делается это так: cp /home/vasya/katalog/linux.txt /home/vasya. А вдруг мы хотим чтобы файл linux.txt получил имя gentoo.txt? Тогда делаем так: cp /home/vasya/katalog/linux.txt /home/vasya/gentoo.txt. По умолчанию cp не копирует каталоги. Чтож, заставим его это делать. Скопируем /home/vasya/katalog в каталог /tmp так: cp -R /home/vasya/katalog /tmp. Ключ -R указывает на рекурсивное копирование. Как и в случае с файлами, можно поменять конечное имя каталога: cp -R /home/vasya/katalog /tmp/novoe_imya. У cp есть еще один полезный ключ: -p. Он предназначен для сохранения всех параметров файла (владельца, прав доступа, битов suid, sgid). Рекомендуем всегда указывать ключ -p, особенно если вы частенько сидите под суперпользователем (чего делать категорически не рекомендуется).

3.1.5. Команда rm

Предназначена для удаления фаилов. Например, удалим файл /home/vasya/katalog/linux.txt: rm /home/vasya/katalog/linux.txt или если каталог /home/vasya/katalog текущий, тогда можно так: rm linux.txt. Будте осторожны, удаленный файл нельзя восстановить, как в DOS или Windows.

Для удаления пустого каталога /home/vasya/testdir введите rmdir /home/vasya/testdir. Не бойтесь указывать абсолютный путь к каталогу – будет удален только последний элемент пути. Для удаления этого же каталога рекурсивно (вместе с подкаталогами и файлами) введите rm -r /home/vasya/testdir.

3.1.6. Команда df

Предназначена для просмотра оставшегося места на диске df -h. Ключ -h позволяет увидеть вывод в удобном для человека формате (например 1K 234M 2G)

3.2. А как мне быть если путь или имя очень длинные?

Длинные пути к файлам и каталогам – довольно частое явление. И бороться с этим достаточно легко. Все современные оболчки (aka shell) обладают возможностью автодополнения. Что это значит? Например, есть файл cd home/vasya/katalog/vtoroi_katalog/ooooooooooooochendlinnoeimyakataloga. Ясно, что вбивать имя полностью – это сомнительное удовольствие. ;) Поэтому поручим часть работы shell'у. Мы пишем только часть имени, а остальное будет дополнять шелл. Для дополнения необходимо нажать Tab. Например: cd /h<TAB>/v<TAB>/k<TAB>/v<TAB>/o<TAB>

Примечание: в оболочке Zsh достаточно написать

cd /h/v/k/v/o и нажать "Tab". Оболочка сама развернет сокращение в полный путь. Но тут могут возникнуть проблемы, в том случае, если в каталоге /home есть 2 подкаталога /home/vasya и /home/vika. Шелл не сможет понять куда же вы хотите попасть. Чтобы помочь ему нужно указать еще одну букву в пути, то есть /home/va<TAB>, чтобы выбор был однозначным. Если вы не помните части пути, то можете два раза нажать Tab и вы увидите список возможных вариантов. Например: ls /home/<TAB><TAB> выведет на экран содержимое директории /home.

3.3. Как сделать чтобы программа запущенная из терминала работала после его закрытия?

Такая ситуация возникает довольно часто.Например вам необходимо обновить систему по ssh находясь далеко от своего компьютера, но удерживать связь постоянно вы не можете. Для этой цели можно использовать программу nohup. Например, так можно запустить xmms: nohup xmms. Вызываемой программе можно передавать аргументы. Теперь при закрытии терминала xmms будет работать, работать и работать ;) или: xmms & но это только освободит терминал. После закрытия терминала приложение завершиться.

Так же можно использовать программу screen.

Пред.: Общие вопросыВ началоУровень выше: Наивные вопросы юных линуксоидовСлед.: Графическая оболочка X Window
В началоНаивные вопросы юных линуксоидов → Секреты консоли