LoginSignup
2
5

More than 3 years have passed since last update.

Linuxコマンド便利帳① 〜超基本編・テキスト作成と表示〜

Last updated at Posted at 2019-05-23

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コマンドなどで作成した既存ファイルの内容を編集したり、一から新規ファイルも作成できます。

ex.nano
#一から新規ファイルを作成してみよう
$ nano test.txt

下記の画面に写ります。
スクリーンショット 2019-05-21 14.27.23.png

適当に入力をし、「control」+「X」で終了。

ex.nano
#中はこんな感じ。
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

テキストの中身を表示できます。
コンソール上に一気に表示されるので、情報量の少ないテキストを表示させるのに最適!

ex.cat
#作成したtest.txtを表示
$ cat test.txt 
Sapporo
Sendai
Tokyo
Yokohama

$ cat test2.txt 
Nagano
Nagoya
Kyoto
Osaka
Hirosima

ファイルの結合も得意です。

ex.cat
#2つ以上のファイルを繋げて表示できます
$ cat test.txt test2.txt test3.txt
Sapporo
Sendai
Tokyo
Yokohama
Nagano
Nagoya
Kyoto
Osaka
Hirosima
Matsuyama
Fukuoka
Kagoshima
Okinawa

ちょっと応用編!
コマンド結果を抽出しテキストに保存!

ex.cat
#リダイレクト > を使って出力させます。
$ 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

こちらもテキストの中身を表示できます。
コンソール上ではなく、画面が切り替わって表示されます。情報量の多いテキストを表示させるのに最適!

ex.less
$ less hg38.gtf #ヒトのGene annotation というファイルです。

こんな感じに表示される。
マウスのスクロール or 矢印キー「↓・↑」 などで表示画面もスクロールされます。
スクリーンショット 2019-05-21 16.30.14.png

行が折り返して見にくい・・・?

ex.less
#行を折り返したくないときには、オプション -S
$ less -S hg38.gtf

表示画面を抜けたい!→「q」

3-4. head

先頭○行を表示させる。
デフォルトは10行です。

ex.head
$ head test5.txt 
Sapporo
Sendai
Tokyo
Yokohama
Nagano
Nagoya
Kyoto
Osaka
Hirosima
Matsuyama

先頭○行・○文字を表示したい。

ex.head
#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行です。

ex.tail
$ tail test5.txt 
Yokohama
Nagano
Nagoya
Kyoto
Osaka
Hirosima
Matsuyama
Fukuoka
Kagoshima
Okinawa

最終行○行・○文字を表示したい。

ex.tail
#最後から3行を表示しよう! オプション -n$ tail -n 3 test5.txt 
Fukuoka
Kagoshima
Okinawa
#最後から25文字を表示しよう! オプション -c ○
$ tail -c 25 test5.txt 
ukuoka
Kagoshima
Okinawa

ちょっと応用編!
ヘッダー以外を表示したい時に!

ex.tail
$ 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.コマンドの合わせ技

パイプ | を使うとコマンドを組み合わせて操作できます。

パイプ | を使わないパターン

ex.command
#① 中身を表示
$ 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

パイプ | を使うことでいっぺんにできます。

ex.command
$ cat test5.txt | head -n 5 | tail -n 2 > test5_pipe.txt
$ cat test5_pipe.txt 
Yokohama
Nagano

5.一口メモ :slight_smile:

◎入力補完機能を使って、コマンド・ディレクトリ・ファイルを入力してみる。
候補が1つしかない場合・・・tabキーを1回クリック

ex.
#コマンドの場合
$ tou #ここでtabを1回クリック
$ touch
#今いるディレクトリにファイルが1つの場合
$ cat #ここでtabを1回クリック
$ cat test.txt

候補が2つ以上の場合・・・tabキーを2回クリック

ex.
#コマンドの場合
$ 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コマンド。

ex.hisotry
$ 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
あたりのコマンドをまとめたいと思っています。

2
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5