ys memos

Blog

Linuxよく使うコマンド集


linux

2020/04/27


そろそろ、Linux を使い始めて1年半ほど、Mac を使い始めて1年ほど経過する(2020/05 現在)。 そして、ターミナルをできるだけ触るように心がけているため、当初よりはコマンドを扱えるようになってきた。 ターミナルの始めたては色々戸惑う事も多いと思うので、自分のよく使うコマンドを記しておこうと思う。

ただし、全コマンドを網羅してあるわけでもないし、一覧内のコマンドも、自分が使う範囲でしか記していないため、ある程度慣れてきたら他のサイトで情報収集することを勧める。



ディレクトリを移動。

$ cd ./dir     # カレントディレクトリ内のdirというディレクトリ内へ移動
$ cd dir       # カレントディレクトリ内のdirというディレクトリ内へ移動
$ cd ..        # 親ディレクトリに移動
$ cd           # ホームへ移動
$ cd ~/        # ホームへ移動
$ cd $HOME     # ホームへ移動
$ cd /dir/dir  # ルート内のdir内のdirへ移動

ファイル・ディレクトリを表示。

$ ls           # カレント内を表示
$ ls dir       # カレント内のdir内を表示
$ ls ~         # ホーム内を表示
$ ls ~/dir     # ホーム内のdir内を表示
$ ls /dir/dir  # ルート内のdir内のdir内を表示
$ ls -a        # 隠しファイル(.から始まる名前)も表示
$ ls -l        # ファイル情報も表示
$ ls -al       # 隠しファイルもファイル情報も表示

ファイルを生成。

$ touch file   # fileという名前のファイルを生成

ディレクトリを生成。

$ mkdir dir   # dirという名前のディレクトリを生成

ファイル・ディレクトリを削除 (注)GUI による削除とは違い、元に戻すのが難しいので注意が必要である。ターミナルに慣れていない場合は、使わない方が無難。

$ rm file    # fileを削除
$ rm -d dir  # 空ディレクトリdirを削除
$ rm -r dir  # ディレクトリdirを再帰的に(中身ごと)削除

ファイルの中身を表示。

$ cat file   # fileの中身を表示

ファイル・ディレクトリをコピー

$ cp file file2     # fileをfile2という名前でコピー
$ cp file dir/file2 # fileをdir内にfile2という名前でコピー
$ cp -r dir dir2    # dirを内部ごとdir2という名前でコピー (-rは再帰の意)

ファイル・ディレクトリを置き換える(移動・名前変更)

$ mv file file2    # fileをfile2に名前変更
$ mv file ./dir/   # fileをdir内に移動
$ mv dir ./dir2/   # dirをdir2内に移動

HTTP アクセス 他にももっと色々できる。

$ curl https://...
$ curl https://... > file.html  # 出力結果を`file.html`に保存

インターネット上のファイルをダウンロード。

$ wget https://...

alias の設定の表示、alias の設定(現在のログインシェルのみで)

$ alias                      # 全エイリアス表示
$ alias setted-alias         # `setted-alias`という名前のエイリアスの内容を表示
$ alias new-alias="command"  # `new-alias`という名前の`command`という内容のエイリアスを設定

alias を削除(現在のログインシェルのみで)

$ unalias setted-alias  # `setted-alias`という名前のエイリアスを削除

Zip ファイルを解凍。

$ unzip file.zip

コマンド履歴を出力

$ history

ターミナルを終了。

$ exit

テキストを編集。vim はクセが強いので、使いながらキーバインドを覚えていくと良いだろう。 間違えて開いてしまった人は、Escを押して:q!と入力する事でコマンドラインに戻る事ができる。

$ vim file              # fileを編集
$ vimdiff file1 file2   # file1,file2を比較


findコマンドでは、アクセス権限のエラーであるPermission deniedが延々と表示され、目的のファイルやフォルダを見つける時に苦労する事がある。そんな時は、標準エラーを表示しなければ良い。

$ find . -name <filename> 2>/dev/null

historyで出力した履歴を、スクロールせずに遡る事が可能。lessにパイプすると良い。

$ history | less

historyコマンドの結果をgrepコマンドにパイプすると良い。

$ history | grep keyword                   # 単一のキーワード
$ history | grep -e keyword1 -e keyword2   # OR検索(どちらかを含むものを表示)
$ history | grep keyword1 | grep keyword2  # AND検索(どちらも含むものを表示)

$ cat file | grep keyword                   # 単一のキーワード
$ cat file | grep -e keyword1 -e keyword2   # OR検索(どちらかを含むものを表示)
$ cat file | grep keyword1 | grep keyword2  # AND検索(どちらも含むものを表示)

コンパイルメッセージとして余計なものが表示されてしまう場合、すっきりとしたエラー表示にする事ができる。ただし、必要なメッセージが排除されてしまう場合があるので、注意が必要。

$ make | grep error                  # 'error'と含まれた行のみ表示
$ make | grep -e error -e warning    # 'error'または'warning'と含まれた行のみ表示

関連タグを探す