Будет ли создание текстового файла в vi изменен мой компьютер?

Я знаю, что Linux - это операционная система, построенная на текстовых файлах. Я хотел бы создать файл, используя vi из всех различных команд, которые я узнал. Таким образом, я мог легко найти каждую отдельную команду, используя / в vi. Но я хочу сделать это только в том случае, если это не изменит способ работы моего компьютера. Будет ли это хорошей идеей?

1
задан 20 February 2015 в 09:03

4 ответа

Вы можете сохранить все команды, которые вы изучили в файле, но некоторые важные моменты, которые следует отметить:

Не делать исполняемый файл Never source file Лучшим способом было бы поставить # в начале всех команд, чтобы прокомментировать все команды, чтобы они случайно не исполнялись. Таким образом, вы можете действительно искать нужную команду, а также быть свободным от риска. Вы можете добавить # в начале каждой строки с помощью следующей команды: sed -i 's/^/#/' <file_name>

EDIT: я дал третью точку в качестве крайней меры безопасности, например, «neon_overload» и «David Z», указал, что хэш во всех строках слишком обширен и, следовательно, не нужен, я бы с ними согласился в этом контексте. Также, как указано в «random832», гораздо лучшей альтернативой моей третьей точке было бы запустить файл с exit, так как последующие команды не будут выполнены тогда.

EDIT: [ ! d8] «Rinzwind» упомянул два важных момента:

Не делайте исполняемый файл Храните файл в домашнем каталоге пользователя (/home/$USER/).
15
ответ дан 23 May 2018 в 23:06
  • 1
    put a # in the beginning of all the commands to comment out all the commands so they don't get executed accidentally Я не совсем уверен, что это должно быть серьезное предложение или шутка. Мой детектив сарказма мне сегодня не удалось. – Lie Ryan 20 February 2015 в 16:35
  • 2
    Слово, которое нужно придавать важности, является «случайно». Пользователь может случайно сохранить файл где-то небезопасным как исполняемый файл .... здесь я просто не рискованно. Надеюсь, теперь вы понятны. – heemayl 20 February 2015 в 16:49
  • 3
    Не мог он просто положить «выход»? или что-то подобное в начале файла, вместо того, чтобы комментировать каждую строку? – o0'. 20 February 2015 в 19:49
  • 4
    Может быть, он имел в виду #! - это означает, что интерпретатор имеет значение null, поэтому он не запускается. – Joshua 21 February 2015 в 04:27
  • 5
    @BJsgoodlife, no #! - просто exit; таким образом, вы также защищены от sh yourfile, что недействительный shebang не поможет. – Charles Duffy 21 February 2015 в 04:54

neon_overload имеет очень хороший ответ.

Я немного разберусь по определенной грани вашего вопроса - я бы сделал это замечанием, но здесь у меня нет достаточной репутации. [ ! d1]

Linux, как операционная система, сильно НЕ основан на текстовых файлах. Тем не менее, я могу видеть, откуда вы. Для стороннего наблюдателя существует довольно много возможностей для редактирования и запуска «текстовых» файлов, особенно по сравнению с Windows.

Это имеет несколько причин, некоторые из которых:

[d4 ] В Linux нет системы регистрации, как в Windows. Поэтому для приложений обычно хранить свои настройки в текстовых файлах, и вам будет поручено редактировать их, а не редактировать реестр, как в Windows. Linux очень широко используется в качестве серверной системы, и многие из тех, кто использует ее на настольных компьютерах, работают с серверными системами. В отличие от Windows Server, серверы Linux обычно работают без графического интерфейса. Таким образом, ожидается, что продукты, которые, как ожидается, будут работать на серверах Linux и, действительно, их пользователи и администраторы, будут работать без графического интерфейса. Продукты (и системные функции, которые стоит сказать), которые ожидаются только в Windows, обычно больше сосредоточены на графическом интерфейсе (например, MS SQL). Система сценариев Linux несколько более распространена и более прозрачна, чем Windows. Вы увидите скрипты в Windows, но они будут называться something.vbs или another.bat. Вы не обязательно должны понимать, что это текстовые файлы, но, учитывая то, что находится в моем втором пункте, в Linux гораздо чаще приходится следить за файлами .sh. Наконец, многие пользователи Linux привыкли работать без графического интерфейса и, во многом, скорее отредактируют файлы напрямую, чем без GUI, вместо того, чтобы возиться с графическими инструментами. Я знаю, что, когда я хочу сделать что-то более глубокое в системе, я просто запускаю терминал, и многие мои коллеги тоже.
7
ответ дан 23 May 2018 в 23:06
  • 1
    «В Linux нет системы регистрации», но есть dconf ( ru.wikipedia.org/wiki/Dconf ). Не все системы, которые запускают ядро ​​Linux, будут иметь его, но не все, что система Windows будет настраивать в реестре, будет там настроена. – Daniel Landau 25 February 2015 в 01:19

Короткий ответ: нет, вы не измените свой компьютер, создав текстовый файл в vi. Однако, если вы не будете осторожны, создание этого первого текстового файла может изменить вашу жизнь. Изучение пути Unix может быть очень полезной практикой.

1
ответ дан 23 May 2018 в 23:06

vi является текстовым редактором, поэтому, если все, что вам нужно, это просто сохранить некоторые текстовые фрагменты в текстовом файле и выполнить поиск по нему, вы можете сделать все это непосредственно с терминала с помощью встроенных команд. [ ! d0] Запись заметки в текстовый файл (создаст файл, если он его не существует): эхо-заметка с важными данными >> info.txt

ВАЖНО: следите за одиночными и двойные кавычки и префикс их косой чертой, если вы хотите, чтобы они были включены.

Напишите примечание к текстовому файлу (создаст файл, если он его не существует): эхо-заметка с важными данными> > info.txt

Чтобы избежать ввода --color -i, который должен быть сглажен в вашем ~/.bashrc.

Вы также можете добавить многострочный текст к существующим или несуществующим текстовые файлы:

cat >> info2.txt

затем введите или вставьте текст, а затем нажмите CTR + Z

. Что касается изменения системы, нет, это не изменит способ ваша система работает до тех пор, пока вы создаете файлы в своей домашней папке и не выполняете их (вы можете выполнить файл, даже если это не исполняемый, например. с bash myFile). Кроме того, убедитесь, что вы используете только привилегии root, когда они вам нужны.

И, наконец, ваша интерпретация редактора вас несколько сбила с толку: в большинстве операционных систем есть файлы, в которых хранятся важные настройки которые сильно влияют на работу системы, но они расположены в предопределенных местах и ​​обычно защищены от модификации обычными пользователями.

Возможно, однако, что легко стрелять в ногу, например, если в качестве обычный пользователь, у вас есть локальная «исполняемая» папка, добавленная вами в PATH, и если в этой папке вы имеете исполняемые файлы, которые имеют те же имена, что и встроенные общие утилиты или ключевые слова bash, такие как test, echo, cat, for, cut и т. д.

0
ответ дан 23 May 2018 в 23:06

Другие вопросы по тегам:

Похожие вопросы: