導入
サーバーを自分で管理しようとすると、必ず向き合うことになるのが、黒い画面でおなじみの「コマンドライン(CLI)」です。
最初はとっつきにくく感じるかもしれませんが、基本的なコマンドの使い方さえ覚えてしまえば、様々な作業を非常に効率的に行えるようになります。
この記事では、日々のサーバー管理でよく使い、メモとして書き溜めていたLinuxコマンドの中から、「これだけは覚えておきたい!」というものを厳選し、目的別に整理しました。
1. ファイル・ディレクトリ操作の基本
まずは、サーバー上のファイルを操作するための最も基本的なコマンドです。
ls – ファイルやディレクトリの一覧を表示する
カレントディレクトリにあるファイルやディレクトリの一覧を表示します。
# 現在のディレクトリのファイル一覧を表示
ls
# 詳細情報(パーミッション、所有者、サイズ等)付きで全て表示
ls -la
ワンポイント
lは詳細表示、aは隠しファイル(.で始まるファイル)も表示するという意味です。ls -laは非常によく使います。
cd – ディレクトリを移動する
作業するディレクトリを移動します。
# /home/your_user ディレクトリに移動
cd /home/your_user
# 一つ上の階層のディレクトリに移動
cd ..
pwd – 現在のディレクトリを表示する
今自分がどのディレクトリにいるか、フルパスで表示します。
pwd
# 出力例: /var/www/your_site
cp – ファイルやディレクトリをコピーする
Bash
# original.txt を backup.txt という名前でコピー
cp original.txt backup.txt
# ディレクトリを中身ごとコピーする場合は -r オプションを付ける
cp -r original_dir backup_dir
mv – ファイルやディレクトリを移動またはリネームする
# file.txt を /tmp ディレクトリに移動
mv file.txt /tmp/
# old_name.txt を new_name.txt にリネーム
mv old_name.txt new_name.txt
rm – ファイルを削除する
一度削除すると元に戻せないので、慎重に使いましょう。
# 不要なファイルを削除
rm unnecessary_file.txt
# ディレクトリを中身ごと削除する場合は -r オプションを付ける
rm -r unnecessary_dir
mkdir – 新しいディレクトリを作成する
mkdir new_project
2. ファイルの中身を確認する
テキストファイルの中身を確認したいときに使います。
cat – ファイルの内容を全て表示する
ファイルの内容を最初から最後まで一気に表示します。短い設定ファイルなどを確認するのに便利です。
cat /etc/hosts
less – ファイルの内容をスクロールしながら表示する
cat
と違い、長いファイルでも自分のペースでスクロールしながら閲覧できます。q
キーで閲覧を終了します。
less /var/log/httpd/error_log
tail – ファイルの末尾を表示する
ログファイルなど、追記されていくファイルの最新の状態を確認するのに非常に便利です。
# ファイルの末尾10行を表示
tail /var/log/messages
# -f オプションを付けると、ファイルへの追記をリアルタイムで表示し続ける
tail -f /var/log/httpd/access_log
3. 検索とフィルタリング
膨大なファイルやテキストの中から、目的のものを探し出します。
find – ファイルやディレクトリを検索する
# カレントディレクトリ以下から「.conf」で終わるファイルを探す
find . -name "*.conf"
# /home ディレクトリ以下から「your_user」というユーザーが所有するファイルを探す
find /home -user your_user
grep – テキストの中から指定した文字列を検索する
コマンドの実行結果など、テキストの中から特定のキーワードを含む行だけを抜き出します。パイプ(|
)と組み合わせて使うことが多いです。
# httpd の設定ファイルから「Listen」という文字列を含む行を探す
grep "Listen" /etc/httpd/conf/httpd.conf
# 実行中のプロセスから「httpd」という名前のプロセスを探す
ps aux | grep httpd
4. 権限の管理
ファイルの読み取り・書き込み・実行権限を管理します。
chmod – ファイルやディレクトリのパーミッションを変更する
# script.sh に実行権限を与える
chmod +x script.sh
# よく使う数値での指定方法
# 755: 所有者は全てOK、その他は読み取りと実行のみ
chmod 755 directory_name
chown – ファイルやディレクトリの所有者を変更する
WordPressの設置などで頻繁に使いますね。
# file.txt の所有者を apache ユーザー、apache グループに変更
chown apache:apache file.txt
# ディレクトリ以下全てを再帰的に変更
chown -R apache:apache /var/www/your_site
5. システムとサービスの管理
Rocky Linux 9 などのモダンなOSで、サービス(常駐プログラム)を管理します。
systemctl – サービスの起動・停止・状態確認
# httpd (Apache) サービスを起動
sudo systemctl start httpd
# httpd サービスを停止
sudo systemctl stop httpd
# httpd サービスの稼働状態を確認
sudo systemctl status httpd
# OS起動時に httpd が自動で起動するように設定
sudo systemctl enable httpd
まとめ
今回は、サーバー管理の現場で頻繁に利用する基本的なLinuxコマンドをご紹介しました。
黒い画面と文字だけの操作は、最初は難しく感じるかもしれませんが、一つ一つのコマンドの意味を理解し、実際に使っていくうちに必ず慣れていきます。
ここで紹介したコマンドだけでも覚えておくと、多くの基本的な作業がスムーズに進められるはずです。ぜひ、ご自身のサーバーで試してみてください。
コメント