Это ^M
возврат каретки. Windows представляет разрывы строки возвратом каретки с двумя последовательностями символов, переводом строки (CRLF или ^M^J
). Linux и другие нельды используют отдельный символ LF. Этот CR рассматривают как обычный символ, таким образом, ядро ищет названный интерпретатор /bin/sh␍
вместо /bin/sh
. Когда Вы вызвали sh
явно, это также рассматривало CR как обычный символ, часть имен команд.
Это - знак, что те файлы были скопированы с машины Windows, где они были текстовыми файлами. Вы не можете непосредственно скопировать текстовые файлы между машинами Windows и Linux, необходимо преобразовать окончания строки. Возможности состоят в том, что Вы извлекли архив в Windows, затем скопировали файлы в Linux. Вместо того, чтобы делать это, извлеките архив на Linux.
В случае Повышения, с версии 1.49.0, архив распределяется в четырех форматах:
Самый легкий способ скомпилировать Повышение в соответствии с Linux состоит в том, чтобы использовать архив bzip2. Если необходимо работать с 7z, можно использовать команды такой как dos2unix
или sed -i -e 's/\r$//'
на всех текстовых файлах для преобразования окончаний строки.
Так как Вы, кажется, не принимаете никакой наш мнения не различные страницы, с которыми мы связались как 'чиновник', возможно, официальная документация Red Hat убедит Вас:
В этом примере общий объем доступной памяти составляет 4 040 360 КБ. 264 224 КБ используются процессами, и 3 776 136 КБ свободны для других приложений. Не запутывайтесь первой строкой, которая показывает, что 28160 КБ свободны! При рассмотрении чисел использования, Вы видите, что большая часть использования памяти для буферов и кэша. Linux всегда пытается использовать RAM для ускорения дисковых операций при помощи доступной памяти для буферов (метаданные файловой системы) и кэш (страницы с фактическим содержанием файлов или блочных устройств). Это помогает системе работать быстрее, потому что данные о диске уже находятся в памяти, которая сохраняет операции ввода-вывода. Если пространство будет необходимо программам или приложениям как Oracle, то Linux освободит буферы и кэш для получения памяти для приложений. Если Ваша система будет работать некоторое время, то Вы будете обычно видеть небольшое число под полем, "свободным" на первой строке.
Это все прекрасно, но как насчет времени задержки между запросом памяти и ее отображением для того, что кэш диска должен релиз? Конечно, вы можете сказать, что это минимально или даже незаметно, но, возможно, меня волнуют 0,0000001 секунды, добавленные из-за этого процесса. Кто вы такие, чтобы решать, как использовать мою оперативную память?
Что делать, если я не хочу испытывать это время задержки? Возможно, я не возражаю против того, чтобы мои приложения загружались с диска медленнее, но хочу, чтобы они немедленно занимали оперативную память без задержки, чтобы отключить память от кэширования диска.
Как я могу ограничить объем оперативной памяти, занимаемой моим дисковым кешем? Не говорите мне, что это было реализовано без возможности сделать это.
ОБНОВЛЕНИЕ : Нашел способ сделать это.
echo 3 | sudo tee /proc/sys/vm/drop_caches
Выполните: free -m
после выполнения вышеуказанного для подтверждения. Оно работает.
sync; echo 3 > /proc/sys/vm/drop_caches
была бы хорошая идея? – Pedro Lobito 15.11.2017, 13:32