【初心者向け】Linuxの基本的なコマンド操作!

How to use

Linuxを勉強し始めた初心者の方向けに、Linuxの基本的なコマンド操作をまとめてみました。私はAWS(EC2)のubuntuで実行しています。環境がある方はぜひ手を動かしながらコマンド操作を学んでみてください!

Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-1012-aws x86_64)

【初心者向け】Linuxの基本的なコマンド操作!

これからLinuxの基本的なコマンド操作を説明していきます。その前にどんなコマンドがあるのか。ちょっと一覧で確認してみましょう!

Linuxコマンド一覧

ディレクトリ・ファイル操作

コマンド用途コマンドオプション
pwd現在のディレクトリを表示
cd指定したディレクトリに移動
lsディレクトリの中身を表示・-l:ファイルの詳細情報を表示
・-R:ディレクトリ内のサブディレクトリも含めて、その中身をすべて表示
touchファイルの新規作成
mkdirディレクトリ作成
rmファイル・ディレクトリの削除・-f:確認メッセージを表示せずに削除
・-i:削除実行時に確認メッセージを表示
-r:ディレクトリを削除
rmdir空のディレクトリを削除
cpファイル・ディレクトリのコピー・-p:更新日付を保ったままコピー
-r:ディレクトリをコピー
findファイル検索・-empty:空ファイルも検索対象
・-type f:ファイル検索
・-type d:ディレクトリ検索
・-size [サイズ]:サイズ検索
mvファイル・ディレクトリの移動
(名称変更)
ディレクトリ・ファイル操作

テキスト操作

コマンド用途コマンドオプション
vi
(vim)
テキストエディタを起動
(ファイル修正)
catファイルの中身を表示・-n:行番号をつけて表示
grep指定したファイルに特定の文字検索・-i:大文字小文字を区別しない
・-l:検索結果としてファイル名のみ表示
テキスト操作

ざっと見た感じどうでしょうか?コマンドオプションまで覚えると大変なので、コマンドから覚えて余裕があれば覚えてみてください。では、早速よく使うものから順に説明していきます。

Linuxコマンドを使ってみよう(ディレクトリ・ファイル操作)

ではLinuxコマンドを使っていきましょう!

フォルダ構成

ここから説明していきます。混乱しないように補足ですが、 ディレクトリ = フォルダ です。

pwd – 現在のディレクトリを表示

まずは、現在のディレクトリを pwd で表示していきます。

ubuntu@ip-172-31-45-163:~/sample2$ pwd
/home/ubuntu/sample2

sample2 ディレクトリにいることがわかりました!

pwdで現在のディレクトリ(sample2)を表示

cd – 指定したディレクトリに移動

次は1番使う ディレクトリ移動です!まずは、今いるsample2ディレクトリから一つ上のubuntuディレクトリに移動したいと思います。一つ上のディレクトリに移動するには cd .. または cd ~/ で移動することができます。

ubuntu@ip-172-31-45-163:~/sample2$ cd ..
ubuntu@ip-172-31-45-163:~$ pwd
/home/ubuntu
sample2からcd .. でubuntuに移動

ubuntuにいる状態で sample1に移動したいと思います。 cd ディレクトリ名 で移動できるので移動してみましょう!

ubuntu@ip-172-31-45-163:~$ cd sample1
ubuntu@ip-172-31-45-163:~/sample1$ pwd
/home/ubuntu/sample1
ubuntuからcd sample1 で sample1に移動

cd ディレクトリ名で移動できました。一つ一つ移動することもできますが、 / で繋いで移動することも可能です。

homeからsample2に移動するには?

homeディレクトリにいる時にsample2ディレクトリに移動する場合… cd ubuntu 、cd sample2と移動してもいいのですが一気に移動したいですよね?

ubuntu@ip-172-31-45-163:/home$ cd ubuntu/sample2
ubuntu@ip-172-31-45-163:~/sample2$ pwd
/home/ubuntu/sample2
homeからsample2に移動

ls – ディレクトリの中身を表示

次はディレクトリの中身を ls で確認してみます。

ubuntu@ip-172-31-45-163:~/sample2$ ls
sample.txt
sample2の中身が表示されました。

sample1の中身も確認してみたいと思います。

ubuntu@ip-172-31-45-163:~/sample1$ ls
ubuntu@ip-172-31-45-163:~/sample1$

… 何も表示されませんでした。そう、sample1ディレクトリの中身は空なので何も表示されませんでした。

mkdir – ディレクトリの作成

sample1の中身は空…

sample1ディレクトリの中身は空なことがわかりました。そこで!ディレクトリを作成してみたいと思います。ディレクトリの作成するには、 mkdir ディレクトリ名 です。

ubuntu@ip-172-31-45-163:~/sample1$ mkdir sample3
ubuntu@ip-172-31-45-163:~/sample1$ ls
sample3
sample1でmkdirを使ってsample3フォルダを作成

sample1ディレクトリの中にsample3ディレクトリを作成しました。

touch – ファイルの作成

ファイルを作成には、 touch ファイル名 です!

ubuntu@ip-172-31-45-163:~/sample1$ touch test.txt
ubuntu@ip-172-31-45-163:~/sample1$ ls
sample3  test.txt
sample1ディレクトリに touch で test.txtファイルを作成

cp – ファイル・ディレクトリのコピー

cpでファイルやディレクトリをコピーしていきます。cpの使い方は cpコピー元 コピー先 になります。

ubuntu@ip-172-31-45-163:~/sample1$ cp test.txt cpTest.txt
ubuntu@ip-172-31-45-163:~/sample1$ ls
cpTest.txt  sample3  test.txt
test.txt をコピーし、cpTest.txtファイルを作成

ディレクトリも同じようにコピーできます。ディレクトリのコピーはコマンドオプションを使用します。「cpコピー元 -r コピー先」ぜひ試してみてください。次はファイル・ディレクトリの削除についてです。

rm – ファイル・ディレクトリの削除

ファイルを削除するには rm ファイル名、ディレクトリを削除するには rm -r ディレクトリ名 になります。

sample.txtとsample2フォルダを削除
ubuntu@ip-172-31-45-163:~/sample2$ rm sample.txt
ubuntu@ip-172-31-45-163:~/sample2$ ls
ubuntu@ip-172-31-45-163:~/sample2$ rm -r sample2
rm: cannot remove 'sample2': No such file or directory
ubuntu@ip-172-31-45-163:~/sample2$ cd ..
ubuntu@ip-172-31-45-163:~$ ls
sample1  sample2
ubuntu@ip-172-31-45-163:~$ rm -r sample2
ubuntu@ip-172-31-45-163:~$ ls
sample1

削除することができました!ディレクトリを削除するには1つ上のディレクトリに移動しておきましょう。

※注意点

rm -r ディレクトリ名でディレクトリは削除できますが、中身を確認せず削除します。ディレクトリに必要なディレクトリ・フォルダがあったとしても消せてしまうため、ディレクトリを削除する場合は気をつけましょう。

rmdir – 空のディレクトリを削除

Sample3を削除してみましょう!

空のディレクトリを削除するためだけのコマンドが rmdir になります。rmdir ディレクトリ名 でsample3を削除してみましょう!

ubuntu@ip-172-31-45-163:~$ rmdir sample1
rmdir: failed to remove 'sample1': Directory not empty
ubuntu@ip-172-31-45-163:~$ cd sample1
ubuntu@ip-172-31-45-163:~/sample1$ ls
cpTest.txt  sample3  test.txt
ubuntu@ip-172-31-45-163:~/sample1$ rmdir sample3
ubuntu@ip-172-31-45-163:~/sample1$ ls
cpTest.txt  test.txt

sample1を削除しようとしたところ、Directory not empty と怒られました。空のディレクトリだけしか削除できないことをしっかり覚えておきましょう!

find – ファイル検索

ファイルやディレクトリの検索ができる find について説明していきます!

※フォルダ構成を変更してみました。同じように上記で説明したコマンドを使用して下記のようなフォルダ構成にしてみてください

findでtestディレクトリにあるフォルダやファイルを検索してみよう

findの使い方は、find 検索する場所 検索ファイル名 です。

まずは、testディレクトリにどんなものがあるか検索してみます。

ubuntu@ip-172-31-45-163:~$ ls
test
ubuntu@ip-172-31-45-163:~$ find test
test
test/test1.txt
test/find-test1.txt
test/test0
test/find-test0
test/find-test2.txt
test/find-test0.txt
test/test2.txt
test/test0.txt

では、testディレクトリに移動してfind-test1.txtがあるか確認してみましょう。

ubuntu@ip-172-31-45-163:~/test$ find find-test1.txt
find-test1.txt

見つかりました。複数のディレクトリやファイルを検索するには、ワイルドカード(*)を使いましょう。

試しにtestとつく全てのファイルやディレクトリを * 検索してみます!

ubuntu@ip-172-31-45-163:~/test$ find test*
test0
test0.txt
test1.txt
test2.txt

ちゃんと検索できましたね。次はディレクトリ・フォルダの移動や名称変更について説明します。

mv – ファイル・ディレクトリの移動(名称変更)

ファイル(test0.txt~)をtest0ディレクトリに移動してみよう!

まずはファイル・ディレクトリの移動について説明します。test0ディレクトリにファイルを(test0.txt~)を移動します。移動するには、mv [移動元(移動したいファイルorディレクトリ)] [移動先(ディレクトリ)] になります。

ubuntu@ip-172-31-45-163:~$ mv test0.txt test1.txt test2.txt test0/
ubuntu@ip-172-31-45-163:~$ ls
find-test0  find-test0.txt  find-test1.txt  find-test2.txt  test0
ubuntu@ip-172-31-45-163:~$ cd test0
ubuntu@ip-172-31-45-163:~/test0$ ls
test0.txt  test1.txt  test2.txt
 

移動できました!これもfindと同じようにワイルドカード(*)を使った移動も可能です。test0に移動したファイルをtestディレクトリに戻してみます。test0ファイルは拡張子がtxtなので mv *.txt ../で移動させます。

ubuntu@ip-172-31-45-163:~/test0$ ls
test0.txt  test1.txt  test2.txt
ubuntu@ip-172-31-45-163:~/test0$ mv *.txt ../
ubuntu@ip-172-31-45-163:~/test0$ ls
ubuntu@ip-172-31-45-163:~/test0$ cd ../
ubuntu@ip-172-31-45-163:~$ ls
find-test0  find-test0.txt  find-test1.txt  find-test2.txt  test0  test0.txt  test1.txt  test2.txt

最初の状態に戻りました!

今回は、ファイルを移動しましたがフォルダの移動もできるので、ぜひ試してみてください。

また、名称変更についてですが、mv [変更前の名称(ファイルorディレクトリ)] [変更後の名称(ファイルorディレクトリ)]で変更することができます。

test0ディレクトリの名称がわかりにくいのでtest_Folderに変更してみましょう!

ubuntu@ip-172-31-45-163:~$ ls
find-test0  find-test0.txt  find-test1.txt  find-test2.txt  test0  test0.txt  test1.txt  test2.txt
ubuntu@ip-172-31-45-163:~$ mv test0 test_Folder
ubuntu@ip-172-31-45-163:~$ ls
find-test0  find-test0.txt  find-test1.txt  find-test2.txt  test0.txt  test1.txt  test2.txt  test_Folder

フォルダ名を変更することができました。

Linuxコマンドを使ってみよう(テキスト操作)

ディレクトリ・ファイル操作はざっくりとですが説明しました。次はテキスト操作について説明していきます!

cat – ファイルの中身を表示

cat はファイルの中身を表示してくれるコマンドです。

test.txtというファイルを用意しました。ファイルの中身は…

Hello
vi command!!

です。では中身を catコマンドでファイルの中身を見ていきましょう!

ubuntu@ip-172-31-45-163:~/test$ ls
test.txt
ubuntu@ip-172-31-45-163:~/test$ cat test.txt
Hello
vi command!!

ファイルの中身が確認できました。次はファイルのテキストをviコマンドで編集していきましょう!

vi(vim) – テキストエディタを起動

vi(vim)と書いていますが、viでもvimでもテキストエディタの起動が可能です。

vimはviの上位互換でviを元に拡張されたバージョンです。

コマンド用途説明
vi filename
vim filename
テキストエディタの起動ファイルがない場合はファイルを作成し起動
iモード変更(編集モード)テキストが編集できるモード
ESCモード変更(ノーマルモード)どのモードからでもノーマルモードに戻す
:モード変更(保存)保存できるモード
:q!終了編集結果を破棄して強制終了
:wファイル保存編集結果を保存
:wqファイル保存終了現在編集中の内容を元のファイルに書き込んで終了
vi(vim)コマンドの基本動作

test.txt の中身の編集をやってみましょう! vi(vim) ファイル名でテキストエディタを表示します。

ubuntu@ip-172-31-45-163:~/test$ ls
test.txt
ubuntu@ip-172-31-45-163:~/test$ vi test.txt
vi でテキストエディタを起動

起動後に i を押すことで編集モード(INSERT)になります。

3行目に適当な文字を追加して保存してみよう!

3行目にHoge Hoge … と入力し ESCで編集モードから抜けます。

— INSERT — が消えていることを確認

編集内容を保存して終了するためには :wq を入力します。

※編集内容を破棄して終了するには、:q!を使用

編集が終了したので、編集内容が反映されているか確認してみましょう!ファイルの中身を確認する時は cat ファイル名 と説明しましたが、 今回はコマンドオプションまでつけて行番号まで確認します。

ubuntu@ip-172-31-45-163:~/test$ cat -n test.txt
     1  Hello
     2  vi command!!
     3  Hoge Hoge ...

3行目に Hoge Hoge … が追加されていました。

grep – 指定したファイルに特定の文字検索

最後にファイル内の文字検索について説明します。ファイル内の文字を検索するには、grep 検索パターン ファイル名 です。

ubuntu@ip-172-31-45-163:~/test$ grep hoge test.txt
ubuntu@ip-172-31-45-163:~/test$ grep Hoge test.txt
Hoge Hoge ...
ubuntu@ip-172-31-45-163:~/test$ grep -i hoge test.txt
Hoge Hoge ...

ファイル内に hoge という文字があるか確認してみましたが、確認ができませんでした。完全一致なので、Hogeで検索したら文字が確認できました。大文字小文字を区別しないコマンドオプション -i をつけることで、hogeで検索してもHogeが確認できました。-i は便利なのでこのコマンドオプションもできるだけ覚えておきましょう!

Linuxの便利なショートカット

作業効率を上げるためにも、覚えておくと便利なLinuxのショートカットも一覧にしてみました。

Linuxのショートカット一覧

ショートカットキー説明
Tabキーコマンドやパスの保管をする
Ctrl+A行の先頭にカーソル移動
Ctrl+E行の最後にカーソル移動
Ctrl+F1文字右方向へ移動(矢印キー→と同じ)
Ctrl+B 1文字左方向へ移動(矢印キー←と同じ)
Ctrl+Hカーソルの左を1文字削除する
Ctrl+Dカーソル部分を1文字削除する
Ctrl+Wカーソル位置の単語を削除
Ctrl+Uカーソルの位置から行頭まで削除
Ctrl+Kカーソルの位置から行末まで削除
Ctrl+Y直前に削除した文字列を貼り付け
Ctrl+C実行中のコマンドを強制終了
Ctrl+L画面をクリアにする
↑, ↓, Ctrl+Rコマンド履歴の参照
Linuxのショートカット

まとめ

いかがでしたか?今回紹介した、ディレクトリ・ファイル操作・テキスト操作を覚えれば、脱初心者できたと言っても過言ではない!と思っています。ここで紹介していないコマンドもたくさんあるので、興味のある方はぜひ調べてみてください。

コメント