UNIXの基礎の理解 Linux導入 -作業途中-
平成26年度(2014年9月1日~12日)に開催された,「バイオインフォマティクス人材育成カリキュラム(次世代シークエンサ)」速習コース講習会1の1日目, 仲里猛留氏 (DBCLS)により「UNIXの基礎の理解・Linux導入」についての実習が行われた. これはその実習の内容についてまとめたものである.
コマンドを打ってみる
ターミナルを立ち上げて、次のコマンドを打ってみる.
ls:ディレクトリの中身の表示 (解析結果のファイルがあるか確認する時などに使う).
manager@biolinux[manager] ls
Desktop Documents Downloads igv Music Pictures Public R Templates Videos
ls -l:ディレクトリの中身をリスト表示 (解析結果ファイルの日時を確認する時に使う).
manager@biolinux[manager] ls -l
drwx—— 4 manager manager 4096 10月 8 2017 Desktop
drwxr-xr-x 2 manager manager 4096 6月 17 2015 Documents
drwxr-xr-x 2 manager manager 4096 8月 23 2017 Downloads
drwxrwxr-x 2 manager manager 4096 8月 23 2017 igv
drwxr-xr-x 2 manager manager 4096 6月 17 2015 Music
(以下略)
ls -la:設定ファイルも含めて全ての中身をリスト表示
manager@biolinux[manager] ls -la
drwxr-xr-x 45 manager manager 4096 4月 16 16:33 .
drwxr-xr-x 3 root root 4096 6月 17 2015 ..
drwx—— 3 manager manager 4096 11月 18 06:07 .anthy
-rw——- 1 manager manager 1729 8月 22 2017 .bash_history
-rw-r–r– 1 manager manager 220 6月 17 2015 .bash_logout
(以下略)
ls -la igv:設定ファイルも含めてigvの中身を全てリスト表示
manager@biolinux[manager] ls -la igv
drwxrwxr-x 2 manager manager 4096 8月 23 2017 .
drwxr-xr-x 45 manager manager 4096 4月 16 16:33 ..
-rw-rw-r– 1 manager manager 0 8月 23 2017 prefs.properties
プロンプトの表記・略記
先ほど打ったコードls -laの行は以下のように表示されているはずである.
manager@biolinux[manager] ls -la igv
ls -la igvより前を「プロンプト」という. その中身は以下の内容となっている.
manager:ユーザー名(@より前)@biolinux:マシン名(@以降)manager:今いるところ(カレントディレクトリー)([]内)
なお、プロンプトの表記は変更可能である. また、 通常プロンプトは$と略されるので、以下のように表記して入力はしない(無視する).
$ ls -la igv
ただし、スーパーユーザー(ルートユーザー)の場合は$ではなく#を用いて表記する. この場合も$同様、# は入力はしない.
コマンドの細かい中身
$ ls -la igv
上記の $(プロンプト)より後の打ち込んだ中身について詳しくみると、以下のような内容になっている.
ls:コマンド(実際の命令)-la:オプション(実行条件)igv:対象
lsコマンド の後に付く-la(オプション)やigv(対象)を「引数」という.
コマンドの例
$ fastqc -o rnaseq -f fastq 1K_SRR518891_1.fastq
fastqcというコマンドに-o rnaseqと-f fastqの2つのオプションが付き、その後に1K_SRR518891_1.fastq(対象)が書かれている.-f fastqは「フォーマットはfastqです」という意味のオプションで、長いオプション--format fastqを短縮したものである.- 引数(オプションと対象)は、カタマリごとに入れ替えできるので、以下のようにコマンドを書いてもOKである.
$ fastqc -o rnaseq 1K_SRR518891_1.fastq -f fastq
$ fastqc 1K_SRR518891_1.fastq -f fastq -o rnaseq
ディレクトリ構造
/:スラ、ルート(おお元)
bin:ビン、バイナリー(基礎的なプログラムなど)usr:ユーザー(各ユーザーレベルのもの)
local
bin:ユーザー・ローカル・ビン(各ユーザーが入れたプログラム置き場)lib:ユーザー・ローカル・リブ(ライブラリー)
home:ホーム(各ユーザーのデータ置き場)
manager
igv
tmp:テンプ、テンポラリ(一時ファイル置き場)var:バー、バーチャル・ファイル(ログなどの置き場)
ディレクトリの移動
manager@biolinux[manager] ls -la igv
上記のコマンドの[]で囲まれたmanagerが今いるディレクトリ(カレントディレクトリ)を示している. 階層化したディレクトリ構造で示すと下記のmanagerディレクトリであることがわかるが、[]内には直近のディレクトリだけを表示している.
/
home
manager
igv
カレントディレクトリから他のディレクトリに移動(チェンジ・ディレクトリ)したい場合には、cdコマンドの後に移動先のディレクトリ名(対象)を付けてコマンドを実行する.
manager@biolinux[manager] cd igv
manager@biolinux[igv]
上記は、カレントディレクトリ( manager)から下層のigv ディレクトリに移動する場合を示している.
カレントディレクトリの場所を表示
カレントディレクトリが階層化したディレクトリ構造のどこに位置しているのかを確認するにはpwd コマンド用いる. なお、pwd はポジショニング・ワーキング・ディレクトリの略である.
manager@biolinux[igv] pwd
/home/manager/igv
現在の igv ディレクトリが/のhome 内のmanager 下に存在することがわかる. 、また、返ってきた表示をみると、ディレクトリの区切りにも/ を用いていることがわかる. これはコマンド入力時も同様である.
ディレクトリ指定のあれこれ
/
home
manager
home 下のmanager は自身のデータ置き場になるため「ホーム・ディレクトリ」という. このディレクトリは~(チルダ)で略すことが可能である.
manager@biolinux[igv] cd ~
manager@biolinux[manager]
manager@biolinux[manager] cd ~/igv
manager@biolinux[igv]
ホーム・ディレクトリはある程度深い階層下にあることも多いため、~を使うと直ぐに戻れるので便利である. ただしcdコマンドの場合、ホーム・ディレクトリに戻るだけなら(~ も省き)$ cdのみでも戻ることが可能である.
manager@biolinux[igv] cd
manager@biolinux[manager]
カレントディレクトリの1つ上の階層のディレクトリに移動したい場合は ..と打つと指定できる.
manager@biolinux[igv] cd ..
manager@biolinux[manager]
2階層上のディレクトリを指定する場合は../.. を用いる.
manager@biolinux[manager] cd ../..
manager@biolinux[/]
ホームディレクトリより1つ上の階層を指定する場合には./.. あるいは~/.. でも移動することができる.
manager@biolinux[manager] cd ./..
manager@biolinux[/home]
その他の小ワザ
- タブ補完(
samtまで書いて「tabキー」を打つとsamtoolsと文字を補って表示してくれる). - コマンで履歴(「↑キー」を打つと、これまで使ったコマンドを遡って表示してくれる).
- コマンド履歴一覧(
$ historyコマンドでこれまで用いたコマンド履歴の一覧を返してくれる).
絶対パスと相対パス
/
usr
local
bin
home
manager
igv
genomes
上記のようなディレクトリ構成で、カレントディレクトリをmanagerと仮定する.
絶対パス
ルートから指定する場合には/ から書いてあげないと動かない.
manager@biolinux[manager] cd usr/local/bin
cd: no such file or directory: usr/local/bin
manager@biolinux[manager] cd /usr/local/bin
manager@biolinux[bin]
相対パス
カレントディレクトリから指定する場合には/ を書き込まない. もし、書き込む場合には、絶対パスとして/home/manager/igv/genomesと書かなければならない.
manager@biolinux[manager] cd /igv/genomes
cd: no such file or directory: /igv/genomes
manager@biolinux[manager] cd igv/genomes
manager@biolinux[genomes]
manager@biolinux[manager] cd /home/manager/igv/genomes
manager@biolinux[genomes]
もし、home ディレクトリ内にbin というディレクトリがある場合、/bin と書いて消去してしまうと、/ 内のbin がなくなってしまうので、基本的なコマンドが全てなくなる. その結果、システムがダウンするなど悲惨な事故になりかねない.
基本コマンド・その1
ファイルディレクトリ関連の一番基礎的なコマンド
ls、cd、pwdの3コマンドは既出のためここでは省略する.
ファイルディレクトリ関連でよく使うコマンド
ファイルをコピーする場合:cp コマンド
カレントディレクトリ内のファイルを確認し、その中のprefs.properties を上層階のディレクトリにコピーする.
manager@biolinux[igv] ls
genomes prefs.properties
コピーする場合はcp コマンドを用い、コマンドの後に動かす元prefs.propertiesと動かす先../を指定してあげる.
manager@biolinux[igv] cp prefs.properties ../
manager@biolinux[igv] ls ../
amelieff Desktop HiC Music prefs.properties
上層階のディレクトリにprefs.properties がコピーされている.
ファイルを移動させる場合:mv コマンド
カレントディレクトリ内のprefs.properties をDownloadsに移動する.
manager@biolinux[manager] mv prefs.properties Downloads
mv コマンドを用い、cp コマンド同様、コマンドの後に動かす元prefs.propertiesと動かす先Downloadsを指定してあげる.
manager@biolinux[manager] ls
amelieff Desktop HiC Music Public
(以下略)
カレントディレクトリ内にprefs.properties ファイルがなくなっていることを確認している.
manager@biolinux[manager] ls Downloads
Anaconda2-4.4.0-Linux-x86_64.sh prefs.properties
一方、移動先のDownloadsにファイル(prefs.properties)あることを確認している.
mv コマンドはファイル名を書き換えことも可能
manager@biolinux[Downloads] mv prefs.properties prefs.properties.180417
ファイル名をprefs.properties からprefs.properties.180417に書き換えた.
manager@biolinux[Downloads] ls
Anaconda2-4.4.0-Linux-x86_64.sh prefs.properties.180417
ファイル名が書きかわっていることを確認している.
ファイルを消去する場合: rm コマンド
manager@biolinux[Downloads] rm prefs.properties.180417
rm: remove regular empty file ‘prefs.properties.180417’? y
rm コマンドを用い、先程のprefs.properties.180417 ファイルを指定する.
コマンドを実行すると本当に消去して良いか?を聞かれるので y(yes)キーを押し、 消去を実行する.
manager@biolinux[Downloads] ls
Anaconda2-4.4.0-Linux-x86_64.sh
指定したファイルが消去されてい無いことを確認している.
ファイル消去の実行の有無を聞か無いようにすることも可能
manager@biolinux[Downloads] rm -f prefs.properties.180417
mv コマンドに -f (force)オプションをつけてあげることで、の有無を聞かれずに消去される.
manager@biolinux[Downloads] ls
Anaconda2-4.4.0-Linux-x86_64.sh
指定したファイルが消去されてい無いことを確認している.
消去の許可を行うかどうかの設定は、Zシェルの設定コマンドに書かれている.
mkdircatmpre/lesshead/tail
- 平成26年度NGS速習コース講習会 - バイオサイエンスデータベースセンター - NBDC (https://biosciencedbc.jp/human/human-resources/workshop/h26) ↩