Приоритет — это только половина ответа. Важно также то, как работают правила завершения логических выражений. Вскоре это становится немного сложнее, в основном из-за того, что find
использует разумные значения по умолчанию и в то же время является программируемым.
Чтобы проиллюстрировать, что я имею в виду, вот еще одно решение:
find. -name "*.txt" -print -or -type f -print
это добавляет явное действие к каждой конечной -точке. И просто:
]# find -name "*.txt" -or -type f
./p.txt
./s1.mp3
./a1.txt
также получает все файлы (, включая не -обычную запись "p.txt" ). Здесь значение по умолчанию -print
находится вне любого выражения (sub -)и применяется ко всем ветвям.
После добавления ровно одного -print
вы получите "или... или":
]# find -name "*.txt" -print -or -type f
./p.txt
./a1.txt
]# find -name "*.txt" -or -type f -print
./s1.mp3
Бесполезно обсуждать, что лучше -Проблема в том, что Q очень искусственный (и к тому же дублирующий ). Если кто-то хочет отследить mkfifo pipe.txt
,логическое «И НЕ» вместо «ИЛИ» имело бы более семантический (и общий )смысл.
Для этого не нужны ни скобки, ни -печать:
]# find -name "*.txt" -not -type f
./p.txt
Я тоже столкнулся с этой проблемой и решил ее установкой более свежего ядра из бэкпортов. Вы можете создать новый файл, содержащий строку deb http://deb.debian.org/debian/ buster-backports main contrib non-free
в /etc/apt/sources.list.d/
для включения обратного переноса в apt
, если вы используете Debian Buster. Компоненты contrib
и non-free
будут полезны, если вам также необходимо установить драйверы WiFi. После этого вам необходимо установить самый последний пакет linux-image*
для правильной архитектуры процессора и перезагрузить систему. В моем случае это был пакет linux-image-5.9.0-0.bpo.5-amd64
.
Чтобы проверить, установлены ли ваши графические драйверы, вы можете запустить lshw -c display
. Если устройство не будет правильно распознано ядром, оно будет помечено как «НЕ ЗАЯВЛЕННОЕ».
Также см. этот ответ.