メインコンテンツへスキップ
入門10分で読める

MacユーザーのためのLinuxコマンド活用術

macOSユーザーがLinuxコマンドを活用する際のポイントと、両者の共通点・相違点を解説

基礎編macOSLinuxUnixターミナル初心者向け

🎯 この記事で学べること

  • 1
    macOSとLinuxの共通点を理解できます
  • 2
    macOS独自のコマンドとLinuxコマンドの違いを把握できます
  • 3
    Homebrewとパッケージマネージャーの違いを理解できます
  • 4
    ファイルシステムの違いと注意点を知ることができます
  • 5
    macOSで学んだ知識を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 | lshwdmidecode | | ネットワーク設定確認 | 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: ディストリビューションによってvivimnanoなど

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で共通のコマンドを使って、実際に操作してみましょう:

UNICORNEE AI Terminal
Welcome to UNICORNEE AI Terminal!
Type "help" to see available commands.
user@unicornee:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

上のPlaygroundで試したコマンドは、あなたのMacのターミナルでも全く同じように動作します。違いよりも共通点の方が多いことを実感できたでしょうか?

まとめ

MacユーザーがLinuxを使う際のポイントをまとめると:

共通点を活かそう

  1. 基本的なコマンドはほぼ同じ(ls、cd、grep、sedなど)
  2. Unix哲学を共有(小さなツールを組み合わせる)
  3. ファイルシステムの考え方も似ている
  4. シェルスクリプトはほぼそのまま使える
  5. 開発環境の構築方法も似ている

違いを理解しよう

  1. パッケージ管理の方法(brew vs apt/yum)
  2. システムディレクトリの構造(/Users vs /home)
  3. 独自コマンドの存在(pbcopy vs xclip)
  4. キーボードショートカット(Cmd vs Ctrl)
  5. 権限管理の厳密さ(Linuxの方が厳格)

macOSで培ったターミナルの知識は、Linuxでそのまま活かせます。むしろ、両方を使いこなすことで、より深いUnixの理解が得られるでしょう。

Happy Unix Life! 🍎🐧