はじめに
業務でサーバー作業をする機会が増え、TeraTermの使い方や基本的なLinuxコマンドについて質問を受けることが多くなってきました。
「ls って何ですか?」「ファイル編集ってどうやるんですか?」「権限エラーが出ました!」
…聞き覚えのある方も多いはず。
この記事では、自分の作業まとめも兼ねて 「TeraTermを使う上で最低限知っておきたいLinuxコマンド」 を体系的にまとめます。
ファイルの編集方法やパーミッション(権限)の話も合わせて記載しています。
目次
- TeraTermの基本設定と使い方
- まず覚えるべき基本コマンド
- ファイル・ディレクトリ操作
- ファイルの中身を確認する
- ファイルの編集(viエディタ)
- ファイル検索・テキスト検索
- 権限(パーミッション)とは
- よく使うパーミッション操作
- ユーザー・グループの確認と切り替え
- プロセス・サービス確認
- 便利なTeraTerm操作Tips
1. TeraTermの基本設定と使い方
接続方法
TeraTermを起動すると接続ダイアログが表示されます。
| 項目 | 設定値 |
|---|---|
| ホスト | 接続先のIPアドレス or ホスト名 |
| ポート | SSH接続なら 22(デフォルト) |
| サービス |
SSH を選択 |
初回接続時のセキュリティ警告
初めて接続するサーバーでは「セキュリティ警告」ダイアログが出ます。
「続行」または「このホストを信頼する」 を選択してください。
(同じサーバーへの2回目以降は表示されません)
文字コードの設定
日本語が文字化けする場合は以下を確認します。
メニュー > 設定 > 端末 > 漢字(受信) → UTF-8
メニュー > 設定 > 端末 > 漢字(送信) → UTF-8
ログの保存
作業記録を残したい場合は事前にログ保存を有効にしましょう。
メニュー > ファイル > ログ > 保存先を指定してOK
2. まず覚えるべき基本コマンド
現在地の確認 pwd
$ pwd
/home/user01
Print Working Directory の略。今どのディレクトリにいるかを表示します。
ディレクトリ移動 cd
# 絶対パスで移動
$ cd /var/log
# 相対パスで移動(一つ上のディレクトリへ)
$ cd ..
# ホームディレクトリに戻る
$ cd ~
# または単に
$ cd
ファイル一覧の表示 ls
# シンプルな一覧
$ ls
# 詳細表示(権限・サイズ・日付も確認できる)
$ ls -l
# 隠しファイルも表示
$ ls -la
# 人間が読みやすいサイズ表示(KB/MB単位)
$ ls -lh
ls -la の出力例:
drwxr-xr-x 2 user01 user01 4096 Apr 10 10:00 scripts
-rw-r--r-- 1 user01 user01 256 Apr 10 09:55 config.txt
3. ファイル・ディレクトリ操作
ディレクトリ作成 mkdir
# ディレクトリを作成
$ mkdir logs
# 階層ごと作成(-p オプション)
$ mkdir -p /opt/app/logs
ファイルのコピー cp
# ファイルをコピー
$ cp config.txt config.txt.bak
# ディレクトリごとコピー(-r オプション)
$ cp -r /opt/app /opt/app_backup
編集前にバックアップを取る習慣は大事です!
cp ファイル名 ファイル名.bakを癖にしましょう。
ファイルの移動・リネーム mv
# ファイルを移動
$ mv config.txt /etc/myapp/config.txt
# ファイル名を変更(移動先=同じディレクトリ)
$ mv old_name.txt new_name.txt
ファイル・ディレクトリの削除 rm
# ファイルを削除
$ rm unwanted.txt
# ディレクトリを削除(-r オプション)
$ rm -r old_logs/
# 確認なしで強制削除(⚠️ 要注意)
$ rm -rf old_logs/
rm -rf は復元できません。特に rm -rf / は絶対に実行しないでください。パスを必ず確認してから実行しましょう。
空ファイルの作成・タイムスタンプ更新 touch
$ touch newfile.txt
4. ファイルの中身を確認する
cat — ファイル全体を表示
$ cat /etc/hosts
短いファイルの確認に向いています。
less — スクロールしながら読む
$ less /var/log/messages
| 操作 | キー |
|---|---|
| 次ページ |
Space または f
|
| 前ページ | b |
| 検索 |
/検索文字列 → n で次へ |
| 終了 | q |
ログファイルなど長いファイルはこちらを使いましょう。
tail — ファイルの末尾を表示
# 末尾10行を表示(デフォルト)
$ tail /var/log/messages
# 末尾30行を表示
$ tail -n 30 /var/log/messages
# リアルタイムで追いかける(ログ監視に便利)
$ tail -f /var/log/messages
tail -fはログを監視しながら作業するときに非常に役立ちます。Ctrl + Cで終了。
head — ファイルの先頭を表示
$ head -n 20 /var/log/messages
5. ファイルの編集(viエディタ)
LinuxサーバーではほぼどこでもGUIなしで使える vi(vim) が利用できます。
最初は戸惑いますが、モードの概念さえ理解すれば大丈夫です。
viの起動
$ vi ファイル名
# ファイルが存在しない場合は新規作成
モードの概念
viには 3つのモード があります。これが最初のつまずきポイントです。
よく使うコマンド一覧
入力モードへの切り替え(ノーマルモードから):
| キー | 動作 |
|---|---|
i |
カーソル位置から入力開始 |
a |
カーソルの次から入力開始 |
o |
カーソルの下に新しい行を追加して入力 |
Esc |
ノーマルモードに戻る |
保存・終了(ノーマルモードで : を入力):
| コマンド | 動作 |
|---|---|
:w |
保存 |
:q |
終了(変更がない場合) |
:wq |
保存して終了 |
:q! |
変更を破棄して強制終了 |
カーソル移動(ノーマルモード):
| キー | 動作 |
|---|---|
h / l
|
左 / 右 |
j / k
|
下 / 上 |
gg |
ファイルの先頭へ |
G |
ファイルの末尾へ |
:行番号 |
指定行へジャンプ(例: :50) |
便利な操作:
| コマンド | 動作 |
|---|---|
dd |
現在行を削除(カット) |
yy |
現在行をコピー |
p |
ペースト |
/検索文字列 |
前方検索 → n で次へ |
u |
アンドゥ(元に戻す) |
Ctrl + r |
リドゥ(やり直し) |
実践例:設定ファイルを編集する
# バックアップを取ってから編集
$ cp /etc/myapp/config.conf /etc/myapp/config.conf.bak
$ vi /etc/myapp/config.conf
# i で入力モードに → 編集 → Esc → :wq で保存終了
最初にやりがちなミス:入力モードになっているのに :wq と打ってしまい、ファイルに :wq という文字が書かれてしまうケースがよくあります。
Esc を押してからコマンドを打つことを意識してください。
6. ファイル検索・テキスト検索
find — ファイルを検索する
# /etc 配下で .conf ファイルを探す
$ find /etc -name "*.conf"
# 名前に "log" を含むファイルを探す
$ find /var -name "*log*"
# 特定のユーザーが所有するファイルを探す
$ find /home -user user01
grep — ファイル内のテキストを検索する
# ファイル内の特定の文字列を検索
$ grep "ERROR" /var/log/messages
# 大文字小文字を区別しない
$ grep -i "error" /var/log/messages
# 行番号も表示
$ grep -n "ERROR" /var/log/messages
# ディレクトリ配下を再帰検索
$ grep -r "database" /etc/myapp/
# パイプと組み合わせて絞り込む
$ cat /var/log/messages | grep "ERROR" | grep "2024-04-10"
7. 権限(パーミッション)とは
ls -l で権限を確認する
$ ls -l
-rw-r--r-- 1 user01 group01 1024 Apr 10 10:00 config.txt
drwxr-xr-x 2 user01 group01 4096 Apr 10 09:00 scripts/
先頭の10文字が権限(パーミッション)情報です。
- rw- r-- r--
│ │ │ └── その他のユーザー(other)
│ │ └────── グループ(group)
│ └────────── 所有者(owner/user)
└──────────── ファイル種別(- = ファイル, d = ディレクトリ)
rwx の意味
| 記号 | 意味 | ファイル | ディレクトリ |
|---|---|---|---|
r |
read(読み取り) | 内容を見られる | 一覧を表示できる |
w |
write(書き込み) | 編集・削除できる | ファイルの作成・削除ができる |
x |
execute(実行) | 実行できる | ディレクトリに入れる(cd できる) |
- |
権限なし | — | — |
数値表現(8進数)
権限は数値でも表します。シェルスクリプトや chmod でよく使います。
| 数値 | 記号 | 意味 |
|---|---|---|
4 |
r-- | 読み取りのみ |
6 |
rw- | 読み取り+書き込み |
7 |
rwx | すべての権限 |
5 |
r-x | 読み取り+実行 |
0 |
--- | 権限なし |
例:chmod 644 config.txt
6 4 4
│ │ └── other: r--(読み取りのみ)
│ └───── group: r--(読み取りのみ)
└──────── owner: rw-(読み書き可)
8. よく使うパーミッション操作
chmod — 権限の変更
# 数値で指定する方法
$ chmod 644 config.txt # 所有者:rw-, グループ:r--, その他:r--
$ chmod 755 script.sh # 所有者:rwx, グループ:r-x, その他:r-x
$ chmod 600 private.key # 所有者:rw-, グループ:---, その他:---
# 記号で指定する方法(覚えやすい場合も)
$ chmod u+x script.sh # 所有者に実行権限を追加
$ chmod g-w config.txt # グループから書き込み権限を削除
$ chmod o-r secret.txt # その他から読み取り権限を削除
$ chmod a+r public.txt # 全員に読み取り権限を追加
| 記号 | 対象 |
|---|---|
u |
owner(所有者) |
g |
group(グループ) |
o |
other(その他) |
a |
all(全員) |
chown — 所有者の変更
# 所有者を変更
$ chown user02 config.txt
# 所有者とグループを同時に変更
$ chown user02:group02 config.txt
# ディレクトリ以下すべてを再帰的に変更
$ chown -R user02:group02 /opt/myapp/
chown は通常 root権限(sudo) が必要です。
よく使われる権限パターン
| 権限 | 用途例 |
|---|---|
644 (-rw-r--r--) |
設定ファイル、テキストファイル |
755 (drwxr-xr-x) |
一般的なディレクトリ、スクリプト |
700 (drwx------) |
個人専用ディレクトリ |
600 (-rw-------) |
秘密鍵ファイル、プライベート設定 |
777 (drwxrwxrwx) |
⚠️ 全員フルアクセス。本番環境では使わない |
9. ユーザー・グループの確認と切り替え
現在のユーザーを確認 whoami
$ whoami
user01
ユーザー情報を確認 id
$ id
uid=1001(user01) gid=1001(group01) groups=1001(group01),10(wheel)
ユーザー切り替え su
# root に切り替え
$ su -
# 別のユーザーに切り替え
$ su - user02
管理者権限でコマンド実行 sudo
# sudo で一時的にroot権限を借りる
$ sudo vi /etc/hosts
$ sudo systemctl restart nginx
suはユーザーそのものになりますが、sudoは一時的に権限を借りるイメージです。
10. プロセス・サービス確認
ps — プロセスの確認
# 全プロセスを表示
$ ps aux
# grepで絞り込む
$ ps aux | grep nginx
systemctl — サービスの管理
# サービスの状態確認
$ systemctl status nginx
# サービスの起動・停止・再起動
$ sudo systemctl start nginx
$ sudo systemctl stop nginx
$ sudo systemctl restart nginx
df — ディスク使用量の確認
# 人間が読みやすい形式で表示
$ df -h
du — ディレクトリのサイズ確認
# カレントディレクトリ配下のサイズ
$ du -sh *
11. 便利なTeraTerm操作Tips
コピー&ペースト
| 操作 | 方法 |
|---|---|
| コピー | テキストをドラッグして選択するだけで自動的にコピーされる |
| ペースト | 右クリック または Shift + Insert
|
タブ補完
コマンドやファイル名の途中で Tab キー を押すと自動補完されます。
$ cd /var/lo[Tab] → /var/log/
2回押すと候補一覧が表示されます。積極的に活用しましょう。
コマンド履歴
# ↑ キー or ↓ キーで過去のコマンドを呼び出せる
# 履歴を一覧表示
$ history
# 履歴番号を指定して再実行
$ !100
# 直前のコマンドを再実行
$ !!
セッションのロック対策
長時間操作しないとセッションが切れることがあります。
メニュー > 設定 > SSH > キープアライブ → 一定間隔でパケットを送信するよう設定
まとめ
| カテゴリ | 主なコマンド |
|---|---|
| 基本操作 |
pwd, cd, ls
|
| ファイル操作 |
cp, mv, rm, mkdir, touch
|
| 内容確認 |
cat, less, tail, head
|
| ファイル編集 |
vi(ノーマル/入力/コマンドモード) |
| 検索 |
find, grep
|
| 権限 |
chmod, chown, ls -l
|
| ユーザー管理 |
whoami, id, su, sudo
|
| システム確認 |
ps, df, du, systemctl
|
最初から全部覚える必要はありません。
「作業中に困ったら調べる」 を繰り返すうちに自然と身につきます。
オブジェクティブグループでは X の投稿も平日毎日行っています!
IT 関連の小ネタや便利技から、日常のアニメ・ゲーム布教なども幅広く投稿してるので、
ご興味のある方は是非フォロー・いいねをお願いします。