Стандартный файл — /etc/resolv.conf
, но это может быть символическая ссылка.
напр. на CentOS 7:
% ls -l /etc/resolv.conf
-rw-r--r-- 1 root root 70 Dec 9 10:57 /etc/resolv.conf
% cat /etc/resolv.conf
# Generated by NetworkManager
search spuddy.org
nameserver 10.0.0.134
В Debian 9
% ls -l /etc/resolv.conf
lrwxrwxrwx 1 root root 35 Dec 21 23:05 /etc/resolv.conf -> /var/run/NetworkManager/resolv.conf
% cat /etc/resolv.conf
# Generated by NetworkManager
search spuddy.org
nameserver 10.0.0.134
Теперь 127.0.0.53 — это специальная запись для systemd-resolved
, которая представляет собой прослушиватель DNS-заглушек, предоставляемый systemd
и будет действовать как DNS-сервер для вашей машины. Таким образом возможно что это правильная запись DNS для вашей машины.
Вы можете узнать, какой сервер вы используете, с помощью такой команды, как nslookup
илиdig
% nslookup www.google.com
Server: 10.0.0.134
Address: 10.0.0.134#53
Non-authoritative answer:
Name: www.google.com
Address: 216.58.217.100
% dig www.google.com | grep SERVER
;; SERVER: 10.0.0.134#53(10.0.0.134)
В обоих случаях мы видим, что я использую 10.0.0.134
для разрешения DNS.
fe80::1
— это просто IPv6-адрес «локальной ссылки», а не IPv4-адрес.
Вы можете написать эти две строчки в своем скрипте
echo -e "\n" >> /path/to/a.dat # If "\n" adds an extra new line and you don't want it just replace it with ""
cat /path/to/b.dat >> /path/to/a.dat
Этот код копирует содержимое из файлаb.datвa.datпосле добавления новой строки вa.dat.
Проблема в том, что a.dat
и, возможно, также b.dat
, если он был сгенерирован таким же образом, является неполным текстовым файлом, поскольку в нем отсутствует завершающий символ новой строки.
Это означает, что если вы объедините два файла, например, с помощью. cat [ab].dat
, вы получите helloworld
(, вероятно, без новой строки в конце ).
То, что вы хотите иметь
hello
world
(с символом новой строки в конце последней строки ).
Это легко сделать:
{ cat a.dat; echo; cat b.dat; echo; } >c.dat
Это считывает данные из a.dat
, добавляет символ новой строки с помощью echo
, считывает данные из b.dat
и добавляет еще один символ новой строки с помощью echo
. Результирующие данные записываются в c.dat
, что вы сможете проверить, прежде чем использовать их для перезаписи a.dat
.
Если вы хотите добавить к a.dat
, т.е. не используя временный файл c.dat
,затем используйте
{ echo; cat b.dat; echo; } >>a.dat
Это добавляет символ новой строки к неполной строке в конце a.dat
, за которым следует содержимое b.dat
и еще один символ новой строки.
Еслиb.dat
уже имеет символ новой строки, удалите последний echo;
из обеих приведенных выше команд.