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

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

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

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での代替コマンドを覚えておきましょう:

システム管理

操作macOSLinux
クリップボードコピーpbcopyxclipまたはxsel
クリップボードペーストpbpastexclip -oまたはxsel -o
ファイルを開くopen file.txtxdg-open file.txt
アプリケーション起動open -a "AppName"コマンド名を直接実行
システム情報system_profilerlshwdmidecode
ネットワーク設定確認ifconfigip addr(新)、ifconfig(旧)

ファイル属性

操作macOSLinux
拡張属性表示xattr filegetfattr file
拡張属性設定xattr -wsetfattr
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)として提供されています。

ファイルシステムの違いと注意点

ディレクトリ構造

パスmacOSLinux
ホームディレクトリ/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に変更

キーボードショートカット

操作macOSLinux
コピーCmd+CCtrl+Shift+C
ペーストCmd+VCtrl+Shift+V
新しいタブCmd+TCtrl+Shift+T
タブ切り替えCmd+数字Alt+数字
検索Cmd+FCtrl+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! 🍎🐧