#1.はじめに
MacやLinuxのターミナルで使うコマンド。使いこなせたらなんかカッコイイあれを簡単にご紹介。
(備忘録もかねて。。。)
#2.基本のきほん
[ディレクトリ移動]・・・cd
[作業ディレクトリ確認]・・・pwd
[ディレクトリ・ファイル情報チェック]・・・ls
[ファイルコピー]・・・cp (file)
→[ディレクトリごと]・・・cp -r (ディレクトリ)
[ファイル移動]・・・mv (file) (移動先)
→[ディレクトリごと]・・・mv -r (ディレクトリ) (移動先)
[ディレクトリ作成]・・・mkdir (ディレクトリ)
[ファイル削除]・・・rm (file)
→[ディレクトリごと]・・・rm -r (ディレクトリ)
[ファイル作成]・・・touch (file)
※中は空っぽ
[文字や変数などを表示]・・・echo (文字や変数)
※詳細を知りたい人はググってみましょう!!
#3.覚えておくと便利コマンド
####3-1. nano
テキストエディタです。
touch
コマンドなどで作成した既存ファイルの内容を編集したり、一から新規ファイルも作成できます。
#一から新規ファイルを作成してみよう
$ nano test.txt
適当に入力をし、「control」+「X」で終了。
#中はこんな感じ。
Sapporo
Sendai
Tokyo
Yokohama
Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?
と出てきますが、
・問題なければ「Y」→「Enter」※編集の場合は上書きされるの要注意
→File Name to Write: test.txt
と表示され、ファイル名変更なければ「Enter」で終了。
・ちょっと待った見直す「C」→「Enter」
・やっぱやめた「N」→「Enter」※入力・編集内容が破棄されて元の画面に戻ります
####3-2. cat
テキストの中身を表示できます。
コンソール上に一気に表示されるので、情報量の少ないテキストを表示させるのに最適!
#作成したtest.txtを表示
$ cat test.txt
Sapporo
Sendai
Tokyo
Yokohama
$ cat test2.txt
Nagano
Nagoya
Kyoto
Osaka
Hirosima
ファイルの結合も得意です。
#2つ以上のファイルを繋げて表示できます
$ cat test.txt test2.txt test3.txt
Sapporo
Sendai
Tokyo
Yokohama
Nagano
Nagoya
Kyoto
Osaka
Hirosima
Matsuyama
Fukuoka
Kagoshima
Okinawa
ちょっと応用編!
コマンド結果を抽出しテキストに保存!
#リダイレクト > を使って出力させます。
$ cat test.txt test2.txt test3.txt > test_cat.txt
$ ls
test.txt test2.txt test3.txt test_cat.txt
$ cat test_cat.txt
Sapporo
Sendai
Tokyo
Yokohama
Nagano
Nagoya
Kyoto
Osaka
Hirosima
Matsuyama
Fukuoka
Kagoshima
Okinawa
####3−3. less
こちらもテキストの中身を表示できます。
コンソール上ではなく、画面が切り替わって表示されます。情報量の多いテキストを表示させるのに最適!
$ less hg38.gtf #ヒトのGene annotation というファイルです。
こんな感じに表示される。
マウスのスクロール or 矢印キー「↓・↑」 などで表示画面もスクロールされます。
行が折り返して見にくい・・・?
#行を折り返したくないときには、オプション -S
$ less -S hg38.gtf
表示画面を抜けたい!→「q」
####3-4. head
先頭○行を表示させる。
デフォルトは10行です。
$ head test5.txt
Sapporo
Sendai
Tokyo
Yokohama
Nagano
Nagoya
Kyoto
Osaka
Hirosima
Matsuyama
先頭○行・○文字を表示したい。
#3行を表示しよう! オプション -n ○
$ head -n 3 test5.txt
Sapporo
Sendai
Tokyo
#25文字を表示しよう! オプション -c○
$ head -c 25 test5.txt
Sapporo
Sendai
Tokyo
Yoko
####3−5. tail
headの逆バージョン。
最終行○行を表示させる。
デフォルトは10行です。
$ tail test5.txt
Yokohama
Nagano
Nagoya
Kyoto
Osaka
Hirosima
Matsuyama
Fukuoka
Kagoshima
Okinawa
最終行○行・○文字を表示したい。
#最後から3行を表示しよう! オプション -n ○
$ tail -n 3 test5.txt
Fukuoka
Kagoshima
Okinawa
#最後から25文字を表示しよう! オプション -c ○
$ tail -c 25 test5.txt
ukuoka
Kagoshima
Okinawa
ちょっと応用編!
ヘッダー以外を表示したい時に!
$ cat test6.txt
ID data1 data2 ← ヘッダー は これ
A 10 10
B 20 20
C 30 30
#2行目以降を表示させtたらok。 オプション -n +○ (数字の前に”+”を付けたら○行目以降が表示される)
$ tail -n +2 test6.txt
A 10 10
B 20 20
C 30 30
#4.コマンドの合わせ技
パイプ |
を使うとコマンドを組み合わせて操作できます。
パイプ |
を使わないパターン
#① 中身を表示
$ cat test5.txt
Sapporo
Sendai
Tokyo
Yokohama
Nagano
Nagoya
Kyoto
Osaka
Hirosima
Matsuyama
Fukuoka
Kagoshima
Okinawa
#② 先頭5行目を表示(抽出)しテキスト出力
$ head -n 5 test5.txt > test5_head.txt
#③ ②の最終2行を表示(抽出)しテキストに出力
$ tail -n 2 test5_head.txt > test5_tail.txt
#④ 結果
$ cat test5_tail.txt
Yokohama
Nagano
パイプ |
を使うことでいっぺんにできます。
$ cat test5.txt | head -n 5 | tail -n 2 > test5_pipe.txt
$ cat test5_pipe.txt
Yokohama
Nagano
#5.一口メモ
◎入力補完機能を使って、コマンド・ディレクトリ・ファイルを入力してみる。
候補が1つしかない場合・・・tabキーを1回クリック
#コマンドの場合
$ tou #ここでtabを1回クリック
$ touch
#今いるディレクトリにファイルが1つの場合
$ cat #ここでtabを1回クリック
$ cat test.txt
候補が2つ以上の場合・・・tabキーを2回クリック
#コマンドの場合
$ to #ここでtabを2回クリック
toe top tops topsyscall topsysproc touch #候補が出てきた
#今いるディレクトリにファイルが2つ以上の場合
$ cat #ここでtabを2回クリック
$ cat
test.txt test2.txt test.csv test.py test3.sh #候補が出てきた
#ディレクトリの場合はこんな感じ
$ cd #ここでtabを2回クリック
dir/ dir2/ test_dir/ test_dir2/ test.txt test2.txt test.csv test.py test3.sh # 最後スラッシュ”/”付が
ディレクトリ
◎直近の履歴を辿る
矢印キー「↑」クリックすると、直近の履歴を表示できます。
がっつり調べたい人にはhistory
コマンド。
$ history
・・・・(略)
501 cd ../
502 ls
503 cd
504 nano test.txt
505 nano test2.txt
506 rm test.txt
507 nano test3.txt
508 nano test4.txt
509 less genome/hg19.fa
#5. おわり
更新:2020.07.07
↓次回予告から1年以上経ちました。次回予告とは。。。
linuxとはなんぞや。というかたに良さそうなリンクも貼り付けて今回の更新は終わり。
https://eng-entrance.com/category/linux/linux-basic
####次回予告
wc
awk
grep
sed
sort
uniq
cut
tr
あたりのコマンドをまとめたいと思っています。