Linuxについて，コマンド，ショートカット一覧

## CUIをを学ぶ意義

- コンピュータの性能を効率的に引き出すことができるため、リソースが限られている環境やGUIでは提供しにくいきめ細かな操作や低頻度のタスクを容易に実行できる．
- LinuxやUNIXのようなシステムは、学術機関、企業のサーバ、携帯電話、家電製品、自動車の制御など、多岐にわたる分野で使用されている．
- 多くの先進的な計算環境やシステムでの作業を可能にする基本的なスキルである．
- 基本的にGUIは扱いやすさの代わりに多くの資源をつかうため，ユーザー操作の少ない制御には，CUIが用いられる．

# **Linuxコマンド一覧**

| コマンド | 説明 | 使用例 |
| --- | --- | --- |
| cd | ディレクトリに移動 | cd 移動先 |
| ls | ディレクトリの内容をリスト形式で表示する | - |
| pwd | 現在いる位置を表示する | - |
| history | コマンドの履歴を表示する | - |
| clear | ターミナル画面をきれいにする | - |
| mv | ディレクトリやファイルを移動 | mv ファイル名/ディレクトリ名 移動先 |
| cp | ディレクトリやファイルをコピーする | cp ファイル名/ディレクトリ名 移動先 |
| mkdir | ディレクトリを作成する | mkdir ディレクトリ名 |
| touch | ファイルを作成する | touch ファイル名 |
| rmdir | 空のディレクトリを削除する | rmdir ディレクトリ名 |
| rm | ファイルを削除する | rm ファイル名 |
| rm -r | ディレクトリを削除する | rm -r ディレクトリ |
| cat | ファイルの内容を表示する | cat ファイル名 |
| more | ファイルをコマンド欄にページ単位で閲覧する | more ファイル名 |
| less | テキストファイルを新たにページを開き閲覧する→qで閉じる | less ファイル名 |
| diff | ファイル1とファイル2の内容の違いを表示する | diff ファイル1 ファイル2 |
| find | ファイル/ディレクトリの検索をする | find ファイル名/ディレクトリ名 |
| grep | 指定した文字列がテキスト内に存在した場合その行を抽出する | grep "検索したい文字" ファイル名 |
| wc | テキストファイルの行数、単語数、文字数を表示する | wc ファイル名 |
| chmod | ファイルやディレクトリのアクセス制限を変更する | chmod 権限ファイル名 |
| chown | ファイルやディレクトリのオーナーやグループを変更する | chown 変更したいユーザー名 変更したいファイル名 |
| ln | ファイルやディレクトリにハードリンクを設定する | ln リンク元ファイル名 リンク先ファイル名/ディレクトリ名 |
| In -s | シンボリックリンクを作成する | 〃 |
| man | コマンドのマニュアルを表示する | man コマンド |
| apropos | manページの内容を検索する | apropos キーワード |
| useradd/adduser | ユーザーを新規作成する．adduserの方が追加情報（パスワード、ホームディレクトリなど）を設定しやすい． | useradd/adduser ユーザー名 |
| deluser | ユーザーを削除する | deluser ユーザー名 |
| groupadd | グループを新規作成する | groupadd グループ名 |
| chfn | ユーザー情報を変更する | cnfn ユーザー名 |
| last | 最近ログインしたユーザー名を表示する | - |
| finger | ユーザー情報を表示する | finger ユーザー名 |
| echo | 文字列や変数の内容を表示する | echo ”表示したい文字列” |
| export | シェル変数を環境変数に昇格させる | myvar="value"
export myvar |
| read | 入力を読み取り,変数に割り当てます | read name
echo "Hello, $name!" |
| top | 実行中のプロセスとシステムのリソース使用状況を動的に表示する | top |
| ps | 現在実行中のプロセスを表示する | ps aux |
| kill | プロセスにシグナルを送って終了させる | kill プロセスID |
| killall | 名前に基づいてプロセスを終了させる | killall プロセス名 |
| uptime | システムがどれくらいの時間動作しているかを表示する | uptime |
| free | メモリ使用状況を表示する | free -h |
| ifconfig | ネットワークインターフェースの設定を表示・変更する | ifconfig |
| ping | ネットワークホストへの接続をテストする | ping google.com |
| netstat | ネットワーク接続、ルーティングテーブル、インターフェース統計を表示する | netstat -tulpn |
| traceroute | パケットが目的地までの経路を表示する | traceroute google.com |
| wget | インターネットからファイルをダウンロードする | wget URL |
| curl | ネットワークを通じてデータを転送する | curl -O URL |
| df | ディスクの空き容量を表示する | df -h |
| du | ディレクトリのディスク使用量を表示する | du -sh ディレクトリ名 |
| fdisk | ディスクパーティションを操作する | sudo fdisk /dev/sda |
| mount | ファイルシステムをマウントする | mount /dev/sda1 /mnt |
| umount | マウントされたファイルシステムをアンマウントする | umount /mnt |
| awk | テキストファイルをパターンスキャンと処理する | awk '{print $1}' file.txt |
| sed | ストリームエディタでテキストを変換する | sed 's/old/new/g' file.txt |
| sort | テキストファイルの行をソートする | sort file.txt |
| uniq | テキストファイルから重複行を削除する | uniq file.txt |
| tr | 文字を置換、削除する | echo "hello" |

## ショートカット一覧

| 操作 | 動作 | 説明 |
| --- | --- | --- |
| Ctrl + A | 行の先頭へ移動 | カーソルをコマンドラインの始まりに移動します。 |
| Ctrl + E | 行の末尾へ移動 | カーソルをコマンドラインの終わりに移動します。 |
| Ctrl + U | 行の先頭から削除 | カーソルの位置から行の先頭までを削除します。 |
| Ctrl + K | 行の末尾まで削除 | カーソルの位置から行の末尾までを削除します。 |
| Ctrl + W | 単語の削除 | カーソルの位置から前の単語までを削除します。 |
| Ctrl + Y | テキストの貼り付け | カットしたテキストをペーストします。 |
| Alt + B | 単語の先頭へ移動 | カーソルを一つ前の単語の先頭に移動します。 |
| Alt + F | 単語の末尾へ移動 | カーソルを一つ後ろの単語の末尾に移動します。 |
| Ctrl + R | コマンド履歴を逆検索 | コマンド履歴を逆順に検索します。 |
| Ctrl + G | 逆検索の終了 | 逆検索モードを終了します。 |
| Ctrl + L | 画面のクリア | ターミナルの画面をクリアします。 |
| Alt + C | ディレクトリジャンプ | ディレクトリ名を入力してそのディレクトリにジャンプします。 |
| Alt + D | 行末のディレクトリ名を削除 | カーソル位置から行末までのディレクトリ名を削除します。 |
| Ctrl + X, Ctrl + E | コマンドラインをエディタで開く | 現在のコマンドラインをエディタで開き、編集します。 |

## 特殊文字一覧

| 特殊文字 | 名称 | 説明 |
| --- | --- | --- |
| | | パイプ | 左側の出力を右側の出力にする。例：ls | grep”.txt$” | wc -l |
| > | リダイレクト（出力） | コマンドの出力をファイルに書き込みます。例: ls > files.txt |
| < | リダイレクト（入力） | ファイルの内容をコマンドの入力として使用します。例: grep "text" < file.txt |
| >> | 追記リダイレクト | コマンドの出力を既存のファイルの末尾に追記します。 |
| & | バックグラウンド実行 | コマンドをバックグラウンドで実行します。例: firefox & |
| && | 論理AND | 左側のコマンドが成功した場合にのみ、右側のコマンドを実行します。 |
| ; | コマンドセパレータ | 複数のコマンドを一行で実行します。例: cd /; ls |
| () | サブシェル | 括弧内のコマンドをサブシェルで実行します。例: (cd /; ls) |
| {} | コマンドブロック | 括弧内のコマンドを現在のシェルで実行します。例: { cd /; ls; } |
| $() | コマンド置換 | 括弧内のコマンドを実行し、その出力をコマンドラインに挿入します。例: echo "Today is $(date)" |
| * | ワイルドカード | 任意の文字列にマッチします。例: *.txt |
| ? | ワイルドカード | 任意の一文字にマッチします。例: ?.txt |
| [ ] | 文字クラス | 括弧内の任意の一文字にマッチします。例: file[1-3].txt |

以上

お疲れ様でした．

間違いや追加するべきものがありましたらコメントしてください