suer TIL

Linuxes

LINUX
2026-07-12 2026-07-12
eye catch

【Shell Script】エラーで途中で止まっても実行される後処理を設定する

trap ‘処理’ EXIT 以下の形式でtrapコマンドを使用して、スクリプトの終了時に必ず実行される処理を設定できる。 trap '処理' EXIT 例えば、スクリプトの終了時にログを出力する場合は以下のように実行する。
LINUX
2025-06-10 2025-06-15
eye catch

sedコマンドで指定した行に文字列を挿入・削除する

サンプルファイル 例として以下のファイルに文字列を挿入・削除する。 aaa bbb ccc ddd eee 行数を指定して文字列を挿入する 指定した行数の前に文字列を挿入するには、行数i 文字列の形式で実行する。 sed '行数i 文字列' ファイル名 例えば上記ファイルの3行目にxxxを挿入する場合は以下のように実行する。
LINUX
2025-06-06 2025-06-06
eye catch

コマンドでパスワードを生成する

/dev/urandom を使ったパスワード生成 /dev/urandomを使用してランダムなバイト列を生成し、ascii文字列のみを抽出してパスワードを生成する。 $ cat /dev/urandom | tr -dc 'a-zA-Z0-9!@#$%^&*()_+-=[]{}<>?' | fold -w 20 | head -n 1 'a-zA-Z0-9!@#$%^&*()_+-=[]{}<>?'の部分に使用したい文字セットを指定する。 生成されるパスワードの長さはfold -wの引数に指定する。上記の場合は20文字のパスワードが生成される。
LINUX
2025-05-31 2025-05-31
eye catch

シェルスクリプトで使えるファイルサイズのみを取得するコマンド

ls -lでのファイルサイズの取得 ls -lコマンドでファイルサイズを取得できる。 しかしファイル名やその他の情報も表示されるため処理が必要となる。 $ ls -l ファイル名 -rw-r--r-- 1 user group 123456 May 28 23:04 ファイル名 wc -cでのファイルサイズの取得 wc -cコマンドに標準入力でファイルを流すと、ファイルのバイト数のみを取得できる。
LINUX
2025-05-28 2025-05-28
eye catch

dateコマンドでファイルの最終更新日時を取得する(date -r)

date -r ls -lコマンドでファイルの更新日時を取得できる。 しかし更新日時の他に権限やオーナーなどの情報も表示されるため、シェルスクリプトなどで日時だけ欲しい場合などに不便。
LINUX
2025-05-28 2025-05-28
eye catch

jqコマンドでURIエンコード

jqコマンドでURIエンコーディング 以下のように@uriフィルターを使用してURIエンコードができる。 $ echo -n '"テスト"' | jq '@uri' "%E3%83%86%E3%82%B9%E3%83%88" @uriフィルターはURIエンコードを行う。 入力をRawモードで扱う -Rオプションを指定すると、入力がJSON形式ではなくただの文字列(Rawモード)で扱える。 先述のコマンド例ではダブルクオートで囲って無理やりJSONとしているが、Rawモードを使用するとそのまま文字列を扱える。
LINUX
2025-05-27 2025-05-27
eye catch

【Shell Script】長い処理を待っている間に別の処理を実行する

シェルスクリプトで長い処理を待っている間に別の処理を実行する 長いコマンドを処理している間に別のコマンドを実行したい場合、以下のようにすればよい。 long_command & # 長い処理をバックグラウンドで実行 jobid=$! # プロセスIDを取得 other_command # 待っている間に別の処理を実行 wait $jobid # 長い処理が終わるのを待つ &で長い処理をバックグラウンドで実行し、$!でそのプロセスIDを取得する。 other_commandで待っている間に別の処理を実行する。other_commandは&をつけずに実行しているのでブロックする。 wait $jobidで長い処理が終わるのを待つ。 プロセスIDの変数 $!は直前にバックグラウンドで実行したジョブのプロセスIDを取得するための変数。 後の処理でkillしたり、ジョブの状態を確認したりするために使用できる。
LINUX
2025-05-27 2025-05-27
eye catch

Linux OS のディストリビューションとバージョンをざっくりと確認する

Linux OS のディストリビューションとバージョンを確認する方法 Linux OSの多くのディストリビューションでは/etc/os-releaseが存在し、OSのディストリビューション名やバージョン情報が記載されている。 /etc/os-releaseが存在しない場合もあるが、例えばAmazon Linux 2023では/etc/system-releaseや/etc/amazon-linux-releaseが存在する。 これらの/etc/*-releaseファイルをすべて見ればどこかにはOSのディストリビューション名やバージョン情報を取得できる。
LINUX
2025-05-25 2025-05-25
eye catch

【Docker】docker-composeでホスト名を指定して立ち上げる

docker-composeでホスト名を指定して立ち上げる docker-composeでたちあげるコンテナのホスト名を指定するにはhostnameプロパティを使う。 services: web: image: rockylinux:9.3 command: tail -f /dev/null hostname: ホスト名 例 例えば以下のようにhostnameプロパティを指定する。
LINUX
2025-02-02 2025-02-02
eye catch

findコマンドだけで空フォルダを一括削除する(find -empty -deleteオプション)

findコマンドだけで空フォルダを一括削除(-empty -deleteオプション) findコマンドを使って空フォルダを一括削除するには以下のようにする。 find /path/to/dir -type d -empty -delete オプションの意味は以下の通り。 -type d : ディレクトリを対象にする -empty : 空のディレクトリを対象にする -delete : マッチしたディレクトリを削除する 上記コマンドは/path/to/dir以下の空のディレクトリを再帰的に削除する。
LINUX
2025-01-10 2025-01-10
  • ««
  • «
  • 7
  • 8
  • 9
  • 10
  • 11
  • »
  • »»
AUTHOR
author image
suer
ふつうのプログラマ
LATESTS
eye catch
【VSCode】YAML拡張機能でtraefik.ymlをTraefik v3スキーマで検証する
VSCODE
2026-07-13 2026-07-13
eye catch
atコマンドで一回限りのジョブを予約する
LINUX
2026-07-12 2026-07-12
eye catch
dateコマンドの出力タイムゾーンをTZ環境変数で一時的に変更する
LINUX
2026-07-12 2026-07-12
eye catch
dateコマンドでepoch秒とdate文字列を相互変換する
LINUX
2026-07-12 2026-07-12
eye catch
dateコマンドで相対日付を計算する(date -d)
LINUX
2026-07-12 2026-07-12
  • ホーム
  • お問い合わせ
  • プライバシーポリシー

© 2022 suer