(O+P)ut

アウトプット



(O+P)ut

Output Log

IT技術-UNIX-Linux

【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…

【Linux】Cygwinでls -lのファイル名のみを取得する

ワンライナー $ ls -l | grep -v "合計" |awk '{print $NF}' | 環境情報 Cygwin上で利用しました。 $ ls --version ls (GNU coreutils) 8.26 パッケージ作成者: Cygwin (8.26-2) Copyright (C) 2016 Free Software Foundation, Inc. ライセンス GPLv3+: GNU …

【Linux】中身は同じでファイル名のみ異なる連番ファイルを作成する手順

やりたいこと 以下のような3ファイルがあった際に $ tree . ├── abc.txt ├── def.txt └── hij.txt以下のようなファイルを作成したい . ├── abc.txt ├── abc_2.txt ├── def.txt ├── def_2.txt ├── hij.txt └── hij_2.txt やり方 以下のワンライナーで実現可…

【便利コマンド】systemctl list-dependencies

使い方 ユニットの依存関係を表示するコマンドにsystemctl list-dependenciesがあります。 しかも依存関係だけでなく、そのユニットの状態を色で確認することができます。実際にコマンド実行結果は以下です。 緑、灰色、赤色が確認できます。色でstatusが分…

【Linux】CPU負荷率を上げるyesコマンド

やりたいこと CPUの閾値監視メッセージの確認のため、Linux機においてCPU負荷率を明示的に上げたい。 使えるコマンド yesコマンドを用いて $ which yes /usr/bin/yes以下のように/dev/nullに出力する。 $ yes > /dev/null &以下、補足です。 補足 ‘yes’: Pri…

【Linux】半角の英数字以外の文字列のみを表示する

とあるテキストにて全角文字(日本語)のみを出力したくて利用したワンライナーを紹介します。 半角英数以外を表示するワンライナー 補足 半角数字を表示しない 半角英字を表示しない (おまけ)記号を表示しない 終わりに 半角英数以外を表示するワンライナ…

【vim】Found a swap file by the name "xx.swp"と出た場合

事象 viにてファイルを編集する際に以下のような警告が表示される。 E325: ATTENTION Found a swap file by the name "x.sh.swp" owned by: root dated: ... file name: ~root/hoge/x.sh modified: YES user name: root host name: instance-1 process ID: 1…

【Linux】JSONを扱う際の便利コマンドjidとjqの紹介

はじめに CURLコマンド等で外部からデータを取得する際、データ形式がJSONで提供されることがあります。 {"Rankings":[{"Ranking":{"genre":"all","title":" ... 上記のように単純なgrepでは値を抜き出しづらいですが、専用ツールを利用すると値を簡単に抜き…

【Linux】factorコマンドにて素数の一覧を表示する

はじめに factorコマンドは引数に指定した数値を素因数分解するコマンドです。 $ factor 2020 2020: 2 2 5 101本記事ではこちらを利用して素数一覧を出すワンライナーを紹介します。 素数の一覧を表示するワンライナー 以下です。 $ seq 2 30 | factor | cut…

【Linux】lsofコマンドの出力結果メモ

はじめに list open filesの略であるlsofコマンドは言葉の通りファイルに関する情報を表示できます。 Linuxではデバイス含めてファイルとして扱われる性質がある以上、幅広い情報を取得できるコマンドなので今回は出力結果についてメモを残しておきます。 ls…

【UNIX】psコマンドが使用できない場合にプロセス情報を調べる方法

はじめに 以下のようにプロセスの起動状況を調査するpsコマンドですが、環境によっては使用できなかったりコマンドが削除されている場合があります。 $ ps xx PID PPID PGID WINPID TTY UID STIME COMMAND ....本記事ではpsを使用せずに上がっているプロセス…

【Linux】/var/log/cron.logが存在しない場合

はじめに cronの実行結果を確認しようとcron.logを探しに行ってそれらが存在しない場合の流れについて記載しました。 結論から言えば同様のメッセージは/var/log/syslogに格納されています。 コマンド実行環境 Debian GNU/Linux 9 (stretch) syslogでログを…

【Linux】uniqのcountオプションの区切りを右詰スペースからカンマ区切りにする

はじめに sort結果をカウントする際に便利なuniqコマンドによるcountオプションですが、そのまま使うと以下のように右詰スペース区切りになってしまいます。 3 日本語訳 10 機械学習 1 生産性向上 1 画像処理 3 異常検知これでは少し扱いづらいので上記を 3,…


他の記事を読む