Настройка и работа в Linux
adb5321d

Работа в конcольном режиме


Базовый набор команд состоит из: cd <директория> Сменить текущую директорию на требуемую, двумя точками обозначается директория нижнего уровня, одной - текущая ls <директория> Просмотреть список файлов, по умолчанию выбирается текущая cp <файл> <файл> Копировать файл rm <файл> Удалить файл mv <файл> <файл> Переместить файл mkdir <директория> Создать директорию pwd Указать текущую директорию

Причем писать название команды до конца не обязательно, достаточно нажать клавишу <Tab> и shell допишет название сам. Если этого не произошло, это означает, что есть более чем одна команда с таким началом. Нажмите <Tab> еще раз и увидите весь этот список. Если дважды нажать <Tab> в начале строки, то увидите список всех команд, правда shell сначала поинтересуется, работать ли ему. Ведь список такой большой, а shell программа ленивая.

Прочтя этот список, многие захотят испытать ту или иную команду. Но не все команды предназначены для простых смертных, и они у вас не запустятся. Те, которые запустятся, могут не заработать, поскольку у них недостаточно информации для работы. Чтобы узнать все требования выбранной команды есть команда man, это сокращение от manual. Из ее названия понятно, что она возвращает описания команды. Наберите man <команда> и получите ответы на все вопросы. Но команда man имеет более широкое применение, нежели простое описание команд, она говорит также и о системных вызовах и многом другом, что может потребоваться уже программисту. Существуют man-страницы и на русском языке, также можно найти практически все man-страницы в интеренете на сайте www.linuxdocs.ru.
Например: rm -r Удаление файлов и директорий rm -f Удаление без глупых вопросов

Те, кто работал с DOS (я вообще то с ним имел дело всего пару раз), легко привыкнут набирать команды с клавиатуры. Однако разница не только в названиях отдельных команд. Самая главная разница заключается в том, что shell, вообще-то, не всегда интересуется названием вашего текущего каталога. Часто это название приходится ему напоминать. Например, при запуске исполняемого файла. Если просто набрать abvgd, то shell поищет в каталоге /sbin, затем в /bin, затем в /usr/sbin, заглянет в /usr/bin, может еще куда, затем плюнет на это дело и выругается. Надо набрать ./abvgd (обратите внимание на точку перед слэшем).

Другой серьезной разницей являются имена файлов. Здесь различаются строчные и прописные буквы, запрещен пробел, а перед названием директории стоит не обратный слэш \, а прямой /. Здесь также разрешены длинные имена файлов, до 256 символов, и отсутствует ограничение на длину полного имени (это имя файла вместе с именами всех директорий).

Скучающие по Norton Commander могут набрать mc, и, о чудо, увидеть пару голубых панелей. А на них кучу файлов с непонятными атрибутами. Если название файла начинается с точки, то это скрытый файл, то же самое относится и к директориям. Если перед названием стоит *, то файл исполняемый (звездочка не входит в название, это атрибут). После названия файла или директории идут имя владельца, имя группы владельца и атрибуты (это 3 восьмизначные цифры). Атрибуты регулируют права чтения, записи и исполнения и меняются командой chmod <файл> <новые параметры> (это сокращение от change mode). Для директории исполнение означает получение списка ее содержимого, а чтение - открытие. Каждая цифра получается как "чтение"*4+"запись"*2+"исполнение", каждый параметр принимает значение 0 или 1. Первая цифра означает права владельца, вторая его группы, третья - прочие. Атрибут 666 означает права на чтение и запись для всех, но запрет на исполнение. root имеет неограниченные права.

В аргументах большинства команд входящие в название файлов буквы и цифры можно заменять специальными символами - $ (заменитель одного любого символа), * (заменитель любого количества любых символов), {1-3} (заменитель обозначенных символов). Будьте осторожны с употреблением этих символов!

Примечание: несколько лет тому назад на моего научного руководителя (он в тот момент был root'ом) в Университете нашло непонятное забвение, и он в каталоге /mnt кафедрального сервера набрал следующую команду:

rm -rf *

После этого 3 диска стали девственно чистыми. Самым страшным итогом этого происшествия стала гибель архивов порнухи двух групп. А это 17 человек!

Помимо обычных файлов в каталоге могут быть еще и линки (link). Если вам знакомо такое понятие как ярлык (а кому оно сейчас не знакомо), то линк - это обобщение ярлыка. Обобщение это состоит в том, что если ярлыки служат для удобства пользователей, то линки могут использоваться еще и программами. Существует два типа линков - мягкие (soft) и жесткие (hard). Жесткие линки неотличимы самого файла, и любое изменение жесткого линка эквивалентно изменению файла. Нельзя удалить файл, если на него указывает хоть один жесткий линк. Мягкие ссылки больше похожи на ярлыки, поскольку их можно оставлять везде, тогда как для жестких есть ограничения. Жесткий линк получается командой ln <файл>, а мягкий ln -s <файл>. Если файл открыт программой, то это эквивалентно наличию жесткого линка.

Windows - операционная система многозадачная, это означает, что она работает и глючит одновременно. (Когда я набирал предыдущую фразу в Word'е, у него перекосило шрифты.) Для UNIX мультизадачность означает немного другое. Вы можете запустить несколько процессов, переключаться между ними, менять приоритеты, и многое другое. Если процесс не понравится, его можно убить, только надо иметь в виду, что у каждого процесса имеется владелец. И ему могут не понравиться ваши действия. А поскольку простой пользователь может убивать только свои процессы, то всеобщим убийцей является root. Получить список процессов можно командой ps.

Для организации многозадачности в UNIX предусмотрено 2 режима foreground и background. Отличаются они тем, что foreground работает с клавиатурой, в то время как background доступа к ней не имеет. Командами для доступа к этим режимам являются fg и bg с номером процесса. Если у вас открыта только одна консоль (а не 2 или 3), то бэкграундные процессы посылают свой вывод только на нее. Выглядит это жутковато, мало кто способен разобраться в мешанине букв, цифр и других символов. Но есть масса облегчителей (я не придумал это слово, а прочел на банке с соком) работы, например команды < и >. Это команды ввода/вывода в файл. С их помощью вы можете отправить вывод в файл (например, на другую консоль или иное устройство). Команда служит для отправления вывода одного процесса на вход другого. Если после команды стоит символ &, то она автоматически исполняется в бэкграунде.

Для управления процессами также служит команда kill, особенно полезно знать ее версию killall. Применение этой команды root'ом может привести к немедленной перезагрузке. Она посылает системные вызовы процессам, сам вызов определяется ключом, который пишется между командой и номером процесса.

Тупоконечники против остроконечников, зенитчики против спартачей, поклонники Intel против сторонников AMD - это противостояние вечно. Есть оно и среди пользователей Linux. Это вечное противоборство текстовых редакторов vi и emacs. Многие, поработав с Word, удивляются, как можно готовить тексты без графического режима. "Можно!" - отвечают им и те и другие. Это мощнейшие из известных мне текстовых редакторов, во много раз превосходящие Office XP по возможностям. И не просто отвечают, а пишут книги о любимом редакторе, и разгромные статьи о противном. Количество ругани, выплеснутой в этом противостоянии, явно превосходит новомодное выяснение "кто тут производительнее". Редактор emacs имеет собственный язык программирования elisp, умеет работать с TeX, HTML и другими языками подготовки текста. Насчет HTML я не знаю, но ничего лучше для TeX просто не существует. Широко известен (и много лет развивается) макропакет для emacs, который представляет собой личного психотерапевта. Редактор vi не имеет собственного языка программирования, но система его команд способна подключать компиляторы C/C++, Java, FORTRAN, Perl и многое другое, даже с синтаксической подсветкой. Я не могу описать все возможности этих языков, это тема для нескольких отдельных книг, благо они написаны. Недавно появился emacs и для Windows.

Отгремевшая же недавно Великая Броузерная Война никак не задела пользователей Linux. Microsoft не удосужился сделать текстовую версию своего IE с открытыми кодами. А создатели lynx удосужились! Ходить по сети можно и в текстовом режиме. Есть версия для Windows по адресу http://jim.spath.com/lynx_win32/. Или можно посмотреть под виндами, как выглядит паутина для юниксовой консоли, просто зайдя в Библиотеку Мошкова http://lib.ru. А когда зайдете, то помимо художественной и не очень литературы найдете там лучшую подборку книг по UNIX.

Linux Navigator. Стр 2. Инсталляция


Содержание:

Linux Navigator. Консоль
Linux Navigator. Инсталляция
Linux Navigator. Опции ядра
Linux Navigator. Администрирование
Linux Navigator. Файловая система 1. Монтирование.
Linux Navigator. Файловая система 2.
Linux Navigator. Настройки сети.

 
Содержание раздела