Это расширяется несколько на !!
прием упоминается в этом ответе. Существует на самом деле набор связанных с историей команд, которые имеют тенденцию быть забытыми о (люди склонны наносить удар, 100 раз вместо этого ища команду, они знают, что ввели).
history
команда покажет список недавно команд выполнения с указателем события налево!N
заменит командой, связанной с указателем события N
!-N
займет место N
th новая команда; например. !-1
заменит новой командой, !-2
второе новое, и т.д.!!
сокращение от !-1
, быстро заменять последней командой!string
заменит новой командой, которая начинается string
!?string?
заменит новой командой, которая содержит string
Указатели Word могут быть прибавлены к a !
команда истории для изменения результатов. Двоеточие разделяет событие и указатели слова, например. !!:0
. Указатель события !!
может быть сокращен до просто !
при использовании указателя слова, таким образом, !!:0
эквивалентно !:0
.
!:0
получит команду, которая выполнялась!:1
получит первый аргумент (и !:2
второе, и т.д.)!:2-3
получит вторые и третьи аргументы!:^
другой путь состоит в том, чтобы получить первый аргумент. !:$
получит последнее!:*
получит все аргументы (но не команда)Модификаторы могут также быть добавлены к a !
команда истории, каждый снабженный префиксом двоеточием. Любое число может быть сложено на (например. !:t:r:p
).
h
- Строка до основного имени файлаt
- Только основное имя файлаr
- Строка до расширения файлаe
- Только расширение файлаs/search/replacement
- Замените первое вхождение search
с replacement
gs/search/replacement
- Замените все случаи search
с replacement
Технически, нет такой вещи как "зарезервированный порт".
В TCP/UDP единственный способ "зарезервировать" порт к на самом деле bind()
сокет к нему. Связанный порт не будет использоваться другими приложениями; неиспользуемый порт, ну, в общем, не использован, таким образом, другие приложения являются бесплатными использовать его.
Если Вы пишете программное обеспечение сервера, то можно связать сокеты с определенными портами уже в Вас, хотят в коде приложения. Сделайте номера портов настраивающимися, или по крайней мере ясно заявите им в документации, так, чтобы системный администратор мог быстро определить столкновения и перемещение конфликтующие приложения для разделения серверов.
На самом деле вышеупомянутый ответ не совсем точен. sysctls net.inet.ip.portrange.first и net.inet.ip.portrange.last указывают диапазон портов, которые ОС может выделить для случайных портов. Вы хотели бы удостовериться, что диапазон зарезервированных портов для Вашего приложения не находится в пределах этих переменных.
Смотрите в Руководстве FreeBSD, разделе: 12.14. Настройка Пределов Ядра. Но та же основная предпосылка должна относиться к Linux также.
Гарантировать ядро не выделит 49000 и 49001 клиентам, поскольку Вы хотите использовать их для своих серверов на Linux.
sysctl -w net.ipv4.ip_local_reserved_ports = 49000, 49001
отбросьте его в /etc/sysctl.conf
, и затем выполненный sysctl -p
.
Обратите внимание, что это не тестируется.
/etc/services
?
–
15.09.2015, 02:59