Удалить ^ C при CTRL + C

вы ищете исполняемые файлы?

find . -type f -perm /+x

несмотря ни на что, режим /, скорее всего, ваш друг ... вот страница руководства:

   -perm /mode
          Any  of  the  permission  bits mode are set for the file.  Symbolic modes are accepted in this form.  You must specify `u', `g' or `o' if you use a symbolic mode.  See the
          EXAMPLES section for some illustrative examples.  If no permission bits in mode are set, this test matches any file (the idea here is to be consistent with  the  behaviour
          of -perm -000).

ОБНОВЛЕНИЕ: верно, я хотя вы искали для нечетных чисел (исполняемые) ...

это должно работать (по-прежнему используется 3-й постоянный параметр из примера данных find

:

$ ls
000  001  002  003  004  005  006  007  010  020  030  040  050  060  070  100  200  300  400  500  600  700

Команда поиска:

$ find . -type f \( -perm /u-x,g+x -o -perm /u-w,g+w -o -perm /u-r,g+r -o -perm /g-x,o+x -o -perm /g-w,o+w -o -perm /g-r,o+r -o -perm /u-x,o+x -o -perm /u-w,o+w -o -perm /u-r,o+r \) | sort
./001
./002
./003
./004
./005
./006
./007
./010
./020
./030
./040
./050
./060
./070

В основном вы говорите, дайте мне файлы, в которых группа имеет perms, но его нет у владельца, или файлы, где в мире есть perms, а в группе нет, или где в мире есть perms, а у владельца нет.

примечание: find имеет 3x параметра perm;

  • perm mode
  • perm -mode
  • perm / mode

ps Я не совсем уверен в значении этого ...

26
01.01.2017, 07:22
3 ответа

Отредактируйте (или создайте) ваш файл ~ / .inputrc . Добавьте строку с надписью

set echo-control-characters Off

. Это даст указание библиотеке GNU Readline (которую использует Bash) не выводить (отображать) какие-либо управляющие символы на экран. После этого параметр будет активен во всех новых сеансах Bash (и в любой другой утилите, использующей библиотеку Readline).

Обратите внимание, что , если ваша система Unix поставляется с общесистемным файлом конфигурации для библиотеки Readline (обычно / etc / inputrc ), то ваш личный файл конфигурации должен включать этот файл:

$include /etc/inputrc
set echo-control-characters Off

Другой альтернативой является создание личной копии общесистемного файла конфигурации, а затем ее изменение.

32
27.01.2020, 19:39

Попробуйте следующее:

stty -echoctl

Для объяснения см. этот большой и подробный пост от Stéphane Chazelas , который также объясняет некоторые другие особенности stty .

Если вы хотите сделать это изменение постоянным (и вы используете bash , как подразумевается в вашем вопросе), то лучше всего поместить в свой .bashrc , как указано в jlmg в комментариях (так что это относится ко всем интерактивным оболочкам).

25
27.01.2020, 19:39

Если вы пытаетесь найти конфигурацию, которая разрешит нормальное эхо (включая echoctl ) и просто отключит эхо символов, генерирующих сигнал, и вы уверены, что это должно быть возможно потому что вы видели это раньше ...

Вероятно, вы видели это таким образом. Но это больше невозможно из-за этого коммита :

commit ec5b1157f8e819c72fc93aa6d2d5117c08cdc961

Включить вывод INTR / QUIT / SUSP в дисциплине строки N_TTY (например, ctrl-C будет отображаться как « если установлено stty echoctl и ctrl-C установлено как INTR).

Linux, похоже, единственная unix-подобная ОС (недавно я проверил это на Solaris, BSD и Mac OS X), которая , а не ведет себя таким образом, и я очень скучаю по этому как хорошее визуальное подтверждение прерывания программы в консоли или xterm. Я с любовью вспоминаю это по многим Unix, которые я использовал за эти годы. Перенос этого в Linux также кажется хорошим способом сделать его еще более совместимым со стандартным unix-подобным поведением.

Если вы с любовью помните, как Linux раньше , а не повторял ^ C , единственный способ вернуть прежнее поведение - это исправить ваше ядро. В последних версиях отображение символов, генерирующих сигнал, осуществляется в строках 1215–1218 файла drivers / tty / n_tty.c .

3
27.01.2020, 19:39

Теги

Похожие вопросы