🎃

Day 15: ファイル操作とプロセス管理 - Linuxの基礎

2024/11/17に公開

はじめに

今回は、Linuxの基本操作として、ファイル検索プロセス管理について学びます。これらはシステム運用やトラブルシューティング(トラブルの原因を探して取り除くこと)に欠かせないスキルです。ぜひ実際にLinuxを操作しながら、コマンドの使い方を習得してみてください。


ファイル検索の基本

Linuxでは、システム内のファイルやディレクトリを効率的に検索するために、いくつかの便利なコマンドが用意されています。

1. findコマンド

**find**コマンドは、指定した条件に基づいてファイルやディレクトリを検索できる強力なツールです。

  • 基本構文
    find [検索開始ディレクトリ] [条件]
    
    • 名前で検索
      find /home -name "file.txt"
      
    • 特定の拡張子で検索
      find /home -name "*.txt"
      
    • サイズで検索
      find /var -size +10M
      

2. locateコマンド

locate コマンドは、ファイルやディレクトリを非常に高速に検索できるツールです。

なぜfindより速いのか?

locateはリアルタイムでファイルシステムを探すのではなく、事前に作成されたファイル情報のデータベースを参照します。このデータベースにはシステム全体のファイル情報が保存されており、それを利用することで高速な検索が可能になります。

基本構文と使用例

  • 基本構文
    locate [検索キーワード]
    
  • 使用例
    locate file.txt
    

注意:データベースの更新が必要

locateの検索結果は、データベースに基づいているため、新しいファイルや削除されたファイルは、データベースを更新しない限り反映されません。正確な検索結果を得るためには、以下のコマンドで定期的にデータベースを更新してください。

sudo updatedb

これにより、最新のファイル情報が検索可能になります。


プロセス管理の基本

Linuxでは、実行中のプログラムやサービスは「プロセス」として扱われます。これらを監視・管理することで、システムの状態を把握し、パフォーマンスを最適化できます。

1. プロセスの確認

psコマンド

現在動作中のプロセスを確認する基本コマンドです。

  • 基本構文
    ps [オプション]
    
    • 標準的なプロセス一覧
      ps
      
    • すべてのプロセスを詳細表示
      ps aux
      

topコマンド

topは、リアルタイムでプロセス情報を監視できるコマンドです。CPU使用率やメモリ使用率が高いプロセスを簡単に特定できます。

  • 使用方法
    top
    

htopコマンド

htopは、topの視覚的な改良版です。使いやすいインターフェースで、プロセスの確認や終了が行えます。


2. プロセスの終了

killコマンド

プロセスID(PID)を指定して特定のプロセスを終了します。

  • 基本構文
    kill [PID]
    
  • kill 12345
    

killallコマンド

プロセス名を指定して、すべての該当プロセスを終了します。

  • 基本構文
    killall [プロセス名]
    
  • killall firefox
    

小テスト

Q1: findコマンドで、拡張子が「.txt」のすべてのファイルを検索する構文はどれですか?
a) find / -name "*.txt"
b) find / -type f
c) find / -size +10M
d) find /home -perm 777

Q2: プロセスのリアルタイム情報を表示するコマンドはどれですか?
a) ps
b) top
c) kill
d) ls

Q3: killコマンドで必要な情報はどれですか?
a) ファイル名
b) PID(プロセスID)
c) ディレクトリ名
d) メモリサイズ

Q4: locateコマンドを高速に動作させるために必要なコマンドはどれですか?
a) find
b) updatedb
c) chmod
d) ls

Q5: killallコマンドの主な用途はどれですか?
a) プロセスIDを指定してプロセスを終了する
b) 名前を指定してすべての該当プロセスを終了する
c) ファイル権限を変更する
d) ディレクトリを削除する


解答

  1. Q1: a) find / -name "*.txt"
  2. Q2: b) top
  3. Q3: b) PID(プロセスID)
  4. Q4: b) updatedb
  5. Q5: b) 名前を指定してすべての該当プロセスを終了する

まとめ

Linuxでのファイル検索とプロセス管理は、システム運用における基本スキルです。findlocateを活用した効率的なファイル検索、pstopを使用したプロセスの監視などを押さえておきましょう。

Discussion