basename

はじめに こんにちは!今回はbasenameコマンドについて解説します。 basenameはファイルパスからファイル名だけを抽出するコマンドです。フルパスが与えられたときに、最後のファイル名部分だけが欲しい時に超便利ですね。 スクリプトを書く時に頻繁に出てくるコマンドなので、これを機にマスターしちゃいましょう! basenameコマンドとは basenameは、フルパスやファイルパスからファイル名の部分だけを取り出す外部コマンドです。 例えば、/home/user/documents/file.txtというパスが与えられたとき、basenameはfile.txtだけを抽出します。シェルスクリプトの中で、ディレクトリパスに関係なくファイル名だけを処理したい時に重宝するコマンドです。 基本構文 1 basename パス [サフィックス] パスはファイルのパス、サフィックス(省略可)は除外したい拡張子です。 主なオプション オプション 説明 -a 複数のパス引数をすべて処理(GNU拡張) -s サフィックスを指定(GNU拡張) -z 出力をNUL文字で区切る(GNU拡張) 使用例 例1: 基本的なパスからファイル名を抽出 1 basename /home/user/documents/file.txt 実行結果: 1 file.txt フルパスからfile.txtというファイル名だけを取り出します。これが基本的な使い方です。 例2: 拡張子を除外する 1 basename /home/user/documents/file.txt .txt 実行結果: 1 file 第2引数に.txtを指定することで、拡張子を除外してfileだけを取り出します。 例3: シンプルなファイル名を処理 1 basename document.pdf 実行結果: 1 document.pdf 既にファイル名だけが与えられた場合は、そのまま返します。 例4: ディレクトリパスも処理 1 basename /var/log/system.log 実行結果: 1 system.log どんなディレクトリ階層からでも、ファイル名だけを取り出します。 例5: サフィックス指定で拡張子削除 1 basename /etc/config/app.conf .conf 実行結果: ...

2026年1月3日 · 2 分 · 246 文字 · 須藤権限

dirname

はじめに こんにちは!今回はdirnameコマンドについて解説します。 dirnameはファイルパスからディレクトリパス部分だけを抽出するコマンドです。先ほど解説したbasenameの逆バージョンって感じですね。 シェルスクリプトでパスを処理する時に、basenameとセットで超よく使われるコマンドです! dirnameコマンドとは dirnameは、フルパスやファイルパスからディレクトリパスの部分だけを取り出す外部コマンドです。 例えば、/home/user/documents/file.txtというパスが与えられたとき、dirnameは/home/user/documentsだけを抽出します。ファイルのディレクトリパスだけが必要な場合に重宝するコマンドです。 基本構文 1 dirname パス パスはファイルやディレクトリのパスです。 主なオプション オプション 説明 -z 出力をNUL文字で区切る(GNU拡張) 使用例 例1: 基本的なパスからディレクトリを抽出 1 dirname /home/user/documents/file.txt 実行結果: 1 /home/user/documents フルパスから/home/user/documentsというディレクトリパスだけを取り出します。これが基本的な使い方です。 例2: 相対パスでの利用 1 dirname ./documents/file.txt 実行結果: 1 ./documents 相対パスでも同じようにディレクトリパスだけを抽出できます。 例3: ファイル名だけが与えられた場合 1 dirname file.txt 実行結果: 1 . ディレクトリ情報がない場合は、カレントディレクトリを意味する.を返します。 例4: ルートディレクトリの場合 1 dirname /etc/passwd 実行結果: 1 /etc ルートに近いパスでも正しくディレクトリを抽出します。 例5: スラッシュで終わるパス 1 dirname /home/user/documents/ 実行結果: ...

2026年1月3日 · 2 分 · 252 文字 · 須藤権限

tr

はじめに こんにちは!今回はtrコマンドについて解説します。 trはテキスト内の文字を変換したり削除したりするコマンドです。大文字を小文字に変換したり、特定の文字を別の文字に置き換えたり、超便利なコマンドですね。 テキスト処理をする時にめっちゃ活躍するので、これを機にマスターしちゃいましょう! trコマンドとは trは、標準入力からテキストを受け取って、指定された文字を変換・削除して標準出力に出力する外部コマンドです。“translate"の略ですね。 パイプで他のコマンドと組み合わせて使用することが多く、テキスト処理の強い味方です。正規表現には対応していませんが、シンプルな文字変換であればtrの方が高速です。 基本構文 1 tr [オプション] 変換元 [変換先] 変換元は置き換えたい文字、変換先は置き換え後の文字です。 主なオプション オプション 説明 -d 文字を削除(変換先を指定しない) -s 連続する同じ文字を1つにまとめる -c 変換元の補集合を使用(指定した文字以外を対象) -C -cと同じ(互換性オプション) -t -dと-sが同時に指定された時に変換先をスキップ 使用例 例1: 小文字を大文字に変換 1 echo "hello world" | tr a-z A-Z 実行結果: 1 HELLO WORLD a-zは小文字全体、A-Zは大文字全体を表します。最も基本的な使い方です。 例2: 大文字を小文字に変換 1 echo "HELLO WORLD" | tr A-Z a-z 実行結果: 1 hello world 大文字から小文字への変換も同じやり方です。 例3: 特定の文字を別の文字に置き換え 1 echo "hello world" | tr o 0 実行結果: 1 hell0 w0rld o(オー)を0(ゼロ)に置き換えます。 ...

2026年1月3日 · 2 分 · 358 文字 · 須藤権限

ddコマンド

はじめに こんにちは!今回はddコマンドについて解説します。 ddは、ファイルやディスク全体をブロック単位でコピー・変換するコマンドです。ディスクイメージのバックアップ、USB起動メディアの作成、ディスク丸ごとのクローンなど、低レベルのデータ操作をする時に使うんですね。 「火力の強い、融通が利くコピーツール」ってイメージです。パワフルですけど、使い方を間違えるとデータ破損のリスクがあるので注意が必要です。 ddコマンドとは ddは、“convert and copy"の略で、ファイルやディスクのデータをブロック単位でコピー・変換する外部コマンドです。 通常のcpコマンドではファイルレベルでしか操作できませんが、ddは低レベルでのディスク操作ができます。ディスク全体のバックアップ、パーティション操作、USB起動メディア作成、ディスククローンなど、システム管理者がよく使う重要なコマンドなんです。 ddの特徴は、細かいオプションでデータ変換(大文字・小文字変換など)ができることと、ブロックサイズを指定してコピーできることです。ただし、パワフルだからこそ、誤った使い方はデータ破損につながるので、慎重に使う必要があります。 基本構文 1 dd [オプション] ddのオプションは、if=(入力ファイル)とof=(出力ファイル)で指定します。 1 dd if=入力ファイル of=出力ファイル bs=ブロックサイズ count=コピーするブロック数 他のコマンドと違う独特の構文なので、最初は戸惑うかもしれませんね。 主なオプション オプション 説明 if= 入力ファイル(input file) of= 出力ファイル(output file) bs= ブロックサイズ(block size) count= コピーするブロック数 skip= 入力ファイルの最初からスキップするブロック数 seek= 出力ファイルの最初からシークするブロック数 conv= データ変換(notrunc, noerror など) status= 進捗表示(progress, none など) ibs= 入力ブロックサイズ obs= 出力ブロックサイズ 使用例 例1: ファイルをコピー 1 dd if=source.img of=destination.img 実行結果: 1 2 3 1024+0 records in 1024+0 records out 524288 bytes (524 kB, 512 KiB) copied, 0.5 s, 1.0 MB/s source.imgをdestination.imgにコピー。出力にはコピーしたブロック数とデータ転送速度が表示されます。 ...

2026年1月3日 · 3 分 · 485 文字 · 須藤権限

umountコマンド

はじめに こんにちは!今回はumountコマンドについて解説します。 umountは、マウント済みのファイルシステムをアンマウント(切断)するコマンドです。mountコマンドの逆の操作ですね。USBドライブを取り外す前とか、ストレージの接続を終了したい時に使うんです。 「パソコンからUSBを安全に取り外す」をコマンドでやるってイメージです。これもめっちゃ重要ですよ。 umountコマンドとは umountは、マウント済みのファイルシステムをアンマウント(切断)する外部コマンドです。 Linuxでは、マウント中のファイルシステムに対するI/O操作は即座に実行されるわけではなく、バッファリングされています。そのため、デバイスを物理的に取り外す前にumountできちんとアンマウントする必要があります。データの破損を防ぐためにも重要なコマンドなんです。 umountを実行すると、キャッシュがディスクにフラッシュされ、ファイルシステムが切断されます。その後初めて、安全にデバイスを取り外したり、別の場所に再マウントできるわけです。 基本構文 1 umount [オプション] マウントポイント または 1 umount [オプション] デバイス マウントポイント(ディレクトリパス)またはデバイス名を指定してアンマウントします。 主なオプション オプション 説明 -l lazy unmount(すぐにアンマウント表示するが、後で切断) -f force unmount(強制的にアンマウント) -r アンマウント失敗時に読み取り専用にする -n /etc/mtabを更新しない -v 詳細表示(verbose) -a /etc/mtabのすべてをアンマウント -t 指定されたファイルシステムタイプのみアンマウント 使用例 例1: 基本的なアンマウント 1 sudo umount /mnt/usb 実行結果: 1 (成功時は何も表示されない) /mnt/usbにマウントされているファイルシステムをアンマウントします。これが最もシンプルな使い方です。 例2: デバイス名でアンマウント 1 sudo umount /dev/sdb1 実行結果: 1 (成功時は何も表示されない) マウントポイントの代わりに、デバイス名を指定してアンマウント。結果は同じです。 例3: 詳細表示でアンマウント 1 sudo umount -v /mnt/usb 実行結果: ...

2026年1月3日 · 2 分 · 355 文字 · 須藤権限

mountコマンド

はじめに こんにちは!今回はmountコマンドについて解説します。 mountは、ファイルシステムをマウント(接続)するコマンドです。USBドライブやハードディスク、ネットワークストレージなど、様々なストレージをLinuxシステムに接続する時に使うんですね。 「パソコンにUSBをつなぐ」的な操作をコマンドでやるってイメージです。めっちゃ重要なコマンドですよ。 mountコマンドとは mountは、ファイルシステムをマウント(接続)する外部コマンドです。 Linuxでは、ハードディスク、USB、ネットワークストレージなど、あらゆるストレージをファイルシステムとしてツリーに接続することで、ユーザーが統一的にアクセスできるようになっています。mountはその接続作業を行うコマンドなんです。 マウントをすることで、デバイスの内容がディレクトリツリーの特定の場所から見えるようになります。例えば/mntや/mediaといったディレクトリにマウントすると、そこからそのデバイスのファイルにアクセスできるわけです。 基本構文 1 mount [オプション] デバイス マウントポイント mount単体で実行すると、現在マウント済みのファイルシステムを表示します。デバイスとマウントポイントを指定することで、新しくマウントができます。 主なオプション オプション 説明 -t ファイルシステムの種類を指定(ext4, ntfs, vfat など) -o マウントオプションを指定(comma区切りで複数可) -r 読み取り専用でマウント(read-only) -w 読み書き可能でマウント(read-write、デフォルト) -a fstabに記載されているすべてのファイルシステムをマウント -n fstabを読まずにマウント -v 詳細表示(verbose) -l ラベル別にマウント -U UUID別にマウント --bind ディレクトリを別の場所にマウント 使用例 例1: 現在マウント済みのファイルシステムを表示 1 mount 実行結果: 1 2 3 4 5 /dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,stripe=4) devtmpfs on /dev type devtmpfs (rw,relatime,size=1234567k,...) tmpfs on /run type tmpfs (rw,nosuid,nodev,...) /dev/sda2 on /home type ext4 (rw,relatime) ... システムに接続されているすべてのファイルシステムと、その詳細情報が表示されます。 ...

2026年1月3日 · 2 分 · 316 文字 · 須藤権限

Head - ファイルの先頭行を表示する

はじめに こんにちは!今回はheadコマンドについて解説します。 headはファイルの先頭行を表示するコマンドです。ログファイルの最初の内容を確認したり、大きなファイルの構造を把握したり、毎日使う超基本的なコマンドですね。 「ファイルの最初だけ見る」って感じです。tailと対になるコマンドで、どちらもよく使います。 headコマンドとは headは、ファイルの先頭の行を表示する外部コマンドです。デフォルトでは最初の10行を表示します。 大きなファイル(ログファイルやデータファイル)の中身を確認する時に便利。全部読み込む必要がなく、サッと先頭だけ見られます。複数ファイルにも対応しており、それぞれのファイル名とともに内容が表示されます。 基本構文 1 head [オプション] ファイル名 ファイルの先頭行を表示します。デフォルトでは最初の10行が表示されます。 主なオプション オプション 説明 -n NUM 最初のNUM行を表示(デフォルト: 10) -n +NUM NUM行目以降を全て表示 -c NUM 最初のNUMバイトを表示 -q ファイル名ヘッダを表示しない(quiet) -v 常にファイル名ヘッダを表示(verbose) 使用例 例1: 基本的な使い方(先頭10行) 1 head /etc/passwd 実行結果: 1 2 3 4 5 6 7 8 9 10 root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/sys:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/usr/share/man:/usr/sbin/nologin lp:x:7:4:lp:/var/spool/lpd:/usr/sbin/nologin mail:x:8:8:mail:/var/mail:/usr/sbin/nologin news:x:9:9:news:/var/spool/news:/usr/sbin/nologin デフォルトで最初の10行を表示します。 例2: 指定した行数を表示 1 head -n 5 /etc/passwd 実行結果: ...

2026年1月3日 · 3 分 · 509 文字 · 須藤権限

Wc - 行数・単語数・文字数をカウントする

はじめに こんにちは!今回はwcコマンドについて解説します。 wcはファイルの行数・単語数・文字数をカウントするコマンドです。ログファイルのサイズを確認したり、テキストデータの統計情報を調べたり、毎日使う超基本的なコマンドですね。 「ファイルの大きさを数える」って感じです。便利で使用頻度は高いですよ。 wcコマンドとは wcは、ファイルの行数・単語数・文字数(バイト数)を表示する外部コマンドです。“word count"の略ですね。 行数、単語数、バイト数などを一度に表示できます。複数ファイルに対応しており、合計も自動的に計算されます。パイプで標準入力から読み込むこともでき、他のコマンドとの組み合わせで非常に強力です。 基本構文 1 wc [オプション] ファイル名 ファイルの行数・単語数・文字数をカウント。デフォルトでは「行数 単語数 文字数 ファイル名」の順に表示されます。 主なオプション オプション 説明 -l 行数のみ表示(lines) -w 単語数のみ表示(words) -c バイト数のみ表示(bytes) -m 文字数のみ表示(chars) -L 最長行の長さを表示 --files0-from FILE ファイルリストをNUL区切りで読み込む 使用例 例1: 基本的な使い方(全てカウント) 1 wc /etc/passwd 実行結果: 1 41 102 2342 /etc/passwd 行数: 41、単語数: 102、文字数: 2342。デフォルトで全て表示されます。 例2: 行数のみ表示 1 wc -l /etc/passwd 実行結果: 1 41 /etc/passwd ファイルの行数が41行であることが分かります。最も使用頻度の高いオプション。 例3: 単語数のみ表示 1 wc -w file.txt 実行結果: ...

2026年1月3日 · 2 分 · 398 文字 · 須藤権限

Xargs - 標準入力から引数を構築するコマンド

はじめに こんにちは!今回はxargsコマンドについて解説します。 xargsは標準入力から引数を構築して、別のコマンドに渡すコマンドです。findやgrepの結果を他のコマンドで処理したり、大量のファイルを一括操作したり、日々の運用を効率化する強力なコマンドですね。 「パイプの後ろでファイル名を受け取る」って感じです。実は複雑に見えますが、慣れると超便利ですよ。 xargsコマンドとは xargsは、標準入力から読み込んだ行をコマンドの引数に変換して実行する外部コマンドです。 通常のパイプ(|)は標準入力としてテキストを受け渡しますが、xargsはそれをコマンドの引数に変換します。find、grep、echoなどの結果をファイル名として他のコマンドに渡したい場合に非常に便利。大量のファイル操作を効率的に行えます。 基本構文 1 xargs [オプション] コマンド 標準入力から引数を読み込んで、指定したコマンドに渡します。デフォルトでは標準入力の各行が引数になります。 主なオプション オプション 説明 -I {} 占有文字列(デフォルト: スペース区切り) -n NUM 1回に渡す引数の最大個数 -d DELIM 区切り文字を指定(デフォルト: スペース/改行) -0 NUL文字で区切られた入力を処理 -p 実行前に確認を取る(prompt) -r 標準入力が空の場合は実行しない -t 実行するコマンドを表示 --no-run-if-empty 入力がない場合は実行しない 使用例 例1: findの結果をrmで削除 1 find . -name "*.tmp" | xargs rm 実行結果: 1 (マッチしたすべての.tmpファイルが削除される) 最も一般的な使い方。findで見つけたファイルをrmで一括削除。 例2: 確認付きで削除(-p オプション) 1 find . -name "*.tmp" | xargs -p rm 実行結果: 1 rm file1.tmp file2.tmp ? -pで実行前に確認。危険な操作の時に便利。 ...

2026年1月3日 · 3 分 · 529 文字 · 須藤権限

Gunzip - ファイルを解凍する

はじめに こんにちは!今回はgunzipコマンドについて解説します。 gunzipはgzipで圧縮されたファイルを解凍するコマンドです。バックアップファイルを取り出したり、ダウンロードしたファイルを使ったり、毎日使う超基本的なコマンドですね。 「ファイルを元に戻す」って感じです。gzipの逆バージョンって覚えると簡単です。 gunzipコマンドとは gunzipは、.gzファイルを解凍して元のファイルに戻す外部コマンドです。“GNU unzip"ですね。 gzip -dと同じ機能で、どちらでも解凍できます。実はgunzipはgzipの別名みたいなもので、内部的には同じプログラムが動いています。デフォルトでは圧縮ファイルは削除されて、元のファイルだけが残ります。 基本構文 1 gunzip [オプション] ファイル名.gz 圧縮ファイルを解凍します。デフォルトでは元の圧縮ファイルは削除されて、解凍されたファイルだけが残ります。 主なオプション オプション 説明 -c 解凍結果を標準出力に出力(元ファイルを保持) -d gzip -dと同じ(gunzipはデフォルト) -k 解凍後も圧縮ファイルを保持(keep) -v 詳細表示(verbose) -r ディレクトリを再帰的に解凍 -f 確認なしで上書き -l 圧縮ファイルの情報を表示 -t 圧縮ファイルをテスト(チェック) 使用例 例1: 基本的なファイル解凍 1 gunzip file.txt.gz 実行結果: 1 (コマンド成功時は何も表示されない) file.txt.gzを解凍してfile.txtを作ります。元の圧縮ファイルは削除されます。 例2: 圧縮ファイルを保持して解凍 1 gunzip -c file.txt.gz > file.txt 実行結果: 1 (何も表示されない) -cオプションで標準出力に出力して、リダイレクトで保存します。元のfile.txt.gzは残ります。 例3: -kオプションで圧縮ファイルを保持(簡単) 1 gunzip -k file.txt.gz 実行結果: 1 (何も表示されない) -k(keep)オプションで圧縮ファイルを残したまま解凍できます。バックアップを確保したい時に便利。 ...

2026年1月3日 · 2 分 · 322 文字 · 須藤権限