Как открыть файл в FreeBSD

Обновлено: 04.07.2024

Более десяти лет назад, когда я начал использовать X11 в качестве рабочего стола — в Linux, затем с KDE3 и позже с Fluxbox. Сначала я подумал, что файлы открываются соответствующими приложениями не по их расширению, как в системах Windows, а по их магическим номерам. Мне не нужно рассказывать вам, насколько я был разочарован, когда узнал правду 🙂

Возможно, вы захотите ознакомиться с другими статьями из серии FreeBSD Desktop на странице FreeBSD Desktop — Global Page, где вы найдете ссылки на все эпизоды этой серии вместе с оглавлением содержания каждого эпизода.

Это короткий рассказ о том, как убрать беспорядок, который делает XDG, а также об использовании пользовательских обработчиков *.desktop для открытия файлов так, как вы хотите. Известно, что он входит в серию FreeBSD Desktop, но на самом деле он будет работать на любом рабочем столе X11, таком как Linux или Illumos.

Оглавление статьи находится здесь, прямо внизу.

Тогда начнем.

После нескольких лет использования X11 во FreeBSD с Openbox в качестве ежедневного драйвера я использовал так называемый пакет xdg-utils с его *.desktop файлы. Это иногда сводило меня с ума. Повсюду беспорядок с двойными «одними и теми же» приложениями, перечисленными как возможные варианты открытия файла… почти случайно сгенерированные новые обработчики *.desktop с «новыми» приложениями, указанными для открытия некоторых файлов… еще дюжина сгенерированных *.desktop из инсталляций WINE… он может только бросить вызов чуши и беспорядку Реестра Windows… не уверен, какой из них более запутан (конечно, это Реестр Windows< /i> но все же).

xdg-mime(1) часто вообще бесполезен, чем определение типа файла.

Если минималистичный подход mupdf не для вас, вы можете выбрать, например, Atril… но сначала вам нужно знать, что это имя обработчика для Atril приложение. Вы можете узнать это быстро.

Теперь у нас есть имя обработчика Atril. Чтобы установить его как новое приложение по умолчанию для файлов PDF, введите следующее.

Но это довольно уникальный момент, когда XDG работает так, как задумано. Чаще это выглядит так.

Итак, когда вы теперь запрашиваете тип application/zip, что должно появиться? LibreOffice для документов Word/Excel или Engrampa для ZIP-файлов?

Не очень полезно…

После того, как я почти смирился с нынешним «трагическим» состоянием, у меня возникла другая идея — создать свой упрощенный лаунчер для многих из этих типов файлов. Это началось с малого и до сих пор довольно мало. Единственное, что я сейчас делаю, это добавляю новые приложения только для тех расширений файлов, которые еще не определены.

Он называется see.sh и выполняет двойную функцию:
– простая замена настроек XDG в одном месте в качестве средства открытия файлов;
– средство открытия командной строки для одного или нескольких файлов. файлы

Конструкция see.sh очень проста. В нем использована идея цитаты Антуана де Сент-Экзюпери, которая гласит: «Совершенство достигается не тогда, когда больше нечего добавить, а тогда, когда нечего убрать». – это действительно просто и нечего из него удалять.

Я очень ценю эту идею, что теперь мне не нужно помнить, какое приложение нужно (и как оно пишется, кроме завершения TAB zsh(1)), чтобы открыть любой файл в командной строке. Кроме того, его быстрее набирать, чем xdg-open(1), и я уверен, что его настройки не были изменены каким-либо сторонним приложением, которое я только что установил, потому что оно жестко закодировано в нем.

Мне также очень нравится see.sh за то, что он очень гибок в отношении переменных среды, с помощью которых можно запустить нужное приложение. Например, мой DPI по умолчанию для сеанса X11, который используется более десяти лет, составляет 75. Это делает шрифты немного меньше — больше информации помещается на доступном пространстве экрана. Приложения GTK2/GTK3 не нуждаются в каких-либо настройках и всегда выглядят прилично или даже отлично, но приложения QT5 (и QT4 не так давно) — настоящие стервы, когда вы хотите заставить их выглядеть так, как вы хотите (выглядеть красиво), особенно когда работать без полноценной среды KDE или PLASMA. Одним из таких приложений является LibreOffice. Это выглядело великолепно, когда использовалась структура GTK, но после того, как они перешли на QT, это стало выглядеть очень уродливо с моей настройкой 75 DPI. Вот как он выглядит в неизмененном окружении.


Благодаря see.sh я ​​могу запустить LibreOffice с другим параметром DPI, чем 75, и он выглядит немного лучше, если DPI установлен на 80. LibreOffice начал с опцией QT_FONT_DPI=80, теперь выглядит не так уж плохо — его шрифты больше не такие маленькие и уродливые.


Теперь текстовые метки в меню LibreOffice стали более читаемыми, но при этом не слишком большими.

Вы также можете настроить see.sh таким образом, чтобы сначала создавалась резервная копия перед редактированием определенных файлов или отправкой их по электронной почте — здесь вас ограничивает только ваше воображение.

Я также хотел, чтобы его имя see.sh было коротким и чтобы его можно было быстро набирать, чтобы с дополнениями было просто see[TAB], а затем имя файла. Конечно, вы можете переименовать его в более короткую версию (или создать псевдоним) как см. без расширения, но я предпочитаю хранить свои скрипты с расширением, чтобы отличать их от нативных команд — но это я.

Сначала see.sh определяет, передан ли ему один или несколько аргументов (файлов). Если это всего лишь один файл, то see.sh определяет его расширение и запускает настроенное для него приложение.


Если файл не имеет расширения, проверяется магический номер файла. В настоящее время с помощью команды file(1) реализовано только обнаружение текстовых файлов.


Если вы передаете несколько аргументов (файлов) в see.sh, то отдельные процессы see.sh будут запущены для каждого заданного файла параллельно. Рекурсия вообще.


Каждый раз, когда вы выбираете новое приложение в графическом режиме, в результате создается новый файл *.desktop с именем userapp-$-$.desktop под ~/.local/share/applications. Я не уверен, что это самый аккуратный способ. Часто генерируются очень некрасивые и странные имена файлов-обработчиков — с пробелами или кавычками. Это действительно далеко от подхода UNIX и его философии.

Вот так директория ~/.local/share/applications выглядела на моем компьютере через некоторое время. Обратите внимание на выбранный файл.


После некоторой очистки и модификации он выглядит немного лучше.


XDG хранит свои ассоциации в файле ~/.config/mimeapps.list. Посмотрите, какой беспорядок появляется после некоторого использования.


< /p>

После дополнительной очистки и удаления всех ненужных записей userapp-$-$.desktop он начинает выглядеть более организованным.


Каждый раз, когда see.sh обнаружит, что у него нет обработчика для файла, он изящно напомнит вам настроить его.


Многих из этих обработчиков *.desktop больше нет… но какой именно? Вот удобный лайнер, который либо покажет вам полный путь к обработчику, либо «NOPE», если он не существует. Это также сообщит вам, являются ли это вашими «настраиваемыми» обработчиками в ~/.local/share/applications или «по умолчанию», которые поставляются с пакетами и установленным программным обеспечением, расположенным в /usr/local /share/applications местоположение.

Ну… может быть, не совсем ОДИН лайнер, но полезная команда, которая это сделает 🙂

Вот его вывод.

Если вы просто хотите проверить, какие из них пропущены, добавьте в конце grep -B 1 NOPE.

Вот (не)ожидаемый результат.


Вы можете безопасно удалить все отсутствующие обработчики *.desktop из файла ~/.config/mimeapps.list. Вы можете использовать sed(1) или графический редактор, если вам это больше подходит. Логика этого заключается в том, чтобы удалить все экземпляры, например, presentations-free18.desktop, а затем найти и заменить все экземпляры двойных точек с запятой ';;' на один '< тт>;'.

Чтобы генерировать новые обработчики *.desktop по порядку, вы можете использовать мой скрипт generate-desktop-handler.sh. Он создаст новый обработчик в каталоге ~/.local/share/applications и убедится, что вы создаете его с реально существующим приложением. Вот как это работает. Я создал новый обработчик для моего random-wallpaper-always.sh для установки случайных обоев из указанного каталога или для установки обоев из точно указанного файла в качестве аргумента.

После создания нового файла random-wallpaper-always.sh.desktop, вы можете добавить его к какому-либо типу файла изображения, например JPG или PNG. В приведенном ниже примере я добавлю его в файл JPG.

Сначала щелкните правой кнопкой мыши файл JPG и выберите «Открыть с помощью», а затем «Другое приложение…».


Выберите обработчик random-wallpaper-always.sh.desktop в списке. Обязательно снимите флажок «Запомнить это приложение для … файлов». Если вы этого не сделаете, теперь это будет приложение ПО УМОЛЧАНИЮ, и каждый раз, когда вы захотите открыть файл JPG, вы будете устанавливать его в качестве обоев 🙂


Вы можете убедиться, что новый параметр добавлен, щелкнув правой кнопкой мыши файл JPG и выбрав «Свойства», а затем перейдите на вкладку «Открыть с помощью». Обработчик random-wallpaper-always.sh.desktop будет одним из настроенных обработчиков для файлов JPG, но не будет использоваться по умолчанию.


Теперь вы можете видеть, что обработчик random-wallpaper-always.sh.desktop доступен для использования при выборе подменю «Открыть с помощью».


Так просто и аккуратно.

Существуют некоторые другие альтернативы XDG, но я более чем уверен, что большинство или все приложения X11 поддерживают способ работы XDG, но не поддерживают другие альтернативные. Таким образом, гораздо проще заставить XDG работать как нужно, создав необходимые обработчики и используя see.sh вместо того, чтобы использовать их и тратить еще больше времени на тему — по крайней мере, таков мой текущий опыт.< /p>

Не стесняйтесь поделиться своими мыслями по теме — возможно, вы покажете мне еще лучший подход к этому.

FreeBSD является зарегистрированным товарным знаком FreeBSD Foundation.

IBM, AIX, OS/2, PowerPC, PS/2, S/390 и ThinkPad являются товарными знаками International Business Machines Corporation в США и/или других странах.

Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media и Windows NT являются либо зарегистрированными товарными знаками, либо товарными знаками Microsoft Corporation в США и/или других странах.

Motif, OSF/1 и UNIX — зарегистрированные товарные знаки, а IT DialTone и The Open Group — товарные знаки The Open Group в США и других странах.

Многие обозначения, используемые производителями и продавцами для различения своей продукции, заявлены как товарные знаки. В тех случаях, когда такие обозначения появляются в этом документе, и проект FreeBSD был осведомлен о заявлении на товарный знак, за обозначениями следует символ «™» или «®».

Содержание

Поздравляем с установкой FreeBSD! Это введение предназначено для людей, плохо знакомых с FreeBSD и UNIX®, поэтому оно начинается с основ.

1. Вход и выход

Чтобы выйти из системы (и получить новое приглашение для входа в систему): введите

так часто, как это необходимо. Да, нажмите Enter после команд и помните, что в UNIX® учитывается регистр — выход, а не EXIT .

Чтобы выключить тип машины

Или перезагрузить тип

Вы также можете выполнить перезагрузку с помощью Ctrl + Alt + Delete . Дайте ему немного времени, чтобы сделать свою работу. Это эквивалентно /sbin/reboot в последних выпусках FreeBSD и намного лучше, чем нажатие кнопки сброса. Вы ведь не хотите переустанавливать эту штуку, не так ли?

2. Добавление пользователя с правами root

Если вы не создавали пользователей при установке системы и, таким образом, вошли в систему как пользователь root , вам, вероятно, следует создать пользователя сейчас с

При первом использовании adduser может потребоваться сохранить некоторые значения по умолчанию. Возможно, вы захотите сделать оболочку по умолчанию csh(1) вместо sh(1), если она предлагает sh по умолчанию. В противном случае просто нажмите Enter, чтобы принять каждое значение по умолчанию. Эти значения по умолчанию сохраняются в редактируемом файле /etc/adduser.conf.

Предположим, вы создали пользователя jack с полным именем Jack Benimble. Дайте Джеку пароль, если проблема с безопасностью (даже с детьми, которые могут стучать по клавиатуре). Когда вас спросят, хотите ли вы пригласить Джека в другие группы, введите колесо

Это позволит войти в систему как jack и использовать команду su(1), чтобы стать пользователем root . Тогда вас больше не будут ругать за то, что вы вошли в систему как пользователь root .

Вы можете выйти из adduser в любое время, нажав Ctrl + C , и в конце у вас будет возможность одобрить нового пользователя или просто ввести n для отказа. Возможно, вы захотите создать второго нового пользователя, чтобы при редактировании файлов входа jack у вас был «горячий» резерв на случай, если что-то пойдет не так.

После того, как вы это сделаете, используйте выход, чтобы вернуться к приглашению входа в систему, и войдите в систему как jack .В общем, рекомендуется выполнять как можно больше работы в качестве обычного пользователя, у которого нет полномочий (и рисков) root .

Если вы уже создали пользователя и хотите, чтобы он мог получить права суперпользователя с помощью su, вы можете войти в систему как пользователь root и отредактировать файл /etc/group, добавив jack в первую строку (групповое колесо). Но сначала вам нужно попрактиковаться в текстовом редакторе vi(1) или использовать более простой текстовый редактор ee(1), установленный в последних версиях FreeBSD.

Чтобы удалить пользователя, используйте rmuser .

3. Оглядеться

Войдя в систему как обычный пользователь, осмотритесь и попробуйте некоторые команды, которые обеспечат доступ к источникам справки и информации во FreeBSD.

Вот некоторые команды и что они делают:

Рассказывает, кто вы!

Показывает, где вы находитесь — текущий рабочий каталог.

Список файлов в текущем каталоге.

Выводит список файлов в текущем каталоге с * после исполняемых файлов, / после каталогов и @ после символических ссылок.

Список файлов в длинном формате: размер, дата, разрешения.

Выводит список скрытых файлов с точками вместе с остальными. Если вы являетесь пользователем root , файлы с точками отображаются без переключателя -a.

Изменяет каталоги. cd .. резервирует один уровень; обратите внимание на пробел после cd . cd /usr/local идет туда. cd ~ переходит в домашний каталог человека, вошедшего в систему, например, /usr/home/jack . Попробуйте cd /cdrom , а затем ls , чтобы узнать, смонтирован ли ваш компакт-диск и работает ли он.

Позволяет просмотреть файл (с именем filename), не изменяя его. Попробуйте меньше /etc/fstab . Введите q, чтобы выйти.

Отображает имя файла на экране. Если он слишком длинный и вы видите только его конец, нажмите ScrollLock и используйте стрелку вверх для перемещения назад; вы также можете использовать ScrollLock со страницами руководства. Нажмите ScrollLock еще раз, чтобы выйти из прокрутки. Возможно, вы захотите попробовать выполнить команду cat для некоторых точечных файлов в вашем домашнем каталоге: cat .cshrc , cat .login , cat .profile .

Вы заметите псевдонимы в .cshrc для некоторых команд ls (они очень удобны). Вы можете создать другие псевдонимы, отредактировав .cshrc. Вы можете сделать эти псевдонимы доступными для всех пользователей системы, поместив их в общесистемный файл конфигурации csh, /etc/csh.cshrc .

4. Получение справки и информации

Вот несколько полезных источников помощи. Текст обозначает что-то по вашему выбору, которое вы вводите, обычно это команда или имя файла.

Все, что содержит строку text в базе данных whatis .

Справочная страница для текста. Основной источник документации по системам UNIX®. man ls расскажет вам обо всех способах использования ls . Нажмите Enter, чтобы перемещаться по тексту, Ctrl + B, чтобы вернуться на страницу назад, Ctrl + F, чтобы перейти вперед, q или Ctrl + C, чтобы выйти.

Сообщает, где в пути пользователя находится команда text.

Все пути, по которым находится строка text.

Сообщает вам, что делает команда text, и ее справочную страницу. Введите whatis *, чтобы узнать обо всех двоичных файлах в текущем каталоге.

Находит файл text по полному пути к нему.

Возможно, вы захотите попробовать использовать whatis для некоторых распространенных полезных команд, таких как cat , more , grep , mv , find , tar , chmod , chown , date и script . more позволяет вам читать страницу за раз, как это делается в DOS, например, ls -l | больше или больше имя_файла . * работает как подстановочный знак, например, ls w* покажет вам файлы, начинающиеся с w .

Некоторые из них работают не очень хорошо? И locate(1), и whatis(1) зависят от базы данных, которая перестраивается еженедельно. Если ваша машина не будет оставлена ​​включенной на выходные (и на ней работает FreeBSD), вы можете время от времени запускать команды для ежедневного, еженедельного и ежемесячного обслуживания. Запустите их от имени пользователя root и пока дайте каждому время завершиться, прежде чем вы начнете следующее.

Если вам надоело ждать, нажмите Alt + F2, чтобы открыть другую виртуальную консоль, и снова войдите в систему. Ведь это многопользовательская, многозадачная система. Тем не менее, эти команды, вероятно, будут отображать сообщения на вашем экране во время их выполнения; вы можете ввести clear в приглашении, чтобы очистить экран. После их запуска вы можете заглянуть в /var/mail/root и /var/log/messages .

Выполнение таких команд является частью системного администрирования, и как отдельный пользователь системы UNIX® вы являетесь системным администратором. Практически все, что вам нужно делать с правами суперпользователя, — это системное администрирование. Такие обязанности не очень хорошо освещены даже в тех больших толстых книгах по UNIX®, которые, похоже, уделяют много места раскрывающимся меню в оконных менеджерах. Возможно, вам захочется приобрести одну из двух ведущих книг по системному администрированию: «Руководство по системному администрированию UNIX» Эви Немет и др. (Prentice-Hall, 1995, ISBN 0-13-15051-7) — второе издание с красная обложка; или Элин Фриш Essential System Administration (O’Reilly & Associates, 2002, ISBN 0-596-00343-9). Я использовал Немет.

5. Редактирование текста

Чтобы настроить систему, вам необходимо отредактировать текстовые файлы.Большинство из них будут находиться в каталоге /etc; и вам нужно будет su получить root, чтобы иметь возможность их изменить. Вы можете использовать простой ee , но в долгосрочной перспективе стоит изучить текстовый редактор vi . В /usr/src/contrib/nvi/docs/tutorial есть отличное руководство по vi, если у вас установлены системные исходники.

Прежде чем редактировать файл, вероятно, следует создать его резервную копию. Предположим, вы хотите отредактировать файл /etc/rc.conf. Вы можете просто использовать cd /etc, чтобы перейти в каталог /etc и сделать:

Это скопирует rc.conf в rc.conf.orig , а позже вы сможете скопировать rc.conf.orig в rc.conf для восстановления оригинала. Но еще лучше будет перемещение (переименование) и потом копирование обратно:

потому что mv сохраняет исходную дату и владельца файла. Теперь вы можете редактировать rc.conf . Если вы хотите вернуть оригинал, вы должны затем mv rc.conf rc.conf.myedit (при условии, что вы хотите сохранить отредактированную версию), а затем

чтобы вернуть все как было.

Чтобы отредактировать файл, введите

Перемещайтесь по тексту с помощью клавиш со стрелками. Esc (клавиша выхода) переводит vi в командный режим. Вот несколько команд:

удалить букву, на которой стоит курсор

удалить всю строку (даже если она выходит за пределы экрана)

вставить текст рядом с курсором

вставить текст после курсора

После ввода i или a можно вводить текст. Esc возвращает вас в командный режим, где вы можете ввести

чтобы записать изменения на диск и продолжить редактирование

написать и бросить

выйти без сохранения изменений

для перемещения курсора к тексту; / Enter (клавиша ввода), чтобы найти следующий экземпляр текста.

для перехода в конец файла

перейти к строке n в файле, где n — число

перерисовать экран

Ctrl + b и Ctrl + f

перейти назад и вперед на один экран, как это делается с дополнительным и просмотром .

Попрактикуйтесь с vi в своем домашнем каталоге, создав новый файл с vi имя_файла, добавив и удалив текст, сохранив файл и снова запустив его. vi преподносит некоторые сюрпризы, потому что он действительно довольно сложный, и иногда вы непреднамеренно вводите команду, которая делает что-то, чего вы не ожидаете. (Некоторым людям действительно нравится vi - он более мощный, чем DOS EDIT - узнайте о :r .) Используйте Esc один или несколько раз, чтобы убедиться, что вы находитесь в командном режиме, и продолжайте оттуда, когда это доставляет вам проблемы, часто сохраняйте с помощью: w и используйте :q! выйти и начать заново (с вашего последнего :w ), когда вам нужно.

Теперь вы можете нажать cd на /etc , su на root , использовать vi для редактирования файла /etc/group и добавить пользователя в wheel , чтобы у пользователя были привилегии root. Просто добавьте запятую и имя пользователя в конец первой строки файла, нажмите Esc и используйте :wq для записи файла на диск и выхода. Мгновенно эффективный. (Вы не поставили пробел после запятой, не так ли?)

6. Другие полезные команды

показывает файловое пространство и смонтированные системы.

показывает запущенные процессы. ps ax — более узкая форма.

удаляет каталог dir и все подкаталоги — осторожно!

выводит список файлов в текущем каталоге и всех подкаталогах; Я использовал вариант, ls -AFR > where.txt , чтобы получить список всех файлов в / и (отдельно) /usr, прежде чем я нашел лучшие способы поиска файлов.

изменить пароль пользователя (или пароль root)

страница руководства по файловой системе UNIX®

Используйте find, чтобы найти имя файла в /usr или любом из его подкаталогов с

Вы можете использовать * в качестве подстановочного знака в "имя файла" (которое должно быть в кавычках). Если вы укажете find искать в / вместо /usr, он будет искать файл(ы) во всех смонтированных файловых системах, включая CDROM и раздел DOS.

Отличной книгой, объясняющей команды и утилиты UNIX®, является Abrahams & Larson, Unix для нетерпеливых (2-е изд., Addison-Wesley, 1996). Кроме того, в Интернете можно найти много информации об UNIX®.

7. Дальнейшие действия

Теперь у вас должны быть инструменты, необходимые для обхода и редактирования файлов, чтобы вы могли все настроить и запустить. Много информации можно найти в руководстве по FreeBSD (которое, вероятно, находится на вашем жестком диске) и на веб-сайте FreeBSD. Большое разнообразие пакетов и портов находится на компакт-диске, а также на веб-сайте. Руководство расскажет вам больше о том, как их использовать (получите пакет, если он существует, с помощью pkg add packagename , где packagename — это имя файла пакета). На компакт-диске есть списки пакетов и портов с краткими описаниями в cdrom/packages/index, cdrom/packages/index.txt и cdrom/ports/index, с более полными описаниями в /cdrom/ports/*/*/pkg/DESCR. , где * представляют подкаталоги видов программ и имена программ соответственно.

Если руководство по установке портов с компакт-диска покажется вам слишком сложным (с lndir и прочим), вот что обычно работает:

Найдите нужный порт, скажем, kermit . Для него будет каталог на компакт-диске.Скопируйте подкаталог в /usr/local (хорошее место для добавляемого программного обеспечения, которое должно быть доступно для всех пользователей) с помощью:

В результате должен появиться подкаталог /usr/local/kermit со всеми файлами, которые есть в подкаталоге kermit на компакт-диске.

Далее создайте каталог /usr/ports/distfiles, если он еще не существует, с помощью mkdir. Теперь проверьте /cdrom/ports/distfiles на наличие файла с именем, указывающим, что это тот порт, который вам нужен. Скопируйте этот файл в /usr/ports/distfiles ; в последних версиях вы можете пропустить этот шаг, так как FreeBSD сделает это за вас. В случае с kermit дистрибутивного файла нет.

Затем перейдите в подкаталог /usr/local/kermit, в котором находится файл Makefile. Тип

Во время этого процесса порт будет использовать FTP для получения любых необходимых ему сжатых файлов, которых он не нашел на компакт-диске или в /usr/ports/distfiles. Если у вас еще не запущена сеть и в /cdrom/ports/distfiles нет файла для порта, вам придется получить дистрибутив на другой машине и скопировать его в /usr/ports/distfiles. Прочтите Makefile (с катушкой или более или просмотрите ), чтобы узнать, куда идти (основной сайт распространения), чтобы получить файл и каково его имя. (Используйте передачу двоичных файлов!) Затем вернитесь в /usr/local/kermit , найдите каталог с Makefile и введите make all install .

8. Ваша рабочая среда

Ваша оболочка — самая важная часть вашей рабочей среды. Оболочка — это то, что интерпретирует команды, которые вы вводите в командной строке, и, таким образом, взаимодействует с остальной частью операционной системы. Вы также можете написать сценарии оболочки, представляющие собой серию команд, которые будут выполняться без вмешательства пользователя.

С FreeBSD устанавливаются две оболочки: csh и sh . csh хорош для работы в командной строке, но сценарии следует писать с помощью sh (или bash). Вы можете узнать, какая у вас оболочка, набрав echo $SHELL .

С оболочкой csh все в порядке, но tcsh делает то же самое, что и csh, и даже больше. Это позволяет вам вызывать команды с помощью клавиш со стрелками и редактировать их. Он имеет завершение имен файлов с помощью клавиши табуляции ( csh использует Esc ) и позволяет вам переключаться в каталог, в котором вы были последним, с помощью cd - . Также гораздо проще изменить приглашение с помощью tcsh . Это значительно упрощает жизнь.

Вот три шага для установки новой оболочки:

Установите оболочку как порт или пакет, как и любой другой порт или пакет.

Используйте chsh, чтобы навсегда сменить оболочку на tcsh, или введите tcsh в приглашении, чтобы изменить оболочку без повторного входа в систему.

В ранних версиях FreeBSD и многих других версиях UNIX® может быть опасно менять оболочку root на что-то отличное от `sh или csh; у вас может не быть работающей оболочки, когда система переводит вас в однопользовательский режим. Решение состоит в том, чтобы использовать su -m, чтобы стать root, что даст вам tcsh как root, потому что оболочка является частью среды. Вы можете сделать это постоянным, добавив его в свой .tcshrc в качестве псевдонима с помощью:

При запуске tcsh читает файлы /etc/csh.cshrc и /etc/csh.login, как и csh. Он также будет читать .login в вашем домашнем каталоге и .cshrc, если вы не предоставите .tcshrc . Это можно сделать, просто скопировав .cshrc в .tcshrc .

Это должно быть в том же месте, что и существующая строка подсказки установки, если она есть, или под "if($?prompt) then", если нет. Закомментируйте старую строку; вы всегда можете вернуться к нему, если вы предпочитаете его. Не забывайте пробелы и кавычки. Вы можете перечитать файл .tcshrc, набрав source .tcshrc .

Вы можете получить список других установленных переменных среды, введя env в командной строке. Результат покажет вам редактор по умолчанию, пейджер и тип терминала, а также, возможно, многие другие. Полезная команда, если вы входите в систему из удаленного места и не можете запустить программу, потому что терминал не поддерживает это setenv TERM vt100 .

9. Другое

Как пользователь root , вы можете размонтировать компакт-диск с помощью /sbin/umount /cdrom , вынуть его из привода, вставить другой и смонтировать его с помощью /sbin/mount_cd9660 /dev/cd0a /cdrom, предполагая, что cd0a — это имя устройства. для вашего дисковода компакт-дисков. Самые последние версии FreeBSD позволяют монтировать компакт-диск с помощью /sbin/mount /cdrom .

Использование live файловой системы — второго диска CDROM FreeBSD — полезно, если у вас ограниченное пространство. То, что находится в живой файловой системе, варьируется от выпуска к выпуску. Вы можете попробовать играть в игры с компакт-диска. Это включает в себя использование lndir , который устанавливается вместе с системой X Window, чтобы сообщить программам, где найти необходимые файлы, поскольку они находятся в /cdrom, а не в /usr и его подкаталогах, где они должны находиться. быть. Читать man lndir .

10. Комментарии Добро пожаловать

Если вы воспользуетесь этим руководством, мне было бы интересно узнать, где оно было неясным и что было упущено из того, что, по вашему мнению, следует включить, и было ли оно полезным. Я благодарю Юджина В. Старка, профессора компьютерных наук Университета штата Нью-Йорк в Стоуни-Брук, и Джона Фибера за полезные комментарии.

Раскройте потенциал FreeBSD, разобравшись с ее интерфейсом командной строки и научившись выполнять некоторые базовые операции.

Эта глава из книги

Эта глава из книги

Эта глава из книги 

FreeBSD, как и большинство операционных систем UNIX, имеет чрезвычайно богатый набор команд и утилит. Этот богатый набор утилит позволяет пользователям делать с UNIX то, что недоступно большинству других операционных систем. Эта мощь является одной из причин того, что UNIX остается столь популярным, спустя более 30 лет после его первоначального написания. К сожалению, этот богатый набор утилит и команд может сделать FreeBSD немного громоздкой и запутанной для нового пользователя. В этом часе вы познакомитесь с интерфейсом командной строки FreeBSD и узнаете, как выполнять некоторые основные операции.

За этот час вы узнаете следующее:

Основы процесса запуска FreeBSD

Вход в FreeBSD

Ваш домашний каталог и для чего он нужен

Остальная структура каталогов

Работа с файлами и каталогами

Выход из системы

Важность правильного завершения работы системы

Основы процесса запуска FreeBSD

При первом включении компьютера должен произойти ряд процессов, прежде чем вы сможете начать им пользоваться. Например, ваш компьютер должен убедиться, что все его оборудование доступно и работает правильно, и загрузить инструкции с жесткого диска, которые сообщают ему, что делать дальше. Базовое понимание этих процессов полезно для понимания того, как работает FreeBSD, а также для устранения неполадок, когда что-то идет не так.

ПОСТ

Первое, что происходит при включении компьютера, называется самопроверкой при включении питания (POST). Это программа, запускаемая BIOS (базовая система ввода/вывода) вашего компьютера. На этом этапе процесса запуска компьютер проверяет все свое оборудование, чтобы убедиться, что все работает. Он подсчитывает доступную оперативную память и выполняет некоторые базовые тесты, определяет типы и размер доступных носителей (жестких дисков и т. д.) и назначает ресурсы устройствам plug-and-play. Обратите внимание, что этот этап процесса запуска не имеет ничего общего с FreeBSD. Этот шаг выполняется независимо от того, какую операционную систему вы собираетесь запускать на своем компьютере. На данный момент ваш компьютер еще ничего не знает о том, какая операционная система на нем будет работать.

Самозагрузка

После завершения POST BIOS вашего компьютера ищет устройство в вашей системе, с которого можно загрузить операционную систему. Порядок, в котором устройства проверяются на наличие операционной системы, обычно можно настроить в меню настройки BIOS вашей системы. Часто флоппи-дисковод является первым устройством, которое проверяется. Вот почему вы получаете сообщение «Ошибка несистемного диска или диска», если у вас есть дискета в дисководе при включении компьютера. Обычно устройством, с которого загружается система, является жесткий диск системы.

Диспетчер загрузки

После того как BIOS найдет загрузочный жесткий диск, он прочитает все, что находится в секторе 0 на жестком диске. Вы можете думать о секторе 0 как о первом элементе на жестком диске. Сектор 0 также известен как Главная загрузочная запись или MBR. Эта процедура начинается с так называемой начальной загрузки, которая получила свое название от идеи о том, что система «подтягивается за счет начальной загрузки».

Если вы установили систему с двойной загрузкой, чтобы каждый раз при запуске системы выбирать, хотите ли вы работать в Windows или FreeBSD, программа менеджера загрузки FreeBSD будет находиться в MBR. Вы поймете, что этот этап процесса загрузки завершен, когда появится меню, похожее на следующее:

Запись DOS на самом деле является Windows. Но он будет отображаться как DOS с некоторыми версиями Windows. Чтобы выбрать операционную систему, которую вы хотите запустить, просто нажмите функциональную клавишу, соответствующую записи в меню. Если вы ничего не делаете в течение некоторого времени, запись, указанная рядом с Default, будет запущена автоматически. (По умолчанию обычно используется та операционная система, которую вы выбрали при последнем использовании компьютера.) До конца этого часа я, конечно, буду предполагать, что вы выбрали FreeBSD в этом меню.

FreeBSD также можно загрузить с помощью загрузчиков Linux: LILO и GRUB. Однако его настройка выходит за рамки этой книги. Пожалуйста, обратитесь к документации LILO или GRUB для получения дополнительной информации о том, как добавить другой вариант загрузки.

Если вы решили установить FreeBSD как единственную операционную систему на компьютере, вы не увидите это меню, вместо этого сразу же начнется загрузка FreeBSD.

Ядро

Следующая часть процесса загрузки загружает и запускает ядро FreeBSD. Ядро — это специальная часть программного обеспечения, которая служит ядром операционной системы.Он контролирует доступ к системным ресурсам, таким как ОЗУ, жесткие диски и т. д., предоставляет услуги (например, многозадачность), которые позволяют вашему компьютеру выполнять более одной задачи одновременно, гарантирует, что две программы не смогут мешать друг другу, получая доступ к ресурсы, не выделенные им, и в многопользовательской системе, такой как FreeBSD, гарантирует, что пользователи не могут мешать другим пользователям, контролируя, к каким частям системы пользователи могут получить доступ.

Когда ядро ​​загрузится, вы увидите уведомление об авторских правах, похожее на следующее:

Обратите внимание на последние две строки (строки 4 и 5). Строка 4 содержит важную информацию о версии FreeBSD, которую вы используете. В данном случае мы используем FreeBSD версии 4.7 RELEASE (другие варианты СТАБИЛЬНЫЕ и ТЕКУЩИЕ. Я объясню их позже). Дата и время, следующие за выпуском, указывают дату и время компиляции этого ядра. Это может не иметь большого значения для вас прямо сейчас, но будет важно позже, если вы соберете собственное ядро ​​для своей системы. (См. час 10, «Ядро FreeBSD и дерево устройств», чтобы узнать, почему вам может понадобиться это сделать и как это сделать.) В строке 5 указано имя пользователя, создавшего ядро, а также имя хоста. системы, на которой было построено ядро. Во второй части строки указан каталог, в котором находятся объектные файлы ядра. Если вы программист на C или C++ и знаете, что такое объектные файлы, отлично. Если вы не знаете, что такое объектные файлы, не волнуйтесь. Вы можете прекрасно работать с FreeBSD и администрировать ее, даже не беспокоясь об этом.

После уведомления об авторских правах вы увидите поток сообщений на экране, поскольку FreeBSD обнаруживает и инициализирует различные аппаратные устройства в вашей системе. На данный момент вам не нужно понимать, что они означают, но вы можете узнать в списке какое-то знакомое оборудование. Например,

это 3,5-дюймовый дисковод для гибких дисков емкостью 1,44 МБ. Первая часть строки (fd0) — это имя устройства FreeBSD. Это похоже на обозначение «A: диск» в Windows. Однако система FreeBSD на самом деле имеет больше смысла, поскольку ее обозначение говорит вам кое-что о том, что представляет собой устройство — fd означает гибкий диск. Число 0 указывает на то, что это первая дискета в системе. Во FreeBSD числа почти всегда начинаются с 0, а не с 1.

Вы также можете увидеть несколько строк, которые выглядят примерно так:

Об этих сообщениях тоже не стоит беспокоиться. Это просто устройства plug-and-play в вашей системе, о которых FreeBSD ничего не знает. Со временем, поскольку FreeBSD поддерживает все больше и больше оборудования, вы будете видеть все меньше и меньше таких сообщений.

После того, как ядро ​​завершит инициализацию оборудования, оно смонтирует корневую файловую систему. (Подробнее о монтировании и размонтировании файловых систем можно найти в Часе 8, «Системы хранения данных и утилиты резервного копирования».) Монтирование файловой системы просто делает ее доступной для использования. Когда этот процесс произойдет, вы увидите сообщение, похожее на следующее:

После того, как это произойдет, ядро ​​вызовет программу init для обработки оставшейся части загрузки системы. Сообщения, поступающие от ядра, и сообщения, поступающие от программы init, можно отличить по цвету. Сообщения ядра окрашены в белый цвет, тогда как сообщения от init светло-серого цвета.

Одним из первых действий, которые делает программа init, является проверка правильности завершения работы системы при последнем перезапуске компьютера. Если это не так, init запустит программу под названием fsck, которая в основном эквивалентна программе Windows Scandisk. fsck проверит и устранит любые повреждения файловой системы, возникшие в результате неправильного завершения работы системы.

После проверки файловых систем init считывает сценарии запуска системы и запускает все программы, которые должны запускаться при запуске системы. Они аналогичны службам в Windows или программам, помещенным в группу автозагрузки в Windows.

После запуска этих программ init запускает программу, которая инициализирует консоль и выводит запрос на вход в систему.

Применение: Команда ls отобразит все файлы в текущем рабочем каталоге — просто введите «ls» и нажмите клавишу «Ввод». Вы также можете добавить некоторые дополнительные аргументы для настройки отображения списка.

Если вы введете "ls -F", к именам подкаталогов будет добавлена ​​косая черта, чтобы вы могли легко отличить их от имен файлов.

Если вы наберете "ls -a", будут показаны все "скрытые файлы". Скрытые файлы начинаются с «.», то есть файлы «.htaccess».

Если вы введете "ls -l", будет показана подробная информация о каждом файле и каталоге, включая разрешения, владельца, размер файла и время последнего изменения файла.

Вы можете смешивать аргументы, т.е.если вы наберете «ls -aF», вы увидите список всех имен файлов (включая скрытые файлы, а к именам каталогов будет добавлена ​​косая черта.

Чтобы извлечь файлы из архива формата tar, просто введите "tar xvf tarfile" в командной строке telnet и замените tarfile на имя извлекаемого архивного файла.

Например, вы можете ввести tar cvf pages.tar htdocs" в командной строке telnet, чтобы заархивировать файлы в каталоге htdocs в файл формата tar с именем pages.tar.

Чтобы просмотреть содержимое tar-файла pages.tar, не распаковывая его, введите "tar tvf pages.tar". Это отобразит все файлы, включенные в tar-архив.

Например, введите "zip backup.zip home.html index.html" в командной строке telnet, чтобы сжать и заархивировать файлы с именами home.html и index.html в файл с именем backup.zip.

Например, введите "unzip -aL old.zip" в командной строке telnet, чтобы извлечь файлы, содержащиеся в архиве с именем old.zip. Параметр "-aL" обычно полезен при распаковке файлов, созданных на ПК.

Команда сжатия сжимает файл или файлы в сжатые версии, чтобы сэкономить место на ваших виртуальных частных серверах. Эту команду удобно использовать для файлов журналов, когда они становятся очень большими. Просто введите «compress filename(s)» в командной строке telnet и замените имена файлов на имена ваших файлов, которые вы хотите сжать.

Читайте также: