MacユーザーのためのLinuxコマンド活用術
macOSユーザーがLinuxコマンドを活用する際のポイントと、両者の共通点・相違点を解説
🎯 この記事で学べること
- 1macOSとLinuxの共通点を理解できます
- 2macOS独自のコマンドとLinuxコマンドの違いを把握できます
- 3Homebrewとパッケージマネージャーの違いを理解できます
- 4ファイルシステムの違いと注意点を知ることができます
- 5macOSで学んだ知識をLinuxで活かす方法がわかります
読了時間: 約5分
Macユーザーの皆さん、実はLinuxと友達です!
「Macを使っているけど、Linuxって難しそう...」と思っていませんか?実は、macOSとLinuxは同じUnix系OSという兄弟のような関係なんです。ターミナルを使ったことがあるMacユーザーなら、Linuxの世界にもすんなり入っていけますよ。
この記事では、MacユーザーがLinuxを使う際の「あ、これMacと同じだ!」という共通点と、「ここは違うのか...」という注意点を、分かりやすく解説していきます。
macOSとLinuxの関係性
まず、macOSとLinuxの関係を理解しておきましょう。
共通の祖先:Unix
Unix (1969年)
│
┌───────┴───────┐
│ │
BSD系統 System V系統
│ │
├─ macOS └─ Linux(影響を受ける)
│
└─ FreeBSD
macOSはBSD Unixの系統、LinuxはUnixの思想を受け継いで独自に開発されたOSです。だから、多くのコマンドや考え方が共通しているんです!
macOSのターミナルで使えるコマンドの多くは、Linuxでもそのまま使えます。すでにLinuxの基礎はマスターしているようなものです!
共通するコマンド(そのまま使える!)
以下のコマンドは、macOSでもLinuxでも同じように使えます:
ファイル・ディレクトリ操作
| コマンド | 用途 | 使用例 |
|---------|------|--------|
| ls
| ファイル一覧表示 | ls -la
|
| cd
| ディレクトリ移動 | cd ~/Documents
|
| pwd
| 現在地表示 | pwd
|
| mkdir
| ディレクトリ作成 | mkdir project
|
| rm
| ファイル削除 | rm -rf temp/
|
| cp
| コピー | cp file.txt backup.txt
|
| mv
| 移動・名前変更 | mv old.txt new.txt
|
| find
| ファイル検索 | find . -name "*.txt"
|
テキスト処理
| コマンド | 用途 | 使用例 |
|---------|------|--------|
| grep
| 文字列検索 | grep "error" log.txt
|
| sed
| 文字列置換 | sed 's/old/new/g' file.txt
|
| awk
| データ処理 | awk '{print $1}' data.txt
|
| sort
| 並び替え | sort -n numbers.txt
|
| uniq
| 重複除去 | sort file.txt \| uniq
|
システム情報
| コマンド | 用途 | 使用例 |
|---------|------|--------|
| ps
| プロセス表示 | ps aux
|
| top
| リソース監視 | top
|
| df
| ディスク使用量 | df -h
|
| du
| ディレクトリサイズ | du -sh *
|
| which
| コマンドの場所 | which python
|
macOS独自のコマンドとLinuxの対応
macOSには独自のコマンドがいくつかあります。Linuxでの代替コマンドを覚えておきましょう:
システム管理
| 操作 | macOS | Linux |
|-----|-------|--------|
| クリップボードコピー | pbcopy
| xclip
またはxsel
|
| クリップボードペースト | pbpaste
| xclip -o
またはxsel -o
|
| ファイルを開く | open file.txt
| xdg-open file.txt
|
| アプリケーション起動 | open -a "AppName"
| コマンド名を直接実行 |
| システム情報 | system_profiler
| lshw
、dmidecode
|
| ネットワーク設定確認 | ifconfig
| ip addr
(新)、ifconfig
(旧) |
ファイル属性
| 操作 | macOS | Linux |
|-----|-------|--------|
| 拡張属性表示 | xattr file
| getfattr file
|
| 拡張属性設定 | xattr -w
| setfattr
|
| Spotlight無効化 | .metadata_never_index
| (該当なし) |
Linuxではpbcopy
の代わりに、エイリアスを設定して同じ感覚で使えるようにすることもできます!
パッケージ管理の違い
macOS: Homebrew
Macユーザーの多くはHomebrewを使っていますよね:
# Homebrewでインストール
brew install git
brew install node
brew cask install visual-studio-code
Linux: 各種パッケージマネージャー
Linuxではディストリビューションによって異なります:
Ubuntu/Debian系:
sudo apt update
sudo apt install git
sudo apt install nodejs
RedHat/CentOS系:
sudo yum install git
sudo yum install nodejs
Arch Linux:
sudo pacman -S git
sudo pacman -S nodejs
LinuxでもHomebrewを使うことができます!Linuxbrew(現在はHomebrew on Linux)として提供されています。
ファイルシステムの違いと注意点
ディレクトリ構造
| パス | macOS | Linux |
|------|--------|--------|
| ホームディレクトリ | /Users/username
| /home/username
|
| アプリケーション | /Applications
| /usr/bin
、/opt
|
| 設定ファイル | ~/Library/Preferences
| ~/.config
|
| ログファイル | /var/log
と~/Library/Logs
| /var/log
|
| 一時ファイル | /private/tmp
| /tmp
|
隠しファイル
両方とも.
(ドット)で始まるファイルが隠しファイルです:
# 隠しファイルを表示
ls -a
# macOSのFinderで隠しファイルを表示
# Cmd + Shift + . (ピリオド)
# Linuxのファイルマネージャー
# Ctrl + H
ファイルシステムの違い
- macOS: APFS(Apple File System)またはHFS+
- Linux: ext4、Btrfs、XFSなど
注意点:
- 大文字小文字の扱いが異なる場合がある
- macOSのAPFSはデフォルトで大文字小文字を区別しない
- Linuxは常に大文字小文字を区別する
macOSのターミナルとLinuxターミナルの違い
シェルの違い
- macOS Catalina以降: デフォルトは
zsh
- macOS Mojave以前: デフォルトは
bash
- Linux: 多くは
bash
がデフォルト(ディストリビューションによる)
# 現在のシェルを確認
echo $SHELL
# シェルを変更
chsh -s /bin/bash # bashに変更
chsh -s /bin/zsh # zshに変更
キーボードショートカット
| 操作 | macOS | Linux | |------|--------|--------| | コピー | Cmd+C | Ctrl+Shift+C | | ペースト | Cmd+V | Ctrl+Shift+V | | 新しいタブ | Cmd+T | Ctrl+Shift+T | | タブ切り替え | Cmd+数字 | Alt+数字 | | 検索 | Cmd+F | Ctrl+Shift+F |
Macユーザーが戸惑うポイント
1. sudoの頻度
Linuxではmacよりも頻繁にsudo
を使います:
# macOS:Homebrewは基本的にsudo不要
brew install package
# Linux:パッケージインストールにはsudo必須
sudo apt install package
2. デフォルトエディタ
- macOS:
nano
またはvim
- Linux: ディストリビューションによって
vi
、vim
、nano
など
3. ネットワーク設定
macOSの「システム環境設定」に相当するGUIツールは、Linuxではディストリビューションによって異なります。
4. .DS_Storeファイル
macOSが作成する.DS_Store
ファイルは、Linuxでは不要です:
# .DS_Storeを削除
find . -name ".DS_Store" -type f -delete
# gitで無視する設定
echo ".DS_Store" >> .gitignore
MacからLinuxへの移行Tips
1. エイリアスを活用
macOSで慣れたコマンドをLinuxでも使えるようにしましょう:
# ~/.bashrcまたは~/.zshrcに追加
alias ll='ls -la'
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'
alias open='xdg-open'
2. 設定ファイルの共有
GitHubなどでドットファイルを管理すれば、両環境で同じ設定を使えます:
# ドットファイルをGitで管理
git init ~/dotfiles
cd ~/dotfiles
cp ~/.bashrc .
cp ~/.vimrc .
git add .
git commit -m "Initial dotfiles"
3. Homebrewを使う
LinuxでもHomebrewを使えば、Macと同じ感覚でパッケージ管理できます:
# Homebrew on Linuxのインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
実践演習
MacとLinuxで共通のコマンドを使って、実際に操作してみましょう:
ファイルツリー
上のPlaygroundで試したコマンドは、あなたのMacのターミナルでも全く同じように動作します。違いよりも共通点の方が多いことを実感できたでしょうか?
まとめ
MacユーザーがLinuxを使う際のポイントをまとめると:
共通点を活かそう:
- 基本的なコマンドはほぼ同じ(ls、cd、grep、sedなど)
- Unix哲学を共有(小さなツールを組み合わせる)
- ファイルシステムの考え方も似ている
- シェルスクリプトはほぼそのまま使える
- 開発環境の構築方法も似ている
違いを理解しよう:
- パッケージ管理の方法(brew vs apt/yum)
- システムディレクトリの構造(/Users vs /home)
- 独自コマンドの存在(pbcopy vs xclip)
- キーボードショートカット(Cmd vs Ctrl)
- 権限管理の厳密さ(Linuxの方が厳格)
macOSで培ったターミナルの知識は、Linuxでそのまま活かせます。むしろ、両方を使いこなすことで、より深いUnixの理解が得られるでしょう。
Happy Unix Life! 🍎🐧