覚えたら書く

IT関係のデベロッパとして日々覚えたことを書き残したいです。twitter: @yyoshikaw

Linux

WSL版のAlmaLinux をインストールする

Windows の WSLで CentOS 代替 の Linux を使いたいなーと思っていたら、ちょうど以下のニュースリリースが出てました。 せっかくなので、Red Hat Enterprise Linux(RHEL)とのバイナリ互換がある AlmaLinux をWindows環境にインストールしてみました。 前…

AWS EC2インスタンスで L2TP/IPSec クライアントの設定をした際のメモ

思いっきり上記内容を参考にさせてもらって環境構築した際のメモです。 ここでは、Amazon Linux 2 AMI (HVM) - Kernel 4.14, SSD Volume Type - ami-09662e4f2b2fb67f9 を使用しています EC2にElasticIPを割り当てている前提としています。 環境構築のための…

WSL環境へのPostgreSQLのインストール作業メモ

Windows 11のWSL(Ubuntu)環境に PostgreSQL をインストールした際の実行メモです。 ■まずは sudo apt update で パッケージ一覧を更新 sudo apt update ■Postgres をインストール sudo apt install postgresql ■Postgres の再起動を実行 sudo /etc/init.d/…

Windows 11 への WSL2 のインストール

Windows 11 環境で WSL (WSL2)を有効化する手順です 管理者権限で PowerShell を起動して、 wsl --install を実行します ■実行例 PS C:\Users\ykiv> wsl --install インストール中: Linux 用 Windows サブシステム Linux 用 Windows サブシステム はインス…

Linux - bashワンライナーループ(seq + xargs)

bashのワンライナーループを seq と xargs を使って書く方法です。 上記は for でやってましたが、それを seq と xargs に置き換えたものです。 基本的に以下で実行できます。{n} 部分が実行回数です seq {n} | xargs -I@ sh -c '<something command>' or seq {n} | xargs -L 1 </something>…

Bash - 実行したシェルスクリプトが存在するディレクトリの絶対パス取得

Linuxで実行したシェルスクリプト自身が格納されているディレクトリの絶対パス(フルパス)を取得したい場合の方法です。 /hogehoge/fuga/fuga/exec_sample.sh を実行した場合に /hogehoge/fuga/fuga を取得したい という内容です。 実行されるシェルスクリ…

curlコマンドで対象ポートへの通信が可能か確認する

なぜか現場だとネットワーク通信がうまくいかないなぁ。という場合の原因は様々ですが、 原因の一つにファイアウォールによって特定ポートの通信が許可されていない というものがあります。 以下は、Linux 環境で curl コマンドを利用して、ファイアウォール…

Linux - プロセスが使用しているポート番号の確認

lsof コマンドのお世話になりましょう。 各プロセスが使用しているポートを表示する場合 以下コマンドを実行します。 lsof -i 対象のポート番号を指定して使用しているプロセスを表示する場合 OS内で対象のポート番号をどのプロセスがbindしているのか知りた…

catでファイル名も表示したい

cat コマンドで 複数のファイルをワイルドカード指定して内容を参照する場合などに、ファイルの中身と同時にファイル名も合わせて表示したい場合があります。 他のコマンドとの組み合わせで実現可能だとは思うのですが、tail コマンド使えば簡単に実現できま…

zipinfo - Zipアーカイブのファイルの一覧を確認

zipinfoコマンドを使うことで、Zipアーカイブファイルを回答せずに中にどんなファイルが含まれるのか等を確認することが可能です。 zipinfo {zipファイル名} で実行できます。 zipinfo コマンド の実行例は以下の通りです yuki$ zipinfo java-algo-20110127.…

Vimで文字コード・改行コードを指定して開く

Windowsで生成されたファイルをVimで開くケースも多々あります。 Vimで 文字コードや改行コードを指定して開く際のメモです。 Vimでファイルを開いて以下を実行します。 文字コードを指定して開く 例:CP932(Shift_JISの拡張) で開く場合 :e ++enc=cp932 …

Linux - 再帰的なgrep

Linux で grep コマンドで特定キーワードが入っているファイルを検索する際に、特定のディレクトリ以下を再帰的に検索したい場合があります。 そのような場合以下で実行可能です grep -lr {キーワード} {起点となるディレクトリのパス} 実際のコマンド例 TOD…

Linux - 特定のプロセスが掴んでいるファイルを特定する

自分用のメモです。 ps 等で対象のプロセスのプロセスID(PID)がわかっている状態で以下のいずれかを実行すれば、 対象プロセスが掴んでいるファイルを確認できます。 lsof -p {PID} または ls -l /proc/{PID}/fd 関連エントリ

truncate(ftruncate) はサイズを切り詰める(減らす)だけじゃないよ

Linuxのシステムコールの truncate, ftruncate は、対象のファイルのサイズを切り詰めるものです。 書式は以下の通りです。 #include <unistd.h> #include <sys/types.h> int truncate(const char *pathname, off_t length); int ftruncate(int fd, off_t length); 引数 pathname / </sys/types.h></unistd.h>…

Linuxでよくお世話になるスペシャルファイルに関するメモ

開発やテストの際などによくお世話になるLinuxのスペシャルファイル(の中の疑似デバイス)に関するメモです /dev/null 書かれたデータは捨てられる。 null スペシャルファイルを読むと常に end of file が返される。 /dev/zero 書かれたデータは捨てられる…

Linux - bashワンライナーループ

bashのワンライナーループは何だかんだでよく使うので、ここからコピペする目的のためメモです。 基本的に以下で実行できる for i in {1..<end>} ; do <something command> ; done 10回コマンドを実行するなら以下 for i in {1..10} ; do <something command> ; done 例えば10個のディレクトリ(dir1~di</something></something></end>…

FUSE

FUSEとは Filesystem in Userspace (FUSE) は、Unix系オペレーティングシステムのローダブル・カーネル・モジュールの一種で、一般ユーザーがカーネルコードを修正することなく独自のファイルシステムを作成できる機能を提供します。 詳細は、Filesystem in …

Linuxプログラミングの概念

「Linuxシステムプログラミング」からの抜粋 Linuxシステムプログラミング作者:Robert Love,ロバート ラブ発売日: 2008/04/16メディア: 大型本 ファイルとファイルシステム ファイルはLinuxの中でも、もっとも基本的かつ重要な概念。 Linuxには、すべてもの…