(O+P)ut

アウトプット



(O+P)ut

Output Log

IT技術-UNIX-Linux

【Linux】viで保存時にE382: 'buftype'でエラーになる事象

事象 Linux環境で.vbaという拡張子のファイルを:wqで保存するも E382: 'buftype' オプションが設定されているので書込めませんというエラーで保存できない。画面キャプチャ 環境情報 $ bash --version GNU bash, バージョン 4.4.12(3)-release (x86_64-unkno…

【Linux】URLの画像をHTMLの画像として整形するワンライナー

やりたいこと 以下のような画像のアドレスを https://p16-tiktokcdn-com.akamaized.net/aweme/100x100/tiktok-obj/1649076225015810.jpeg https://p16-tiktokcdn-com.akamaized.net/aweme/100x100/tiktok-obj/8c576aa8234c07747a75421be6bf0f1c.jpeg https:/…

【curlコマンド】hostsファイルに追記せずにホスト名で動作確認する

やりたいこと Ingressのようなホスト名で待ち受けているサービスに対してcurlコマンドで動作検証をしたい。 ただし/etc/hostsへの書き込み権限はないとする。 環境情報 $ curl --version curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL やり方 -Hオプションで…

【Linux】業務用シェルでよく使う記法メモ

はじめに 個人利用であれば動けばいいですが、業務利用の場合はログ取りや権限チェックといった機構をコーディングルールに従って入れる必要があります。本記事ではそのような記法を逐次まとめていきます。 はじめに シェルを実行する前のチェック ログファ…

【Linux】jqコマンドで複数項目を取得する構文

はじめに JSON形式のファイルから値を取り出すjqコマンドは以下にて紹介しています。 その応用として複数の項目を取り出す際のjqコマンドの使い方について解説します。 環境情報 Debian GNU/Linux 9 (stretch) jq-1.5 jqコマンドの基本的な使い方 例えば以下…

【Linux/Debian】sysstatで取得したデータをsarコマンドで表示する流れ

はじめに サーバのパフォーマンス情報を取得するツールに「sysstat」があります。 これを動かしていれば自動で/var/log/sysstat/にログファイルが溜まっていき、必要に応じてsarコマンドでテキスト化すればkSarで可視化することもできます。本記事ではDebian…

【Linux/Debian】sarコマンドでディスクIO情報を出す際の注意点

はじめに サーバのパフォーマンス情報を取得するツールに「sysstat」を用いてログを可視化する流れは以下記事で紹介しました。 ただ、ディスクIOの情報を出す際には-pオプションの有無で出力結果に変化があるので注意が必要です。 本記事ではsaファイルをsar…

【Linux】東証が取引日なのか休みだったのかを判定するスクリプト

はじめに その日に東京証券取引所で取引があるのか否かではなく、その日に取引があったのかどうかを15時以降に確認するスクリプトを作成しました。 使用例はピンポイントですが、例えば指定した株の終値を自動収集するスクリプトを動かすか否かの判定などに…

【Linux】10進数のIPアドレスを2進数で表示するスクリプト

はじめに IPアドレスを見てどのサブネットに入っているかを確認したい際によく頭の中で二進数にしていたのですが、簡単そうだったので引数に10進数のIPアドレスを入力すれば2進数にして返すスクリプトを作成しました。 環境情報 GNU bash, バージョン 4.4.12…

【Linux】tarコマンドでtarファイルを展開するも反応がない事象

事象 以下コマンドのようにtarファイルの展開を試みるも $ tar xvf hoge.tar標準出力に何も結果が返ってこずtarファイルも展開されない。 環境情報 Red Hat Enterprise Linux Server 7.5 tar (GNU tar) 1.26 原因 tarファイルが破損している。正常なtarファ…

【Linux】SSHログイン失敗でrootユーザがロックされた際の挙動

はじめに Red Hat Enterprise Linux Serverにてrootユーザのパスワードを連続で間違えたことによるロックが起こりました。 せっかくなのでその際の挙動をメモしておきます。 コマンド実行環境 Red Hat Enterprise Linux Server 7.5 (Maipo) 前提 アカウント…

【Linux】kSarを利用時に文字化けでエラーとなる

事象 性能情報を取得結果であるsarファイルを可視化するツール、kSarにてsarを読み込んだ際に以下のように文字化けでエラーとなる。 unable to parse time 18譎?46蛻?01遘? 環境情報 kSar7 (alpha) RedHatEnterpriseLinux 7.8 Windows 10 (Cygwin) 原因/解決…

【Linux】cutコマンドで2文字以上の区切り文字を使いたい

格言 cutコマンドを使う人が欲しいのは区切り文字で挟まれた値である 環境情報 # cut --version cut (GNU coreutils) 8.26 結論 awkを用いて実現させます例えば<>が区切り文字であったとすると以下のように指定した文字列を取得できます。 $ # echo "123<>abc…

【Unicode順】数字英字カタカナひらがな漢字の順にsortする

やりたいこと UNIX環境にて以下のような文字列のファイルを $ cat testmoji.txt Apple りんご イチゴ 15 メロン 葡萄 いちじく BananaUnicode順(数字→英字→片仮名→平仮名→漢字)に並べ替える。 環境情報 $ sort --version sort (GNU coreutils) 8.26 $ echo…

【RHEL】rootパスワードを忘れた場合の再設定方法

やりたいこと vCenter配下の仮想マシンであるRedHatEnterpriseLinuxServerのrootパスワードを再設定したい。 環境情報 RedHatEnterPriseLinuxServer 7.5 vSphere Web Client バージョン6 やり方 vCenterから仮想マシンの再起動を行い、ブート管理システムで…

【Bash】sudo echoでファイルに書き込むとPermission deniedになる事象

事象 書き込み権限がないディレクトリに対して $ ls -ld /etc/apt/sources.list.d/ drwxr-xr-x 2 root root ... /etc/apt/sources.list.d/以下のようにファイルを追記しようとすると以下のエラーとなる。 $ sudo echo "deb https://apt.kubernetes.io/ kuber…

【Bash】複数行で一塊のデータを一行毎にまとめる

やりたいこと 以下のように3行で一まとまりの繰り返しデータを 3788 GMOクラウド(株) 6720 3665 (株)エニグモ 1027 3769 GMOペイメントゲートウェイ(株) 11450 ...以下のように一行で表示したい。 3788,GMOクラウド(株),6720 3665,(株)エニグモ,10…

【入門】コンテナ環境でnmapコマンドにてポートスキャンを実施する

はじめに 標的ホストに対して開いているポートを探索する手法をポートスキャンと言い、標的のIPアドレスが分かればnmapコマンド等を利用することで実行できます。 ただし、セキュリティの穴を見つけることにもなるので他人の管轄するサーバに同コマンドを押…

【Bash】特定の文字列が含まれているか否かで条件分岐する

やりたいこと Linux機にて変数hogeの文字列に「@」マークが入っていればifの条件分岐に記載されている処理を行いたい。 環境情報 # bash --version GNU bash, version 4.4.12(1)-release (x86_64-pc-linux-gnu) やり方 #!/bin/bash echo $hoge > hoge.txt if…

【Bash】curl: (3) Illegal characters found in URLというエラーの解消法

事象 引数にて渡すURLを利用したcurlコマンドにて以下Error。 curl: (3) Illegal characters found in URL 環境情報 $ bash --version GNU bash, バージョン 4.4.12(3)-release (x86_64-unknown-cygwin) $ curl --version curl 7.55.1 (Windows) libcurl/7.5…

【Bash】文字列内の括弧で挟まれた箇所を削除する

やりたいこと 以下の文字列をbashを利用して ABC(DEF)G(H)以下としたい。 ABCG 環境情報 $ bash --version GNU bash, バージョン 4.4.12(3)-release (x86_64-unknown-cygwin) やり方 Linux系OSにて以下コマンドを実行すれば指定した括弧で囲まれた文字列が省…

【Linux】tcpdumpで特定ポートのパケットを取得し解析する流れ

はじめに Linux環境にてNTPデーモンを起動してNTPサーバと通信しているパケットを取得し、Windows環境のWiresharkに読ませる流れとそのパケットの中身について説明します。 環境情報 Debian GNU/Linux 9 Wireshark 3.2.2 事前情報 NTPサーバは「インターネッ…

【Linux】ntp.confの設定変更がntpdに反映されない時の解決策

事象 /etc/ntp.confにて設定を以下のように変更して server ntp.jst.mfeed.ad.jp ntpサービスを再起動しても設定が反映されない。 コマンド実行環境 # cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 9 (stretch)" 原因/解決策 原因 ntpdの起動時に読ま…

【メール】コンテナで立ち上げたSMTPサーバと通信を行う

はじめに オープンソースにてMTA機能を提供するPostfix(ポストフィックス)をコンテナ上で用意し、telnetで通信した結果をログとして残しました。コンテナ実行環境のOSとしてはLinux(Debian)です。 コマンド環境情報 # cat /etc/os-release PRETTY_NAME="…

【Bash】sedで否定[^X]を利用する場合は検索条件で絞る

はじめに sedコマンドでは特定の文字列を含む行に対してのみ置換することができます。 sed '/検索文字列/s/置換前文字列/置換後文字列/g'イマイチ検索文字列のポイントが分かっていなかったのですが「sed」で置換前の部分を変数のようにして扱いたい時に便利…

【sortコマンド】一列目は降順で二列目は昇順にする

やりたいこと 以下のようなファイルを 3,1,one 4,1,two 5,9,three 2,6,four 5,3,five 5,8,six 9,7,seven 9,3,eight 2,3,nine 8,4,ten以下のように並べ替えたい。 2,6,four 2,3,nine 3,1,one 4,1,two 5,9,three 5,8,six 5,3,five 8,4,ten 9,7,seven 9,3,eight…

【curlコマンド】シングルクォーテーションの中で変数を使う

やりたいこと 以下の記事で利用するcurlコマンドにて "Hello, world"の部分を変数 "$hoge"にしたい。 やり方 全体の囲みがシングルクオーテーションになっているので -d '{"messages":[{"type":"text","text":"$hoge"}]}'ダブルクォーテーションに変更して内…

【Bash】$(val:-word)で変数の中身が空なら特定の文字列を入れる

はじめに シェルスクリプトには引数で指定した内容を$1としたり引数の数を$#で取得したりするようなパラメータが存在しますが、タイトルの通りで以下のように記載すれば変数valの中身が空であればwordという文字列を入れるという動きをします。 $(val:-word)…

【Linux】numutilsでワンライナーを省力化する

Debian GNU/Linux 9にてスクリプトやコマンドを利用して数値演算をすることがありますが、例えば数値列の合計値を算出する場合は以下で可能です。 $ seq 1 5 1 2 3 4 5 $ seq 1 5 | awk '{a+=$1} END{print a;}' 15しかし、数値を合計するという処理に特化し…

【Bash】Linuxで各行に指定の単語がいくつかあるのかをカウント

やりたいこと 以下のようなCSVファイル(abc.csv)がありそれぞれの行の特定文字列(カンマ数)をカウントしたい。 a,b,c d,e f,g,h,i j,k, つまり上の場合は以下のように出力したい。 2 1 3 2 環境情報 $ bash --version GNU bash, version 4.4.12(1)-relea…


他の記事を読む