Linuxコマンドチートシート

# Linuxコマンドチートシート
Linuxのコマンドラインは強力なツールであり、さまざまなタスクを効率的に実行するための多くのコマンドが用意されています。以下は、日常的によく使用されるLinuxコマンドのチートシートです。
### 基本コマンド
| コマンド | 説明 | 使用例 | 出力結果 |
|----------|------|--------|--------------|
| pwd | 現在の作業ディレクトリを表示 | pwd | /home/user |
| ls | ディレクトリの内容を一覧表示 | ls -l | -rw-r--r-- 1 user user 0 Jan 1 12:00 file.txt |
| cd | ディレクトリを変更 | cd /home/user | なし |
| mkdir | 新しいディレクトリを作成 | mkdir newdir | なし |
| rmdir | 空のディレクトリを削除 | rmdir olddir | なし |
| rm | ファイルまたはディレクトリを削除 | rm file.txt | なし |
| cp | ファイルまたはディレクトリをコピー | cp source.txt dest.txt | なし |
| mv | ファイルまたはディレクトリを移動または名前変更 | mv oldname.txt newname.txt | なし |
| touch | 新しい空のファイルを作成 | touch newfile.txt | なし |
| cat | ファイルの内容を表示 | cat file.txt | Hello, World! |
| more | ファイルの内容をページごとに表示 | more file.txt | Hello, World!（ページごとに表示） |
| less | moreと似ていますが、より多くの機能を持つ | less file.txt | Hello, World!（ページごとに表示し、スクロール可能） |
| head | ファイルの先頭部分を表示 | head -n 10 file.txt | Hello, World!（先頭10行） |
| tail | ファイルの末尾部分を表示 | tail -n 10 file.txt | Hello, World!（末尾10行） |
### ファイルパーミッション
| コマンド | 説明 | 使用例 | 出力結果 |
|----------|------|--------|--------------|
| chmod | ファイルのパーミッションを変更 | chmod 755 script.sh | なし |
| chown | ファイルの所有者を変更 | chown user:group file.txt | なし |
| chgrp | ファイルのグループを変更 | chgrp group file.txt | なし |
### システム情報
| コマンド | 説明 | 使用例 | 出力結果 |
|----------|------|--------|--------------|
| uname | システム情報を表示 | uname -a | Linux hostname 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux |
| top | リアルタイムのシステム情報を表示 | top | リアルタイムのプロセス情報 |
| df | ディスクの使用状況を表示 | df -h | Filesystem Size Used Avail Use% Mounted on<br>/dev/sda1 50G 20G 30G 40% / |
| du | ディレクトリのディスク使用量を表示 | du -sh /home/user | 1.5G /home/user |
| free | メモリの使用状況を表示 | free -m | total used free shared buff/cache available<br>Mem: 2048 1024 512 128 512 1024 |
| uptime | システムの稼働時間を表示 | uptime | 12:00:00 up 1 day, 2:34, 3 users, load average: 0.00, 0.01, 0.05 |
| who | 現在ログインしているユーザーを表示 | who | user tty7 2020-07-10 12:00 (:0) |
| ps | 現在実行中のプロセスを表示 | ps aux | USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND<br>root 1 0.0 0.1 22528 1024 ? Ss 12:00 0:01 /sbin/init |
### ネットワーク
| コマンド | 説明 | 使用例 | 出力結果 |
|----------|------|--------|--------------|
| ping | ネットワーク接続をテスト | ping google.com | PING google.com (172.217.11.46) 56(84) bytes of data.<br>64 bytes from 172.217.11.46: icmp_seq=1 ttl=54 time=10.1 ms |
| ifconfig | ネットワークインターフェースの設定を表示 | ifconfig | eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500<br>inet 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255 |
| netstat | ネットワーク接続、ルーティングテーブル、インターフェース統計を表示 | netstat -tuln | Proto Recv-Q Send-Q Local Address Foreign Address State<br>tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN |
| ssh | リモートマシンに接続 | ssh user@hostname | user@hostname's password: |
| scp | リモートマシン間でファイルをコピー | scp file.txt user@hostname:/path/to/destination | file.txt 100% 0 0.0KB/s 00:00 |
| wget | ファイルをダウンロード | wget http://example.com/file.zip | --2020-07-10 12:00:00-- http://example.com/file.zip<br>Saving to: ‘file.zip’ |
| curl | データを転送 | curl -O http://example.com/file.zip | Saving to: ‘file.zip’ |
### 圧縮とアーカイブ
| コマンド | 説明 | 使用例 | 出力結果 |
|----------|------|--------|--------------|
| tar | ファイルをアーカイブ | tar -cvf archive.tar /path/to/directory | directory/<br>directory/file1<br>directory/file2 |
| gzip | ファイルを圧縮 | gzip file.txt | なし |
| gunzip | ファイルを解凍 | gunzip file.txt.gz | なし |
| zip | ファイルを圧縮 | zip archive.zip file1 file2 | adding: file1 (stored 0%)<br>adding: file2 (stored 0%) |
| unzip | ファイルを解凍 | unzip archive.zip | inflating: file1<br>inflating: file2 |
### パッケージ管理
| コマンド | 説明 | 使用例 | 出力結果 |
|----------|------|--------|--------------|
| apt-get | Debian系ディストリビューションのパッケージ管理 | sudo apt-get install package | Reading package lists... Done<br>Building dependency tree<br>Reading state information... Done |
| yum | Red Hat系ディストリビューションのパッケージ管理 | sudo yum install package | Loaded plugins: fastestmirror<br>Loading mirror speeds from cached hostfile |
| dnf | Fedoraのパッケージ管理 | sudo dnf install package | Fedora Modular 32 - x86_64 1.6 MB/s | 5.9 MB 00:03 |
| pacman | Arch Linuxのパッケージ管理 | sudo pacman -S package | resolving dependencies...<br>looking for conflicting packages... |
### ユーザー管理
| コマンド | 説明 | 使用例 | 出力結果 |
|----------|------|--------|--------------|
| adduser | 新しいユーザーを追加 | sudo adduser newuser | Adding user 'newuser' ...<br>Adding new group 'newuser' (1001) ... |
| userdel | ユーザーを削除 | sudo userdel user | なし |
| usermod | ユーザー情報を変更 | sudo usermod -aG group user | なし |
| passwd | ユーザーのパスワードを変更 | passwd user | Enter new UNIX password: |
### その他
| コマンド | 説明 | 使用例 | 出力結果 |
|----------|------|--------|--------------|
| echo | メッセージを表示 | echo "Hello, World!" | Hello, World! |
| date | 現在の日付と時刻を表示 | date | Fri Jul 10 12:00:00 UTC 2020 |
| cal | カレンダーを表示 | cal | July 2020<br>Su Mo Tu We Th Fr Sa<br> 1 2 3 4<br> 5 6 7 8 9 10 11 |
| history| コマンド履歴を表示 | history | 1 ls<br>2 cd /home<br>3 pwd |
| alias | コマンドのエイリアスを作成 | alias ll='ls -l' | なし |