Linuxコマンド

実行環境SSH接続先のLinux
前提SSH接続済み

学習目標

  • pwd、ls、cd、mkdir、rmでファイルとフォルダを操作できる
  • Tab補完を使って入力ミスを減らせる
  • cat、less、echo、cp、mv、wget、grepを使える
  • QIIME 2解析用の作業フォルダとファイルを準備できる

コマンドを入力し、Enterで実行して表示を確認します。

入力時の注意

コマンドと引数の間は半角スペースで区切り、全角スペースは使いません。

基本ルール

コマンドの基本形

コマンドは、次のように「コマンド」「引数」「オプション」を組み合わせます。

コマンド 引数 オプション

たとえば、ls -l data/では、lsが一覧表示、-lが詳細表示、data/が対象フォルダです。

Step 1:現在地と一覧を確認する

pwdで現在地を表示する

pwdは、現在いるフォルダの場所を表示します。

実行現在地を確認@ターミナル
pwd

表示例(実習環境によって異なります)
/home/r8user

この研修では、ホームディレクトリを/home/r8userとして示します。

lsでファイルとフォルダを確認する

lsは、現在いるフォルダの中身を一覧表示します。

実行ファイルとフォルダを確認@ターミナル
ls

表示されたファイルやフォルダを確認してください。出力内容は環境ごとに異なります。

Step 2:フォルダを移動する

ホームディレクトリへ移動する

~はホームディレクトリの省略形です。cd ~でホームへ移動し、続けてpwdで確認します。

実行ホームディレクトリへ移動@ターミナル
cd ~
pwd

表示例(実習環境によって異なります)
/home/r8user

引数を省略したcdも、ホームディレクトリへ移動する操作です。

作業用フォルダを作成する

mkdir workspaceworkspaceフォルダを作成します。

実行workspaceフォルダを作成@ターミナル
mkdir workspace

Tab補完を使う

Tabキーを押すと、入力途中のファイル名やフォルダ名を自動で補完できます。候補が1つなら自動で補完され、複数ある場合はTabを2回押すと候補が表示されます。入力ミスを減らすため、以降の練習ではできるだけTab補完を使います。

フォルダ名を補完する

まずcd wまで入力し、Tabを押してください。workspaceへ補完されたら、Enterで実行します。

入力練習cd wまで入力してTab@ターミナル
cd w
Tab補完の確認

入力途中のwworkspaceへ補完し、移動できればこの練習は完了です。

Step 3:フォルダを作成して移動する

mkdirで練習用フォルダを作る

mkdirはフォルダを作成します。次のブロックを実行し、testが一覧に表示されることを確認します。

実行testフォルダを作成@ターミナル
mkdir test
ls

作成したフォルダへ移動する

実行testフォルダへ移動@ターミナル
cd test
pwd

表示例(実習環境によって異なります)
/home/r8user/workspace/test

cd ..で親フォルダへ戻る

..は1つ上の親フォルダ、.は現在のフォルダを表します。

実行親フォルダへ戻る@ターミナル
cd ..
pwd

表示例(実習環境によって異なります)
/home/r8user/workspace

練習用フォルダを削除する

rm -rはフォルダと中身を削除します。削除したデータは元に戻せないため、ここでは自分で作ったtestフォルダだけを指定します。

実行testフォルダを削除@ターミナル
rm -r test
ls

削除する対象を確認

rm -rを実行する前に、パスが練習用フォルダを指していることを確認してください。教材の確認で作ったtest以外は削除しません。

応用:フォルダの階層を作る

次の構造を作って、フォルダを順番に移動します。

project/
├── data/
└── results/
  1. projectを作る
  2. projectへ移動する
  3. dataresultsを作る
  4. それぞれへ移動してpwdで確認する

次の例では[TAB]がTabキーを押す場所です。コード全体を実行せず、1行ずつ入力して補完を確認します。

入力練習階層構造を作る練習@ターミナル
mkdir project
cd pro[TAB]
ls
mkdir data results
ls
cd da[TAB]
pwd
cd ..
cd re[TAB]
pwd
表示例(実習環境によって異なります)
/home/r8user/workspace/project
/home/r8user/workspace/project/results

パスの指定方法

指定 意味
./ 現在いるフォルダ
../ 1つ上のフォルダ
~ ホームディレクトリ

次の例はそれぞれ独立した入力例です。現在地を確認しながら、1行ずつ試します。

入力練習相対パスとホームの指定@ターミナル
cd ./data        # 今いるフォルダの中のdataへ
cd ../data       # 一つ上のフォルダの中のdataへ
cd ~/workspace   # ホームのworkspaceへ

エラーへの対処法

エラーが出たらメッセージを読み、ファイル名・現在地・コマンドのスペルを確認します。

ファイルやフォルダが見つからない場合の例
No such file or directory

この場合は、名前の入力ミスや現在地の間違いが考えられます。pwdで現在地を確認し、Tab補完で名前を入力してください。

コマンドが見つからない場合の例
command not found

この場合は、コマンドのスペルや環境の有効化状態を確認します。

実践:QIIME 2解析で使う操作

1. テキストファイルを作成して確認する

まず、練習用フォルダを作成します。作業フォルダがすでにある場合は、同じコマンドを何度も実行せず、表示されたエラーを確認してください。

実行practiceフォルダを準備@ターミナル
cd ~/workspace
mkdir practice
cd practice

echoの出力を>でファイルへ書き込みます。

実行サンプルファイルを作成@ターミナル
echo "Hello, Qiime2!" > sample.txt

実行ファイルの内容を確認@ターミナル
cat sample.txt

表示される内容
Hello, Qiime2!

2. lessで大きなファイルを読む

seqで1から1000までの数字を作り、lessで閲覧します。

実行大きなサンプルファイルを作成@ターミナル
seq 1 1000 > numbers.txt

実行lessでファイルを閲覧@ターミナル
less numbers.txt

lessの画面では、またはSpaceで下へ進み、またはbで上へ戻ります。/500のように入力すると検索でき、qで終了します。

3. 変数を使う

QIIME 2では、プライマー配列などを変数に保存してコマンドで使うことがあります。変数名と=の間にはスペースを入れません。

実行変数を設定して確認@ターミナル
MY_PRIMER='ATCGATCG'
echo $MY_PRIMER

表示される配列
ATCGATCG

ForwardとReverseのプライマーをそれぞれ変数に設定します。

実行2つのプライマーを設定@ターミナル
FWD='CCTACGGGNGGCWGCAG'
REV='GACTACHVGGGTATCTAATCC'
echo $FWD
echo $REV

変数をファイルへ保存すると、後でcatgrepで確認できます。

実行プライマーをprimer.txtへ保存@ターミナル
printf 'forward\t%s\nreverse\t%s\n' "$FWD" "$REV" > primer.txt
cat primer.txt

ここで作るprimer.txtには、forwardreverseの名前と配列が入ります。後の検索練習でも、この実在するファイルを使います。

4. ファイルをコピー・移動する

実行ファイルをバックアップ@ターミナル
cp sample.txt sample_backup.txt
ls

sample_backup.txtが作成されたことを確認します。

実行ファイルを移動・名前変更@ターミナル
mv sample_backup.txt renamed.txt
ls

sample_backup.txtがなくなり、renamed.txtができたことを確認します。

5. wgetでファイルをダウンロードする

wgetはURLからファイルをダウンロードするコマンドです。ここでは教材のLinuxコマンド原稿をdownloaded-linux-commands.mdという名前で保存し、保存先を確認します。

実行教材ファイルをダウンロード@ターミナル
wget -O downloaded-linux-commands.md https://raw.githubusercontent.com/Yokohide0317/2025_BI-Zissen/refs/heads/main/01_Linux%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89.md
ls -lh downloaded-linux-commands.md

ダウンロードしたファイルとは別に、先ほど作成したprimer.txtを表示します。ファイル名を取り違えないように注意してください。

実行primer.txtの内容を確認@ターミナル
cat primer.txt

6. grepでファイル内を検索する

grepは、ファイルに含まれる文字列を検索します。まずForwardプライマーの一部を検索します。

実行配列の一部を検索@ターミナル
grep "CCTACGGG" primer.txt

次に-wを付け、単語としてforwardを検索します。

実行単語単位で検索@ターミナル
grep -w "forward" primer.txt

実践課題:QIIME 2解析の準備

次の課題では、解析で使うフォルダとメタデータの形を練習します。

  1. qiime_analysis/フォルダを作る
  2. data/results/を作る
  3. data/でForward・Reverseプライマーを設定する
  4. metadata.txtを作る
  5. 作成したファイルをresults/へコピーする
  6. qiime_analysis/へ戻って構造を確認する
実行解析用フォルダを準備@ターミナル
cd ~/workspace
mkdir qiime_analysis
cd qiime_analysis
mkdir data results
cd data
FWD='CCTACGGGNGGCWGCAG'
REV='GACTACHVGGGTATCTAATCC'
echo $FWD > primer.txt
echo $REV >> primer.txt
echo "sample-id,treatment" > metadata.txt
echo "sample1,control" >> metadata.txt
echo "sample2,treatment" >> metadata.txt
cp primer.txt ../results/
cp metadata.txt ../results/
cd ..
ls -R

ls -Rの出力にdata/primer.txtdata/metadata.txtresults/primer.txtresults/metadata.txtがあれば完了です。

コマンドのまとめ

コマンド QIIME 2解析での用途
cat ファイルの内容を確認する
less 大きなログやデータを閲覧する
echo 変数の確認や簡単なファイル作成に使う
変数='値' プライマー配列などを保存する
cp ファイルをコピーする
mv ファイルを移動・名前変更する
wget 分類器などのファイルをダウンロードする
grep ログやデータの中から文字列を探す

トラブルシューティング実習

ファイルの権限を確認する

catでファイルを読めないときは、ファイルが存在するかと読み取り権限を確認します。実習環境でtestfile.txtが用意されている場合に実行してください。

実行ファイルを読み取る@ターミナル
cd ~/workspace/practice
cat testfile.txt

実行ファイルの権限を確認@ターミナル
ls -l testfile.txt

スペースを含むファイル名を扱う

ファイル名にスペースが含まれる場合は、ファイル名全体を引用符で囲みます。

実行スペースを含むファイルを作成@ターミナル
cd ~/workspace/practice
touch "my data.txt"
ls

実行引用符付きでファイルを読む@ターミナル
# 正しい方法
cat "my data.txt"

# 間違った方法
cat my data.txt  # これはエラーになる

cat my data.txtのように引用符を付けない場合、mydata.txtを別々の引数として解釈するためエラーになります。

隠しファイルを表示する

.で始まるファイルは通常のlsでは表示されません。ls -aで表示できます。

実行隠しファイルを表示@ターミナル
ls -a

環境によって.bashrcがない場合があるため、次のコマンドは存在しない場合にメッセージを表示します。

実行設定ファイルを確認@ターミナル
cat .bashrc 2>/dev/null || echo "No .bashrc file"

もっとLinuxを練習したい方へ

WebTermのチュートリアルがおすすめです。

WebTermブラウザーでLinuxコマンドを練習できます練習を始める