Quantcast
Channel: Linux –俺的備忘録 〜なんかいろいろ〜
Browsing all 743 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

シェルスクリプトで指定した月の第何何曜日を取得する

いい感じで家でお酒飲んでて、ゴミ出しの日を意識してふと思い立ち、指定した日の第何何曜日(第3水曜とか、第4金曜とか…)をbashで取得出来ないかなと思ったのでやってみた。 ncalとかあると一行で取得出来そうだったけど、手元のCentOS 7だと入ってなかったのでそれを使わずに出来ないか調べた。 で、dateコマンドのみでで上手く出せれば良かったんだけど、少し目論見が外れてしまった。...

View Article


Image may be NSFW.
Clik here to view.

dateutilsを使って簡単に指定月の第何何曜日を取得する

先ほど、指定月の第何何曜日を取得するスクリプトを作成したのだが、もうちょっといいツールが無いか探して見たところ、dateutilsというものを見つけた。 これのdateconvを使えば、かなり簡単に指定曜日の日付を取得出来そうだ。 1.インストール インストールは、RHEL系だとコンパイルが必要のようだ。 以下のコマンドを実行する。 wget...

View Article


Image may be NSFW.
Clik here to view.

cronで第何何曜日にスクリプトを実行するか指定する

シェルスクリプトで第何何曜日を取得する方法について調べてたので、今度はcronで、毎月決まった週の曜日にだけスクリプトを実行させるような指定方法がないか調べてみることにした。 で、調べてみると、どうやら日の範囲と曜日はandではなくor指定になっているようで、以下のように指定すると「指定曜日もしくは指定範囲日の場合はコマンド実行」となってしまう。 # Example of job...

View Article

Image may be NSFW.
Clik here to view.

dateコマンドで現在時刻を騙す『libfaketime』

dateコマンドでは、「-d」で○○日後とか、□月後といった指定で日付を取得することが出来る。 しかし、特定の日付を指定した上で○○日後の日付を指定する事が出来ない。 もしdateコマンドで特定の日付の○○日後、次の○曜日といった指定をする場合、今回紹介する『libfaketime』を用いると便利だろう。...

View Article

Image may be NSFW.
Clik here to view.

bashのsetコマンドで覚えておきたい使い方9個

シェルスクリプトを作る上で、以外と便利なのがsetコマンド。 オプションごとに関連性が薄いので覚えにくいのだが、使いこなせれば結構役に立つ事が多いコマンドだ。 今回は、そんなsetコマンドで覚えておきたい使い方についてを紹介する。 1.引数・オプションなしで実行(変数の一覧を表示する) setコマンドは、引数無しで実行すると現在設定されている変数の一覧を表示させることが出来る。 set...

View Article


Image may be NSFW.
Clik here to view.

pexpectのターミナルサイズを変更する

pythonのpexpectを使っていて、ターミナルのサイズがおかしくなっていることに気づいたのでその備忘。 どうやらpexpcetでは、指定が無いとターミナルのサイズを「24,80」にしてしまうようだ(迷惑な…)。...

View Article

Image may be NSFW.
Clik here to view.

年末に第20回シェル芸勉強会に参加してきました(復習)

年末の2015年12月26日、第20回シェル芸勉強会に参加してきました。 で、その際の備忘録として、どんな感じで問題を解いていったか残しておくことにする。 なお、問題・解答などなどはこちらにあるので、お題用のファイルのダウンロード(github)含めまず参照。 Q1(各ファイルごとに最大の値を抽出)...

View Article

Image may be NSFW.
Clik here to view.

Linuxで複数ファイルをリネームして一括コピーする

仕事で、大量にあるファイルの一部分のみをリネームしてコピーを行いたい事があったので、その備忘。 イメージとしては、以下のようなファイルがあって、それの一部、例えば以下の例だとhostname_aaa_*をhostname_bbb_*へリネームコピーしたい、といった具合。 [root@localhost work]# ls -la /work 合計 32 drwxr-xr-x. 2 root root...

View Article


Image may be NSFW.
Clik here to view.

Linuxの標準出力の内容を複数のプロセスに渡す

Linuxで、標準出力の内容をそのまま複数のプロセスに渡したい時がある。 そんなときは、teeコマンドを用いると良いだろう。 コマンド | tee >(コマンド1) >(コマンド2) .... | コマンドN もしくは コマンド | tee >(コマンド1) >(コマンド2) ... 1 > /dev/null...

View Article


Image may be NSFW.
Clik here to view.

Linuxのpingコマンドの出力結果にタイムスタンプを付与する

Linuxでpingコマンドを打ち続けていると、どの時間帯では疎通が取れていたのに、この時間帯からは疎通が取れなくなった、というような情報が欲しい事がある。 だが、残念ながら現時点ではpingのオプションにタイムスタンプを追記するような機能は無い。。。というと嘘になって、「-D」というオプションがあるにはあるんだけど。。。UNIX時刻で表示するようなのだ。 [root@localhost ~]#...

View Article

Image may be NSFW.
Clik here to view.

Proxmox VE 4.0でUSBパススルーを実施する

この度、ラックを買ったので自宅環境を一新するにあたり、仮想基盤を全てProxmoxで統一(一部テスト用にESXi)したのだけど、その際に仮想マシンにUSBパススルー設定をする必要があったのでその備忘。 WebUIから設定が行えないので、基本的にCUIで設定を行う必要がある。 まず、ProxmoxVEホストにssh接続し、lsusbでパススルーしたいUSBのBUSを確認する。 lsusb...

View Article

Image may be NSFW.
Clik here to view.

timeoutコマンドによる指定時間経過時の処理切り替え

仕事で、わざわざその為にスクリプトを組むのも面倒な、プロセス停止に時間がかかるようであればプロセスをkillしてしまうという対応があった。 面倒なのでワンライナーで対処できないかなぁ。。。と思い調べたところ、Linuxのディストリではtimeoutコマンドというものが用意されているようだ。 使い方は簡単で、以下のようにtimeoutコマンドを実行するだけだ。 timeout 待機時間(秒)...

View Article

Image may be NSFW.
Clik here to view.

jqコマンドで値の有無(null)を判別させる

最近、仕事でAWSやAzureを利用するようになってから、JSON形式のファイルに触れる事が多くなってきた。...

View Article


Image may be NSFW.
Clik here to view.

ProxmoxVE4でPCIパススルーを行ってみた

以前、Proxmox VE 3.1でPCIパススルーを行っているが、それと同様の処理をProxmox VE 4でも行ってみる。 前回と同じく、まずは以下のコマンドでgrubを編集し、Intel VT-dを有効にする。 sed -i '/GRUB_CMDLINE_LINUX_DEFAULT/cGRUB_CMDLINE_LINUX_DEFAULT="quiet iommu=pt...

View Article

Image may be NSFW.
Clik here to view.

Linux/UNIXでsed or awkを使ってファイルの特定列だけ置き換える

LinuxやUNIXで、区切り文字で句切られているファイルの、特定の列だけ値を置き換える場合は、sedかawkを用いる事で楽に行う事ができる。 sedで行う場合 sedで特定列のみ置き換える場合は、以下のようにコマンドを実行する。 sed '{s/"区切り文字"[^"区切り文字"]*}/"区切り文字"置換後の文字/置き換える列-1} 対象ファイル...

View Article


Image may be NSFW.
Clik here to view.

UNIX/Linuxでコマンドのexitコードを反転させる

仕事で、正常終了時にコマンドのexitコードを0に、異常終了時には1にしたいとの話があり、やり方ってなんか無いのかな?と調べたので、その備忘。 やり方は簡単で、単に対象のコマンド実行時に頭に「!」をつけるだけだ。 ! exitコードを反転させたいコマンド 実際に、lsコマンドで試してみよう。 [root@localhost ~]# # 存在するファイルをlsで指定(exitコードは0)...

View Article

Image may be NSFW.
Clik here to view.

CentOS 7をActive Directoryのドメインに参加させる

自宅にSamba4を用いたDomain Controllerを構築したので、それにCentOS 7を参加させてみる事にする。 まずは参加させるCentOS 7側で、以下のコマンドを実行し必要になるパッケージをインストールする。 1.必要パッケージの導入 yum -y install realmd sssd oddjob oddjob-mkhomedir adcli samba-common...

View Article


Image may be NSFW.
Clik here to view.

Linux/UNIXでプロセスごとのリソース消費量を確認する

Linux/UNIXで、OS全体ではなく特定のプロセスで使用しているリソースのみを取得したい場合は、主に以下の2通りになるだろう。 1.psコマンドで取得する psコマンドでは、「u」を付与することでCPUやメモリ使用率について取得することも出来る。...

View Article

Image may be NSFW.
Clik here to view.

Linux/UNIXのコンソール上で10進数⇔16進数変換を行う

ふと、コンソール上で10進数⇔16進数の変換を行う方法ってどんなものがあるのか、と思ったので、少し調べてみることにした。 とりあえず、以下の2つの手法が簡単に変換でき、おすすめだ。   1.echo+bcで対応する echo+bcの組み合わせで、うまいこと変換させることが出来る。 ●10進数→16進数 echo "obase=16; 10進数"|bc   ●16進数→10進数 echo...

View Article

Image may be NSFW.
Clik here to view.

awkでデリミタ(区切り文字)を複数指定する

awkでデリミタ(区切り文字)を複数指定する場合は、「[](カギカッコ)」で囲ってやる事で-Fで指定することができる。 例えば、以下の例だと「,」と「-」で列を区切るように指定している。 awk -F'[:-]' '{…}' [root@localhost ~]# cat /tmp/test.file aaaaa,111-11,super,66666661...

View Article
Browsing all 743 articles
Browse latest View live