Linuxコマンド練習したいけど・・・
どのコマンドから練習すればいいの?
この記事ではLinux初心者がコマンドを練習する前にまず覚えておくべきコマンドを解説します。
そもそもLinuxがいまいちよくわからないという方はこちらの記事で解説していますのでチェックしてみて下さい。
最初に覚えておくべきLinuxコマンド一覧
今回解説するコマンドはこちらです!
ちょっと多いですが、どれもLinuxを扱う上で必須のコマンド達ですので頑張っていきましょう!
- cd
- pwd
- ls
- mkdir
- touch
- cat
- rm,rmdir
- grep
- history
- vi
それでは順に解説していきます。
pwd
pwdコマンドは現在のディレクトリの位置(パス)を表示してくれるコマンドです。
「ディレクトリ」とはWindowsでいうフォルダのことだと思って下さい。Linux系のOSではフォルダのことをディレクトリと呼びます。また、現在のディレクトリのことを「カレント・ディレクトリ」と呼びます。
自分のいる場所がわからなくなったときは迷わずこのコマンドを実行しましょう。
cd
cdは現在の作業ディレクトリを移動するコマンドです。
例えば今いる場所が「parent」ディレクトリでそこから「child」という名前のディレクトリに移動したい場合は次のようにコマンドを実行します。
$ pwd
/home/vagrant/parent # 現在の作業ディレクトリ
$ cd child # childディレクトリに移動
$ pwd # 現在ディレクトリを表示
/home/vagrant/parent/child # childディレクトリに移動
現在のディレクトリが「/home/vagrant/parent/child」と表示されていますが、ディレクトリを「/(スラッシュ)」で区切った形式のことを「path(パス)」といいます。これはディレクトリやファイルの位置(階層)を表す住所のようなものだと考えるとイメージしやすいと思います。
この例では「parent」ディレクトリから下の階層にある「child」ディレクトリに移動したことになります。
「child」ディレクトリから一つ上の「parent」ディレクトリに戻ることもできますし、先ほどのパスを指定することで「home」ディレクトリから一気に「child」ディレクトリまで移動することも可能です。
$ pwd
/home/vagrant/parent/child
$ cd .. # ひとつ上の階層に戻る
$ pwd
/home/vagrant/parent # 戻った
$ cd ../.. # 2つ上の階層に戻る
$ pwd
/home
$ cd vagrant/parent/child # パス指定でchildまで一気に移動
$ pwd
/home/vagrant/parent/child # childに移動
これでディレクトリの移動はマスターです。
ls
lsはファイルやディレクトリを一覧表示するコマンドです。
lsコマンドにもパスを指定することができ、パスを指定した場合はそのパスに存在するファイル/ディレクトリの一覧を表示します。何も指定せずに「ls」と実行すると現在の作業ディレクトリに存在するファイル/ディレクトリの一覧を表示します。
lsは非常に使用頻度の高いコマンドです。ちなみにですが、「ls -l」と実行するとファイル/ディレクトリ一覧を詳細表示してくれます。Linuxのコマンドは「コマンド+スペース+ハイフン」の後ろにオプションが指定できます。
この例では「l(小文字のエル)」が詳細表示のオプションになります。
$ pwd
/home/vagrant
ls #現在のディレクトリ「/home/vagrant」に存在するファイル/ディレクトリを表示
parent
$ ls -l # -l オプションをつけて実行
合計 0
drwxrwxr-x 3 vagrant vagrant 18 12月 29 14:19 parent #ディレクトリの詳細が表示される
mkdir
mkdirはディレクトリを新規に作成するコマンドです。
$ pwd
/home/vagrant/parent
#child2ディレクトリを新規作成
$ mkdir child2
$ ls -l
合計 0
drwxrwxr-x 2 vagrant vagrant 6 12月 29 14:19 child
drwxrwxr-x 2 vagrant vagrant 6 12月 29 15:33 child2
touch
touchは中身が空のファイルを新規作成するコマンドです。
「touch 新規ファイル名」のように実行します。
# 中身が空のsample.txtファイルを作成
$ touch sample.txt
$ ls -l
合計 0
drwxrwxr-x 2 vagrant vagrant 6 12月 29 14:19 child
drwxrwxr-x 2 vagrant vagrant 6 12月 29 15:33 child2
-rw-rw-r-- 1 vagrant vagrant 0 12月 29 15:36 sample.txt # ファイルが作成された
cat
catはファイルの中身を表示するコマンドです。このコマンドは本来、ファイルとファイルを結合するためのコマンドですが、コマンドの後ろにファイル名を一つだけ指定するとそのファイルの中身を表示してくれます。
例えば「sample.txt」の中身に「hogehoge」という文字列が保存されている場合、次のようになります。
$ cat sample.txt
hogehoge
rm、rmdir
rmはファイルを削除、rmdirは空のディレクトリを削除するコマンドです。
$ pwd
/home/vagrant/parent
$ ls
child child2 sample.txt
$ rm sample.txt
$ ls
child child2 # sample.txtが削除された
# child2が空のディレクトリなのでrmdirで削除する
$ ls
child child2
$ rmdir child2
$ ls
child # child2が消えた
rmdirは削除したいディレクトの中にファイルやディレクトリが存在する場合は削除に失敗します。
その場合は少し面倒ですが、まず削除対象ディレクトリの中身をすべて削除してからrmdirコマンドを実行します。
# parentディレクトリを削除する。ただし、parentの中にchildディレクトリが
# 存在しているのでrmdirでは削除できない
$ pwd
/home/vagrant
$ ls
parent
$ rmdir parent
rmdir: `parent' を削除できません: ディレクトリは空ではありません
もし削除対象のディレクトリの中に大量のファイルやディレクトリが存在していた場合はrmdirコマンドでは時間がかかってしまうので「rm -rf」コマンドを使うと非常に便利です。
オプションの「r」はディレクトリの中にあるファイルやディレクトリを再帰的に処理するという意味があります。また「f」オプションは強制的(force)にコマンドを実行しなさいという意味になります。
# rm -rf コマンドで一気に削除する
$ rm -rf parent
$ ls # 一気に削除された
ちなみにですが、この「f」オプションをつけなかった場合、削除対象ディレクトリの中の個々ファイルやディレクトリを削除しようとするたびに「削除してもいいですか?」と確認メッセージが出力されます。
grep
grepは指定した文字列を検索対象(ファイルやechoコマンドの結果など)から検索するコマンドです。
ファイルの中にある特定の文字列を検索したい場合などによく使われます。
このコマンドは非常によく使います。
# 下記のファイルから文字列"geho"を検索する
$ cat grep_file.txt
hogehogefugafuga
hogefugahogefuga
fuga_fuga_fuga_fuga
$ grep 'geho' grep_file.txt
hogehogefugafuga #gehoの部分が強調表示される
history
historyは今まで実行したコマンドの履歴を表示するコマンドになります。
$ history
1 cd parent
2 cd child
3 pwd
4 ls
5 cd ..
vi
viは「viエディター」というLinux標準のテキストエディターで、Windowsではメモ帳に相当するアプリを起動するコマンドになります。
このviエディターの使い方さえ覚えることでファイルの編集ができるようになります!
しかしこのviエディター、使い方にクセがあるので慣れるまではちょっと大変かもしれません。
今回は本当に最小限の使い方だけご紹介します。
入力モードとコマンドモード
viエディターには入力モードとコマンドモードという2種類のモードがあります。
この2つのモードを使いながらテキストを編集していきます。
エディターを起動した直後はコマンドモードになっていて、後述するコマンドの受付を待機している状態になります。
コマンドを入力すると入力モードになるのでファイルを編集します。編集が終わったら「Esc(エスケープキー)」を押して再びコマンドモードにします。
ここで「ファイルの保存」や「viエディター終了」などのコマンドを入力して目的の操作を実施します。
編集の流れとしては以下のようになります。
viコマンドでエディターを起動する
エディターが起動した直後はコマンドモードで待機しているので文字入力用のコマンドを入力する
編集が完了したら「Esc」を押して、コマンドモードに戻す
ファイル保存やviエディターの終了といったコマンドを入力してviエディターの操作を終了する
次に各モードで必要になる操作コマンドを解説します。
入力モードのコマンド
コマンドモード時に以下のキーを入力するとコマンドモードから入力モードに移行します。
i : insertモード。現在のカーソル位置にテキストを挿入する。
a : insertモード。現在のカーソル位置にある文字の後ろにテキストを挿入する。
コマンドモードのコマンド
viエディターの起動直後もしくは入力モードでEscを押した後に移行するモードで入力するキーです。
これらのキーを入力することでviエディターの機能を利用することができます。
x : 1文字削除する。
dd : 1行削除する。
:w : 変更を保存する。viエディターは終了しない。
:q : viエディターを終了する。変更を保存していない場合は終了できない。
:q! : viエディターを強制的に終了する。保存していない変更は破棄される。
:wq : 変更を保存してviエディターを終了する。
エディターの状態がよく分からなくなって、これ以上操作できなくなったら焦らずに、:q!でとりあえずviエディターを終了すれば元の状態に戻れます。
次に実際に操作してみましょう。
viエディタの操作
まずviエディターを起動してファイルを開きましょう。
$ vi sample.txt
テキストを編集するために「i」キーを入力して、入力モードに移行しましょう。
画面の左下に「INSERT」の文字が出て、入力モードに移行したことがわかります。ここでは「aaaaa・・・」とテキストを入力してみました。
次にこの変更を保存してviエディターを終了します。
「Esc」キーを押してコマンドモードに移行します。
そのあとに「:wq」と入力してEnterを押します。「:(コロン)」を忘れずに入力して下さい。
編集が成功しているかcatコマンドで確認します。
ファイルの最後に追加した「aaaaa・・・」が保存されているので、ちゃんと編集できていますね。
お疲れ様でした!
$ vi sample.txt
$ cat sample.txt
hogehoge
fugahoge
fugafuga
fugafugahoge
fugahogefuga
aaaaaaaaaaaa
まとめ
今回はLinuxコマンド練習前に覚えておくべきコマンド一覧と題して、Linuxを使う上で最低限覚えておきたいコマンドをご紹介しました。
ここで登場したコマンドを覚えていれば、今までLinuxに触れたことがない人でもコマンド練習を始められるのではないでしょうか。
また、無料でLinuxコマンドが学べる学習サイトもありますのでこちらも参考にしてみて下さい。
最後まで読んでくださってありがとうございました。
ここでご紹介した情報が少しでもみなさまのお役に立てれば嬉しいです。