Linuxコマンド

実行環境SSH接続先のLinux
前提SSHで接続し、/workを開いていること

SSH接続したPowerShellでコマンドを入力し、Enterで実行します。練習用のファイルは /home/bsjinzai/linux-practice に作ります。

基本ルール

コマンドの基本形

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

コマンド オプション 引数

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

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

pwdで現在地を表示する

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

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

表示されるパス
/home/bsjinzai

前の章で開いた /home/bsjinzai が表示されます。

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

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

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

表示されたファイルやフォルダを確認します。

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

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

~(チルダ)は、自分のホームディレクトリを表します。cd ~でホームへ移動し、続けてpwdで確認します。

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

表示されるパス
/home/bsjinzai

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

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

/home/bsjinzaiへ移動し、mkdirで練習用のlinux-practiceフォルダを作ります。

実行練習用フォルダを作成@ターミナル
cd /home/bsjinzai
mkdir -p linux-practice

Tab補完を使う

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

フォルダ名を補完する

まずcd linまで入力し、Tabを押してください。linux-practice/へ補完されたら、Enterで実行します。

入力練習cd linまで入力してTab@ターミナル
cd lin

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

練習用フォルダを作る

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

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

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

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

表示されるパス
/home/bsjinzai/linux-practice/test

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

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

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

表示されるパス
/home/bsjinzai/linux-practice

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

空のフォルダはrmdirで削除できます。ここでは、今作ったtestを削除します。

ファイルを削除するコマンドはrmです。rm -rはフォルダと中身をまとめて削除するので、対象を確認してから使ってください。コマンドで削除したファイルは、ごみ箱には入りません。

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

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

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

project/
├── data/
└── results/
  1. projectを作る
  2. projectへ移動する
  3. dataとresultsを作る
  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/bsjinzai/linux-practice/project/data
/home/bsjinzai/linux-practice/project/results

時間が余った人向け:階層構造を作る練習問題

ここまでの操作が早く終わった人向けの問題です。解答例を開く前に、cd、mkdir、pwd、lsを使って次の構造を作ってください。

suugaku/
├── bibun/
│   ├── mondai/
│   └── kaitou/
└── sekibun/
    ├── mondai/
    └── kaitou/
kokugo/
├── kobun/
└── kanji/
syakai/
└── rekishi/
rika/
└── kagaku/
  1. /home/bsjinzai/linux-practiceへ移動する
  2. suugaku、kokugo、syakai、rikaを作る
  3. suugakuの中にbibunとsekibunを作り、それぞれにmondaiとkaitouを作る
  4. kokugo/kobun、kokugo/kanji、syakai/rekishi、rika/kagakuを作る
  5. pwdとls -Rで現在地と構造を確認する
解答例を見る
入力練習階層構造を作る解答例@ターミナル
cd /home/bsjinzai/linux-practice
mkdir suugaku kokugo syakai rika
mkdir suugaku/bibun suugaku/sekibun
mkdir suugaku/bibun/mondai suugaku/bibun/kaitou
mkdir suugaku/sekibun/mondai suugaku/sekibun/kaitou
mkdir kokugo/kobun kokugo/kanji
mkdir syakai/rekishi rika/kagaku
pwd
ls -R

パスの指定方法

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

pwdで現在地を確認しながら、1行ずつ試します。/から始まるパスは、現在地に関係なく同じ場所を指定する絶対パスです。

入力練習相対パスとホームの指定@ターミナル
cd /home/bsjinzai/linux-practice/project
cd ./data       # 現在のフォルダの中のdataへ
pwd
cd ../results   # 1つ上のフォルダの中のresultsへ
pwd
cd ~            # ホームディレクトリへ
pwd

実践:ファイルを扱う

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

ファイル操作の練習は、/home/bsjinzai/linux-practice/practiceで行います。

実行practiceフォルダを準備@ターミナル
cd /home/bsjinzai/linux-practice
mkdir -p practice
cd practice

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

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

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

表示される内容
Hello, genome!

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

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

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

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

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

3. 変数を使う

試料名などを変数に保存して、コマンドで使えます。変数名と=の間にはスペースを入れません。

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

表示される値
sample_A

試料名とリードの種類を、それぞれ変数に設定します。

実行試料名とリードの種類を設定@ターミナル
SAMPLE='sample_A'
READ_TYPE='Nanopore'
echo "$SAMPLE"
echo "$READ_TYPE"

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

実行試料情報をsample.tsvへ保存@ターミナル
printf 'sample\tread_type\n%s\t%s\n' "$SAMPLE" "$READ_TYPE" > sample.tsv
cat sample.tsv

sample.tsvには、試料名とリードの種類がタブ区切りで入ります。printfの\tはタブ、\nは改行を表します。>は同名ファイルがあれば上書きします。

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からファイルをダウンロードするコマンドです。ここでは練習用のテキストをcommand-notes.txtという名前で保存します。

実行教材ファイルをダウンロード@ターミナル
wget -O command-notes.txt https://2026-jissen-genome.pages.dev/practice/linux-notes.txt
ls -lh command-notes.txt

ダウンロードしたファイルの内容を確認します。

実行ダウンロードした内容を確認@ターミナル
cat command-notes.txt

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

grepは、ファイルに含まれる文字列を検索します。先ほど作ったsample.tsvから、Nanoporeを含む行を探します。

実行リードの種類で検索@ターミナル
grep "Nanopore" sample.tsv

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

実行単語単位で検索@ターミナル
grep -w "sample_A" sample.tsv

実践課題:解析用フォルダと試料情報を作る

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

  1. /home/bsjinzai/linux-practiceにgenome_practice/フォルダを作る
  2. その中にdata/とresults/を作る
  3. data/に、試料名とリードの種類を書いたmetadata.tsvを作る
  4. 作成したファイルをresults/へコピーする
  5. genome_practice/へ戻って構造を確認する
実行解析用フォルダを準備@ターミナル
cd /home/bsjinzai/linux-practice
mkdir -p genome_practice/data genome_practice/results
cd genome_practice/data
printf 'sample\tread_type\n' > metadata.tsv
printf 'sample_A\tNanopore\n' >> metadata.tsv
cat metadata.tsv
cp metadata.tsv ../results/
cd ..
ls -R

data/metadata.tsvとresults/metadata.tsvが表示されることを確認します。これは操作練習用のファイルです。

ファイル名と権限

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

練習用ファイルを作り、ls -lで権限を表示します。行頭の権限表示で、rは読み取り、wは書き込み、xは実行の権限です。

実行ファイルの権限と内容を確認@ターミナル
cd /home/bsjinzai/linux-practice/practice
echo "permission practice" > testfile.txt
ls -l testfile.txt
cat testfile.txt

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

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

実行スペースを含むファイルを作成@ターミナル
cd /home/bsjinzai/linux-practice/practice
echo "file with spaces" > "my data.txt"
ls

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

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

解析用のファイル名には、空白の代わりに_などを使ってください。

隠しファイルを表示する

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

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

解析コマンドで使う記号

表記 意味
data/nanopore.fastq.gz 現在地の中にある data フォルダのファイル
> 標準出力をファイルへ保存。同名ファイルがあれば上書き
>> 標準出力を既存ファイルの末尾へ追記
2> エラーメッセージや進行ログをファイルへ保存
\ Bashで次の行へコマンドを継続。直後に空白を入れない
| 前のコマンドの出力を次のコマンドへ渡すパイプ

練習を終える

次の章へ進む前に、解析の作業場所へ戻ります。

実行作業場所へ戻る@ターミナル
cd /home/bsjinzai
pwd

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