N: Ignoring file 'mono-xamarin.listsudo' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
indica claramente que el nombre del archivo es incorrecto:
# Goto directory: cd /etc/apt/sources.list.d/ # fix the name: mv mono-xamarin.listsudo mono-xamarin.list
[..] Operation not permitted
y
E: Unable to lock directory /var/lib/apt/lists/
así como
[..] 13: Permission denied
indica que usted no es rootO el proceso de obtención de apt -ya se está ejecutando, pero falló y dejó un estado sucio.
verificar si se está ejecutando apt -obtener procesos:
ps -A | grep apt
deberías ver algo como esto:
8737 pts/7 00:00:00 apt-get
donde 8737 es el proceso que está atascado si ve múltiples procesos, elimine cada uno de ellos con:
sudo kill
vuelva a comprobar si el proceso sigue ahí. Si no puede terminar el proceso de esta manera, use:
sudo kill -9
después de eso, debe limpiar el apt -obtener archivos de bloqueo:
sudo rm /var/lib/dpkg/lock sudo dpkg --configure -a sudo rm /var/lib/apt/lists/lock sudo rm /var/cache/apt/archives/lock
finalmente a la actualización deseada:
sudo apt-get update
Fuentes:tecmint
man find
говорит:
If the whole expression contains no actions other than -prune or -print,
-print is performed on all files for which the whole expression is true.
Так что да, это эквивалентно, но, вероятно, проще думать об этом как:
find. \( -name '*.c' -or -name '*.cpp' \) -and -print
или проще и совместимый с POSIX -:
find. \( -name '*.c' -o -name '*.cpp' \) -print
В основном обе команды означают одно и то же и отображают один и тот же вывод. Зачем делать с более длинным, когда у вас есть более короткий путь?
Операторы ИЛИ и И следуют булевой логике.
Для примитивов A = -name '*.c'
, B = -name '*.cpp'
, C = -print
имеем следующие уравнения
Ваш первый пример:(A+B ).C
Ваш второй пример:(A.C. )+ (B.C.)
Они имеют прямую математическую эквивалентность, т.е. они одинаковы. Но первый короче и лаконичнее.