50
35

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【🔰初心者向け】頼むからホームディレクトリは汚さないでくれ🙏

Posted at

はじめに

こんにちは!ITスクールRareTECHにてCS(Customer Support)を担当している池村です。今回の記事はLinuxやMacにおけるターミナルのホームディレクトリについてです。

私も初学者の頃、ホームディレクトリを汚しまくって挙動がおかしくなった事がありますので、今回は初心者がやりがちな事例を上げつつ解説します。

324bb65f-7bdb-4a9d-b872-294f1f934bac_720.png

Gitの管理について

GitHubの活用はエンジニアにとって必須なのですが、こちらが少々厄介で、ホームディレクトリでgit initを行うと面倒なことになります。

git initコマンド

git initコマンドは、コマンドを叩いたディレクトリをGit管理下に置きます。Gitの特徴は、ファイルの更新や削除などのバージョンを管理してくれることにあります。

ホームディレクトリは大事な設定ファイル等が多々あり、特にSSH接続をするための.sshディレクトリなどがGit管理下に置かれることは、セキュリティリスクになってしまいます。

git status

あとはgit statusというコマンドがあるのですが、このコマンドを叩いた時に膨大な量のファイルが出てくることになり、本来確認したいファイル類がよくわからなくなります。

git clone

ホームがGit管理下にある状態で、ホーム以下のディレクトリにgit cloneを行うと、うまくクローンできない可能性があります。

解決方法

Gitコマンドの練習のために、ホームディレクトリで誤ってgit initをしてしまった場合は解決方法があります。

ls -aを行う

ls -aを叩いてみて、ホームディレクトリに.gitという隠しディレクトリがある場合、誤ってgit initしています。

.gitディレクトリはあるのか?
ls -a

②.gitディレクトリを削除する

もし.gitディレクトリがあった場合、こちらのディレクトリを削除することで、Git管理が解除されます。

削除方法
rm -rf ~/.git

ホームディレクトリでgit initは絶対にしない!

Pythonの仮想環境について

次にPythonの仮想環境について解説します。
Pythonを触り始めたばかりの人は、仮想環境の概念に混乱すると思います。ホームディレクトリに仮想環境を作ると、その他のPythonプロジェクト内の仮想環境と競合する可能性が高いです。特に最初に学習するであろう、venvという仮想環境作成コマンドには注意です。

仮想環境とは何か?

Pythonの仮想環境とは、とあるディレクトリの中でアプリを作成する場合に、そのディレクトリの中だけで必要なライブラリを反映・使用することができる、薄い膜のようなものです。この膜を張っておくことで、他のディレクトリにある他のPythonアプリで使っているライブラリと競合することなく安全に利用することができます。

venv仮想環境作成方法

※Python3が入っている前提です。

venvでの仮想環境作成
python3 -m venv test

上記をホームディレクトリで叩くのはやめてください。

理想的なvenvでの仮想環境の作成
mkdir test_project && cd test_project
python3 -m venv venv
source venv/bin/activate  # macOS/Linux
venv\Scripts\activate  # Windows

上記のように、ホームディレクトリに一つ新規ディレクトリを作成した上で、その中で仮想環境を作りましょう。

ホームで仮想環境を作ってしまった場合

仮想環境で厄介なのは、仮想環境の命名が自由なことです。

testの部分は命名自由
python3 -m venv test

これが厄介で、気づかないうちに適当な名前でホームに仮想環境を作って、その存在を忘れている可能性が高いんですね。

ホームによくわからない隠しディレクトリがあった場合は、そのディレクトリに入って中を確認しましょう。

中身が以下のようになっていたら、それは仮想環境です。

仮想環境内
test/
├── bin/           # 実行ファイル (Windows では Scripts/)
├── include/       # C ヘッダファイル (拡張モジュール用)
├── lib/           # インストールされた Python パッケージ
└── pyvenv.cfg     # 仮想環境の設定ファイル

私が前にClaudeのAPIをテストした際も、以下のように作っていました。
image.png

私はこの時、claude-envという名前を付けていたようですね。

解決方法

これはGitの時と一緒で、このディレクトリを削除してしまえば解決します。

削除方法
rm -rf test # 仮想環境名がtestの場合

その他を表でまとめておきます

コマンド 理由・リスク
git init ~/.git/ が作成され、誤って git add . でホーム全体を管理する危険がある
python -m venv ~/venv ~/venv に仮想環境を作ると、複数のプロジェクトで管理しづらくなる
terraform init ホームに terraform.tfstate.terraform/ ができ、設定が混乱する
docker-compose up ホームにコンテナデータ (docker-compose.yml の影響) を作ってしまう可能性がある
npm init package.json がホームにでき、どのプロジェクトにも影響する可能性がある
yarn init npm init と同様、意図しないパッケージ管理になる
cargo init Rust のプロジェクトをホームに作成し、.git などができる
go mod init example.com/mymodule go.mod をホームに作成し、Go の依存管理が壊れる可能性がある
make ホームに Makefile があると、意図しないコマンドが実行される可能性がある
cmake . ビルド設定がホームにでき、設定ファイルが散らばる
dotnet new console .csproj などのプロジェクトファイルがホームに作られ、管理が面倒になる

結論、ホームディレクトリは汚さないで!

ついでにダウンロードフォルダも

ダウンロードフォルダは何かしらダウンロードすると、貯まっていきますよね。
これも定期的に掃除しましょう。アプリ等をダウンロードするための.dmgや、画像とか、一度使ったらほぼ使わないものが貯まりに貯まって、目的のものが瞬時にわからなくなります。

定期的なお掃除を推奨します。
私は10個くらいになったらゴミ箱に入れて、完全削除する習慣がついています。
※この記事執筆時の私のダウンロードフォルダ👇
image.png

おわりに

最後のダウンロードフォルダに関しては、細かいことやってんな〜くらいで見てもらっていいですが、環境を綺麗にしておくことはとても大事です。

なぜこの記事を書こうと思ったかですが、私はITスクールのメンターもやっていまして、受講生が誤って作ったものがホームに蓄積しており、その掃除・復旧をする事が多かったからです。

この作業に終止符を打ちたく、この記事を書きました。

まあとはいえ、自分が購入した初代のMacも相当汚れていました。2台目はかなり丁寧に使っています。

余談

デスクトップのお掃除もしましょう!せっかくの美しい壁紙見えません!

50
35
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
50
35

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?