うたカモ技術ブログ

Linux その他

Linux   覚えておくと便利なコマンド

post: 

この記事ではLinuxコンソールを操作する上で便利なツールについてメモします。
このメモ記事は随時更新・追加されます。

目次

  1. 【findコマンド】
  2. 【tarコマンド】
  3. 【cutコマンド】出力結果から文字列を抽出
  4. 【awkコマンド】作成中です
  5. 【sedコマンド】作成中です
  6. 【wcコマンド】テキストの詳細情報の表示
  7. 【mountコマンド】リムバーブルメディアのマウント
  8. 【umountコマンド】リムバーブルメディアのアンマウント

【findコマンド】ファイル検索

利用目的
システム上のどこかにある目当てのファイルを探すときに使用します。 個人的には特定文字列を持つファイルを探すときに良く使います。

ファイル名検索

カレントディレクトリを起点に、<file>という名前のファイルを検索してヒットした場合は絶対パスを表示します。

find ./ -name  <file>
ex) find ./ -name test ... カレントディレクトリを起点にtestファイルを検索します

また、名前の一部として特定文字列<string>を持つファイルの検索も可能です。

find ./ -name <string>*
ex) find ./ -name test* ... カレントディレクトリを起点に先頭の文字列が「test」のファイルを検索します
find ./ -name \*<string>
ex) find ./ -name \*test ... カレントディレクトリを起点に後方の文字列が「test」のファイルを検索します

特定文字列を記述したファイルの検索

カレントディレクトリを起点に、文字列の<content>を記述したファイルを特定します。

find ./ -type f | xargs grep -s <content>
ex) find ./ -type f | xargs grep -s utakamo ... カレントディレクトリを起点に、"utakamo"という文字列を記載したファイルを特定します

【tarコマンド】アーカイブファイルの作成と展開

利用目的
複数のファイルやディレクトリを1つのアーカイブファイルとして作成したり、逆に展開するためのコマンドです。 解析対象のファームウェアのファイルやディレクトリをtarコマンドでアーカイブして、作業PCのローカル環境にダウンロードする際に 良く使用しています。

アーカイブファイルの作成

対象ファイル・ディレクトリ<file or directory>のアーカイブファイルを <archive file>という名前で作成します。

tar cf <archive file> <file or directory> ...
ex) tar cf archive.tar /tmp ... /tmpディレクトリのアーカイブファイルをarchive.tarという名前で作成する

アーカイブファイルを作成して圧縮する場合

以下のコマンドオプションでアーカイブファイルの作成と圧縮を同時に実行可能です。 配布データとして良く見る形式のfile.tar.gzが作成されます。

tar zcvf <archive file> <file or directory> ...
ex) tar zcvf archive.tar.gz /tmp ... /tmpディレクトリのアーカイブファイルをarchive.tar.gzという名前で作成し圧縮します

gz形式のファイルはtar -xzvf archive.tar.gzのようにして展開(解凍)することができます。

アーカイブファイルの展開

<archive file>という名前のアーカイブファイルを展開します。

tar xf <archive file>
ex) tar xf archive.tar ... archive.tarという名前のアーカイブファイルを展開する

【cutコマンド】特定文字列の抽出

利用目的
あるコマンドの出力結果から欲しい情報のみを抽出したいときに良く使用します。 bashスクリプトやその他プログラムコードの中で使用したりもします。

特定のコマンドcmdの実行結果をcutコマンドにパイプして、 指定区切り文字delimiterで抽出した文字列のまとまり(フィールドfield) の出現順番を指定することで目的とする文字列を出力します。

<cmd> | cut -d <delimiter> -f <filed>

例えば、ifconfigコマンドの結果から指定インタフェース(例:et0)のIPアドレスを抽出するには以下のように実行します。 (ifconfigコマンドは出力結果が複数行になるのでgrepコマンドで抽出したいIPアドレスが記述された行を特定しています。)

ifconfig eth0 | grep 'inet ' | cut -d 'i' -f 2 | cut -d ' ' -f 2

AIによる支援の活用

chatgptに代表されるAIを用いてcutコマンドによる文字列抽出の実行パターンを教えてもらうのも手です。 私たちとしてはAIの提示内容を検証するための知識(cutコマンドの基礎的な使い方)を押さえておけば良いと思います。

【awkコマンド】特定文字列の抽出

AIによる支援の活用

chatgptに代表されるAIを用いてcutコマンドによる文字列抽出の実行パターンを教えてもらうのも手です。 私たちとしてはAIの提示内容を検証するための知識(awkコマンドの基礎的な使い方)を押さえておけば良いと思います。

【sedコマンド】特定文字列の抽出

AIによる支援の活用

chatgptに代表されるAIを用いてcutコマンドによる文字列抽出の実行パターンを教えてもらうのも手です。 私たちとしてはAIの提示内容を検証するための知識(sedコマンドの基礎的な使い方)を押さえておけば良いと思います。

【wcコマンド】テキストの詳細情報の表示

【mountコマンド】リムバーブルメディアのマウント

利用目的
USBメモリなどのリムバーブルメディアのデバイスファイル(例:/dev/sdb1)を特定のファイルシステムに紐づける(マウントする)ことで、 そのデバイスが持つデータの読み書きできるようになります。これはUSBメモリなどに入れたテキストファイルをLinux OS上で 開くための前処理です。

通常、リムバーブルメディアをデバイスに挿入すると、/devディレクトリ直下にsdb1などの疑似デバイスファイルが作成されます。 対応させたいファイルシステム(/media/sdb1)を引数に以下のようにすることで/media/sdb1でそのデバイスを操作することが可能です。

mount /dev/sdb1 /media/sdb1
オプション意味
-tファイルシステムのタイプ指定(指定しない場合は/etc/fstabに基づく自動検出)
-r読み込み専用でマウント
-w書き込み専用でマウント

マウント済みデバイスの確認

mount

【unmountコマンド】リムバーブルメディアのアンマウント

利用目的
リムバーブルメディアをマウントを解除します。USBメモリなどのリムバーブルメディアを安全に取り外すための前処理です。

次のように、リムバーブルメディアがマウントされているディレクトリ(例:/media/sdb1)を指定します。

umount /media/sdb1

コマンドの実行が成功したら、リムバーブルメディアを取り外すことができます。