Хотя терминал Linux все еще является частью Linux, вы можете сломать свою систему с его помощью, если не будете осторожны. Вот как я остаюсь в безопасности в терминале, и я покажу вам, как вы можете исправить вещи, если вы все же сделаете ошибки.
Почему нужно быть осторожным в Linux
Linux унаследовал большую часть своей философии дизайна от Unix , которая была впервые разработана в Bell Labs в конце 1960-х годов. Тогда не было персональных компьютеров. Вычисления выполнялись на больших мэйнфреймах или мини-компьютерах. Компьютерные операционные системы были разработаны для профессиональных, опытных пользователей. Unix, в частности, считался «программистами для программистов».
Хотя были достигнуты большие успехи в расширении доступности Unix-подобных систем с более дружественными пользовательскими интерфейсами, терминал Linux отражает его технические корни. В отличие от современных сред GUI, оболочки Linux не пытаются защитить вас от вас самих. Если вы хотите удалить файл или изменить его, даже важный файл, если у вас есть правильные разрешения, он позволит вам продолжить, даже если это повредит систему.
Если вы удалите файл в терминале, вы не сможете его вернуть . Он потерян навсегда, если у вас нет резервной копии.
Также возможно сделать так, что вы не сможете войти в систему, запустить терминал или даже загрузить машину, если вы не будете осторожны. Вы можете восстановить свою систему из резервных копий, если вы их сделали. Или вы можете исправить ее, загрузившись с USB-накопителя. В худшем случае вам, возможно, придется переустановить ОС. Многое в Linux можно исправить, но лучше потратить время на то, что вы действительно хотите сделать, вместо того, чтобы чинить машину.
Какие команды опасны?
Вам следует с осторожностью выполнять команды, которые могут привести к потере данных.
Команда, с которой следует быть осторожнее всего, — это rm, команда, которая удаляет файлы в терминале. Как я уже упоминал ранее, когда вы удаляете что-то с помощью rm, это исчезает навсегда. Нет корзины или мусорного бака, поэтому вы не сможете восстановить то, что вы удалили по ошибке, даже если вы сделали опечатку .
Хуже того, ОС может перезаписать физическое расположение файла на диске, сделав восстановление невозможным. Вы можете раскошелиться на услугу восстановления данных или попытаться восстановить их самостоятельно, но этот процесс, скорее всего, займет гораздо больше времени и/или денег, чем он того стоит для небольшого файла, поэтому лучше использовать другие средства, когда это возможно.
Команда Linux rm: все, что вам нужно знать
В этом есть нечто большее, чем кажется на первый взгляд.
Другая команда, которая может вызвать значительную потерю данных, — это dd. Эта команда копирует биты из одного файла в другой, но ее прозвали «уничтожителем дисков» по очень веской причине. Одна вещь, которую многие путают, — это исходное и конечное расположение. Если вы их перепутаете, вы можете попрощаться со всем, что было на этом устройстве.
Вам также следует быть осторожными при изменении системных файлов. Linux зависит от них во многих вещах, например, при подключении к Интернету и загрузке самого Linux. Если вы что-то измените, не зная, что делаете, или даже сделаете опечатку, вы можете сделать это менее безопасным или, что еще хуже, даже незагружаемым.
Файлы запуска оболочки также могут сделать невозможным запуск оболочки, если вы их испортите. Это то, что я узнал на собственном горьком опыте.
Вы действительно можете испортить свою систему, если не знаете, что делаете.
Я работаю как обычный пользователь, когда это возможно
Первая линия обороны от любых ошибочных команд или редактирования — запуск от имени обычного пользователя. Я работаю от имени обычного пользователя только по возможности. Я работаю от имени root только тогда, когда мне действительно нужно внести изменения в масштабах всей системы, например, установить новое программное обеспечение или внести изменения в файлы конфигурации. Когда мне это нужно, я запускаю sudo или su , в зависимости от того, какую систему я использую.
Защита файлов и пользователей поможет предотвратить любые нежелательные изменения. Во-первых, необходимость набирать "sudo" заставляет меня думать о том, что я делаю. Я стараюсь избегать внесения серьезных изменений, когда я устал или спешу.
Я дважды проверяю потенциально рискованные операции
Когда я знаю, что делаю что-то потенциально рискованное, я замедляюсь и пытаюсь думать о том, что я делаю. Если я собираюсь удалить файл, я проверяю командную строку, чтобы убедиться, что она правильная. Если я редактирую системный файл, я проверяю, не сделал ли я никаких опечаток, прежде чем сохранить в редакторе и перезагрузиться.
Это то, чему я научился на собственном опыте. Я научился быть осторожным не на Linux-системе, а на ПК с DOS/Windows с детства. Я пытался запустить какую-то старую игру, которая работала в CGA , с отвратительной (основанной на RGB) пурпурной цветовой схемой, в другой палитре. Я видел, что могу перейти на экран настройки BIOS и изменить системные настройки. Я изменил настройки видеокарты. Каким-то образом мне удалось очистить все настройки BIOS, а затем сохранить их. Если вы хоть что-то знаете о ПК, это плохо. Система больше не знала, какое у нее оборудование, так как это была эпоха до plug-and-play. Серьезных проблем с оборудованием не было, и систему в конечном итоге починили, но мой отец был очень зол, и мне пришлось играть на улице!
BIOS вашего компьютера полон настроек, но какие из них на самом деле следует изменить?
С тех пор мой подход к управлению системой стал намного более консервативным. Я стараюсь не вносить изменения в систему, если это не является абсолютно необходимым. Я могу понять желание настраивать, если вы новичок в Linux, но многие пользователи, похоже, выбирают подход, когда чинят то, что не сломано, пока оно не сломается, а затем падают на какой-нибудь форум с просьбой о помощи.
У меня есть запасной терминал под рукой
Когда я вношу изменения в файлы запуска оболочки, такие как .bashrc Bash или, что более вероятно, .zshrc Zsh, у меня есть другой терминал под рукой. Я проверю свои изменения в одном терминале, запустив команду source, чтобы прочитать изменения:
source .zshrc
Затем я контролирую этот терминал на наличие сообщений об ошибках или чего-либо, что не позволяет терминалу работать. Я буду использовать другой терминал как «заведомо хороший» терминал. Я могу отменить любые изменения в этом окне терминала, если мне это понадобится. Это дает мне душевное спокойствие, поскольку я использую терминал так часто.
Я делаю резервные копии важных файлов
Одна из вещей, которую вам следует сделать, — это создать резервную копию важных файлов , независимо от того, какую систему вы используете.
Когда я вношу изменения в системный файл, я предпочитаю быстро создать локальную резервную копию заведомо исправного состояния с расширением «.bak»:
cp example.conf example.conf.bak
Если я сделаю ошибку и все равно смогу загрузить систему, я могу просто скопировать ее обратно:
cp example.conf.bak example.conf
Это приведет к перезаписи измененного файла копией оригинала.
Также хорошей идеей будет резервное копирование всего, что вы не хотите потерять, особенно на внешний носитель или сетевой диск.
Спасение сломанной системы
Если вы все же допустили ошибку, не все потеряно. Есть кое-что, что вы можете сделать. Если у вас есть резервные копии, вы можете просто восстановить их и избавиться от досадной ошибки или вернуть файлы, которые вы удалили по ошибке. Единственная проблема в том, что вам придется делать резервные копии.
Вы также можете иметь под рукой загрузочный носитель, например USB-ключ с установочным носителем Linux . Многие из них имеют инструменты для запуска диагностики оборудования. В большинстве случаев вы можете смонтировать жесткий диск Linux или SSD и внести изменения с загрузочного носителя, чтобы восстановить работоспособность системы.
Если вы действительно сломали свою систему, вы можете стереть ее и переустановить Linux в качестве последнего средства. Выше показано меню восстановления Debian в программе установки.
Хотя это хорошие лекарства, я обнаружил, что профилактика намного лучше. Эти вещи похожи на составление планов на случай катастрофы. Вы хотите избежать необходимости использовать их в первую очередь, но вы будете рады, что у вас была такая возможность.
Я обнаружил, что лучшая профилактика — это сообщение, которое вы получаете, когда запускаете sudo в первый раз. Одно из его предостережений — «думать, прежде чем печатать». Это урок, который вы должны усвоить при использовании командной строки в Linux
Если вы новичок в терминале Linux, стоит быть осторожным в командах, которые вы запускаете. Немного предусмотрительности поможет вам избежать катастроф, которые могут заставить вас переустановить ОС.