Архив метки: Ubuntu

Установка SAMBA на Ubuntu Server

В сегодняшней статье рассмотрим установку и настройку файлового сервера SAMBA на нашем сервере Ubuntu.

Итак в исходном состоянии мы имеем Ubuntu Server 18.04 LTS. Дальше нужно поставить программу, которая будет шарить какую-нибудь папку на сервере. Самой распространенной является SAMBA. Сделать это можно с помощью одной команды и настройки одного файла. Могут понадобиться еще несколько действий, но не всегда. Читать

Сравнение файлов в консоли Linux

Нужно увидеть различия между двумя ревизиями текстового файла? Тогда diff — это команда, которая вам нужна. Из этого туториала вы узнаете, как легко использовать diff в Linux и macOS.

Погружение в diff

Команда diff сравнивает два файла и выдает список различий между ними. Чтобы быть более точным, он создает список изменений, которые необходимо внести в первый файл, чтобы он соответствовал второму файлу. Если вы будете иметь это в виду, вам будет легче понять вывод diff. Команда diff была разработана для поиска различий между файлами исходного кода и для вывода результатов, которые могут быть прочитаны и обработаны другими программами, такими как команда patch. В этом уроке мы рассмотрим наиболее полезные способы использования diff .

Давайте углубимся и проанализируем два файла. Порядок файлов в командной строке определяет, какой файл diff считает «первым файлом», а какой — «вторым файлом». В приведенном ниже примере alpha1 — это первый файл, а alpha2 — второй файл. Оба файла содержат фонетический алфавит, но второй файл, alpha2, подвергся некоторому дальнейшему редактированию, так что эти два файла не идентичны.

Мы можем сравнить файлы с этой командой. Введите diff, пробел, имя первого файла, пробел, имя второго файла и нажмите клавишу ВВОД.

diff alpha1 alpha2

Как мы анализируем этот результат? Если вы знаете, что искать, это не так уж плохо. Каждое различие перечисляется по очереди в одном столбце, и каждое различие помечается. Ярлык содержит цифры по обе стороны от буквы, например 4c4. Первое число — это номер строки в alpha1, а второе — номер строки в alpha2. Буква в середине может быть:

  • c: Строка в первом файле должна быть изменена, чтобы соответствовать строке во втором файле.
  • d: строка в первом файле должна быть удалена, чтобы соответствовать второму файлу.
  • a: Дополнительный контент должен быть добавлен в первый файл, чтобы он соответствовал второму файлу.

4c4 в нашем примере говорит нам, что четвертая строка alpha1 должна быть изменена, чтобы соответствовать четвертой строке alpha2. Это первое различие между двумя найденными файлами.

Строки, начинающиеся с < ссылаются на первый файл в нашем примере alpha1, а строки, начинающиеся с > ссылаются на второй файл, alpha2. Строка < Delta говорит нам, что слово Delta — это содержимое строки четыре в alpha1. Строка > Dave говорит нам, что слово Dave — это содержимое строки четыре в alpha2. Подводя итог, нам нужно заменить Delta на Dave в четвертой строке в alpha1, чтобы эта строка соответствовала обоим файлам.

Следующее изменение обозначено 12c12 . Применяя ту же логику, это говорит нам о том, что строка 12 в alpha1 содержит слово Lima, а строка 12 в alpha2 содержит слово Linux.

Третье изменение относится к строке, которая была удалена из alpha2. Метка 21d20 расшифровывается как «строка 21 должна быть удалена из первого файла, чтобы синхронизировать оба файла со строки 20 и далее». Строка < Uniform показывает нам содержимое строки, которую необходимо удалить из alpha1.

Четвертое отличие обозначено 26a26,28 . Это изменение относится к трем дополнительным строкам, которые были добавлены в alpha2. Обратите внимание на 26,28 на этикетке. Номера в две строки, разделенные запятой, представляют собой диапазон номеров строк. В этом примере диапазон составляет от строки 26 до строки 28. Метка интерпретируется как «в строке 26 в первом файле добавьте строки 26–28 из второго файла». Нам показаны три строки в alpha2, которые необходимо быть добавленным к альфа1. Они содержат слова Quirk, Strange и Charm.

Snappy One-Liners

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

diff -s alpha1 alpha3

Вы можете использовать опцию -q (краткая), чтобы получить одинаково лаконичное утверждение о двух разных файлах.

diff -q alpha1 alpha2

Следует обратить внимание на то, что с двумя одинаковыми файлами опция -q (краткая) полностью закрывается и ничего не сообщает.

Альтернативный взгляд

Опция -y (рядом) использует другую компоновку для описания различий в файлах. Часто удобно использовать параметр -W (ширина) с видом рядом, чтобы ограничить количество отображаемых столбцов. Это позволяет избежать появления уродливых строк, которые затрудняют чтение. Здесь мы указали diff производить параллельное отображение и ограничивать вывод до 70 столбцов.

diff -y -W 70 alpha1 alpha2

Первый файл в командной строке, alpha1, показан слева, а вторая строка в командной строке, alpha2, показана справа. Строки из каждого файла отображаются рядом. Рядом с этими строками в alpha2 есть символы индикатора, которые были изменены, удалены или добавлены.

  • |: Строка, которая была изменена во втором файле.
  • <: Строка, которая была удалена из второго файла.
  • >: Строка, добавленная ко второму файлу, которого нет в первом файле.

Если вы предпочитаете более компактную сводную информацию о различиях в файлах, используйте параметр --suppress-common-lines. Это заставляет diff перечислять только измененные, добавленные или удаленные строки.

diff -y -W 70 --suppress-common-lines alpha1 alpha2

Добавьте цветовую подсветку

Другая утилита под названием colordiff добавляет цветовую подсветку к выводу diff. Это позволяет намного легче увидеть, какие линии имеют различия.

Используйте apt-get для установки этого пакета в вашу систему, если вы используете Ubuntu или другой дистрибутив на основе Debian. В других дистрибутивах Linux используйте инструмент управления пакетами вашего дистрибутива Linux.

sudo apt-get install colordiff

Используйте colordiff же, как вы используете diff.

На самом деле, colordiff — это оболочка для diff, и diff делает всю работу за кулисами. Из-за этого все опции diff будут работать с colordiff.

Предоставление определённого контекста

Чтобы найти некоторую золотую середину между наличием всех строк в файлах, отображаемых на экране, и наличием в списке только измененных строк, мы можем попросить diff предоставить некоторый контекст. Есть два способа сделать это. Оба способа достигают одной и той же цели — показывать несколько строк до и после каждой измененной строки. Вы сможете увидеть, что происходит в файле в том месте, где была обнаружена разница.

Первый метод использует опцию -c (скопированный контекст).

colordiff -c alpha1 alpha2

Вывод diff имеет заголовок. В заголовке перечислены два имени файла и время их изменения. Звездочки (*) перед именем первого файла и тире (-) перед именем второго файла. Звездочки и тире будут использоваться, чтобы указать, какому файлу принадлежат строки в выходных данных.

Линия звездочек с 1,7 в середине указывает на то, что мы смотрим на линии от alpha1. Чтобы быть точным, мы смотрим на строки с первой по седьмую. Слово Delta помечается как измененное. Он имеет восклицательный знак (!) Рядом с ним, и он красный. Есть три строки не измененного текста, отображаемые до и после этой строки, поэтому мы можем видеть контекст этой строки в файле.

Линия штрихов с 1,7 в середине говорит о том, что мы сейчас смотрим на линии из alpha2. Опять же, мы смотрим на строки с первой по седьмую, причем слово Dave на четвертой строке помечено как отличающееся.

Три строки контекста выше и ниже каждого изменения — это значение по умолчанию. Вы можете указать, сколько строк контекста вы хотите предоставить diff . Для этого используйте опцию -C (скопированный контекст) с заглавной буквой «C» и укажите количество строк, которое вам нужно:

colordiff -C 2 alpha1 alpha2

Вторая опция diff которая предлагает контекст, это опция -u (унифицированный контекст).

colordiff -u alpha1 alpha2

Как и раньше, у нас есть заголовок на выходе. Эти два файла названы, и показано время их изменения. Есть тире (-) перед названием альфа1 и знаки плюс (+) перед названием альфа2. Это говорит нам о том, что тире будут использоваться для обозначения альфа1, а знаки плюс будут использоваться для обозначения альфа2. По всему списку разбросаны строки, начинающиеся со знаков (@). Эти строки отмечают начало каждого различия. Они также говорят нам, какие строки показываются из каждого файла.

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

Как и следовало ожидать, мы можем попросить diff точное количество строк унифицированного контекста, которые мы хотели бы видеть. Для этого используйте опцию -U (унифицированный контекст) с заглавной буквой «U» и укажите желаемое количество строк:

 colordiff -U 2 alpha1 alpha2

Игнорирование пустого пространства

Давайте проанализируем еще два файла, test4 и test5. В них есть имена шести супергероев.

colordiff -y -W 70 test4 test5

Результаты показывают, что diff находит ничего особенного с линиями Black Widow, Spider-Man и Thor. Он отмечает изменения с линиями Капитан Америка, Железный человек и Халк.

Так что же отличается? Что ж, в тесте 5 Халк пишется строчной буквой «h», а у «Капитана Америка» есть дополнительный пробел между «Капитаном» и «Америкой». Хорошо, это ясно, но что не так с линией Ironman? Там нет видимых различий. Вот хорошее эмпирическое правило. Если вы не видите этого, ответ — пробел. В конце этой строки почти наверняка есть пробел или два, или символ табуляции.

Если они не имеют значения для вас, вы можете diff игнорировать определенные типы различий строк, в том числе:

  • -i: игнорировать различия в случае.
  • -Z: игнорировать конечные пробелы.
  • -b: игнорировать изменения количества пустого пространства.
  • -w: игнорировать все изменения пробелов.

Давайте попросим diff снова проверить эти два файла, но на этот раз, чтобы игнорировать любые различия в случае.

colordiff -i -y -W 70 test4 test5

Строки с «The Hulk» и «The Hulk» теперь считаются совпадением, и для строчной буквы «h» не отмечается никакой разницы. Давайте попросим diff также игнорировать конечный пробел.

colordiff -i -Z -y -W 70 test4 test5

Как и предполагалось, конечный пробел должен был быть различием на линии Ironman, потому что diff больше не помечает разницу для этой линии. Это оставляет Капитана Америку. Давайте попросим diff игнорировать регистр и игнорировать все проблемы с пробелами.

colordiff -i -w -y -W 70 test4 test5

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

Команда diff имеет много других опций, но большинство из них относится к созданию машиночитаемого вывода. Их можно просмотреть на странице руководства Linux. Параметры, которые мы использовали в приведенных выше примерах, позволят вам отследить все различия между версиями ваших текстовых файлов, используя командную строку и человеческие глаза.



2019-04-15T18:30:02
Вопросы читателей

Могу ли я запустить Linux на своём Android смартфоне?

Если вы читаете это, вы, вероятно, раньше использовали Linux и знаете, что это работает практически на любом оборудовании. Между тем, у вас в кармане телефон, и вы знаете, что он универсален. Так может ли ваш телефон Android работать под управлением Linux?

Да, он может. Вот что вам нужно знать о запуске Linux на вашем Android смартфоне или планшете.

Подождите, разве Android уже не Linux?

Ну, это так, но не совсем…

Android построен на ядре Linux, программном стеке, который взаимодействует с аппаратным обеспечением устройства. Это в основном позволяет операционной системе взаимодействовать с устройством, будь то ПК, смартфон или другое оборудование.

Операционная система Linux на самом деле должна называться GNU/Linux. Но со временем слово «Linux» стало взаимозаменяемо описывать ядро, а также различные операционные системы, которые его используют, такие как Ubuntu, Gentoo и многие другие.

Так что, хотя Android использует ядро ​​Linux, он не предлагает среду рабочего стола. Это то, о чем думает большинство людей, когда рассматривают способы установки Linux на Android.

Зачем запускать Linux на вашем Android-устройстве?

Так почему же вы хотите иметь среду рабочего стола Linux на своем телефоне или планшете Android?

Вы можете запустить приложение, которое недоступно на Android. Но в большинстве случаев вам просто нужно получить доступ к какой-либо среде рабочего стола. Современные устройства Android имеют идеальное аппаратное обеспечение для работы с ПК, и установка Linux — отличный способ сделать это.

Конечно, вы можете обнаружить, что задачи, которые вы хотите выполнять в Linux, также работают в Android. Единственным препятствием, сдерживающим вас, может быть одновременная многозадачность приложения. К счастью, эта функция доступна в Android начиная с Android 7.0 Nougat 2016 года.

Запустить Linux на вашем Android-устройстве непросто, поэтому, если вы ищете многозадачность, попробуйте перейти на современную версию Android.

Чтобы запустить Linux на Android, у вас есть несколько вариантов. Какой из них использовать, зависит от того, является ли ваше Android-устройство рутованным или нет.

Как запустить Linux на Android (без рута)

Лучший способ запустить Linux на вашем телефоне с минимальными усилиями — это Debian Noroot.

Хотя это полезно, к сожалению, это приложение больше не поддерживается. Он работает только на Android 2.3 Gingerbread до Android 5.0 Jellybean.

Преимущество Debian Noroot состоит в том, что он установит Debian Jessie на ваш телефон со слоем совместимости. Это позволяет вам запускать приложения Debian без необходимости рутировать Android. Учитывая, насколько сложно рутирование для некоторых устройств, это полезно.

Производительность с Debian Noroot невелика, но она полезна. Для достижения наилучших результатов при использовании Linux на Android сначала попробуйте рутировать устройство.

Загрузить: Debian Noroot (бесплатно)

Как запустить Linux на Android (с рутом)

Если у вас есть рутированное устройство, вы можете установить различные версии Linux на Android, используя инструмент Linux Deploy. Лучше всего это сделать, сначала подключив телефон к сети Wi-Fi.

Начните с установки BusyBox, который предоставляет некоторые расширенные возможности root.

Далее установите Linux Deploy. При первом запуске нажмите «Пуск», чтобы убедиться, что корневые разрешения включены, а затем нажмите кнопку «Настройки» в правом нижнем углу.

Используйте это меню параметров, чтобы выбрать предпочитаемый дистрибутив . Debian, Ubuntu, Gentoo, Fedora и многие другие доступны для установки. Мы использовали Arch Linux.

Вам необходимо установить флажок Включить в графическом интерфейсе, чтобы просмотреть рабочий стол Linux на вашем телефоне, и убедиться, что VNC выбран для графической подсистемы. Затем проверьте разрешение экрана в настройках GUI и убедитесь, что вы довольны средой рабочего стола.

Наконец, найдите записи Имя пользователя и Пароль пользователя и запишите их или измените на более запоминающиеся для вас.

Выйдите из этого меню, затем нажмите три точки в верхнем правом углу и выберите «Установить», затем нажмите «ОК» .

Когда это будет сделано, установите VNC Viewer из Play Store. В Linux Deploy нажмите «Пуск» для запуска Linux. Затем откройте VNC Viewer и подключитесь к localhost:5900, чтобы просмотреть рабочий стол Linux с учетными данными, которые вы ввели ранее.

После запуска вы можете установить программное обеспечение Linux с помощью терминала обычным способом.

Поздравляем: теперь у вас Linux работает на Android!

Как установить Kali Linux на Android (требуется рут)

Вышеприведенный метод Linux Deploy для запуска дистрибутивов Linux на Android, вероятно, самый лучший. Доступен хороший выбор версий Linux, включая Kali Linux.

Хотите использовать Android в качестве устройства для тестирования на проникновение? В то время как доступны различные полезные сетевые инструменты для Android, лучшим вариантом является портативная версия Kali Linux. Просто следуйте инструкциям выше, используя Linux Deploy, и выберите Kali Linux для установки на Android.

После установки у вас в кармане будет портативное решение для ручного тестирования, готовое проверить безопасность любой сети. проверить безопасность которому подключается ваш телефон.

4 других способа запуска Linux на Android

Хотя мы рассмотрели несколько хороших вариантов запуска Linux на вашем Android-устройстве, у вас есть и другие доступные методы:

  1. DeX: Если у вас есть современное устройство Samsung, у вас есть возможность переключить аппаратное обеспечение в режим рабочего стола с DeX Хотя это не совсем операционная система Linux, это среда рабочего стола с ядром Linux, поэтому она достаточно близка.
  2. Удаленный рабочий стол для системы под управлением Linux с Splashtop или другим удаленным решением -Linux
  3. Limbo: Это эмулятор Linux для Android, основанный на эмуляторе QEMU. Тем не менее, это сложно и требует много времени для настройки, и результаты часто не стоят усилий.
  4. Двойная загрузка Android с Ubuntu Touch . Подключите устройство к дисплею HDMI, чтобы увидеть среду рабочего стола Ubuntu Touch.

Или просто установите пользовательский Android ROM

Не уверен, что установка Linux — это хорошая идея, но хотите изменить способ использования своего Android-устройства? Вы можете просто попробовать другую версию Android со встроенным рабочим столом. Мы рассмотрели ОС Maru, которую вы можете установить на некоторые устройства в виде пользовательского ПЗУ. Это идет со стандартным режимом телефона и режимом рабочего стола, с хорошими результатами.



2019-04-05T14:44:14
Вопросы читателей

В чем разница между GTK + и Qt?

Языки программирования и инструментарий — сложные темы. Вероятно, вам удавалось использовать компьютеры долгое время, не задумываясь.

Но когда вы переключились на Linux, проблема внезапно стала актуальной. Это потому, что насколько хорошо приложение интегрируется с остальной частью вашего рабочего стола, часто возникает вопрос: сделано ли оно в GTK + или Qt?

Что такое GTK + и Qt?

GTK + и Qt — это наборы инструментов, используемые разработчиками для структурирования внешнего вида и ощущения приложения. Эти наборы инструментов предоставляют кнопки, панели инструментов, ползунки и меню, которые вы видите при использовании приложения.

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

История GTK + и Qt

Haarvard Nord и Eirik Chambe-Eng начали разработку Qt в 1991 году. Название, которое произносится как «милый», появилось из-за того, как буква Q выглядела шрифтом Eavcs Haavard, и из-за предыдущего использования буквы t в Xt, X инструментарий уже используется на рабочих столах Unix.

Nord и Chambe-Eng позже стали соучредителем Quasar Technologies, которая стала Throll Tech, затем Throlltech, и теперь существует в другой форме, как The Qt Company.

В 1995 году Throll Tech выпустила исходный код для версии Qt для Linux. Но это не соответствовало определению Free Software Foundation в отношении свободного поскольку людям не разрешалось распространять код, если они вносили какие-либо изменения. Лишь в 2000 году Throlltech предоставил пользователям свободу свободно редактировать и распространять код.

GTK + начинался как GIMP Toolkit, созданный Питером Маттисом в качестве замены существующего интерфейса, используемого в программе манипуляции изображениями GNU. После переписывания инструментарий стал GTK + и был выпущен в 1998 году. В отличие от Qt, у людей была свобода редактировать, изменять и делиться GTK + с самого начала.

Хотя Qt в некотором смысле является более универсальным и адаптируемым инструментарием, сообщество в течение первых лет консолидировалось вокруг GTK +. Стоит также отметить, что некоммерческий фонд GNOME теперь поддерживает GTK +, в то время как публично торгуемая компания The Qt Company ведет разработку Qt. Тем не менее, на данный момент ни один инструментарий не является «более бесплатным», чем другой.

Настольные ПК и программное обеспечение на базе GTK

Если вы недавно перешли на Linux, есть большая вероятность, что вы используете настольный компьютер на базе GTK. Это потому, что во многих из лучших настольных сред Linux используется GTK +.

Возьмите GNOME, опцию по умолчанию в таких известных и хорошо зарекомендовавших себя ОС Linux, как Ubuntu, Fedora и Debian. Затем есть альтернативы, такие как MATE и Xfce, которые предлагают более легкие и более традиционные интерфейсы.

Давайте не будем забывать об  Elementary OS, новичке, который больше обслуживает последние коммутаторы, чем давние пользователи Linux.

Многие из самых популярных приложений с открытым исходным кодом лучше интегрируются с десктопами на базе GTK. Это включает в себя такие программы, как Firefox, Thunderbird, LibreOffice и GIMP. Менее известные кроссплатформенные приложения на основе GTK включают AbiWord, Inkscape и Pidgin.

Среди приложений GTK + растет степень разнообразия. Программное обеспечение, разработанное специально для GNOME, может выглядеть неуместно даже на других настольных ПК на базе GTK. Это связано с тем, что руководящие принципы разработки интерфейса пользователя GNOME не поощряют использование меню и вносят другие, менее распространенные изменения.

Также знайте, что многие приложения, предназначенные для elementaryOS, недоступны для других рабочих столов.

Между тем, большинство вышеупомянутых популярных кроссплатформенных инструментов GTK + остаются относительно независимыми от настольных компьютеров (что означает, что они выглядят неуместно в GNOME и элементарной OS, поскольку акцент делается на уникальном дизайне).

Настольные ПК и программное обеспечение на основе Qt

Рабочий стол KDE Plasma является старейшей полнофункциональной рабочей средой для Linux. Если бы в 1996 году Qt был полностью открыт, GNOME, возможно, даже не существовало бы. Более двух десятилетий спустя сообщество KDE продолжает предоставлять самый многофункциональный рабочий стол Linux.

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

Вы можете настроить интерфейс, который влияет на каждое приложение, или вы можете настроить одно приложение, пока оно не станет удобным. Тем не менее, рабочий стол Plasma не единственный, который использует Qt. LXQt — это одна из альтернатив, которая фокусируется на том, чтобы быть легче и проще.

Хотя некоторые программы KDE являются кроссплатформенными, эти программы не так известны за пределами сообщества Linux. Наиболее заметными исключениями могут быть Krita и digiKam.

Не все программное обеспечение Qt специально разработано для KDE. К таким программам относятся медиаплеер VLC и настольное издательское приложение Scribus.

Разница имеет значение?

Есть технические различия между GTK + и Qt, но большинство из них больше интересуют разработчиков, чем остальные из нас. В наши дни ограничения еще труднее заметить, чем раньше. Благодаря отличной тематике многие приложения GTK + теперь выглядят как дома на рабочем столе Plasma на базе Qt. Некоторые из этих приложений выглядят больше на плазме, чем в GNOME.

Между тем, вы также можете установить Scribus или VLC на рабочий стол на базе GTK, даже не осознавая, что есть разница.

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

В конечном счете, вопрос о том, предпочитаете ли вы GTK + или Qt, сводится к выбору вашего любимого интерфейса рабочего стола и ваших любимых приложений для Linux.

 



2019-04-05T12:26:08
Вопросы читателей

Как удалить файлы и каталоги в терминале Linux?

Команды rm и rmdir удаляют файлы и каталоги в Linux, macOS и других Unix-подобных операционных системах. Они похожи на команды del и deltree в Windows и DOS. Эти команды очень мощные и имеют довольно много опций.

Важно отметить, что файлы и каталоги, удаленные с помощью rm и rmdir, не перемещаются в корзину. Они сразу же удаляются с вашего компьютера. Если вы случайно удалили файлы с помощью этих команд, вы сможете восстановить их только из резервной копии.

Как удалить файлы с помощью rm

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

rm file_1.txt

Если файл не находится в текущем рабочем каталоге, укажите путь к местоположению файла.

rm ./path/to/the/file/file_1.txt

Вы можете передать более одного имени файла в rm. При этом удаляются все указанные файлы.

rm file_2.txt file_3.txt

Подстановочные знаки могут использоваться для выбора групп файлов, которые будут удалены. Знак * представляет несколько символов, а символ ? представляет один символ. Эта команда удалит все файлы изображений png в текущем рабочем каталоге.

rm * .png

Эта команда удалит все файлы с одним символьным расширением. Например, это удалит File.1 и File.2, но не File.12.

рм *.?

Если файл защищен от записи, вам будет предложено удалить файл. Вы должны ответить с помощью y или n и нажать «Enter».

Чтобы снизить риск использования rm с подстановочными знаками, используйте параметр -i (интерактивный). Для этого необходимо подтвердить удаление каждого файла.

rm -i * .dat

Опция -f (сила) противоположна интерактивной. Он не запрашивает подтверждение, даже если файлы защищены от записи.

rm -f имя_файла

Как удалить каталоги с помощью rm

Чтобы удалить пустой каталог, используйте опцию -d (directory). Вы можете использовать подстановочные знаки (* и ?) В именах каталогов так же, как и в именах файлов.

rm -d directory

Предоставление более одного имени каталога удаляет все указанные пустые каталоги.

rm -d directory1 directory2 /path/to/directory3

Чтобы удалить не пустые каталоги, используйте параметр -r (рекурсивный). Чтобы было ясно, это удаляет каталоги и все файлы и подкаталоги, содержащиеся в них.

rm -r directory1 directory2 directory3

Если каталог или файл защищен от записи, вам будет предложено подтвердить удаление. Чтобы удалить не пустые каталоги и подавить эти приглашения, используйте вместе параметры -r (рекурсивный) и -f (принудительный).

rm -rf directory

Здесь требуется осторожность. Ошибка в команде rm -rf может привести к потере данных или неисправности системы. Это опасно, и осторожность — лучшая политика. Чтобы получить представление о структуре каталогов и файлах, которые будут удалены командой rm -rf, используйте команду tree.

Используйте apt-get для установки этого пакета в вашу систему, если вы используете Ubuntu или другой дистрибутив на основе Debian. В других дистрибутивах Linux используйте инструмент управления пакетами вашего дистрибутива Linux.

sudo apt-get install tree

Выполнение команды tree дает простую для понимания диаграмму структуры каталогов и файлов под каталогом, из которого она запускается.

tree

Вы также можете указать путь к команде tree чтобы он запускал дерево из другого каталога в файловой системе.

tree path/to/directory

Команда rm также имеет параметры --one-file-system, --no-preserve-root, --preserve-root, но они рекомендуются только для опытных пользователей. Если вы что-то не так, вы можете случайно удалить все ваши системные файлы.

Как удалить каталоги с помощью rmdir

Есть еще одна команда rmdir, которую вы можете использовать для удаления каталогов. Разница между rm и rmdir том, что rmdir может удалять только пустые каталоги. Он никогда не удалит файлы.

Самый простой случай — удаление одного пустого каталога. Как и в случае с rm , вы можете передать несколько имен каталогов в rmdir или rmdir путь к каталогу.

Удалите один каталог в текущем каталоге, передав его имя в rmdir :

rmdir directory

Удалите несколько каталогов, передав список имен в rmdir :

rmdir directory1 directory2 directory3

Удалите каталог не в текущем каталоге, указав полный путь к этому каталогу:

rmdir /path/to/directory

Если вы попытаетесь удалить не пустую папку, rmdir выдаст вам сообщение об ошибке. В следующем примере rmdir успешно и без вывода сообщений удаляет каталог clients но отказывается удалять каталог projects поскольку он содержит файлы. Каталог projects остается точно таким, каким он был, а файлы в нем нетронутыми.

Когда rmdir выдает ошибку «Directory not empty», он прекращает обработку каталогов, переданных ему в командной строке. Если вы попросили удалить четыре каталога, а в первом содержались файлы, rmdir выдаст вам сообщение об ошибке и больше ничего не сделает. Вы можете заставить его игнорировать эти ошибки с --ignore-fail-on-non-empty чтобы обрабатывать другие каталоги.

В следующем примере две папки были переданы в rmdir , это work/reports и work/quotes. Параметр --ignore-fail-on-non-empty включен в команду. В папке work/reports находятся файлы, поэтому rmdir не может удалить ее. Опция --ignore-fail-on-non-empty заставляет rmdir игнорировать ошибку и переходить к следующей папке, которую он должен обработать, это work/quotes. Это пустая папка, и rmdir удаляет ее.

Эта команда использовалась.

rmdir --ignore-fail-on-non-empty work/reports /work/quotes

Вы можете использовать опцию -p (parent), чтобы удалить каталог, а также удалить его родительские каталоги. Этот прием работает, потому что rmdir начинается с целевого каталога, а затем возвращается к родительскому. Теперь этот каталог должен быть пустым, поэтому он может быть удален rmdir, и процесс повторяет шаг назад по пути, предоставленному rmdir.

В следующем примере команда, переданная в rmdir:

rmdir -p work/invoices

Каталоги invoices и work удаляются по запросу.

Используете ли вы Bash или любую другую оболочку? Linux предоставляет гибкие и мощные команды для удаления каталогов и файлов прямо из командной строки терминала. Некоторые люди предпочитают иметь рабочий процесс, который вращается вокруг терминала. У других может не быть выбора в этом вопросе. Они могут работать на серверах без установленного графического интерфейса или в удаленном сеансе в автономной системе, такой как Raspberry Pi. Эти команды идеально подходят для этой группы людей.

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



2019-04-02T10:01:05
Вопросы читателей

Установка и настройка KVM на Ubuntu Server

Сегодня в статье установим и настроим KVM сервер на операционной системе Ubuntu Server 20.04 LTS.

KVM (kernel-based virtual machine) – это программное обеспечения для Linux, использующее аппаратные средства x86-64-совместимых процессоров для работы с технологией виртуализации Intel VT или AMD SVM. Читать