ulimit[113869] используется для временного установления ограничений на текущую оболочку и ее сыновья.
Ограничить количество процессов можно с помощью [113870]ulimit -u $желательно_number
Дополнительная информация в [113872]man ulimit[113873] и [113874]ulimit -a
Что-то вроде:
find . -print -exec файл {} \; | grep "PalmOS"
Чтобы также привести в порядок выходной канал через awk, добавьте:
| awk '{print substr($1,2,length($1)-2)}'
Я никогда не использовал virt-install
, я всегда использую virsh define file.xml
. Но взгляд на страницу man говорит мне, что --сетевой мост: tun0
ошибочен. Требуется --нетворк = мост = br0
.
Я не эксперт по libvirt
/ qemu
, поэтому я не знаю, можно ли создать tun
устройство и заставить libvirt
использовать его. Обычно виртуальные интерфейсы создаются динамически при запуске виртуальной машины и подключении к мосту (и/или сети).
В XML-файле libvirt
это выглядит следующим образом:
<interface type='bridge'>
<mac address='52:54:00:42:c4:c8'/>
<source bridge='br0'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
-121--230066- Перейдите по ссылке, чтобы сбросить пароль администратора [звучит так, будто вы назвали свою учетную запись администратора «пользователь»:)]
https://askubuntu.com/questions/24006/how-do-i-reset-a-lost-administrative-password
После этого войдите в систему как пользователь-администратор и выполните следующие действия.
sudo usermod -aG sudo,adm fsolano
Теперь можно войти в систему как «fsolano» и выполнить команду sudo.
-121--4569- Нет встроенной функции find
для анализа содержимого файла, но можно вызвать file
. Использование оболочки для объединения нескольких специфичных для задач программ ( поиск
для обхода деревьев каталогов, файл
для анализа содержимого файлов) - это способ выполнения задач Unix.
Вы хотите работать с файлами, для которых выходные данные команды file -b -- «$ filename»
содержат последовательность приложения PalmOS
. Это можно проверить с помощью сценария оболочки
case "$(file -b -- "$filename")" in *"PalmOS application"*) true;; *) false;; esac
Этот сценарий можно использовать в команде find
, например:
find . -type f -exec sh -c 'case "$(file -b "$0")" in *"PalmOS application"*) true;; *) false;; esac' {} \; -print
Замените -print
на действие (которое может быть другим -exec...
). Это второе действие выполняется только в том случае, если предыдущее действие имеет значение true, т.е. когда команда shell возвращает значение 0 (т.е. true).
Кроме того, в zsh можно разрешить оболочке выполнять обход каталога с помощью * *
glob . .
glob квалификатор ограничивает совпадения обычными файлами (например, -тип f
для найти
).
for x in **/*(.); do
[[ $(file -b -- $x) = *"PalmOS application"* ]] || continue
…
done
В bash ≥4.3 для рекурсивного глоббинга можно использовать * *
, но сначала необходимо включить опцию globstar
. В bash 4,0-4,2 уже доступен globstar
, но остерегайтесь того, что * *
пересекает символические ссылки на каталоги. В ksh93 используйте set -o globstar
вместо shopt -s globstar
.
shopt -s globstar
for x in **/*; do
[[ -f $x ]] || continue
[[ $(file -b -- "$x") = *"PalmOS application"* ]] || continue
…
done
Если имена файлов не содержат пробелов или :\" '
, то альтернативный метод состоит в выполнении file
над именами файлов и анализе выходных данных.
find -type f |
xargs file |
sed -n 's/:.*PalmOS application.*//p' |
xargs somecommand
Если имена файлов содержат пробелы, но не содержат новых строк или двоеточий, можно использовать оболочку для анализа.
find -type f |
while IFS=: read -r filename type; do
case "$type" in
*"PalmOS application"*)
…;;
esac
done
Это не использует find
, но установка pattern
и directory
приведет к результатам, которые ваш вопрос будет задан:
pattern="PalmOS application"
directory=.
for f in $directory/*; do
if [[ $(file -b $f) == "$pattern" ]]; then
echo $f;
fi;
done