[第136回関西Debian勉強会 + Linux Kernel 勉強会 LT大会](https://debianjp.connpass.com/event/90376/)での発表資料です。
[第136回関西Debian勉強会 + Linux Kernel 勉強会 LT大会](https://debianjp.connpass.com/event/90376/)での発表資料です。
$'\t' を利用する † 2012/6/22 追記 bashで動作確認をしました。 man bashをみると以下の記述がありました。 クォート クォート (quoting) を使うと、特定の文字や単語のシェルに対する特別な意味を取り除けます。クォー ト を用いると、特殊文字の特殊な扱いを無効にすることや、予約語が予約語として識別されることを防 いだり、パラメータの展開を防げます。 <snip> $’string’ の形式を持つ単語は特殊な扱いを受けます。この単語は string に展開され、それから ANSI C 標準で仕様が決められている、バックスラッシュでエスケープされている文字に置き換えられます 。 バックスラッシュエスケープシーケンスは、 (もし存在すれば) 以下のようにデコードされます: \a 警告 (ベル) \b バックスペース \e エスケープ文字 \f フォームフィード文
本の虫: Pingプログラムの話で、pingが通るたびに合成音声ソフトウェアにpingと喋らせた運用が紹介されている。実際にやってみたくなったので、方法を調べることにした。 まず、音声合成を行うコマンドラインのGNU/Linux用のソフトウェアを探さねばならない。調べると、espeakというソフトウェアが見つかった。 apt-get install espeak espeak "Hello. I am espeak." espeakは、何も引数を指定しない場合、stdinから読み取って音声合成していくれる。完璧だ。 さっそく、ためしてみた。 ping localhost | sed -e "s/.*/ping/g" | espeak なぜか動かない。これはsedの出力がバッファされているためだった。 プログラムのバッファリングの外部から操作するには、stdbufが使える。これはGNUのco
Dominic Alves 普段何気なく利用している/tmpと/var/tmp。 意識して使い分けてる方も分けてない方もいらっしゃるかと思います。 Linuxのファイルシステムとしての存在意義や、一時フォルダとしての機能を改めて意識すると 非常に便利な存在です。 /tmpと/var/tmpの違い 「/tmpと/var/tmpの違いについて述べよ」・・・インフラエンジニアの入社試験の問題に出てきそうですね。 さて単純な解答ですが、システム的なことを言えば以下あたりです。(RHEL) /tmp /var/tmp どちらもディレクトリ配下はtmpwatchコマンドにより監視されファイルの削除が組み込まれています。 $ cat /etc/cron.daily/tmpwatch #! /bin/sh flags=-umc /usr/sbin/tmpwatch "$flags" -x /tmp/.X1
Linuxでcoreutils が利用可能なら、timeout コマンドを使いましょう。なお、Mac であれば brew install coreutils して gtimeout が使えます。 timeout Usage: timeout [OPTION] NUMBER[SUFFIX] COMMAND [ARG]... or: timeout [OPTION] man には以下のように書かれています。デフォルトの挙動が使いやすそうです。 コマンドがタイムアウトし、--preserve-status が指定されていない場合、 終了ステータスは 124 になります。それ以外の場合、COMMAND の終了ステータスが 終了ステータスになります。シグナルが指定されていない場合、タイムアウト時には TERM シグナルが送られます。この TERM シグナルにより、TERM シグナルをブロック もしく
ときおり使うコマンドなのですが、ときおり過ぎてコマンド名を思い出せなくなるので、自分向けのメモです。 # cat /etc/centos-release CentOS release 6.4 (Final) # rpm -qi pv Name : pv Relocations: (not relocatable) Version : 1.1.4 Vendor: Fedora Project Release : 3.el6 Build Date: Mon 05 Jul 2010 09:29:34 PM JST Install Date: Sat 15 Sep 2012 02:22:36 PM JST Build Host: x86-17.phx2.fedoraproject.org Group : Development/Tools Source RPM: pv-1.1.4-3.el6.sr
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" ar
はじめに 本稿はAWKという言語を用いて、 ごく簡単にデータ分析用の前処理*1をするための解説記事です。 AWKは短いコマンドを記述するだけで多様なデータ処理を可能にします。 特にデータの抽出に関して恐るべき簡易さを提供します。 具体的には、input.txtというファイルの中から "fail"という文字列を含む行を抽出したければ次のように書くだけです。 awk /fail/ input.txt つまり、スラッシュ記号で文字列を指定するだけで その文字列を含む行を抽出できるのです。 大変簡単ですね! また、awkはLinuxやMacには標準で入っており、 Windowsでもawk.exeを一つ用意するだけなので、 面倒なインストール作業や環境構築は不要で誰でも即座に使えるため、 自分で書いた処理を他人に渡したり*2各サーバに仕込むなども簡単に出来ます。 複雑な処理をする場合はPythonや
既に有名な話ですが、CentOS 7およびRed Hat Enterprise Linux 7からはifconfigコマンドやnetstatコマンドが非推奨となり、デフォルトインストールすらされなくなりました。代替として、ifconfigコマンドはipコマンド、netstatコマンドはssコマンドが用意されています。 というわけでさっそくssコマンドを試していたのですが、明らかに動きがおかしなところがあり、少し調べてみました。 そして、「netstatコマンドの代替と思って安易にssコマンドを使うと、これは痛い目に遭うな……」ということが分かったので、不幸になる人を少なくするためにこのエントリを書きました。 概要 結論から先に言うと、CentOS 7/ RHEL 7のssコマンドには「UDPの開放ポートがTCPと報告される」というひどいバグがあり、使うべきではありません。 また、ssコマン
今回は、Webサーバのログ解析をリアルタイムで行えるコマンド『GoAccess』を紹介する。 1.インストール まずはコマンドのインストールから。 以下のコマンドを実行する。 ソースコードからmakeする場合 wget http://tar.goaccess.io/goaccess-0.8.5.tar.gz tar -xzvf goaccess-0.8.5.tar.gz cd goaccess-0.8.5/ ./configure --enable-geoip --enable-utf8 make sudo make install パッケージ管理ソフトからインストールする場合 brew install goaccess (Mac OS Xの場合) sudo apt-get install goaccess (Debian/Ubuntuの場合) sudo yum install goacc
Linux なら expect でコマンドを自動化しよう expect は対話的なプログラムとのやりとりを自動化するプログラムです。特定の文字列とマッチすると入力します。 対話プロンプトに自動入力できます。特定の文字列とマッチすると値を入力してくれます。 例) telnetでログインを自動化する 例) telnetでログインを自動化する #!/usr/bin/expect -- set timeout -1 spawn telnet hogehoge.com expect "login:" send "hoge\r" expect "Password:" send "hogepasswd\r" interact set timeout:expectのタイムアウト値はデフォルトで10秒になっているので10秒以上かかると思われる処理の場合 set timeout -1 でタイムアウトしな
今回は、catやtailと組み合わせてログをカラフルに色分けし見やすくする『ccze tool』を紹介する。 1.インストール まずはインストール。 以下のコマンドを実行する。 sudo yum install ccze --enablerepo=epel (CentOSの場合) sudo apt-get install ccze (Debian/Ubuntuの場合) 2.コマンドの実行 さて、それでは実際にコマンドを実行してみよう。 tailコマンドで、「/var/log/messages」を確認する。 tail /var/log/messages | ccze -A 上半分はcczeを利用していない状態。 下半分でcczeを用いている。 うーむ、確かに見やすい… むろん、「tail -F」でも閲覧可能だ。 tail -F /var/log/messages | ccze -A ちなみ
今回は、Linux上でネットワークトラフィックの監視を行えるモニタリングコマンドについて、数あるコマンドから20個を紹介する。 1.iftop 以前にこちらでも書いているiftopは、個別のソケットで受信・送信パケットをひと目で見る事が出来るコマンド。 通信ごとに個別のプロセスを表示させることは出来ないが、どのホストとの接続がどの程度の帯域を使用しているのかはひと目で分かるだろう。 以下のコマンドでインストールが出来る。 sudo apt-get install iftop # Debian/Ubuntuの場合 sudo yum install iftop # RHEL系の場合 2.bmon 『bmon』は、グラフでトラフィックの負荷を表示してくれるモニタリングコマンドだ。 どのNICのトラフィックを表示させるかを上下キー、モニタリングを行うパケットの種類を左右キーで選択する。 このコマン
今回は、対話式でネットワークトラフィックのモニタリングを行えるコマンド『Iptraf』を紹介する。 1.インストール まずはインストールを行うため、以下のコマンドを実行する。 sudo apt-get install iptraf iptraf-ng #Debian/Ubuntuの場合 sudo yum install iptraf #RHEL系の場合 これでインストールは出来た。 2.コマンドの実行 それでは、実際にコマンドを実行してみよう。 sudo iptraf 上記コマンドを実行すると、以下のような画面が表示されるので何かキーを押下する。 何かキーを押下すると、以下のように選択肢が表示される。 ここでは、『IP traffic monitor』を選択し、監視対象NICは「All interfaces」でモニタリングをしてみる。 上記を実行後、監視画面が表示される。 下画面ではIPM
2014/8/28更新 対応バージョン: 8.4 dateコマンドを使って日時計算をするには--dateオプションに続けて日時と計算の単位を指定すればよい。 指定できる単位は以下の通り。 年: years 月: months 日: days 時: hours 分: minutes 秒: seconds これに数字をつけて「2 days ago」のように自然なフレーズで指定すれば日付計算をやってくれる。 以下にいくつかサンプルを示す。dateはGNU版の最近のバージョンであれば特に問題ないだろう。 % date --version date (GNU coreutils) 8.4 : 今日から5日後 % date +%Y%m%d 20140827 % date --date "5 days" +%Y%m%d 20140901 2014/1/1から3日前 日付を指定するとその日を起点に計算され
Linuxの管理をしていると、OSが搭載されているハードウェア情報を取得する事がある。 今回は、そんなときに使えるハードウェア情報を取得するコマンドを紹介する。 1.lscpu CPUに関する情報を取得するコマンド。コア数やスレッド数、仮想に対応しているか否か等の情報を取得出来る。 以下に実行例を記載する。 $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 コアあたりのスレッド数:1 ソケットあたりのコア数:4 Socket(s): 1 NUMAノード: 1 ベンダーID: GenuineIntel CPUファミリー: 6 モデル: 23 ステッピング: 10 CPU MHz: 2833.596 Bo
今回は、Linuxが搭載されているハードウェアのパーツごと、例えばサウンドボードやマザーボード、ハードディスク等のベンダーや型番といった詳細情報を取得出来るコマンド『Inxi』を紹介する。 1.インストール まずはインストールから。 以下のコマンドを実行しインストールを行う。 Debian/Ubuntu sudo apt-get install inxi RHEL系 sudo yum install inxi --enablerepo=epel 2.コマンドの実行 さて、それでは実際にコマンドを実行してみよう。まずはオプションを付けず、デフォルトの内容を表示してみる。 以下の内容は、実際に自宅で用いてるマシンのデータを表示している。 $ inxi CPU~Quad core Intel Core2 Quad Q9550 (-MCP-) clocked at 2833 Mhz Kernel~
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く