CentOS 7にGitlabをインストールする
職場でも使ってはいるのだけど、なれるために自宅でも使おうと家のCentOS 7にGitlabをインストールすることにしたので、その備忘。 …正直、ものすごく簡単にインストールできるので、備忘も何も無い気がするけど。 インストール先はCentOS 7。物理的にCPUは2コア、メモリ2GB以上を推奨とのことなので、そのスペックのVMにインストールを行う。 1.Gitlabのインストール...
View ArticleLinuxコンソール上でランダムなテキストデータを作成する
Linuxコンソール上でランダムなテキストデータを作成する場合、「/dev/random」を読みこませると良いだろう。 以下のようにコマンドを実行することで、各行が指定した文字数でランダムな文字列を生成させることができる。 cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w <文字数> | head -<行数>...
View Article『numutils』でLinuxコンソール上での計算を簡単に行えるようにする
Software Design 2016年6月号で、num-utilsにある「numsum」を使ってコンソール上で計算するというのがあったので、ちょっと触ってみることにした。 今回は、記事と同様にUbuntuを、バージョンは16.04 LTSを用いることにする。 1.インストール num-utilsのインストールは簡単で、以下のコマンドでインストールできる。 sudo apt-get install...
View ArticleLinuxコンソール上で行の要素をソートさせる
以下のようなファイルがあったとして、それを行ごとでソートするにはどうすればよいのだろう?とふと思ったので、調べてみた。 ●cat /tmp/test2.txt 3 154 2 7 331 4 325 1 14 23 79 2 94 153 結論としては、whileで行ごとに一度sortコマンドでソートが行えるようにしてソートさせればよい。 cat 対象ファイル | while read line;...
View ArticleUbuntu 14.04にOpenSourceのEvernoteライクなテキスト管理ツール『Paperwork』をインストールしてみる
DropBoxライクな環境を自前で構築するミドルウェアといえばOwnCloudが有名だが、今回インストールする『Paperwork』はEvernoteライクな環境を自前で構築できるミドルウェアだ。 残念ながら、現時点ではまだiPhoneなどのクライアントは作成されていないようだが、webブラウザから編集するくらいなら問題なく利用できる。一応、こちらにデモがある(ID/PW:...
View ArticleLinuxコンソール上でファイルからランダムに行を抽出する
Linuxコンソール上で、指定したファイルからランダムに行を取得させたい時がある。 そんなときは、shufコマンドを用いれば良い。 以下のようにコマンドを実行することで、指定されたファイルからランダムに「-n N」で指定したN行を抽出する。 shuf -n N ファイルPATH [root@BS-PUB-CENT7-01 ~]# shuf -n 1 /tmp/test1.csv 9,iii,3,12...
View Article【翻訳】OSを自転車にたとえてみた
久々に翻訳系。 各種OSを、自転車の種類にたとえてみるという記事。 元ネタはこちらの「If Computers Were Bikes, What Bikes Would They Be?」という記事。 2009年の記事なのでちょっと古いけど、自転車に例えるというのが珍しいのでちょっとおもしろかった。 至らない翻訳だと思うのですが、その辺は多めに見てもらえれば… MacOS X = フィクシーバイク...
View Articleawkで列の合計を求める
ちょっとやり方ど忘れしてググった際にうまいこと出てこなかったので、念のため残しておく。日本語って難しいなぁと…。 1.指定した列の合計を求める 特定の列全体の合計を求める場合は、以下のようにforで対象の列を足していく。 例えば2列目の合計のみを求める場合なら、以下のようにコマンドを実行する。 awk '{a+=$2} END{print a;}' ファイルPATH...
View Articlebashで四則演算(+-×÷)や割り算のあまり(剰余)を求めるような簡単な計算をする
LinuxやUNIXのシェルでよく利用されるbashで、四則演算や割り算のあまりを求めるといったやり方について。 bashでは、「$(( 計算文 ))」のように記述することで、簡単な計算を行うことができる。 四則演算 $(( 値1 + 値2 )) # 足し算 $(( 値1 - 値2 )) # 引き算 $(( 値1 * 値2 )) # 掛け算 $(( 値1 / 値2 )) # 割り算...
View ArticleLinux/UNIXでファイルの文字コード(UTF-8 or Shift_JIS or EUC-JP…)を確認する
Linux/UNIXで、指定したファイルの文字コード(UTF-8とか、EUC-JPとか)を調べる場合は、以下のような方法がある。 1.fileコマンドで調べる UTF-8か、EUC-JPなのか、それともShift_JISなのか… 日本語のファイルだとはわかっていて、その違いを調べるだけであれば、fileコマンドで事足りる。...
View Articledstatコマンドで覚えておきたい使い方6個
Linuxなどでパフォーマンスのモニタリングを行うコマンドといえば、vmstatやtopなどいくつかあるが、その中でも比較的情報が見やすいのが、このdstatコマンドだ。 今回は、このdstatコマンドで覚えておきたい使い方についてを紹介する。 1.基本的な使い方 基本的には、得たい情報に合わせてオプションを指定して実行してやる。 もちろん、オプションなしでもそれなりの情報を得ることができる。...
View Articlebashでゼロ埋めをして桁合わせをさせる
bashでゼロ埋めして桁合わせをさせるには、printfを用いる。 printf "%0桁数d\n" 出力させる値 例えば、10桁の数字をゼロ埋めして表示させる場合は、以下のようにコマンドを実行する。 printf "%010d\n" 出力させる値 [root@BS-PUB-CENT7-01 ~]# printf "%010d\n" 300 0000000300...
View ArticleLinuxのdateコマンドで指定した月の月末日を取得する
(前にも似たようなの書いてるけど、)dateコマンドで指定した月の月末日を取得する場合は以下のようにする。 date -d "-1 days + 1 month $(date -d '-1days + 1 month <年>/<月>'/1+%Y%m01)" blacknon@BS-PUB-UBUNTU-01:~$ date -d "-1 days + 1 month...
View Article『もしOSをXXXに例えたら』系の記事をまとめてみた
以前、『もしプログラミング言語をXXXに例えたら』系の記事をまとめたが、今度はOSを何かに例えた記事のまとめ。 各OS(Mac,Linux,Windows)で比較している記事 【翻訳】UNIX,Windows,Linux,Mac OS X…もしOSを家に例えるなら 元ネタはこちらの「What If Unix, Windows, Linux And OS-X Were Houses?」。...
View Articlenetpbmとpbmtobrailleを使ってLinuxコンソール上でフローチャート作成
ぼーっとネットサーフィンをしていたところ、Linuxコンソール上でフローチャートを作ることができるコマンドとして「pbmtobraille」というものがあったので試してみることにした。 なお、このコマンドは点字フォントでフローを表現するので、ちゃんと点字を表現できるターミナルで利用する必要がある。今回は、Ubuntu 14.04 LTSでこれを実際に使ってみる事にする。 1.インストール...
View Article第23回シェル芸勉強会に参加してきました(復習)
第23回シェル芸勉強会に参加してきたので、その復習。 今回は初めて来る人が多かったのか、比較的難易度は低めで、かつ(今までのより)実用的、説明も丁寧にされていたような気がする。 テーマがデータ集計ということもあって、全体的にawkが多めになっているようだ。テーマが集計・統計なので、復習では個人的な趣味嗜好によりこないだ知ったdatamashをできる限り使ってみようと思う。問題及び模範解答はこちら。...
View ArticleLinuxコンソール上でファイルからタブ・スペースのみの行や空行を除外して出力させる
先日、Twitter上でタイトルのようなお題が出ていたので、少し調べてみた。 ただ単に空行だけを排除するならば、以下のようなやり方がある。 grep . PATH sed '/^$/d' PATH ただし、これらだとスペースやタブだけの行については排除してくれない。 [root@BS-PUB-CENT7-01 tmp]# 行末は「$」、タブは「^I」で表示されている...
View ArticleLinuxコンソール上で同じ文字列を繰り返して出力させる
Linuxコンソール上で、同じ文字列を繰り返し出力させるにはどうすればよいだろう?という疑問が出てきたので、少し調べてみた。 perlやpythonを呼び出すの含め、以下のような方法があるようだ。 bashのprintfやseq printfをうまく使ったり、seqやprintfをtrとうまく組み合わせるといいだろう。 (○のとこに繰り返させる数字を入れる) printf %○s | tr ' '...
View ArticleLinuxコンソール上でアルファベット順にn文字ずらした文字列を得る(シーザー暗号)
アルファベット順にn文字ずらした文字列を生成する、いわゆるシーザー暗号(Caesar cipher)。 これをLinuxコンソール上でワンライナーで作成させるには、どうすればよいのだろう?と思ったので、少し調べてみた。 とりあえず、以下のようにコマンドを実行することでアルファベットの小文字を任意の数ずらすことが可能だ。 (○にずらす数を入れる) コマンド | tr $(printf %○s | tr...
View Articlebashやsed、trコマンド…Linuxコンソール上で小文字⇔大文字変換する方法いろいろ
小文字⇔大文字の変換方法については、以前にsedでの処理方法について記述したことがあったが、処理の仕方としてはsedだけではなく、Bashの構文を使ったりtrやawkを使ったりといろいろなアプローチの仕方がある。 今回は、それらについてを紹介する。 1.Bash 4.0以降での方法 Bash 4.0以降では、構文として変数を呼び出す際に小文字⇔大文字の変換をさせることができる。 大文字化...
View Article