Завершаем процессы в Linux
Существуют разные системные средства, позволяющие «убить» какой-либо процесс. Иногда для этого приходится узнавать его идентификатор, а в других ситуациях достаточно только названия. Далее мы предлагаем детально изучить все представленные методы, чтобы найти оптимальный для себя и выполнять его при необходимости, учитывая описанные ранее сигналы.
Способ 1: «Системный монитор»
Начнем с самого простого, но менее вариативного метода, который осуществляется через программу графического интерфейса и будет полезен тем пользователям, кто просто хочет завершить процесс, не прибегая при этом к запуску терминальных команд. Рассмотрим эту операцию на стандартной оболочке дистрибутива Ubuntu.
- Перейдите в меню «Показать приложения», где отыщите «Системный монитор» и запустите его, кликнув по значку левой кнопкой мыши.
В появившемся окне вы увидите список процессов. Найдите имя необходимой для завершения задачи.
Дополнительно вы можете переместиться в свойства объекта через контекстное меню, чтобы посмотреть всю информацию о нем.
Щелкните правой кнопкой мыши по строке и выберите пункт «Завершить». Это же действие выполняется через горячую клавиш Ctrl + E. Еще внизу имеется кнопка, позволяющая завершить процесс без вызова контекстного меню.
Если же операция не завершилась по каким-либо причинам, задействуйте опцию «Убить».
Ознакомьтесь с информацией в предупреждении и подтвердите свои намерения.
В преимущественном большинстве графических оболочек системный монитор реализован похожим образом, поэтому каких-то проблем с пониманием интерфейса возникнуть не должно.
Способ 2: Команда kill
Для применения команды kill потребуется знание PID (идентификатора процесса), поскольку именно так осуществляется применение аргументов. В статье ниже мы детально описали операцию просмотра списка процессов для получения различной информации. Обязательно ознакомьтесь с ней перед выполнением следующей инструкции.
Подробнее: Просмотр списка процессов в Linux
Далее остается только запустить «Терминал» и задействовать упомянутую команду. Для начала изучите ее простой синтаксис: . Теперь давайте рассмотрим пример «убийства».
- Откройте меню приложений и запустите «Терминал».
Введите простую команду для получения информации об указанном процессе, где name — имя желаемой программы.
В отобразившемся результате отыщите главный PID и запомните его.
Введите для завершения процесса через сигнал SIGTERM. Вместо PID вам нужно написать определенный ранее номер идентификатора.
Теперь вы можете снова использовать , чтобы проверить, была ли завершена операция.
То же самое действие по «убийству» осуществляется и через другой аргумент путем ввода .
Если приведенные выше команды не принесли никакого результата, потребуется обозначить сигнал SIGKILL, вставив команду .
Учтите, что некоторые процессы запускаются от имени суперпользователя, соответственно, для их завершения требуются привилегии. Если при попытке ввода kill вы получаете информацию «Отказано в доступе», вводите перед основной командой sudo, чтобы получилось .
Способ 3: Команда pkill
Следующая консольная утилита называется pkill и является модернизированной версией предыдущей команды. Здесь все реализовано точно по такому же образу, но вместо PID от пользователя требуется вводить название процесса.
- Для отправки сигнала SIGTERM используйте .
После вы можете убедиться, что операция была успешно завершена.
Задайте вручную тип сигнала, введя такую форму , где -TERM — необходимый сигнал.
Используйте для определения того, что процесс больше не выполняется, если вы не хотите задействовать ps
Способ 4: Команда killall
В качестве последнего способа мы рассмотрим команду под названием killall. Ее функционирование и синтаксис выглядят точно так же, как у всех предыдущих утилит, поэтому останавливаться на этом мы не будем. Только уточним, что эта команда позволяет завершить все процессы с указанным названием разом и может быть использована в разных случаях.
Теперь вы знаете все о завершении процессов в Linux. Перед выполнением методов убедитесь, что принудительное «убийство» не приведет к системным сбоям. Если же ни один вариант не позволил полностью избавиться от процесса, попробуйте просто перезагрузить компьютер или удалить софт, связанный с этой опцией.
Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.
Использование инструмента Pyrenamer GUI
Pyrenamer — еще один удобный инструмент, который можно использовать для переименования нескольких файлов в Linux. Для установки этого инструмента в Ubuntu выполните:
Чтобы открыть Pyrenamer, выполните:
После запуска программы прокрутите вниз до интересующего вас каталога и выберите файлы, которые вы хотите переименовать. Далее выберите действия, которые вы хотите применить. В моем случае я заменю расширение txt на pdf.
Чтобы изменения вступили в силу, необходимо нажать на кнопку Переименовать.
Оригинал статьи — https://linoxide.com/linux-how-to/how-to-rename-files-in-linux/
Если вы хотите освоить профессию системного администратора Linux, но не уверены в своих силах, советуем посмотреть программу практикума Linux by Rebrain.
Команда wget
Wget – это мощная утилита для скачивания файлов, с ее помощью можно загружать файлы по протоколам HTTP, HTTPS и FTP. При этом поддерживается скачивание с использованием прокси, а также работа в фоновом режиме.
Кроме этого, с помощью wget можно скачивать веб страницы или даже целые веб-сайты. Для этого используется рекурсивный обход всех найденных на странице ссылок и создание локальной копии сайта с воссозданием его структуры.
Wget хорошо работает с медленным или нестабильным подключением к интернету. В случае разрыва соединения wget будет повторять попытки скачивания до тех пор, пока весь файл не будет загружен. При этом продолжение загрузки будет начинаться с того места, где она остановилась.
Синтаксис команды wget выглядит следующим образом:
wget
Утилита wget доступна на большинстве дистрибутивов Linux. Но, если в вашей системе ее нет, то вы можете установить ее самостоятельно. В Ubuntu для этого нужно выполнить команду:
apt-get install wget
В общем случае для скачивания файла через терминал Linux достаточно ввести команду «wget» и через пробел указать URL адрес, после чего начнется загрузка указанного документа. Например, команда на скачивание файла может выглядеть вот так:
wget https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso
Если нужно скачать несколько файлов подряд, то их адреса можно передать утилите wget за один раз. Для этого просто указываем их через пробел. Например:
wget https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso
При необходимости, для скачиваемого файла можно указать новое название. Для этого нужно использовать опцию «-O». В этом случае команда для скачивания файла будет выглядеть так:
wget -O ubuntu.iso https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso
В случае прерывания загрузки ее можно продолжить. Для этого нужно запустить команду wget еще раз, но в этот раз с добавлением опции «-c». Команда перезапуска загрузки выглядит примерно так:
wget -c https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso
Если во время скачивания файла вы хотите продолжить работу с терминалом Linux, то загрузку можно выполнить в фоновом режиме. Для этого нужно использовать опцию «-b». Команда для скачивания файла в фоновом режиме выглядит примерно так:
wget -b https://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso
Это основные опции команды «wget», которые используются чаще всего. Для того чтобы ознакомиться со всеми доступными опциями введите команду «man wget».
Команды для управления правами на файлы и директории
Все, что нужно для разрешения проблем, связанных с правами в Linux.
- sudo — выдает права суперпользователя. Используется перед любой другой командой в терминале, если нужно выполнить ее от имени администратора. Многие программы и операции запускаются исключительно при наличии этих прав, так что sudo используется часто. Например, чтобы обновить список пакетов в Ubuntu, введем: sudo apt-get update. При этом система запросит пароль администратора.
- sudo su — переводит терминал в режим суперпользователя. В нем каждая введенная команда будет восприниматься системой так, будто перед ней ввели sudo. Помогает запускать несколько скриптов и утилит, требующих права администратора, без необходимости постоянно корректировать их или вводить пароль от учетной записи.
- sudo gksudo — используется для запуска графических утилит от имени администратора. В Windows для этого есть специальная кнопка в контекстном меню, а в Linux — префикс. Синтаксис такой:
sudo gksudo название приложения, нуждающееся в запуске от имени администратора
- sudo !! — запускает предыдущую команду от имени администратора. Используется, если до этого была неудачная попытка запустить программу. Помогает не тратить время на повторный ввод большого количества символов.
- chmod — корректирует права доступа к выбранному файлу. Применяется исключительно с набором аргументов, обозначающих список прав. Допустим, я хочу выдать права на чтение и запись файла Timeweb.html на рабочем столе. Для этого введу в терминал: chmod 777 ~/Desktop/timeweb.html. Теперь его можно открывать и редактировать. Аналогичным образом пользователи поступают с системными файлами, когда приходит время что-то в них менять. По умолчанию большая их часть защищена от записи.
- chown — назначает владельца для выбранной директории, документа, картинки или любого другого элемента в файловой системе. Синтаксис следующий:
chown имя учетной записи, которому надо передать права путь до файла, права на который нужно передать
Команда ls linux
Как обычно, в таких статьях сначала нам нужно понять синтаксис команды, чтобы вы знали как правильно ее использовать. На самом деле, синтаксис очень прост, вы набираете саму команду, а после нее путь к папке, содержимое которой хотите посмотреть. Если вы запустите команду без пути, то она выдаст содержимое текущего каталога:
$ ls опции /путь/к/папке
Опции команды указывают как именно и в каком виде нужно выводить информацию на экран, а путь, это та папка, которую нужно отобразить. Рассмотрим основные опции утилиты:
- — a — отображать все файлы, включая скрытые, это те, перед именем которых стоит точка;
- — A — не отображать ссылку на текущую папку и корневую папку . и …;
- — author — выводить создателя файла в режиме подробного списка;
- — b — выводить Escape последовательности вместо непечатаемых символов;
- — block-size — выводить размер каталога или файла в определенной единице измерения, например, мегабайтах, гигабайтах или килобайтах;
- — B — не выводить резервные копии, их имена начинаются с ~;
- — c — сортировать файлы по времени модификации или создания, сначала будут выведены новые файлы;
- — C — выводить колонками;
- — color — включить цветной режим вывода, автоматически активирована во многих дистрибутивах;
- — d — выводить только директории, без их содержимого, полезно при рекурсивном выводе;
- — D — использовать режим вывода, совместимый с Emacs;
- — f — не сортировать;
- — F — показывать тип объекта, к каждому объекту будет добавлен один из специализированных символов */=>@|;
- — full-time — показывать подробную информацию, плюс вся информация о времени в формате ISO;
- — g — показывать подробную информацию, но кроме владельца файла;
- — group-directories-first — сначала отображать директории, а уже потом файлы;
- — G — не выводить имена групп;
- -h — выводить размеры папок в удобном для чтения формате;
- — H — открывать символические ссылки при рекурсивном использовании;
- — hide — не отображать файлы, которые начинаются с указанного символа;
- -i — отображать номер индекса inode, в которой хранится этот файл;
- — l — выводить подробный список, в котором будет отображаться владелец, группа, дата создания, размер и другие параметры;
- — L — для символических ссылок отображать информацию о файле, на который они ссылаются;
- — m — разделять элементы списка запятой;
- — n — выводить UID и GID вместо имени и группы пользователя;
- — N — выводить имена как есть, не обрабатывать контролирующие последовательности;
- — Q — брать имена папок и файлов в кавычки;
- — r — обратный порядок сортировки;
- — R — рекурсивно отображать содержимое поддиректорий;
- — s — выводить размер файла в блоках;
- — S — сортировать по размеру, сначала большие;
- — t — сортировать по времени последней модификации;
- -u — сортировать по времени последнего доступа;
- — U — не сортировать;
- — X — сортировать по алфавиту;
- — Z — отображать информацию о расширениях SELinux;
- — 1 — отображать один файл на одну строку.
Это были все основные параметры команды ls, которые нам может когда-либо понадобиться использовать. Их очень много, но на деле будут нужны только некоторые из них, вы их быстро запомните, а все остальные сможете всегда найти в этой статье или на странице справки man ls. А теперь давайте рассмотрим несколько примеров использования команды ls linux.
Удаление файлов в Linux
Чтобы удалить файл linux достаточно передать в параметрах команде адрес файла в файловой системе:
Чтобы удалить все файлы, начинающиеся на слово file можно использовать специальный символ *, означает любой символ в любом количестве:
Эта команда удаления файла в linux должна использоваться очень осторожно, чтобы не удалить ничего лишнего. В утилиты есть опция -i, которая заставляет программу спрашивать пользователя перед тем, как удалить файл linux:. rm: удалить пустой обычный файл «/home/user/file»?
rm: удалить пустой обычный файл «/home/user/file»?
Если файлов очень много, вы уверены в правильности команды и отвечать каждый раз y неудобно, есть противоположная опция – f. Будут удалены все файлы без вопросов:
rm -f /home/user/file*
Для удаления директорий, вместе с файлами и поддиректориями используется опция -R, например:
rm -Rf /home/user/dir
Будет удалено все что находиться в папке dir, и эта папка. Только будьте бдительны, чтобы не получился знаменитый патч Брамина:
Не стоит выполнять эту команду в своей системе, как видите, она удаляет все файлы в файловой системе Linux.
Удаление файла в linux также возможно с помощью утилиты find. Общий синтаксис find:
find папка критерий действие
Например, мы хотим удалить файл linux по имени:
find . -type f -name “file” -exec rm -f ;
Будут найдены все файлы с именем file в текущей папке и для них вызвана команда rm -f. Можно не вызывать стороннюю утилиту, а использовать действие delete:
find . -type f -name “file” -delete
Удалить все файлы в текущей директории, соответствующие определенному регулярному выражению:
find . -regex ‘./.bak’ – delete
Или удалить файлы старше определенного строка, может быть полезно для удаления старых логов:
find /path/to/files* -mtime +5 -exec rm ;
Будет выполнено удаление файлов через терминал все файлы в папке старше 5-ти дней.
Чтобы полностью стереть файл, без возможности восстановления используйте команду shred. Во время удаления файлов с помощью утилиты rm удаляется только ссылка на файл, само же содержимой файла по-прежнему находиться на диске, пока система не перезапишет его новыми данными, а пока этого не случится файл можно легко восстановить. Принцип действия утилиты такой – после удаления файла, его место на диске несколько раз перезаписывается.
Опцией -n – можно указать количество перезаписей диска, по умолчанию используется 3. А если указать опцию -z программа при последней перезаписи запишет все нулями чтобы скрыть, уничтожение файла.
Как переименовать папку в Linux
1. Файловый менеджер
Самый простой способ переименовать папку — в файловом менеджере. Например, для Ubuntu это Nautilus. Откройте файловый менеджер и кликните правой кнопкой мыши по нужной папке. В контекстном меню выберите Переименовать:
Затем просто введите новое имя:
После нажатия клавиши Enter папка будет переименована.
2. Команда mv
Команда mv предназначена для перемещения файлов в другое место, однако её можно без проблем использовать чтобы переименовать папку или файл не перемещая его никуда. По сути, если файл или папка перемещается в пределах одного раздела диска, то на самом деле они просто переименовываются, а физически остаются на том же месте. Синтаксис:
$ mv старое_имя новое_имя
Чтобы переименовать папку ~/Музыка/Папка 1 в Папка 11 используйте:
Если в имени файлов есть пробелы, то путь к файлу следует взять в кавычки. После выполнения этой команды папка будет переименована:
Обратите внимание, что слеш в конце папки назначения писать нельзя, иначе, ваша папка будет перемещена в указанную папку, если такая существует
3. Команда rename
Команду rename можно использовать аналогично mv, только она предназначена специально для переименования файлов и папок поэтому у неё есть несколько дополнительных возможностей. Синтаксис команды следующий:
$ rename регулярное_выражение файлы
Но прежде всего программу надо установить:
Самый простой пример, давайте заменим слово «Папка» на «Dir» во всех папках:
Можно пойти ещё дальше и использовать регулярное выражение чтобы заменить большие буквы в названиях на маленькие:
Чтобы не выполнять действия, а только проверить какие папки или файлы собирается переименовывать команда используйте опцию -n:
4. Скрипт Bash
Для массового переименования папок можно использовать скрипт на Bash с циклом for, который будет перебирать все папки в директории и делать с ними то, что нужно. Вот сам скрипт:
Этот скрипт добавляет слово _new для всех папок в рабочей директории, в которой был он был запущен. Не забудьте дать скрипту права на выполнение перед тем, как будете его выполнять:
5. Команда find
Массовое переименование папок можно настроить с помощью утилиты find. Она умеет искать файлы и папки, а затем выполнять к найденному указанную команду. Эту особенность программы можно использовать. Давайте для всех папок, в имени которых есть dir добавим слово _1. Рассмотрим пример:
Утилита ищет все папки, в имени которых есть слово Dir, затем добавляет с помощью mv к имени нужную нам последовательность символов, в данном случае единицу.
6. Утилита gio
Утилита gio позволяет выполнять те же действия что и с помощью обычных утилит mv или rename, однако вместо привычных путей, можно использовать пути GVFS. Например: smb://server/resource/file.txt. Для переименования папки можно использовать команду gio move или gio rename. Рассмотрим пример с move:
Переименование папки Linux выполняется аналогично тому, как это делается с помощью mv.
Управление пользователями
Так как Linux заточена под использование большим количеством людей одновременно, разработчики придумали для нее продвинутую иерархию пользователей. У каждого свой набор прав и свои возможности. И есть целый набор команд для работы с ними. Рассмотрим главные.
useradd — создает на сервере новую учетную запись. По сути, нового пользователя. Синтаксис: useradd имя будущей учетной записи. Имя можно указать любое на свой вкус. Потом останется лишь добавить для нового аккаунта пароль.
passwd — задает пароль для учетной записи. Работает вкупе с предыдущей командой. То есть сразу после создания аккаунта, пишем: passwd имя новой учетной записи. После этого система попросит придумать и указать пароль для новой учетной записи.
Система безопасности в Linux не показывает во время ввода пароля даже звездочки, но это не значит, что он не вводится. Продолжайте набирать вслепую, а как закончите, нажмите Enter, и все сработает. И не бойтесь запутаться, вас попросят повторить придуманный пароль.
userdel — удаляет выбранную учетную запись. Синтаксис: userdel имя учетной записи, которую нужно стереть
usermod — вносит изменения в характеристики существующих учетных записей, лишает их контроля или вовсе приостанавливает работу. Делает все, что не связано с созданием и удалением аккаунтов. Используется только вместе с дополнительными опциями:
- -с — добавляет комментарий к аккаунту (можно вписать любой текст по желанию, чтобы запомнить для чего нужен выбранный пользователь).
- -d — меняет расположение домашней директории выбранной учетной записи.
- -e — указывает время, которое будет существовать аккаунт (после этого сработает автоматический userdel).
- -g — меняет группу, к которой принадлежит аккаунт.
- -G — привязывает аккаунт к выбранной группе.
- -L — блокирует пользователя.
- -m — перемещает контент из домашней папки пользователя в другую папку.
- -p — устанавливает незашифрованный пароль (лучше так не делать).
- -s — задает конкретную оболочку для нового аккаунта на усмотрение администратора компьютера.
- -U — снимает блокировку с выбранной учетной записи.
Удаление через rm
Для удаления файла, необходимо ввести команду rm и название документа.
Данная команда удалит dokument, с некоторыми особенностями:
- Интерпретатор запросит подтверждение на операцию.
- В примере предполагается, что dokument находится в домашнем каталоге как и пользователь (/root/).
Удалим файл «newfile» из каталога /usr/games.
Удалить все файлы в папке.
Ключ «-f» даст возможность не выводить запрос на подтверждение операции. Однако, команда выше очистит только все файлы из каталога «games» не трогая директории.
Если нужно очистить систему от всех файлов, которые заканчиваются «.doc», следует приписать в самом конце команды символ «*», без пробела.
Чтобы подобный казус не случился, рекомендуется совершать удаление файлов при помощи стандартной программы rm с добавлением опции -i. Она станет некой перестраховкой в данном вопросе – система начнет запрашивать подтверждение пользователя перед удалением файлов из каталога. Как это выглядит на практике:
Если пользователю не нужен запрос на подтверждение, и он на 100% уверен в правильности своих дальнейших действий, можно вписать в команду опцию с противоположным воздействием на процесс (-f).
Удаление через find
Для реализации задуманного можно воспользоваться еще одной альтернативной программой find. Кроме того, она пригодится даже там, где rm не осилит поставленную задачу. Её синтаксис выглядит следующим образом:
К примеру, пользователю нужно очистить текущий каталог от всех файлов с названием «file». Их можно найти и уничтожить следующим способом:
Чтобы удалить устаревшие логи (то есть, файлы старше конкретного срока), используйте специальную команду в виде:
Исходя из заданной команды, можно понять, что Линукс удалит из текущего каталога все файлы, «возраст» которых превышает 5 дней. Вот видите, как легко управлять устройством посредством терминала!
Иногда в Linux наличествуют файлы, восстановление которых не имеет ни малейшей актуальности посте чистки ПК. То есть, от них нужно избавиться раз и навсегда. Если использовать ранее упомянутую программу rm, то ничего не получится, поскольку она удаляет лишь ссылку на файл, сохраняя при этом его содержимое в памяти устройства. Он все еще будет поддаваться восстановлению, ровно до того момента, пока Линукс не перезапишет его иной информацией.
Через shred
Чтобы очистить систему от документа без возможности его дальнейшего восстановления, нужно использовать специальную команду под названием «shred». Как только срабатывает команда, файл удаляется, и система неоднократно перезаписывает его место на диске. Как это выглядит на практике:
Что происходит далее? Система перезаписывает место на диске 3 раза (по умолчанию), но это количество поддается коррективам. Используйте опцию -n, если нужно что-то поменять. Добавление опции -z также повлияет на итоговый результат. С ней система запишет место на диске нулями, чтобы никто не мог догадаться о том, что определенный файл был уничтожен пользователем.
How to Remove Files and Directories Using Linux Command Line
21 Июня 2020
|
Терминал
Как удалить файлы
Чтобы удалить (или удалить) файл в Linux из командной строки, используйте команду (удалить) или команду.
Команда позволяет удалить только один файл, при этом вы можете удалить несколько файлов одновременно.
Будьте особенно осторожны при удалении файлов или каталогов, потому что, как только файл удален, он не может быть легко восстановлен.
-
Чтобы удалить один файл, используйте команду or, а затем имя файла:
Если файл защищен от записи, вам будет предложено подтвердить, как показано ниже. Чтобы удалить тип файла и нажмите . В противном случае, если файл не защищен от записи, он будет удален без запроса.
-
Чтобы удалить несколько файлов одновременно, используйте команду, за которой следуют имена файлов, разделенные пробелом.
Вы также можете использовать подстановочный знак ( ) и обычные расширения для сопоставления нескольких файлов. Например, чтобы удалить все файлы в текущем каталоге, используйте следующую команду:
При использовании обычных расширений сначала перечислите файлы с помощью команды, чтобы вы могли видеть, какие файлы будут удалены перед выполнением команды.
-
Используйте опцию with для подтверждения каждого файла перед его удалением:
-
Чтобы удалить файлы без запроса, даже если файлы защищены от записи, передайте параметр (force) команде:
-
Вы также можете комбинировать варианты. Например, чтобы удалить все файлы в текущем каталоге без запроса в подробном режиме, используйте следующую команду:
В Linux вы можете удалять / удалять каталоги с помощью и .
утилита командной строки для удаления пустых каталогов, в то время как вы можете рекурсивно удалять директории и их содержимое.
-
Чтобы удалить пустой каталог, используйте либо имя, либо имя каталога:
-
Чтобы удалить непустые каталоги и все файлы в них, используйте команду с параметром (рекурсивный):
Если каталог или файл в каталоге защищен от записи, вам будет предложено подтвердить удаление.
-
Чтобы удалить непустые каталоги и все файлы без запроса, используйте с (recursive) и параметрами:
-
Чтобы удалить несколько каталогов одновременно, используйте команду, за которой следуют имена каталогов, разделенные пробелом.
Как и в случае с файлами, вы также можете использовать подстановочный знак ( ) и обычные расширения для соответствия нескольким каталогам.
Теперь вы должны иметь хорошее представление о том , как использовать Linux , и команды , и вы должны иметь возможность безопасно удалить файлы и папки из командной строки.