С zsh:
mv ~/Downloads/*(.om[1,2]) .
(...)
часть называют globbing спецификаторами, одной из уничтожающих функций zsh
. Каждый спецификатор (обычно отдельные символы) позволяет фильтровать подобранные записи на основе атрибутов файлов (тип, размер, время...), изменять порядок, в котором они расширены или изменяют, как они расширены.
Выше, мы имеем:
.
(точка): выберите регулярные файлы только (не каталоги, символьные ссылки...)om
: закажите список ко времени изменения.[1,2]
: выберите только первые две записи.Также обратите внимание, что команда перестанет работать, если там не будет идти ни в какое сравнение (куда другие оболочки могли случайно переместить неправильный файл/dir).
В целом я советовал бы Вам не использовать telnet
, но использовать ssh
вместо этого. Telnet является ответственностью безопасности, которую никто не должен использовать в этот день и возраст. См. эту статью для демонстрации того, как кто-то может легко осуществить сниффинг пакетов telnet, поскольку они пересекают сеть с помощью wireshark и получают доступ к учетным данным. Th e статья назван: Сниффинг Telnet Используя Wireshark. Вот снимок экрана попытки входа в систему с помощью telnet:
Однако, если необходимо абсолютно использовать telnet
затем я запустил бы путем диагностирования telnet
команда Вы используете с инструментом, strace
.
Для демонстрации проблемы, Вы в конечном счете испытываете, я изменил мой /etc/resolv.conf
файл так, чтобы был поддельный сервер DNS в соединении. Это вызвало бы замедление, которое в конечном счете испытывал OP.
# /etc/resolv.conf
# Generated by NetworkManager
domain mydom.net.
search mydom.net.
nameserver 1.2.3.4
nameserver 192.168.1.101
Я затем работал telnet
как так:
$ strace -T telnet skinner
Этот раздел вывода показывает то, что занимает много времени:
...
socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 3 <0.000021>
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("1.2.3.4")}, 16) = 0 <0.000023>
poll([{fd=3, events=POLLOUT}], 1, 0) = 1 ([{fd=3, revents=POLLOUT}]) <0.000012>
sendto(3, "\275N\1\0\0\1\0\0\0\0\0\0\7grinchy\5bubba\3net\0\0"..., 35, MSG_NOSIGNAL, NULL, 0) = 35 <0.000073>
poll([{fd=3, events=POLLIN|POLLOUT}], 1, 5000) = 1 ([{fd=3, revents=POLLOUT}]) <0.000012>
sendto(3, "\373\262\1\0\0\1\0\0\0\0\0\0\7grinchy\5bubba\3net\0\0"..., 35, MSG_NOSIGNAL, NULL, 0) = 35 <0.000027>
poll([{fd=3, events=POLLIN}], 1, 4999) = 0 (Timeout) <5.004038>
...
Вышеупомянутое poll
это испытало "Тайм-аут", был наш запрос DNS серверу 1.2.3.4 на порте 53. Мы видим, когда мы используем -T
переключатель, что, этот вызов функции занял ~5 секунд, пока он не испытал таймаут.
Мы можем также подтвердить отрезок времени с помощью time
управляйте как так:
$ time telnet skinner
Trying 192.168.1.3...
telnet: connect to address 192.168.1.3: Connection refused
real 0m10.030s
user 0m0.001s
sys 0m0.003s
Включение корректного сервера DNS в /etc/resolv.conf
, и telnet
теперь намного более производительно.
$ strace -T telnet skinner
...
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.1.101")}, 16) = 0 <0.000018>
poll([{fd=3, events=POLLOUT}], 1, 0) = 1 ([{fd=3, revents=POLLOUT}]) <0.000010>
sendto(3, "D\363\1\0\0\1\0\0\0\0\0\0\7grinchy\5mydom\3net\0\0"..., 35, MSG_NOSIGNAL, NULL, 0) = 35 <0.000054>
poll([{fd=3, events=POLLIN|POLLOUT}], 1, 5000) = 1 ([{fd=3, revents=POLLOUT}]) <0.000009>
sendto(3, "s\342\1\0\0\1\0\0\0\0\0\0\7grinchy\5mydom\3net\0\0"..., 35, MSG_NOSIGNAL, NULL, 0) = 35 <0.000021>
poll([{fd=3, events=POLLIN}], 1, 4999) = 1 ([{fd=3, revents=POLLIN}]) <0.005300>
ioctl(3, FIONREAD, [84]) = 0 <0.000024>
recvfrom(3, "D\363\205\200\0\1\0\1\0\1\0\1\7grinchy\5mydom\3net\0\0"..., 2048, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.1.101")}, [16]) = 84 <0.000016>
poll([{fd=3, events=POLLIN}], 1, 4994) = 1 ([{fd=3, revents=POLLIN}]) <0.003688>
...
Синхронизация его использование time
также показывает то же:
$ time telnet skinner
Trying 192.168.1.3...
telnet: connect to address 192.168.1.3: Connection refused
real 0m0.009s
user 0m0.000s
sys 0m0.002s
Я использовал 4.2.2.1 и 4.2.2.2 для статически присвоенных серверов DNS - я переключил их на 192.168.0.1 для маршрутизатора, и он решил вопрос.