Почему я продолжаю уничтожать свои текстовые файлы?

За 25 лет контакта с Unix я никогда не видел случай, где корневая учетная запись была повреждена без самой системы, являющейся применимым. Забытые пароли могут легко быть сброшены, и я не рассматриваю что как повреждение. Был один незабываемый инцидент на Vax, выполняющем BSD, куда я случайно (не спрашивают) удалил все из/dev, включая записи для ленточного накопителя (1/4-дюймовые ленты барабана). Это делает его немного трудно для восстановления от резервного копирования.

Под Unix действительно существует ничего для повреждения. Процесс входа в систему просто запускает оболочку и петляет из корневого каталога корня. За исключением емкостно-резистивных файлов, если остальное не работает на корень, он, вероятно, не будет работать ни на кого больше. Если Вы входите в систему как корень графической системы (KDE или Gnome), все, что я могу сказать, "Просто не делают".

У Вас может быть несколько учетных записей, что у всех есть uid 0. Это может использоваться в качестве альтернативы sudo, когда существует несколько администраторов для машины. Оборотная сторона - то, что у Вас теперь есть несколько корневых учетных записей для защиты. Вы также не получаете вход, который sudo делает для Вас.

4
10.03.2012, 04:57
3 ответа

> средства оператора "берут вывод команды, усекают именованный файл и затем пишут вывод команды к этому.

При чтении той командной строки, которую я предполагаю, Вы хотите <, который "читается стандартный вход из этого файла, и подайте его к команде" вместо этого.

19
27.01.2020, 20:44
  • 1
    это должно быть самым глупым вопросом на сайте.спасибо. –  kuch nahi 10.03.2012, 04:13
  • 2
    Нет ничего неправильно с не знанием вещей. Все запускают из нуля. –  Daniel Pittman 10.03.2012, 04:17
  • 3
    “ В не знании нет никакого позора; позор находится в не обнаружении”. - Российская пословица –  Iain Holder 10.03.2012, 17:04
  • 4
    Ooooh. Мне никогда не объясняли операторы перенаправления таким образом, сравнительно. Я был случайным пользователем Linux в течение многих лет (не полный рабочий день, очевидно), и никогда не изучал правильно, как использовать <оператор. Теперь я знаю, и этот ответ - то, что сделало это. @kuchnahi, даже ветераны и давние пользователи изучают новые вещи каждый день. Не потейте он. :) –  Harv 12.03.2012, 19:55
  • 5
    Однако, конечно, имело бы некоторый смысл читать документацию для функций языка, которые Вы используете, нет? –  Lightness Races with Monica 25.11.2014, 11:35

При создании себя знакомыми с перенаправлением ввода-вывода Вы могли бы найти "более безопасным" включить noclobber установка оболочки. Это предотвращает неумышленное избиение Ваших файлов. См. свою страницу справочника оболочки и http://en.wikipedia.org/wiki/Clobbering

12
27.01.2020, 20:44
  • 1
    +1 большая подсказка, и это - что-то, что я делаю, даже со многими годами опыта. Опечатки происходят, и это помогает. –  glenn jackman 10.03.2012, 16:34
  • 2
    я все еще должен думать дважды с <и>. Спасибо за подсказку. –  stefgosselin 15.03.2012, 22:33

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

6
27.01.2020, 20:44

Теги

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