У меня есть рабочий стол Ubuntu 16.04 64 битов, в котором я установил wine
в прошлом и позже удаленный это. Теперь, когда я пытаюсь открыть txt файлы в nautilus
, во многих случаях я получаю dailouge поле, говоря, что файл является исполняемым файлом и должен ли я выполнять или отображать его. Я раздражаюсь этим поведением и хочу отменить, выполняют полномочия из этих файлов. Если кто-либо может показать мне, как сделать это, это будет полезно.
Спасибо
Удалить выполнить бит из всех .txt
файлы в Вашем корневом каталоге и всех его подкаталогах, попробуйте:
find "$HOME" -type f -executable -name '*.txt' -execdir chmod a-x {} +
Как это работает:
find "$HOME"
Это запускается find
поиск файлов, запускающихся с корневого каталога и рекурсивно включая все подкаталоги
-type f
Это говорит find
только искать регулярные файлы, не каталоги.
Важно ограничить поиск регулярными файлами, потому что, если мы удаляем выполнить бит из каталога, тот каталог становится недоступным.
-executable
Это говорит find
только искать файлы, которые имеют исполняемый набор битов.
-name '*.txt'
Это говорит find
только искать файлы, имена которых соответствуют шарику *.txt
.
-execdir chmod a-x {} +
Это говорит find
выполниться chmod a-x
на любых таких найденных файлах.
Мы используем -execdir
, в противоположность -exec
, потому что это более надежно, должен названия изменения каталогов, в то время как эта команда работает.
+
в конце формы -execdir chmod a-x {} +
говорит find
выполнять меньше экземпляров chmod
путем помещения многих файлов на каждого chmod
командная строка, если это возможно.
find . -name "*.txt" -exec chmod a-x {} \;
find
команда сам объяснительная. Это находит файлы согласно данным аргументам. Использование: find location comparison-criteria search term
find . -name "*.txt" -exec chmod a-x {} \;
Здесь. корневой каталог средств, -name "*.txt"
средства находят все файлы, которые включают ".txt" в их имена. -exec chmod a-x {} \;
средства выполняются эти chmod
команда на всех файлах соответствия.