Как комбинировать условия поиска lsof (логические И и ИЛИ)
Давайте выведем файлы, которые были открыты пользователем mial и которые связаны с процессами systemd. Мы знаем, что можем предоставить более одного элемента поиска в командной строке, поэтому это должно быть легко.
sudo lsof -u mial -c systemd
Теперь давайте посмотрим на вывод lsof. Это не выглядит правильно; в выводе есть записи, которые были запущены пользователем root.
Это не то что мы ожидали. Что произошло?
Если вы предоставите несколько поисковых терминов, lsof вернёт любой файл, который соответствует первому поисковому запросу или второму поисковому запросу и так далее. Другими словами, она выполняет поиск ИЛИ.
Чтобы lsof выполняла поиск И, используйте опцию -a. Это означает, что будут перечислены только те файлы, которые соответствуют первому поисковому запросу, второму поисковому запросу и т. д.
Давайте попробуем это снова и используем опцию -a.
sudo lsof -u mial -c systemd -a
Теперь каждый файл в списке — это файл, который был открыт пользователем mial или от его имени и связан с systemd.
Обратите внимание, что два условия, одно из которых содержит отрицание (^) обрабатываются как логическое И:
sudo lsof +D /home -u ^mial
Но если требуется логическое И, то лучше взять за правило всегда использовать опцию -a, поскольку так команда становиться более однозначной:
sudo lsof +D /home -u ^mial -a
и в случае добавления третьего условия поиска она будет работать как ожидается:
sudo lsof -u mial +D /home/mial -c^chromium -a
Узнать размер Java Heap Memory Size
Есть проблема с Java Heap Memory Size, ее нужно нормально указать для того чтобы все нормально работало ( например, веб- сервер tomcat, liferay, OpenMRS и так далее) и в данной статье «Узнать размер Java Heap Memory Size» расскажу как можно найти оптимальное значение для java.
Сейчас я покажу вам, как использовать-XX:+PrintFlagsFinal чтобы узнать ваш размер кучи «heap size». В Java, по умолчанию и максимальный размер кучи распределяются на основании алгоритма — эргономики (ergonomics algorithm).
Как же рассчитывается Heap sizes?
Начальный размер кучи — это соотношение 1/64 физической памяти к 1 Гб. (Initial heap size of 1/64 of physical memory up to 1Gbyte)
Максимальный размер кучи — это соотношение 1/4 физической памяти до 1 Гб. (Maximum heap size of 1/4 of physical memory up to 1Gbyte)
Тем не менее, алгоритм что выше, как раз для справки, могут варьироваться в разных VM.
Текстовые редакторы
Если вам нужно не просто создать файл, но также ввести в него много текста, то в этом случае удобнее всего будет использовать текстовые редакторы. Существует большое количество текстовых редакторов, которые запускаются прямо в терминале Linux и позволяют редактировать большие и сложные текстовые документы. Например, это такие редакторы как Nano, Vim и другие.
Текстовый редактор Nano установлен по умолчанию во многих дистрибутивах, а частности он есть в Ubuntu Linux. С Nano вы можете создать новый файл, сразу его отредактировать и сохранить. Для создания нового файла и перехода в редактор введите вот такую команду:
nano new_file.txt
После ввода такой команды появится интерфейс редактора Nano. В верхней части экрана будет информация о версии программы и название файла, а в нижней панель со списком горячих клавиш.
Для сохранения нажмите Ctrl-X и потом введите букву «Y» для подтверждения.
Если в системе нет Nano, то возможно там будет предустановлен Vim. Чтобы создать файл с помощью Vim просто вводим команду «vim» и через пробел название файла. В терминале Linux это выглядит вот так:
vim new1.txt
Vim намного функциональней Nano, но при этом и намного сложнее. Одной из первых проблем, с которой сталкиваются новички, это выход из Vim. Для этого нужно нажать клавишу Esc, ввести вот такую команду и нажать Enter.
:wq
Если что-то не получается, то возможно проблема в раскладке клавиатуры. Переключитесь на английскую и попробуйте еще раз.
Шестой совет: заведите папку с файлами-примерами
Мой любимый совет: заведите папку, наполненную различными файлами для тестирования. У меня есть папка с множеством файлов различных расширений и размеров. Если мне нужно тестировать загрузку, я готова к бою – мне не надо тратить время на прочесывание Сети в поисках годных примеров.
И так мы плавно переходим к четырем инструментам для тестирования загрузки файлов!
Первый инструмент: File-Examples.com
Я обнаружила этот сайт недавно, выяснив, что мне нужны файлы с расширением .doc, а не .docx. Этот сайт любезно предоставил такой файл, и на нем еще много примеров.
Второй инструмент: Random File Generator
Я упоминала его в своей статье «Пятнадцать бесплатных инструментов для тестирования». Если вам нужно проверить ограничения размеров файлов, то вы можете создавать файлы различных размеров при помощи этого инструмента.
Третий инструментMime-Types-Complete-List
Это полный и легко читабельный список всех MIME-типов и их расширений. Он очень полезен, когда вы хотите найти менее распространенные типы файлов для тестирования, или выяснить, какой MIME-тип относится к определенному расширению.
Четвертый инструмент: Eicar Test File
Если ваше приложение проверяет загруженные файлы на вирусы, вы можете воспользоваться этим тестовым файлом. Этот файл выглядит так, как будто содержит вирус, но на самом деле безвреден. Однако если на вашем компьютере установлен антивирус, то вы не сможете его даже скачать! Мне удалось это обойти, попросив отправить мне этот текст этого файла в чате, а затем я вставила текст в окно ввода Postman для запроса на загрузку.
Загрузка файлов – одно из моих любимых направлений тестирования. Следуя советам и используя инструменты, вы тоже можете ее полюбить
View the discussion thread.
blog comments powered by DISQUS
Предлагаемые для Java Memory
Ниже, я привел мою рекомендацию (параметры) для малой и средней нагрузки приложений Java
Heap = -Xms512m -Xmx1024m
PermGen = -XX:PermSize=64m -XX:MaxPermSize=128m
Thread = -Xss512k
P.S: Для большинства проектов Java, 512k памяти для потока (thread) более чем достаточно.
$ java -XX:+PrintFlagsFinal -Xms512m -Xmx1024m -Xss512k -XX:PermSize=64m -XX:MaxPermSize=128m -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'
оптимаьные значения для Java Heap Memory Size
Часто задаваемые вопросы.
какая -version?
Избегайте жалоб от компилятора Java, заменить «-version» с вашим именем приложения Java.
$ java -XX:+PrintFlagsFinal {your-java-program} | grep HeapSize
Что это -XX:+PrintCommandLineFlags?
Это -XX:+PrintCommandLineFlags используется для вывода значения,только для изменения VM (обозначается так: = символ).
Назначение команды dd
Мы упоминали, что основная задача — обработка файлов. Но в Linux все устройства, порты, оперативная память и память с кодом процессов отображаются как файлы, а это значит, что над ними можно проводить операции в . Еще утилита позволяет осуществлять выборочное копирование файлов с диска. Например, переместить фрагмент файла определенного размера или пропустить несколько гигабайт. Эта функция также помогает считать файлы с поврежденного носителя, изменить расположение байтов в файле, создавать файлы фиксированного размера. Кроме этого в можно создать дополнительную копию загрузочного сектора жесткого диска или прочитать блоки из системных файлов.
Команда dd
Синтаксис утилиты достаточно необычен, но в то же время очень прост, после того как вы его запомните и привыкнете:
$ dd if=источник_копирования of=место_назначения параметры
С помощью параметра if вам нужно указать источник, откуда будут копироваться блоки, это может быть устройство, например, /dev/sda или файл — disk.img. Дальше, с помощью параметра of необходимо задать устройство или файл назначения. Другие параметры имеют такой же синтаксис, как if и of.
Теперь давайте рассмотрим дополнительные параметры:
- bs — указывает сколько байт читать и записывать за один раз;
- cbs — сколько байт нужно записывать за один раз;
- count — скопировать указанное количество блоков, размер одного блока указывается в параметре bs;
- conv — применить фильтры к потоку данных;
- ibs — читать указанное количество байт за раз;
- obs — записывать указанное количество байт за раз;
- seek — пропустить указанное количество байт в начале устройства для чтения;
- skip — пропустить указанное количество байт в начале устройства вывода;
- status — указывает насколько подробным нужно сделать вывод;
- iflag, oflag — позволяет задать дополнительные флаги работы для устройства ввода и вывода, основные из них: nocache, nofollow.
Это были все основные опции, которые вам могут понадобиться. Теперь перейдем ближе к практике и рассмотрим несколько примеров как пользоваться утилитой dd linux.
Советы от перегрева видеокарты
Причиной отвала видеочипа является перегрев. Вследствии работы видеокарты под нагрузкой, чип нагревается, значит расширяется. После выключения компьютера чип остывает и тем сам сужается. От большого перепада температур и происходит разрыв контактов.
Если соблюдать тепловой режим и не перегревать видеокарту, то отвала чипа не будет.
Что нужно сделать, чтобы не было перегрева и отвала чипа в дальнейшем:
- В корпус поставить дополнительные вентиляторы, как минимум 1 спереди на вдув, и 1 сзади на выдув.
- Отрегулировать вручную обороты вентиляторов на видеокарте через Msi Afterburner.
- Регулярно следить за температурой под нагрузкой, во время игр.
- Раз в 3-6 месяцев чистить систему охлаждения от пыли.
- Если после чистки от пыли, температура превышает 75-80 градусов, то заменить термопасту.
Для настройки оборотов вентиляторов видеокарты я использую программу MSi Afterburner.
- Заходим в настройки.
- Открываем вкладку — Кулер.
- Включаем — Программный пользовательский авторежим.
- Настраиваем скорость вращения кулера.
- И нажимаем применить.
Msi Afterburner — настройка оборотов вентиляторов видеокарты
Я выставил настройки вращения вентиляторов на видеокарте gtx 660 ti так:
- До 30 градусов обороты вентилятора крутятся на 40%
- От 30 до 50 градусов обороты поднимаются с 40% до 60%
- 55 градусов обороты 70%
- 60 градусов на 80 %
- с 68 градусов вентиляторы начинают крутится на 100 процентов.
Таким образом температура GPU держится в районе 60-65 градусов во время игр и видеокарта прослужит дольше.
Тест видеопамяти видеокарты, когда есть изображение
Сначала покажу, как делать диагностику видеокарты, которая выдает изображение на монитор.
- Вставляем загрузочную флешку в ПК.
- В биосе делаем приоритет загрузки с usb флешки.
- Загружается MATS и на автомате начинается тестирование видеокарты.
- После окончания теста покажет результат. FAIL — значит есть ошибки или PASS — ошибок нет.
- Если есть ошибки, вводим команду — nano report.txt и смотрим на каком канале ошибки.
- Определяем битую банку видеопамяти.
Если вышла такая картинка, то это указывает на неисправность видеокарты.
Результат тестирование показывает, что есть ошибки в памяти видеокарты
Чтобы посмотреть результат тестирования, вводим команду: nano report.txt
Mats 367.38 — ошибка видеопамяти на канале FBI0A (63:32)
Отсчёт банок памяти ведём против часовой стрелки от правого нижнего угла видеокарты, когда контакты pci-e направлены к нам.
Определяем чип памяти, на которой вышли ошибки в mats
В mats версии 400.184 результат тестирования выглядит таким образом.
Mats 400.184 — ошибка видеопамяти на канале FBIO-B1 и FBIO-C0
Начинаем считать против часовой стрелки от правого нижнего угла: . Таким образом определяем проблемный чип видеопамяти.
Маркировка чипов видеопамяти на видеокарте GTX 1080
Проверка видеокарты с помощью mats команд
Иногда бывают и глюки в автоматическом тесте, как у меня одна и та же видеокарта gtx 660 ti на материнке от Asus тест mats проходит без ошибок, а на материнке Huanan выходит ошибка. Поэтому лучше еще раз проверить вручную через специальные команды.
По умолчанию в автоматическом режиме mats тестирует 20 мб видеопамяти, чего обычно хватает для обнаружения проблемы.
- cd 367.38.1/ — для входа в папку 367.38.1
- ./mats -e 30 > test.txt — запуск проверки памяти 30 мб с последующей записью в текстовый файл test.txt
- nano test.txt — открываем результат ручного тестирования после проверки.
Команды в mats для ручного тестирования видеопамяти
Дополнительные команды:
- Ctrl+X — выход назад для ввода другой команды.
- ./mats -c 100 — где цифра указывает проценты проверки видеопамяти.
- ls — вывод всех файлов в каталоге.
В случае если тест видеокарты пройдет без ошибок, то выйдет такая картинка с зеленой надписью PASS.
Результат тестирования видеокарты без ошибок
Вводим команду: nano test.txt
Убеждаемся, что в файле test.txt, где записан результат тестирования — ошибок нет.
Mats 400.184 результат тестирования — ошибок в видеопамяти нет
ls — просмотр содержимого папки
Команда ls позволяет вывести список файлов заданной папки, по умолчанию, будет выведен список файлов текущей папки:
ls
- Вы можете вывести список файлов из всех подкаталогов рекурсивно, для этого используйте опцию -R:
- ls -R
- Чтобы вывести список файлов нужной папки, вы можете передать ее адрес утилите, например, /home:
- ls /home
Чтобы получить больше информации и вывести все имена файлов в виде списка используйте опцию -l:
ls -l /home/
2. cd — изменить папку
Команда cd позволяет изменить текущую папку на другую. По умолчанию, текущей считается домашняя папка, например, cd Desktop меняет папку на рабочий стол, если вы выполните ее из домашнего каталога:
cd Desktop
Вы также можете указать полный путь к папке:
cd /usr/share/
Команда cd … переходит в папку, которая находится выше на одну в файловой системе:
cd …
Вы также можете вернуться в предыдущую рабочую папку:
cd —
3. rm — удалить файлы
Команда rm позволяет удалить файл. Будьте очень осторожны с ней, она не будет спрашивать подтверждения:
rm file
Например, rm file удалит файл с именем file, который находится в текущей папке. Как и в предыдущих вариантах, вы можете указать полный путь к файлу linux. Например:
- rm /usr/share/file
- Если вы хотите удалить папку, то нужно использовать опцию -r. Она включает рекурсивное удаление всех файлов и папок на всех уровнях вложенности:
- rm -r /home/user/photo/
- Будьте осторожны, потому что эта команда удаляет файлы безвозвратно.
4. rmdir — удалить папку
Команда rmdir позволяет удалить пустую папку. Например, команда rmdir directory удалит папку directory, которая находится в текущей папке:
rmdir directory
Если вам нужно удалить папку с файлами, то нужно использовать утилиту rm вместе с опцией -r.
5. mv — перемещение файлов
Команда mv перемещает файл в новое место. Она также может использоваться для переименования файлов. Например, mv file newfile переименует файл file в newfile:
mv file newfile
Чтобы переместить файл в другую папку нужно указать путь к ней, например, переместим файл file в папку /home/user/tmp/
mv file /home/user/tmp/
6. cp — копирование файлов
Эта cp и mv — это похожие команды linux для работы с файлами. Они работают аналогичным образом, только исходный файл остается на своем месте.
cp file newfile
Вы также можете рекурсивно скопировать всю папку с помощью команды cp -r. Эта команда скопирует всю папку вместе со всеми файлами и вложенными папками в новое место. Например, скопируем папку /etc/:
cp -r /etc /etc_back
7. mkdir — создать папку
- Команда mkdir позволяет создать новую папку mkdir test создаст папку в текущем каталоге:
- mkdir test
- Если нужно создать папку в другом каталоге, укажите полный путь к нему:
- mkdir /home/user/test
8. ln — создание ссылок
Утилита ln позволяет создавать жесткие и символические ссылки на файлы или папки. Для создания символической ссылки используется опция -s. Например, вы создадим ссылку на папку с загрузками:
- ln -s /home/user/Downloads/ /home/user/test/
- Для создания жесткой ссылки никаких опций задавать не нужно:
- ln /home/user/Downloads/ /home/user/test/
9. chmod — изменить права
chmod позволяет изменить права доступа к файлам. Например, chmod +x script.sh добавляет флаг исполняемости к файлу script.sh:
- chmod +x script.sh
- Чтобы убрать флаг исполняемый используйте опцию -x:
- chmod -x script.sh
- Подробнее о том, как работают разрешения для файлов смотрите в статье права доступа к файлам в Linux.
10. touch — создать файл
- Команда touch создает пустой файл. Например, touch file создаст пустой файл в текущей папке с именем file:
- touch file
- Для создания файлов через терминал существует еще несколько команд, они рассмотрены в статье как создать файл в linux.
Как создать файл через терминал
В данной статье мы разберем несколько альтернативных команд, при помощи которых можно создать новый объект в терминале Линукс.
Как создать пустой файл? Это легко сделать, если ввести в терминале следующую комбинацию:
Что происходит дальше? Утилита touch поможет добавить новый пустой объект с указанием даты создания и прав доступа. Чтобы не создавать каждый новый объект по отдельности, нужно ускорить процесс. Для этого задайте вот такую команду:
Самое время перейти ко второму способу создания нового файла в Линукс. Для этого необходимо использовать команду cat. Изначально она предназначена для того, чтобы пользователь мог ознакомиться с содержимым существующих объектов, но для нужной вам цели она тоже сгодится.
Как только команда будет выполнена, пользователь должен ввести определенные символы для записи в файл. Чтобы сохранить внесенные правки, необходимо нажать перед выходом Ctrl+D.
Как создать текстовый файл в Линукс? Для этих целей прибегнем к консольному текстовому редактору nanо. Запустите редактор и пропишите в нем текст на свое усмотрение.
Для тех, кто не боится более сложных путей, придуман редактор vi. Он работает по аналогичному принципу, но сама программа устроена достаточно сложно для новичка. Как запустит редактор:
Если программа показалась вам слишком непонятной в работе, рекомендуется детально изучить её основы. Для этого выполните: vimtutor. Разумеется, пользователь всегда может выбрать более простой и понятный для себя вариант. Более того, всегда можно обратиться к графическому интерфейсу для решения текущей проблемы, но этот редактор действительно заслуживает вашего внимания. Подробно изучив его отличительные черты и особенности, можно заиметь в своем арсенале поистине эффективный инструмент.
В отличие от других схожих редакторов, Vim может предложить массу полезных функций. В некоторых ситуациях очень глупо отказываться от столь заманчивых опций
Еще раз напоминаем о том, что взаимодействие с некоторыми редакторами может отличаться по своей специфике, поэтому пользователю крайне важно предварительно ознакомиться с тем, как функционирует инструмент
А вот и веский тому аргумент: в случае с Vim часто бывает так, что пользователь задает стандартную (привычную для других инструментов с графическим интерфейсом) комбинацию клавиш, но в результате получает совершенно не то, что было запланировано им изначально. В лучшем случае, пользователю придется многое исправлять. В худшем – он продолжит допускать грубые ошибки, и не сможет выполнить изначальную задачу по созданию файла при помощи данного редактора. С учетом выше сказанного напрашивается лишь один логический вывод: к работе с данным редактором нужно тщательно подготовиться.
Самая короткая команда для создания файла в Линукс
Она выглядит следующим образом:
Вывод команды будет записан в новый файл.
Двигаемся дальше! Теперь попробуем создать новый объект в мультипользовательской системе Линукс при помощи cp. Изначально эта команда разработана для копирования файлов в системе, но и эта задача ей под силу. Приступаем к созданию нового пустого файла в Линукс:
Специальные файлы в Линукс: особенности создания
Какие файлы хранятся в ОС Linux:
- Стандартные текстовые;
- Бинарные;
- Специальные.
Способы создания обычных файлов уже рассмотрены ранее. Но что делать, если пользователю нужно создать специальный файл? В данном случае стандартные утилиты Линукс не подойдут. Осуществить задуманное можно лишь при помощи специальных программ. Их можно найти на просторах Всемирной паутины. Любые другие действия осуществляются при помощи терминала и соответствующих команд.
Заключение
Управление многопользовательской системой Линукс действительно отличается своей сложностью, если сравнивать её с другими операционными системами. В то же время существует немало способов для решения нужной задачи. Все они представлены в данной статье. Пользователю остается лишь выучить понравившуюся ему команду или воспользоваться удобной утилитой
Удаление файлов в терминале Linux.
Для удаления файлов используется команда «rm» (от англ. remove).
Работает очень просто, пишете команду rm и путь к файлу, который хотите удалить:
Удалить файл с именем «file1»:
Удалить директорию с именем «dir1» и рекурсивно всё её содержимое:
Удалить две директории и рекурсивно их содержимое:
Также можно добавить параметр -f, который означает, что при удалении не будет запрашиваться подтверждение на удаление. Команды будут выглядеть так:
Перемещение и переименование файлов и директорий в терминале Linux.
Для перемещения и переименовывания файлов и директорий (каталогов) используется команда «mv» (от англ. move).
Всё очень просто. Чтобы переименовать файл, выполняем команду:
Чтобы переместить файл:
Копирование файлов и директорий в терминале Linux.
Для копирования используется команда «cp» (от англ. copy).
Скопировать файл file1 и назвать его file2:
Копировать директорию dir1 в директорию dir2:
Копировать файл с именем file1 в директорию c именем dir1:
Справка о командах.
У каждой команды присутствует множество параметров, чтобы узнать их, просто наберите команду и параметр —help:
Например:
Мягкий способ
Первым делом вам нужно удалить приложений. «Недостаточно места в памяти устройства», — Google Play выдает это сообщение, если достиг предела кэша. Несмотря на то что объем данных, хранящихся в памяти приложения, неограничен, при превышении некоторого определенного числа могут возникать сбои.
Зайдите в настройки телефона и перейдите к «Приложениям». Выберите Google Play в списке и зайдите в него. Остановите эту программу, а затем сотрите данные и кэш. Ту же самую процедуру стоит повторить и для утилиты Google Service Framework.
После всех проделанных операций перезагрузите девайс. Иногда может потребоваться удалить все установленные обновления для гугла. Делается это в том же меню, что и удаление кэша. Если вся процедура не поможет, переходите к следующему методу.
Безопасный способ экспериментировать с файловыми системами
Создание файловой системы в разделе разрушительно для любых данных, которые могут уже находиться в этом разделе. Использование запасного жесткого диска или даже запасного компьютера — идеальный способ экспериментировать с созданием и использованием различных файловых систем. Но, конечно, у многих людей нет запасного оборудования, ожидающего экспериментов.
Тем не менее, мы можем создать файл изображения и создать файловые системы в этом. Как только мы смонтируем его, мы сможем использовать его, как если бы он был обычным разделом. Мы можем исследовать и экспериментировать с файловыми системами без необходимости в запасном оборудовании. Мы будем использовать команду для создания нашего файла изображения .
Файл изображения создается путем взятия исходных данных и помещения их в изображение. Нам нужно указать где взять исходные данные. Мы будем использовать опцию (input file), чтобы указать использовать / dev / zero в качестве источника входных данных. Это будет поток нулей.
Параметр (выходной файл) позволяет нам указать имя для файла изображения. Мы назовем это «.img».
Размер файла изображения определяется размером и количеством блоков, которые мы добавляем к нему. Мы используем опцию (размер блока) для запроса размера блока 1 МБ и опцию для запроса 250 блоков. Это даст нам файловую систему 250 МБ. Когда вы вводите эту команду, настройте количество блоков в соответствии с вашими потребностями и свободную емкость на вашем компьютере с Linux.
дд если = / dev / zero = = / .img bs = 1M count = 250
Файл создан для нас, и сообщает, что для нас было создано 250 блоков по запросу.
Мы можем посмотреть на наш файл изображения с помощью :
ls -hl