LoginSignup
0
0

More than 1 year has passed since last update.

覚えておきたいLinux コマンド

Posted at

私は普段WSL環境で開発を行っています。開発する中で、mkdirtouchcdコマンド等は頻繁に使うので覚えているのですが、他のコマンドは使うたびに調べている状況です。

さすがに面倒になってきたので、自分がよく使うなと思ったコマンドや、使ったことないけど便利そうだなというコマンドをまとめました。

Linux初心者なので、間違いなどがあれば指摘していただけると幸いです。

よく使うコマンド

cd

cd path/to/dir でディレクトリを移動することができる。

ホームディレクトリに移動したいときは、cdcd ~ とすればよい。

ls

カレントディレクトリ内のファイルやフォルダを一覧表示する。

-a

このオプションを付けると、ドットファイル(例:.git)も表示する。

-l

ファイルの詳細も表示するオプション。

左から、ファイルタイプ、パーミッション、ハードリンク数、オーナー名、グループ名、バイトサイズ、タイムスタンプ、ファイル名の順で表示される。

$ ls
dir file

$ ls -a
. .. dir file

$ ls -l
total 4
drwxr-xr-x 2 user user 4096 Feb 15 16:35 dir
-rw-r--r-- 1 user user    0 Feb 15 16:34 file

mv

ファイルやディレクトリを移動させたり、名前を変更する時に使う。

以下のようにすることで、複数のファイルを移動先ディレクトリに移動させられる。

mv ファイル1 ファイル2 ・・・ 移動先ディレクトリ

また、以下のようにして、ファイル名を変更する。

mv 古いファイル名 新しいファイル名

具体的な仕様例を以下に示す。

$ ls                   # 現在の状態
file1 file2 file3 dir

$ mv file1 file4       # ファイル名の変更
$ ls
file4 file2 file3 dir

$ mv file4 dir/file1   # ファイル名の変更かつ移動
$ ls dir/*
dir/file1

$ mv file2 file3 dir   # 複数ファイルの移動
$ cd dir
$ ls
file1 file2 file3

-i

移動先に同名のファイルがある場合は、上書きするかどうかの確認メッセージを表示する。

clear

ターミナルの画面をクリアにする。

mkdir

mkdir dir-name でディレクトリを作成する。

-p

必要に応じて親ディレクトリも一緒に作成する。

$ ls                     # 現在の状態(何もない)
$ mkdir dir
$ ls
dir

$ mkdir -p p-dir/dir     # 親ディレクトリも作成
$ ls
dir p-dir

touch

touch file-name でファイルを作成する。

rmdir

rmdir dir-name で中身が空のディレクトリを削除する。

-p

必要に応じて親ディレクトリも削除する。

$ ls                # 現在の状態
p-dir file
$ ls p-dir
dir

$ rmdir p-dir/dir   # 親ディレクトリも削除
$ ls
file

rm

rm file-name でファイルを削除する。

-r

ファイルだけでなく、ディレクトリも削除する。

vi

vi file-name でLinux標準のエディタ(Vim)を起動する。

Vimは慣れるまでかなり時間がかかるが、慣れてしまうと他のエディタが使えなくなってしまう、らしい。ちなみに私はちょっとしたファイルの編集程度でしか使ったことがない。

いつか使いこなせるようになってみたい。

vimについて書きだすと今回の趣旨からずれてしまうため、割愛させていただく。

たまに使うコマンド

cat

cat file-name でファイルの中身を閲覧する。

cat file1 > file2 でfile1の中身をfile2に書き込むことができる(上書き)。

cat file1 >> file2 で追加書き込み。

具体的な仕様例を以下に示す。

$ ls                   # 現在の状態
file1 file2
$ cat file1            # file1の中身を確認
file1
$ cat file2            # file2の中身を確認

$ cat file1 > file2    # file2にfile1の中身を上書き
$ cat file2
file1

$ cat file1 >> file2   # file2にfile1の中身を追加書き込み
$ cat file2
file1
file1

-n

行番号を付けて出力する。

-b

空行以外に行番号を付ける。

echo

与えられた文字、数値、変数などを表示する。

環境変数の中身を確認したいときによく使う。

$ echo $HOME
/home/user

また、ファイルへの書き込みもできる。使い方としては cat コマンドと変わらない。

$ echo "Hello" > file
$ cat file
Hello

$ echo "World" >> file
$ cat file
Hello
World

ssh

ssh 接続先 でリモートマシンにSSH接続する。

$ ssh example.com        # example.comに接続
$ ssh user@example.com   # ユーザ名(user)を指定

-i

秘密鍵を使用するときに使うオプション。

$ ssh -i key-file.pem user@example.com

-p

ポート番号を指定する。

curl

APIを叩くときに使用するコマンド。

curl localhost:8080/api/users    # GETリクエスト
[
    {
        "id": 1,
        "name": "chellwo"
    }
]

-X

メソッドを指定。

-H

リクエストヘッダを使用してリクエストするときに使用。

-d

リクエストボディを使用してリクエストするときに使用。

$ curl -X POST -H "Content-type:application/json" -d '{"name":"super-chellwo"}' localhost:8080/api/users
{
    "id": 1,
    "name": "chellwo"
}
$ curl -X GET -H localhost:8080/api/users
[
    {
        "id": 1,
        "name": "chellwo"
    },
    {
        "id": 2,
        "name": "super-chellwo"
    }
]

-I

レスポンスヘッダを表示する時に使用。

$ curl -I localhost:8080/api/users
HTTP/1.1 200 OK
Content-Type: application/json
...

help

help コマンド名 でコマンドのマニュアルを表示する。

使ったことがあるコマンド

cp

cp コピー元 コピー先 でファイルをコピーする。コピー先ファイルが存在しなければ、新規作成する。

cp コピー元1 コピー元2 コピー先ディレクトリ で複数ファイルをコピーする。ディレクトリは新規作成されない。

$ ls                      # 現在の状態
file dir
$ cat file
Hello

$ cp file cp-file         # ファイルをコピー
$ cat cp-file
Hello

$ cp file cp-file dir     # 複数ファイルをディレクトリにコピー
$ ls dir
file cp-file

-r

ディレクトリごとコピーする。

-i

上書きされるファイルがある場合、確認メッセージを表示する。

grep

grep 検索文字列 ファイル名 でファイル内の文字を検索する。

$ ls                 # 現在の状態
file1 file2
$ cat file1 file2
Hello                # file1の中身
World                # file2の中身

$ grep He *          # 文字列Heを検索
file1:Hello

-i

大文字と小文字を区別せずに検索する。

-n

検索結果に行番号を表示する。

-l

検索結果にファイル名のみを表示する。

-r

ディレクトリ内も検索する。

free

free でメモリ状況を確認する。

-h

人間が読みやすい単位に変換してくれる。

$ free -h
       total  used   free   shared  buff/cache  available
Mem:   3.8Gi  783Mi  2.0Gi   227Mi       1.1Gi      2.6Gi
Swap:  1.0Gi  147Mi  876Mi

使ったことないけど、便利そうなコマンド

pwd

カレントディレクトリを表示する。例えば、ホームディレクトリで実行すると、以下のようになる。

$ pwd
/home/user

find

find ファイル名 でファイルが存在するかを検索する。

-name

fine 検索先 -name ファイル名 とすることで、ファイル名やディレクトリ名があやふやな時にも検索できる。

$ ls dir                    # 検索したいファイルの場所
file1

$ find /home/ -name file1   # 検索
/home/user/dir/file1

less

less ファイル名 でファイルの中身を1画面ずつ表示する。

q キーを押すと閲覧を終了する。

history

history で過去に使用したコマンドを表示する。

-c

端末に記録されているコマンド履歴を消去する。

-w

history -w ファイル名 でコマンド履歴をファイルに書き込む。

-r

history -r ファイル名 でファイルに書き込まれているコマンド履歴を端末に書き込む。

最後に

今回は特に重要そうだと感じたLinuxコマンドをまとめてみました。

他にもコマンドやオプションはいろいろありますが、ここに書いたコマンドを使いこなせるようになるだけでもかなり楽になると思います。

Linuxコマンドで爆速開発できるように頑張ります。

0
0
0

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
0
0