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-practiceTab補完を使う
Tabキーを押すと、入力途中のファイル名やフォルダ名を自動で補完できます。候補が1つなら自動で補完され、複数ある場合はTabを2回押すと候補が表示されます。入力ミスを減らすため、以降の練習ではできるだけTab補完を使います。
フォルダ名を補完する
まずcd linまで入力し、Tabを押してください。linux-practice/へ補完されたら、Enterで実行します。
cd linStep 3:フォルダを作成して移動する
練習用フォルダを作る
mkdirはフォルダを作成します。次のブロックを実行し、testが一覧に表示されることを確認します。
mkdir test
ls作成したフォルダへ移動する
cd test
pwd/home/bsjinzai/linux-practice/testcd ..で親フォルダへ戻る
..は1つ上の親フォルダ、.は現在のフォルダを表します。
cd ..
pwd/home/bsjinzai/linux-practice練習用フォルダを削除する
空のフォルダはrmdirで削除できます。ここでは、今作ったtestを削除します。
ファイルを削除するコマンドはrmです。rm -rはフォルダと中身をまとめて削除するので、対象を確認してから使ってください。コマンドで削除したファイルは、ごみ箱には入りません。
rmdir test
ls応用:フォルダの階層を作る
次の構造を作って、フォルダを順番に移動します。
project/
├── data/
└── results/
projectを作るprojectへ移動するdataとresultsを作る- それぞれへ移動して
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/
/home/bsjinzai/linux-practiceへ移動するsuugaku、kokugo、syakai、rikaを作るsuugakuの中にbibunとsekibunを作り、それぞれにmondaiとkaitouを作るkokugo/kobun、kokugo/kanji、syakai/rekishi、rika/kagakuを作る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で行います。
cd /home/bsjinzai/linux-practice
mkdir -p practice
cd practiceechoの出力を>でファイルへ書き込みます。
echo "Hello, genome!" > sample.txtcat sample.txtHello, genome!2. lessで大きなファイルを読む
seqで1から1000までの数字を作り、lessで閲覧します。
seq 1 1000 > numbers.txtless numbers.txtlessの画面では、↓または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で確認できます。
printf 'sample\tread_type\n%s\t%s\n' "$SAMPLE" "$READ_TYPE" > sample.tsv
cat sample.tsvsample.tsvには、試料名とリードの種類がタブ区切りで入ります。printfの\tはタブ、\nは改行を表します。>は同名ファイルがあれば上書きします。
4. ファイルをコピー・移動する
cp sample.txt sample_backup.txt
lssample_backup.txtが作成されたことを確認します。
mv sample_backup.txt renamed.txt
lssample_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.txt6. grepでファイル内を検索する
grepは、ファイルに含まれる文字列を検索します。先ほど作ったsample.tsvから、Nanoporeを含む行を探します。
grep "Nanopore" sample.tsv次に-wを付け、単語としてsample_Aを検索します。
grep -w "sample_A" sample.tsv実践課題:解析用フォルダと試料情報を作る
次の課題では、解析で使うフォルダとメタデータの形を練習します。
/home/bsjinzai/linux-practiceにgenome_practice/フォルダを作る- その中に
data/とresults/を作る data/に、試料名とリードの種類を書いたmetadata.tsvを作る- 作成したファイルを
results/へコピーする 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 -Rdata/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"
lscat "my data.txt"cat my data.txtのように引用符を付けない場合、myとdata.txtを別々の引数として解釈するためエラーになります。
解析用のファイル名には、空白の代わりに_などを使ってください。
隠しファイルを表示する
.で始まるファイルは通常のlsでは表示されません。ls -aで表示できます。
解析コマンドで使う記号
| 表記 | 意味 |
|---|---|
data/nanopore.fastq.gz |
現在地の中にある data フォルダのファイル |
> |
標準出力をファイルへ保存。同名ファイルがあれば上書き |
>> |
標準出力を既存ファイルの末尾へ追記 |
2> |
エラーメッセージや進行ログをファイルへ保存 |
\ |
Bashで次の行へコマンドを継続。直後に空白を入れない |
| |
前のコマンドの出力を次のコマンドへ渡すパイプ |
練習を終える
次の章へ進む前に、解析の作業場所へ戻ります。
cd /home/bsjinzai
pwd