Базовые команды linux для тестировщиков и не только

Содержимое файлов

Если вы хотите посмотреть содержимое файла, то можете обратиться к команде cat — в ответ на команду вы увидите все, что содержится в файле. Если данных слишком много, используйте конвейер и команду more — она позволит просматривать содержимое постранично:

cat file1 | more

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

С русскоязычной документацией nano вы можете ознакомиться по этой ссылке: http://help.ubuntu.ru/wiki/nano

А документация vim доступна в этом разделе: http://help.ubuntu.ru/wiki/vim

Убить все процессы из консоли

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

Или намного проще:

Здесь мы получаем список всех процессов в ps, выбираем из них chromium, потом отбираем второй столбец, то есть PID, и с помощью xargs вызываем kill для каждой вкладки. Точно таким же способом можно уничтожить любое приложение создающее много процессов.

Как освободить кэш память в Linux

В каждом дистрибутиве Linux можно использовать три команды чтобы очистить кэш памяти linux. Причем вам не придется завершать никаких процессов. Сначала войдите в консоль от имени суперпользователя:

Затем выполните одну из команд. Очистка кэша PageCache:

Очистка inode и dentrie:

Очистка inode и dentrie и PageCache:

А теперь давайте рассмотрим что происходит при выполнении этих команд.

Утилита sync заставляет систему записать все кэшированные, но еще не записанные данные на диск. Это нужно чтобы освободить как можно больше памяти. По умолчанию данные после записи на диск не удаляются из кэша, это нужно для того, чтобы программа могла быстрее их считать при необходимости.

Если не выполнить команду sync мы тоже освободим немного места, но после ее выполнения результат будет лучше.

Символ разделения ; дает знать оболочке, что перед тем как выполнить другую команду, нужно дождаться завершения работы первой. Последняя команда echo 1 > /proc/sys/vm/drop_caches записывает значение 1 в файл /proc/sys/vm/drop_caches. Это дает сигнал ядру, что нужно очистить выбранный нами вид кэша.

Виды кэша в Linux

А теперь давайте рассмотрим виды кэша, которые позволяют очищать эти команды, а также как все это работает.

PageCache или страничный кэш — это место, куда ядро складывает все данные, которые вы записывали или читали из диска. Это очень сильно ускоряет работу системы, так как если программе во второй раз понадобятся те же данные, они просто будут взяты из оперативной памяти. Но по этой причине этот кэш занимает больше всего места.

Посмотреть размер страничного кэша можно с помощью утилиты free. Здесь он показан в последней колонке — cached:

Такой кэш чистить эффективнее и безопаснее всего.

Кэш inode и dentrie тоже относится к файловой системе. Только в него записываются не сами данные, а структура файловой системы, расположение файлов и папок. При запросе расположения файла или содержимого папки ядро формирует специальные структуры, в которых есть вся эта информация. При следующем запросе структуры будут уже сохранены в памяти. Для каждой файловой системы существует свой кэш inode и общий кэш dentrie.

Этот кэш занимает очень мало памяти. Данные представлены в байтах, и как видите, это очень мало. Посмотреть его можно командой:

Очищать его чтобы освободить память linux не рекомендуется, так как памяти потребляется немного, а на новое сканирование файловой системы идет относительно много времени.

Нужно ли очищать кэш вообще?

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

Операционная система Linux разработана таким образом, что перед тем как обратиться к диску, будет просмотрен кэш диска, и если там есть нужные данные, к диску обращений не будет. Если очистить кэш Linux то операционная система будет работать немного медленнее, поскольку ей придется искать данные на диске.

Автоматическая очистка кэша

Давайте рассмотрим как автоматически очистить кэш памяти ежедневно в два часа ночи с помощью планировщика заданий cron.

Сначала создадим bash скрипт со следующим содержимым:

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

Дальше сделайте скрипт исполняемым:

Осталось добавить задание в планировщик cron. Для этого выполните команду:

И в открывшемся редакторе добавьте строчку:

Теперь этот скрипт будет выполняться каждую ночь и выполнять очистку памяти, чтобы сервер мог работать нормально.

How to Rename Files and Directories in Linux

22 Июня 2020
|

Терминал

Переименование файлов и каталогов является одной из самых основных задач, которые вам часто приходится выполнять в системе Linux. Вы можете переименовывать файлы, используя файловый менеджер с графическим интерфейсом или через терминал командной строки.

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

Переименование файлов с помощью команды

Команда ( не хватает хода) используется для переименования или перемещения файлов из одного места в другое. Синтаксис команды следующий:

Может быть один или несколько файлов или каталогов и может быть один файл или каталог.

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

Например, чтобы переименовать файл так, как вы запустите:

Переименование нескольких файлов с помощью команды

Команда может переименовывать только один файл за раз, но ее можно использовать вместе с другими командами, такими как или внутри bash или циклов, для переименования нескольких файлов.

В следующем примере показано, как использовать цикл Bash for для переименования всех файлов в текущем каталоге, изменив расширение на .

Давайте проанализируем код построчно:

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

Вот пример использования в сочетании с для достижения того же, что и выше:

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

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

Переименование файлов с помощью команды

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

Существует две версии команды с разным синтаксисом. В этом уроке мы будем использовать версию команды Perl . Если у вас не установлена ​​эта версия в вашей системе, вы можете легко установить ее, используя менеджер пакетов вашего дистрибутива.

  • Установить на Ubuntu и Debian

  • Установить на CentOS и Fedora

  • Установить на Arch Linux

Синтаксис команды следующий:

Команда переименует в соответствии с указанным регулярным выражением. Вы можете прочитать больше о регулярных выражениях perl .

Следующий пример изменит все файлы с расширением на :

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

Вывод будет выглядеть примерно так:

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

Ниже приведены еще несколько распространенных примеров использования команды:

  • Заменить пробелы в именах файлов подчеркиванием

  • Преобразование имен файлов в нижний регистр

  • Преобразовать имена файлов в верхний регистр

Конечно, есть другие команды для переименования файлов в Linux, такие как . Новые пользователи Linux, которых пугает командная строка, могут использовать инструменты пакетного переименования GUI, такие как Métamorphose .

Достоинства Linux

  • Бесплатные дистрибутивы. Одной из главных особенностей данной операционной системы является наличие бесплатных дистрибутивов, таких как Ubuntu, Mandriva, Fedora и т.п. Все они внешне достаточно похожи и имеют одну «философию». Данный факт очень полезен для людей, которые стремятся иметь на своих компьютерах исключительно легальные операционные системы. В первую очередь, это частные предприниматели и компании, так как к ним могут всегда прийти с проверкой на легальность используемой ОС, а в их арсенале достаточно много способов проверить подлинность Windows. Покупать на все компьютеры лицензию достаточно дорогое удовольствие, куда проще воспользоваться бесплатным аналогом, той же Ubuntu.
  • Бесплатные программы. Достоинство, которое пересекается с предыдущим. Однако если операционная система нужна только одна на один компьютер, тогда как программ может потребоваться десятки (текстовый редактор, антивирус, графический редактор, архиватор, 1С и т.д.). К примеру, программные продукты от компании Adobe могут стоить в несколько раз дороже той же системы. Бесплатные программы, также хороши обычным пользователям, которые не хотят иметь постоянных проблем с лицензией, заниматься поиском ключей, а также чувствовать себя вором.
  • Гибкость системы. Дистрибутивы Linux, прежде всего, интересны программистам, так как при помощи них, практически из любого компьютера можно сделать полноценный сервер. Специалисты по программированию также получают полный доступ к коду любых программ и системы в целом, что развязывает руки, позволяя «ваять» из Linux самые разные продукты для любых задач. Вы получаете возможность запускать лишь те процессы, которые необходимы именно Вам, а не те, которые по умолчанию установлены системой. Пользуясь Linux, можете почувствовать себя программистом (даже при условии, что Вы таковым не являетесь), так как очень много задач придется выполнять через консоль (устанавливать, обновлять или удалять программы).
  • Современный дизайн и «фишки». Благодаря открытому сообществу разработчиков, в дистрибутивах Linux можно встретить массу современных веяний в сфере операционных систем: те же оформления окон, оригинальное использование панели задач, боковых панелей и прочего. Дизайн того же Ubuntu всегда был на шаг впереди Windows, конечно, сейчас (с выпуском Windows 8) уже и компания Microsoft вышла на более новый уровень оформления. Хотя до этого момента первенство всегда было за Ubuntu, чего только стоит такая утилита, как «Compiz», позволяющая даже на слабых машинах почувствовать себя современным человеком за компьютером.
  • Стабильно и быстро работает даже на слабых «машинах». Данный пункт в последние два или три года, стал бурно обсуждаться, так как один из самых распространённых дистрибутива Linux – Ubuntu, стал заметно ухудшаться в быстроте работы. Поэтому мы сразу предупреждаем, если Вы выберите именно этот дистрибутив, то кардинальной разницы можете и не заметите. Если для Вас важна скорость и это явное достоинство, то попробуйте Elementary OS, которую многие хвалят за её быстроту и стабильность работы. Ещё не плохой вариант Mint. Вообще не бойтесь экспериментировать в дистрибутивах Linux, так как Вы обязательно найдете ту систему, которая станет для Вас идеальной.
  • Возможность выделиться. Ещё одно достоинство Linux в сравнении с Windows в том, что им можно выделиться из серой массы. Ведь большинство ваших друзей, коллег или знакомых будут пользоваться либо Windows OS, либо Mac OS. К Вам естественно будет больше внимания и вопросов по поводу системы. Для некоторых можете даже стать настоящим учителем или проводником в мир UNIX-систем, что также очень приятно. Linux для тех, кто не хочет быть «одним из».
  • Новый опыт. Это достоинство, которого уж точно не отнять и с которым сложно поспорить. Если Вы до этого пользовались исключительно Windows-системами, то с Linux Вы можете расширить свой кругозор, так как функции и особенности операционной системы Windows, что были заложены в неё — это лишь желание разработчиков из компании Microsoft, тогда как операционная система может вести себя совсем иначе, чем задумывалось. В Linux будут новые функции, новые сочетания клавиш, новая логика в действиях и т.д. Новизна во всём позволит более ясно понимать и другие системы, к примеру, тот же Mac OS, который вообще не сравниться с Windows. Новый опыт может пригодиться и в учебе (так или иначе Вы будете касаться иных систем), и в работе (ведь никто не знает, а вдруг завтра Вы смените место работы и Вас посадят за компьютер, имеющий одну из операционных систем Linux).

Установка, удаление и обновление пакетов

Для установки программ в Linux используются менеджеры пакетов. Они разнятся от дистрибутива к дистрибутиву, поэтому команды для управления ими тоже отличаются. Рассмотрим наиболее популярные.

Debian/Ubuntu

  • sudo apt-get install название пакета — устанавливает программу на выбор. Главное знать, как она называется.
  • sudo apt remove название пакета — стирает с жесткого диска имеющийся в системе пакет.
  • sudo apt-get update — обновляет информацию о пакетах, имеющихся в системе, и тех, что хранятся в подключенных репозиториях.
  • sudo apt-upgrade — обновляет установленные пакеты до самых свежих версий, доступных в подключенных репозиториях.

Red Hat Linux/CentOS

  • sudo dnf install название пакета — устанавливает программу на выбор.
  • sudo dnf upgrade — обновляет установленные пакеты до самых свежих версий.
  • sudo dnf remove название пакета — стирает с жесткого диска имеющийся в системе пакет.
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: