В bash различные команды имеют различные понятия слов. C-w
убивает до предыдущего пробела, но большинство других команд, включая M-t
, используют разделенные пунктуацией слова.
Когда курсор находится между первым и вторым аргументами, C-w C-e SPC C-y
транспонирует эти два слова.
Если вы хотите связать ключ с переносом слов, разделенных пробелом, это сложнее. См. запутанное поведение ключей в стиле emacs в bash . Вот какой-то минимально проверенный код.
transpose_whitespace_words () {
local prefix=${READLINE_LINE:0:$READLINE_POINT} suffix=${READLINE_LINE:$READLINE_POINT}
if [[ $suffix =~ ^[^[:space:]] ]] && [[ $prefix =~ [^[:space:]]+$ ]]; then
prefix=${prefix%${BASH_REMATCH[0]}}
suffix=${BASH_REMATCH[0]}${suffix}
fi
if [[ $suffix =~ ^[[:space:]]+ ]]; then
prefix=${prefix}${BASH_REMATCH[0]}
suffix=${suffix#${BASH_REMATCH[0]}}
fi
if [[ $prefix =~ ([^[:space:]]+)([[:space:]]+)$ ]]; then
local word1=${BASH_REMATCH[1]} space=${BASH_REMATCH[2]}
prefix=${prefix%${BASH_REMATCH[0]}}
if [[ $suffix =~ [^[:space:]]+ ]]; then
suffix=${suffix#${BASH_REMATCH[0]}}
READLINE_LINE=${prefix}${BASH_REMATCH[0]}$space$word1$suffix
READLINE_POINT=$((${#READLINE_LINE} - ${#suffix}))
fi
fi
}
bind -x '"\e\C-t": transpose_whitespace_words'
Это все проще в zsh...
-121--161414-
Большинство утилит POSIX указывают, что --
можно использовать для завершения аргументов параметра:
cp -- '-file 1' '-file 2'
Можно также ссылаться на текущий каталог с помощью .
жесткая ссылка на текущий каталог:
cp './-file 1' './-file 2'
-121--202675-
RPM для RHEL [6 | 7] и братья и сестры (т.е. CentOS et al.) и доступны через yum в большинстве репозиториев.
Обратите внимание, что данные RPM адресуют часть уязвимостей «POODLE» в соответствии с:
СМ.: cert.gov
Обновление безопасности не решает некоторые конкретные проблемы с SSLv3, поэтому серверы, которые обновляются, должны устранить любую возможность подключения клиентов с использованием этого протокола и, в частности, методов CBC.
Удаление SSL3 из конфигурации сервера действительно легко выполнить с помощью:
ssl _ protocols TLSv1 TLSv1.1 TLSv1.2;
в http
config section и Если вы найдете какие-либо серверные директивы, просто удалите их и дайте «HTTP» управлять... как и должно.
SSLProtocol All -SSLv2 -SSLv3
в разделе глобальной конфигурации SSL и Как и в предыдущем OpenSSL snafus, вместо выдачи новых номеров RPM, соответствующих обновленному номеру версии OpenSSL (1,0 .1j), .rpm
имеет исправление, перенесенное в последнюю часть .rpm
дистрибутива; который равен 1,0 .1e (для distros на основе RHEL) и полностью настроен - на данный момент - как 1,0 .1e-30. [переменная по конкретной версии машины]
.
Итак, в качестве примера можно привести CentOS 6 64-разрядную версию .rpm
- openssl-1.0.1e-30.el6 _ 5,2 .x86 _ 64 .rpm
.
Как и при любом обновлении OpenSSL, все, что зависит от OpenSSL, например веб-серверы, VPN и т.п., должно быть перезапущено на сервере, прежде чем обновление вступит в силу.
Если в текущем каталоге имеется два zip-файла a.zip
и b.zip
, то
$ cp *.zip destination/
расширяется до
$ cp a.zip b.zip destination/
Семантика для cp
состоит в копировании как a.zip
, так и b.zip
в место назначения.
Если ввести
$ cp \*.zip destination/
, он просто "расширяется" до
$ cp '*.zip' destination/
, т. е. он попытается скопировать один файл с именем "* .zip" в место назначения, что не является желаемым.
С другой стороны, если ввести
$ unzip *.zip -d destination/
, он снова расширится до
$ unzip a.zip b.zip -d destination/
Семантика для unzip
заключается в том, чтобы найти файл с именем "b.zip" в архиве "a.zip", что опять не то, что вы хотите.
При вводе
$ unzip \*.zip -d destination/
команда unzip
не просто пытается распаковать файл с именем * .zip
, но распаковывает все файлы, оканчивающиеся на .zip
.
Разница в том, что обе команды интерпретируют свои аргументы по-разному.
-121--70750-Рекурсивно:
find . -type f -name '[0-9][0-9].*' -delete
требуется поиск GNU, или:
find . -type f -name '[0-9][0-9].*' -exec rm {} \;
-121--198577- rm [0-9][0-9].*
будет выполняться для файлов в текущем каталоге (без кавычек - вы хотите, чтобы соответствовал файлам). .
не нуждается в обходе, потому что это оболочечный глобус, а не регулярное выражение (если бы это был регекс, то это был бы подстановочный символ).
Если вы хотите сделать это рекурсивно, найти
, вероятно, ваша лучшая ставка.
Рекурсивно:
find . -type f -name '[0-9][0-9].*' -delete
Требовать GNU найти, или:
find . -type f -name '[0-9][0-9].*' -exec rm {} \;
Рекурсивное удаление файлов с помощью опции «-r»
rm -rf name_pattern*
eg : rm -rf dept*