20210510のLinuxに関する記事は2件です。

grepで正規表現をエスケープする

#個人的なメモですみません。 背景 grepしていて、ドット.が正規表現として解釈されちゃうなぁと思い、エスケープしようとバックラッシュ\をつけたが上手くいかず、調べた。 #正規表現は勉強中。。 foo@gpu:~$ docker images | grep 3\.7 erudikaltd/scoold latest 276a123371e3 16 months ago 167MB tensorflow/tensorflow 1.12.3-gpu-py3 9b669e82b6ac 22 months ago 3.79GB python 3.7.3-stretch 59a8c21b72d4 2 years ago 929MB jupyterhub latest c4bced83878a 2 years ago 9.05GB この例では、3.7でひっかけようとして、337や387が引っかかってしまった。 結論 エスケープは、引用符の中でしか通用しないらしい。 foo@gpu:~$ docker images | grep "3\.7" tensorflow/tensorflow 1.12.3-gpu-py3 9b669e82b6ac 22 months ago 3.79GB python 3.7.3-stretch 59a8c21b72d4 2 years ago 929MB -Fオプションをつけることで強制的に解釈をとめることができることもググって学んだ。 foo@gpu:~$ docker images | grep -F 3.7 tensorflow/tensorflow 1.12.3-gpu-py3 9b669e82b6ac 22 months ago 3.79GB python 3.7.3-stretch 59a8c21b72d4 2 years ago 929MB
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

勉強記録 DNS編

お久しぶりです。 最近ちょこちょこ勉強してたものをまとめます。 復習 ドメイン名前区間 …木構造を使ったインターネットに接続されたホストもの名前の空間 ネームサーバ 名前空間を管理するもの …ドメイン名前空間を管轄して、名前に対する問い合わせに答えるサーバ つまりURLのIPを教えてもらうこと ネームサーバの配置 各節(node)に配置される。それぞれの子だけを知っている example.co.jpは隣に位置するnew.example.ne.jpのことは知らない ネームサーバの管理する範囲のことをゾーンという 自分が管理するゾーンの情報を持っているデータベース 基本的にはドメイン名とIPアドレスを持っている ほかにも情報があるがそれらネームサーバーが持つ情報のことをリソースレコードという 所有者 --- そのドメインの名前 名前     可変長 リソースレコードの名前 タイプ 16bit リソースのタイプ クラス 16bit クラス。通常は0*0001の価をとる TTL 32bit リソースレコードのキャッシュ時間(秒) RD長 16bit RDATAの長さ(オクテット) RDATA 可変長 リソースの中身 3min.co.jp www 0001 0001 8640 4 192.168.0.1 よくわからない…けど 「3min.co.jp」の「www」という名前のホストは「192.168.0.1」である。という意味らしい タイプについて コード  名前 意味 1 A ホストのアドレス 2 NS そのドメインが管理するネームサーバ 5 CNAME ホストの別名(エイリアス) 6 SOA ゾーンの情報 12 PTR ポインタ。逆引きに使用する 15 MX そのドメインのメールサーバ こういうものなのか… Aレコード ちょっと深堀 アドレスのこと、基本となるリソースレコードのこと …ドメイン名とIPアドレスの対応を記述する. ネームサーバはドメイン名の問い合わせに対してこのレコードを使用する NSレコード そのドメインとそのドメインの下のドメインを管理するネームサーバ…????? そもそもDNSサーバにはDNSキャッシュ、権威DNSサーバがある 基本的にキャッシュサーバが受け答えをして、対応できないときに権威サーバに問い合わせる 権威サーバはゾーンファイルを見て、役割を果たすが、 その中の情報にNSレコードがある   ほう… 【ドメイン名】 IN NS 【DNSサーバ名】 書き方はこんな感じ つまりドメイン名に対して、【DNSサーバ名】に尋ねて下さいっていう感じ 委託してるイメージで大丈夫だと思います。 ちなみに自分がサーバを立てたときはこの辺がちんぷんかんぷんでした(今も自信はないです) CNAMEレコード NSレコードとちょっと違う役割の人 【別名】 IN CNAME 【元のドメイン名】 あだ名と本名みたいな関係 sub.example.com. IN CNAME hoge.example.com. hoge.example.com. IN A 198.51.100.2 sub.example.com. IN A 198.51.100.2 hoge.example.com. IN A 198.51.100.2 なるほど SOAレコード 権威サーバが担当するゾーン情報が記されている 【ドメイン名】 【クラス名】 SOA 【DNSサーバのドメイン名】 【連絡先】 ( 【シリアル番号】 【更新チェックの間隔】 【リトライ間隔】 【問い合わせ諦めるぜ期間】 【ネガティブキャッシュの有効期限】 ) @ IN SOA ns1.example.com. postmaster.example.com. ( 2014033101 10800 3600 604800 86400 ) 【DNSサーバのドメイン名】以前は決まり文句らしいです 【DNSサーバのドメイン名】はそのゾーンファイルを使うDNSサーバを記す その他はここに記されています… https://wa3.i-3-i.info/word12285.html (まとめようと思ったけど読んだほうが早いです…) PTRレコード 逆引き用のドメインだけど必須ではないので飛ばします MXレコード そのドメインのメールサーバを定義するためのレコード example.com. IN MX 10 mail.example.com. example.com. IN MX 20 mail2.example.com. そのドメインに対するメールが送られてきた際にメールをお届けするメールサーバを指定 ドメイン名『example.com』宛に来たメールは、メールサーバ『mail.example.com』に届けてください」を表現している nslookup 仕事でもよく使うし、きっとインフラの方々はよく使うと思います DNSサーバと通信して名前解決の正引きと逆引きができる 名前解決…ドメイン名とIPアドレスの関連付けを調べること 自分でやってみたけど、ようやく何してるかわかりましたね… (一応LinuCレベル1の取得の時に覚えた記憶があるだけ) nslookupコマンドを使うと、DNS問い合わせを手動で実施できる。 詳細デバックモードにすれば、問い合わせと応答の中身を確認できる。 問い合わせるリソースレコードのタイプを変更できる。 問い合わせるサーバも変更できる。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む